diff options
author | Lennart Poettering <lennart@poettering.net> | 2006-05-17 18:52:34 +0000 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2006-05-17 18:52:34 +0000 |
commit | ee35a063b2c10564d43a611fcf6ada398851b1d6 (patch) | |
tree | 49d12f88616283127ec5b596bd2cd97ff0ca1b34 | |
parent | 5f6d8c9c8b0f113dee34d3f3c17464a9c696a49b (diff) |
add new channel map argument to pa_simple_new()
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@911 fefdeb5f-60dc-0310-8127-8f9354f1896f
-rw-r--r-- | src/polyp/simple.c | 4 | ||||
-rw-r--r-- | src/polyp/simple.h | 9 | ||||
-rw-r--r-- | src/tests/pacat-simple.c | 2 | ||||
-rw-r--r-- | src/tests/parec-simple.c | 2 |
4 files changed, 11 insertions, 6 deletions
diff --git a/src/polyp/simple.c b/src/polyp/simple.c index b56406c9..84c46bf1 100644 --- a/src/polyp/simple.c +++ b/src/polyp/simple.c @@ -140,6 +140,7 @@ pa_simple* pa_simple_new( const char *dev, const char *stream_name, const pa_sample_spec *ss, + const pa_channel_map *map, const pa_buffer_attr *attr, int *rerror) { @@ -150,6 +151,7 @@ pa_simple* pa_simple_new( CHECK_VALIDITY_RETURN_ANY(rerror, dir == PA_STREAM_PLAYBACK || dir == PA_STREAM_RECORD, PA_ERR_INVALID, NULL); CHECK_VALIDITY_RETURN_ANY(rerror, !dev || *dev, PA_ERR_INVALID, NULL); CHECK_VALIDITY_RETURN_ANY(rerror, ss && pa_sample_spec_valid(ss), PA_ERR_INVALID, NULL); + CHECK_VALIDITY_RETURN_ANY(rerror, !map || (pa_channel_map_valid(map) && map->channels == ss->channels), PA_ERR_INVALID, NULL) p = pa_xnew(pa_simple, 1); p->context = NULL; @@ -184,7 +186,7 @@ pa_simple* pa_simple_new( goto unlock_and_fail; } - if (!(p->stream = pa_stream_new(p->context, stream_name, ss, NULL))) { + if (!(p->stream = pa_stream_new(p->context, stream_name, ss, map))) { error = pa_context_errno(p->context); goto unlock_and_fail; } diff --git a/src/polyp/simple.h b/src/polyp/simple.h index 9066826b..bf3cc330 100644 --- a/src/polyp/simple.h +++ b/src/polyp/simple.h @@ -25,6 +25,7 @@ #include <sys/types.h> #include <polyp/sample.h> +#include <polyp/channelmap.h> #include <polyp/def.h> #include <polyp/cdecl.h> @@ -57,6 +58,7 @@ * NULL, // Use the default device. * "Music", // Description of our stream. * &ss, // Our sample format. + * NULL, // Use default channel map * NULL, // Use default buffering attributes. * NULL, // Ignore error code. * ); @@ -112,11 +114,12 @@ typedef struct pa_simple pa_simple; pa_simple* pa_simple_new( const char *server, /**< Server name, or NULL for default */ const char *name, /**< A descriptive name for this client (application name, ...) */ - pa_stream_direction_t dir, /**< Open this stream for recording or playback? */ + pa_stream_direction_t dir, /**< Open this stream for recording or playback? */ const char *dev, /**< Sink (resp. source) name, or NULL for default */ const char *stream_name, /**< A descriptive name for this client (application name, song title, ...) */ - const pa_sample_spec *ss, /**< The sample type to use */ - const pa_buffer_attr *attr, /**< Buffering attributes, or NULL for default */ + const pa_sample_spec *ss, /**< The sample type to use */ + const pa_channel_map *map, /**< The channel map to use, or NULL for default */ + const pa_buffer_attr *attr, /**< Buffering attributes, or NULL for default */ int *error /**< A pointer where the error code is stored when the routine returns NULL. It is OK to pass NULL here. */ ); diff --git a/src/tests/pacat-simple.c b/src/tests/pacat-simple.c index 6a75c790..544c31e3 100644 --- a/src/tests/pacat-simple.c +++ b/src/tests/pacat-simple.c @@ -66,7 +66,7 @@ int main(PA_GCC_UNUSED int argc, char*argv[]) { } /* Create a new playback stream */ - if (!(s = pa_simple_new(NULL, argv[0], PA_STREAM_PLAYBACK, NULL, "playback", &ss, NULL, &error))) { + if (!(s = pa_simple_new(NULL, argv[0], PA_STREAM_PLAYBACK, NULL, "playback", &ss, NULL, NULL, &error))) { fprintf(stderr, __FILE__": pa_simple_new() failed: %s\n", pa_strerror(error)); goto finish; } diff --git a/src/tests/parec-simple.c b/src/tests/parec-simple.c index fc2314ac..4463d549 100644 --- a/src/tests/parec-simple.c +++ b/src/tests/parec-simple.c @@ -67,7 +67,7 @@ int main(PA_GCC_UNUSED int argc, char*argv[]) { int error; /* Create the recording stream */ - if (!(s = pa_simple_new(NULL, argv[0], PA_STREAM_RECORD, NULL, "record", &ss, NULL, &error))) { + if (!(s = pa_simple_new(NULL, argv[0], PA_STREAM_RECORD, NULL, "record", &ss, NULL, NULL, &error))) { fprintf(stderr, __FILE__": pa_simple_new() failed: %s\n", pa_strerror(error)); goto finish; } |