On Wed, 30 May 2018, at 10:20 PM, Tanu Kaskinen wrote:
> On Sun, 2018-05-20 at 11:35 +0530, Arun Raghavan wrote:
> > This fixes an assert when we try to restore the original volume map on
> > the synthesized (100%) volume of a passthrough stream.
> > ---
> >  src/pulsecore/sink-input.c    | 2 +-
> >  src/pulsecore/source-output.c | 2 +-
> >  2 files changed, 2 insertions(+), 2 deletions(-)
> > 
> > diff --git a/src/pulsecore/sink-input.c b/src/pulsecore/sink-input.c
> > index 5a55e93a5..ebe5cc957 100644
> > --- a/src/pulsecore/sink-input.c
> > +++ b/src/pulsecore/sink-input.c
> > @@ -403,7 +403,7 @@ int pa_sink_input_new(
> >      if (!data->volume_writable)
> >          data->save_volume = false;
> >  
> > -    if (data->volume_is_set)
> > +    if (data->volume_is_set && 
> > !pa_sink_input_new_data_is_passthrough(data))
> >          /* The original volume channel map may be different than the final
> >           * stream channel map, so remapping may be needed. */
> >          pa_cvolume_remap(&data->volume, &volume_map, &data->channel_map);
> > diff --git a/src/pulsecore/source-output.c b/src/pulsecore/source-output.c
> > index bcef51fdb..17f5da5e1 100644
> > --- a/src/pulsecore/source-output.c
> > +++ b/src/pulsecore/source-output.c
> > @@ -341,7 +341,7 @@ int pa_source_output_new(
> >      if (!data->volume_writable)
> >          data->save_volume = false;
> >  
> > -    if (data->volume_is_set)
> > +    if (data->volume_is_set && 
> > !pa_source_output_new_data_is_passthrough(data))
> >          /* The original volume channel map may be different than the final
> >           * stream channel map, so remapping may be needed. */
> >          pa_cvolume_remap(&data->volume, &volume_map, &data->channel_map);
> 
> I already sent a patch for this:
> https://patchwork.freedesktop.org/patch/220793/
> 
> Our patches are slightly different. Both result in the right behaviour
> as far as I can tell. Your patch has the benefit that it does fewer
> changes, my patch on the other hand is more logical in that the
> condition on which volume_map is initialized and the condition on which
> the remapping is done are the same. With your patch volume_map is
> unnecessarily initialized with passthrough PCM streams, but the
> remapping is (correctly) skipped for those streams.

I like your patch better, ack on it from me.

Cheers,
Arun
_______________________________________________
pulseaudio-discuss mailing list
pulseaudio-discuss@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss

Reply via email to