-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 On 2015-08-14 10:18, Georg Chini wrote: > On 14.08.2015 09:33, Mikhail Morfikov wrote: >> -----BEGIN PGP SIGNED MESSAGE----- >> Hash: SHA512 >> >> On 2015-08-14 01:14, Georg Chini wrote: >>> On 13.08.2015 23:29, Mikhail Morfikov wrote: >>>> -----BEGIN PGP SIGNED MESSAGE----- >>>> 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. >> > > I was rather thinking about a comparison between module-role-cork > and module-role-ducking with the patches because they behave differently > even though the code is exactly the same. I would expect, that when you > compare the log messages there should be no difference except that it > says "cork" for one module and "duck" for the other. > > One reason I can think of why there is a problem with role-cork but not with > role-ducking is that the new stream might still be corked when the sink_input > is put. So role-cork sees the stream as corked and does nothing but the > application uncorks the stream at a later time. > > Regards > Georg > _______________________________________________ > pulseaudio-discuss mailing list > pulseaudio-discuss at lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss I hadn't tested module-role-ducking with patches before, but it looks like that both modules act in the same way with patches. I mean, when I use: load-module module-role-ducking trigger_roles=phone ducking_roles=music,video volume=60% it lowers the volume to 60% when TS3 starts to capture, but when another mp3 is being played, the volume backs to 100%. Something like "unmute" in the case of module-role-cork . -----BEGIN PGP SIGNATURE----- iQIcBAEBCgAGBQJVzawlAAoJEM0EaBB3G2Ugac0P/An4uch6TAj7dAHg5yNW9mEr p689NjYKWDp1G1X2ZGuWWprPPO385GgBujr/qEhcBYxq1tKH31bCRqT1Y1+pl+XV WhKu8BbMl2/UuIVhHS08LQWJ+bp5tNkFQwEBFMunyyotPHfjQ5Bpd4Egc6ayNNq3 kVzapxXUPMvyTLgdwV5KkGWRCOp5mJUDZmupvg2LW8wqZtliGdSQ1ggSXMOSBBXW WC0VbJWjP+iralSBVI8Er8/WQssMrn4TxzxOWwszv9rW/8Yu/ChIMKcLm9OMCUMR MovtTMlj9ICdVGGsBaQSjicM5IJkAFXH+MhZUfyju4+MEVwsgwS8oGmQNJkmmIzy mVGcNSTmGpf2qIz0hFa1Mma3Kk72UYx2mDjcKrAlMNKNH9hqiS9d1cS1bTncQsdH vz3RVRrYc4/ZtfVSOvworNCatc2DlwHoPXLtD1Y+O6xagjIncuwy4KpkHpmaRdvf MGFE1ppv96UoD9Jqrbg6rSd0LZddvxDMMY+d378wX7KF+FfHBhq2Gy9LYfoFhBA1 Dj+hrkHpzZEL1cJLGGzkgUAI0XCVkBblV9VxuTT+hX9irXn3pXIMIP60hAQMxE2O hLIsh6zmo0S8Yk/BFSEVvSqiUPoHD/KAigibrk++zTjnjDYWt/T2iAiy9rKUL0rA Bouyb0jc3HhpPpZ6Oska =XtYb -----END PGP SIGNATURE-----