[pulseaudio-discuss] module-role-cork and mp3s

Mikhail Morfikov mmorfikov at gmail.com
Fri Aug 14 00:33:24 PDT 2015

Hash: SHA512

On 2015-08-14 01:14, Georg Chini wrote:
> On 13.08.2015 23:29, Mikhail Morfikov wrote:
>> Hash: SHA512
>> On 2015-08-13 18:49, Georg Chini wrote:
>>> On 13.08.2015 14:58, Tanu Kaskinen wrote:
>>>> On Thu, 2015-08-13 at 10:50 +0200, Mikhail Morfikov wrote:
>>>>> I have two streams one phone and one video/audio, and when I set the
>>>>> following:
>>>>> load-module module-role-ducking trigger_roles=phone
>>>>> ducking_roles=music,video volume=60%
>>>>> and I start playing an mp3, the volume is lowered to 60% and that's
>>>>> fine. Each time a new mp3 is being played the volume doesn't change,
>>>>> which is also a good thing.
>>>>> There's another module module-role-cork and when it's enabled (also
>>>>> commenting out the line above), it acts a little bit strange. When I
>>>>> start the phone stream, the mp3 is muted, and that's expected, but
>>>>> when
>>>>> another mp3 starts to play, the sound appears.
>>>>> Should that happen?
>>>> Ideally that shouldn't happen, but currently we have a bit limited
>>>> support for managing corking. Currently applications are required to
>>>> cooperate when we want to cork them. module-role-cork sends a cork
>>>> request to an application, and the application will then obey that
>>>> request (or not, but in your case not obeying the request is not the
>>>> problem). To make this work on new streams too, module-role-cork should
>>>> send the cork request also when a new stream appears, which it
>>>> currently doesn't do. It could very well do that, so patches welcome!
>>>> Sending a cork request after a new stream has appeared isn't quite
>>>> optimal, since the beginning of the stream may already hit the speakers
>>>> before the corking happens, but that would still be better than the
>>>> current behaviour.
>>>> It would be good to have "server-side corking" that wouldn't require
>>>> cooperation from applications. That's a bit more complicated to
>>>> implement.
>>> Hi,
>>> you could try if my patches
>>> http://thread.gmane.org/gmane.comp.audio.pulseaudio.general/23189
>>> solve the problem because the patches combine module-role-cork
>>> and module-role-ducking (and I believe they should mute/cork a stream
>>> when it appears).
>>> Regards
>>>              Georg
>>> _______________________________________________
>>> pulseaudio-discuss mailing list
>>> pulseaudio-discuss at lists.freedesktop.org
>>> http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss
>> I've tested the patches, but nothing has changed.
> That's strange because with the patches both modules share the
> same code. So I would have expected that they behave equally.
> Can you check if there is any difference between the two cases by
> running pulseaudio with debugging? There should be a line in the
> log each time the module interacts with a stream.
> Georg
> _______________________________________________
> pulseaudio-discuss mailing list
> pulseaudio-discuss at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss

I've compared the debug logs in both cases (with and without patches)
and checked whether they're different in any point. There are 3
occurrences of stream-interaction.c in the log with patches:

D: [pulseaudio] stream-interaction.c: Using role 'phone' as trigger role.
D: [pulseaudio] stream-interaction.c: Using roles 'music' and 'video' as cork roles.
D: [pulseaudio] stream-interaction.c: Found a 'phone' stream that corks/mutes a 'video' stream.

And there's also:

D: [pulseaudio] sink-input.c: The mute of sink input 0 changed from no to yes.

And that's it. I can provide you with the full logs if you needed them.


More information about the pulseaudio-discuss mailing list