Hi,
My pipeline use Rtpbin/Rtpjitterbuffer to receive RTP audio and video data, re-ordering and then send out the ordered data for the subsequent elements. gst_rtp_jitter_buffer_loop() is the main loop for Rtpjitterbuffer audio and video thread to send out data. In the beginning of pipeline, both audio/video thread keeps receiving data and output data in gst_rtp_jitter_buffer_loop(). And I found when there's no video data received in Rtpbin, video thread waits in JBUF_WAIT_EVENT() in gst_rtp_jitter_buffer_loop(), which is expected. But the audio thread gets stuck in gst_rtp_jitter_buffer_loop()->handle_next_buffer()->pop_and_push_next()->gst_pad_push()? Is it normal or is there anything setting I should set for Rtpbin/Rptjitterbuffer to let Rtpbin keep sending out audio data? Thanks a lot. |
On Thu, 2016-10-06 at 15:37 -0700, Sean wrote:
> Hi, > > My pipeline use Rtpbin/Rtpjitterbuffer to receive RTP audio and video data, > re-ordering and then send out the ordered data for the subsequent elements. > gst_rtp_jitter_buffer_loop() is the main loop for Rtpjitterbuffer audio and > video thread to send out data. In the beginning of pipeline, both > audio/video thread keeps receiving data and output data in > gst_rtp_jitter_buffer_loop(). And I found when there's no video data > received in Rtpbin, video thread waits in JBUF_WAIT_EVENT() in > gst_rtp_jitter_buffer_loop(), which is expected. But the audio thread gets > stuck in > gst_rtp_jitter_buffer_loop()->handle_next_buffer()->pop_and_push_next()->gst_pad_push()? > Is it normal or is there anything setting I should set for > Rtpbin/Rptjitterbuffer to let Rtpbin keep sending out audio data? rtpjitterbuffer is blocking. If you say no audio, you mean there is no audio at all from the very beginning? If so, the problem is most likely that the video part of the pipeline never prerolls (i.e. the video sink gets no data). Does it work if you remove the video part? Or set async=false on the video sink? -- Sebastian Dröge, Centricular Ltd · http://www.centricular.com _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel signature.asc (949 bytes) Download Attachment |
This post was updated on .
Hi, Sebastian,
My scenario is in the beginning Rtpbin receives both audio and video. After a while, Rtpbin receives audio only dada. I found the reason is that I append a muxer (mkvmux or flvmux) after Rtpbin. After removing the muxer, Rtbpin can continouly send out audio only data even when Rtpbin receives no video data. Here comes another question, is it possible to let muxer keep muxing audio only or video only data when only receiving either audio or video? Thanks a lot. |
On Fri, 2016-10-07 at 01:20 -0700, Sean wrote:
> Hi, Sebastian, > > I found the reason is that I append a mkvmux after Rtpbin. After removing > mkvmux, Rtbpin can continouly send out audio only data even when Rtpbin > receives no video data. Here comes another question, is it possible to let > mkvmux keep muxing audio only or video only data when only receiving either > audio or video? Thanks a lot. That's in inherent limitation of the GstCollectPads utilities that most muxers are using nowadays. Porting them to GstAggregator would solve that (for live pipelines like RTP), and in the case of Matroska would also result in useful playable streams. -- Sebastian Dröge, Centricular Ltd · http://www.centricular.com _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel signature.asc (985 bytes) Download Attachment |
Free forum by Nabble | Edit this page |