module-cork-music-on-phone unable to send CORK event to pulsesink for PA_STREAM_START_CORKED streams
Submitted by Himanshu Chug
Assigned to pul..@..op.org
Steps to reproduce:
play music from gst-launch with media role="phone" e.g gst-launch playbin2 uri=file:///userdata/media/phone/Disco.mp3 audio-sink="pulsesink role="music""
play music from gst-launch with media role="music" gst-launch playbin2 uri=file:///userdata/media/phone/Tere.mp3 audio-sink="pulsesink role="phone""
"music" stream should mute and get corked , with gst-pipeline received event to PAUSE the "music" stream pipeline.
"music" stream is getting muted but the "music" stream is also getting mixed with "phone" stream , and gst pipeline for "music" stream is NOT getting paused.
Since the "music" stream is getting muted , so we cannot hear the mixed stream output, but one can easily figure out the problem by enabling gst logs and with gst pipeline state which remains in PLAYING state.
Some extra Information:
I have tried putting logs in gst pulsesink gst_pulsering_stream_event_cb() function, but it is not getting CORK request from pulseaudio in this particular senario,
Reverse Usecase i.e playing music stream first and then "phone" stream next is working fine and I can see CORK request callback in gst_pulsering_stream_event_cb()
So I suspect the issue is with PA_STREAM_START_CORKED flagged streams, which start in corked state ("music" stream in our case) and immediately were asked again to go to CORKED state with NO effect ?