summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2006-05-17 18:52:34 +0000
committerLennart Poettering <lennart@poettering.net>2006-05-17 18:52:34 +0000
commitee35a063b2c10564d43a611fcf6ada398851b1d6 (patch)
tree49d12f88616283127ec5b596bd2cd97ff0ca1b34
parent5f6d8c9c8b0f113dee34d3f3c17464a9c696a49b (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.c4
-rw-r--r--src/polyp/simple.h9
-rw-r--r--src/tests/pacat-simple.c2
-rw-r--r--src/tests/parec-simple.c2
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;
}