]> code.delx.au - pulseaudio/commitdiff
passthrough: We must not plug in a resampler on stream move
authorArun Raghavan <arun.raghavan@collabora.co.uk>
Thu, 18 Aug 2011 07:05:23 +0000 (12:35 +0530)
committerArun Raghavan <arun.raghavan@collabora.co.uk>
Thu, 18 Aug 2011 07:15:58 +0000 (12:45 +0530)
src/pulsecore/sink-input.c
src/pulsecore/source-output.c

index 7aee54663ebac8a55525276daaf138fb1a7734cb..4ffa03bf8d37735bb3903bd9b6fa6189e817dd93 100644 (file)
@@ -1608,9 +1608,10 @@ int pa_sink_input_finish_move(pa_sink_input *i, pa_sink *dest, pa_bool_t save) {
         /* Try to reuse the old resampler if possible */
         new_resampler = i->thread_info.resampler;
 
-    else if ((i->flags & PA_SINK_INPUT_VARIABLE_RATE) ||
-             !pa_sample_spec_equal(&i->sample_spec, &dest->sample_spec) ||
-             !pa_channel_map_equal(&i->channel_map, &dest->channel_map)) {
+    else if (!pa_sink_input_is_passthrough(i) &&
+             ((i->flags & PA_SINK_INPUT_VARIABLE_RATE) ||
+              !pa_sample_spec_equal(&i->sample_spec, &dest->sample_spec) ||
+              !pa_channel_map_equal(&i->channel_map, &dest->channel_map))) {
 
         /* Okay, we need a new resampler for the new sink */
 
index ce94095009fcdb6eb5ccc3336be9266eb6ab6281..a9e60f877719961e8b87d93e0d6ce9ca5f59abc1 100644 (file)
@@ -1376,9 +1376,10 @@ int pa_source_output_finish_move(pa_source_output *o, pa_source *dest, pa_bool_t
         /* Try to reuse the old resampler if possible */
         new_resampler = o->thread_info.resampler;
 
-    else if ((o->flags & PA_SOURCE_OUTPUT_VARIABLE_RATE) ||
-             !pa_sample_spec_equal(&o->sample_spec, &dest->sample_spec) ||
-             !pa_channel_map_equal(&o->channel_map, &dest->channel_map)) {
+    else if (!pa_source_output_is_passthrough(o) &&
+             ((o->flags & PA_SOURCE_OUTPUT_VARIABLE_RATE) ||
+              !pa_sample_spec_equal(&o->sample_spec, &dest->sample_spec) ||
+              !pa_channel_map_equal(&o->channel_map, &dest->channel_map))) {
 
         /* Okay, we need a new resampler for the new source */