]> code.delx.au - pulseaudio/commitdiff
stream: Remove a volume channel validity check
authorTanu Kaskinen <tanu.kaskinen@linux.intel.com>
Tue, 17 Dec 2013 19:22:50 +0000 (21:22 +0200)
committerTanu Kaskinen <tanu.kaskinen@linux.intel.com>
Wed, 8 Jan 2014 19:26:40 +0000 (21:26 +0200)
The check is done for clients that use pa_stream_new() but not for
clients that use pa_stream_new_extended(). This is inconsistent. We
could check that the volume channels match the channels set in the
format info struct that is passed to pa_stream_new_extended(), but
that doesn't work if the format info doesn't contain the channel
information (that can happen if the client wants the server to choose
the channel count for the stream). And it should also be possible to
pass a mono volume for a multi-channel stream. The check could be
extended to handle all these cases, but I don't see much point in
wasting time on that. The server will anyway validate the stream
parameters, it's not particularly important to fail already when the
stream is being created at the client side.

src/pulse/stream.c

index d3763260839c93776537f4d7408cb466cb2f57ad..8e35c295cd1c882e66269dd7260042f17a2194cb 100644 (file)
@@ -1224,7 +1224,6 @@ static int create_stream(
      * client development easier */
 
     PA_CHECK_VALIDITY(s->context, direction == PA_STREAM_RECORD || !(flags & (PA_STREAM_PEAK_DETECT)), PA_ERR_INVALID);
-    PA_CHECK_VALIDITY(s->context, !volume || s->n_formats || (pa_sample_spec_valid(&s->sample_spec) && volume->channels == s->sample_spec.channels), PA_ERR_INVALID);
     PA_CHECK_VALIDITY(s->context, !sync_stream || (direction == PA_STREAM_PLAYBACK && sync_stream->direction == PA_STREAM_PLAYBACK), PA_ERR_INVALID);
     PA_CHECK_VALIDITY(s->context, (flags & (PA_STREAM_ADJUST_LATENCY|PA_STREAM_EARLY_REQUESTS)) != (PA_STREAM_ADJUST_LATENCY|PA_STREAM_EARLY_REQUESTS), PA_ERR_INVALID);