• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/***
2  This file is part of PulseAudio.
3
4  Copyright 2012 Alexander Kurtz <kurtz.alex@googlemail.com>
5
6  PulseAudio is free software; you can redistribute it and/or modify
7  it under the terms of the GNU Lesser General Public License as published
8  by the Free Software Foundation; either version 2.1 of the License,
9  or (at your option) any later version.
10
11  PulseAudio is distributed in the hope that it will be useful, but
12  WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  General Public License for more details.
15
16  You should have received a copy of the GNU Lesser General Public License
17  along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
18***/
19
20namespace PulseAudio {
21        [Compact]
22        [CCode (cheader_filename="pulse/simple.h", cname="pa_simple", cprefix="pa_simple_")]
23        class Simple {
24                public Simple(string? server = null, string? name = null, Stream.Direction dir = Stream.Direction.PLAYBACK,
25                              string? dev = null, string stream_name = "",
26                              SampleSpec ss = SampleSpec(){ format = SampleFormat.S16NE, rate = 44100, channels = 2 },
27                              ChannelMap? map = null, Stream.BufferAttr? attr = null, out int error = null);
28                public int write(void* data, size_t bytes, out int error = null);
29                public int drain(out int error = null);
30                public int read(void* data, size_t bytes, out int error = null);
31                public usec get_latency(out int error = null);
32                public int flush(out int error = null);
33        }
34}
35