Hang in gst pipeline

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Hang in gst pipeline

Baby Octopus
Hi,

My application hangs in gst_collect_pads_chain(). Debugged the issue and found out it is not really an issue. The issue goes like this

The input TS/UDP initially has two audio and one videostream. This videostream along with one of the audio stream is picked up, transcoded and sent to an ubuntu based PC for playback. Now after some time, the input has only one video and one audio(The audio used for transcoding has vanished)

Since the audio stops coming and only video is given as output by decodebin, the muxer(mpegtsmux) element hangs in gst_collect_pads_chain(). Digged into this module and understood it just collects the pad for the muxer

This seems to be an interesting usecase. Any input on how it can be handled? One of the desirable feature possibly is that the muxer should adapt on the fly based on the input that it gets(mux a_v when both are available, mux only 'v' when 'a' is not available)

Any thoughts are welcome :)

~BO

Reply | Threaded
Open this post in threaded view
|

Re: Hang in gst pipeline

harishjennykn
Not sure if this is correct way , but you can probe the sink pads of muxer and check for audio data availability. If not you can insert silent audio frames from the application !

~HJ
Reply | Threaded
Open this post in threaded view
|

Re: Hang in gst pipeline

Sebastian Dröge-3
In reply to this post by Baby Octopus
On Mo, 2013-12-09 at 10:36 -0800, Baby Octopus wrote:

> Hi,
>
> My application hangs in gst_collect_pads_chain(). Debugged the issue and
> found out it is not really an issue. The issue goes like this
>
> The input TS/UDP initially has two audio and one videostream. This
> videostream along with one of the audio stream is picked up, transcoded and
> sent to an ubuntu based PC for playback. Now after some time, the input has
> only one video and one audio(The audio used for transcoding has vanished)
>
> Since the audio stops coming and only video is given as output by decodebin,
> the muxer(mpegtsmux) element hangs in gst_collect_pads_chain(). Digged into
> this module and understood it just collects the pad for the muxer
>
> This seems to be an interesting usecase. Any input on how it can be handled?
> One of the desirable feature possibly is that the muxer should adapt on the
> fly based on the input that it gets(mux a_v when both are available, mux
> only 'v' when 'a' is not available)
>
> Any thoughts are welcome :)
As noted by someone else already you'll need to either insert silence if
audio is missing, or use the non-waiting/sparse-support mode of
collectpads for the audio pad.

--
Sebastian Dröge <[hidden email]>
Centricular Ltd - http://www.centricular.com
Expertise, Straight from the Source

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (985 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Hang in gst pipeline

Baby Octopus
Hi,

Could you kindly explain "non-waiting/sparse-support" mode? I dont see that in gst_collect_pads_chain() function but I see it in gst_collect_pads_set_waiting() function

Thanks,
~BO
Reply | Threaded
Open this post in threaded view
|

Re: Hang in gst pipeline

Sebastian Dröge-3
On Mi, 2013-12-11 at 22:12 -0800, Baby Octopus wrote:
> Hi,
>
> Could you kindly explain "non-waiting/sparse-support" mode? I dont see that
> in gst_collect_pads_chain() function but I see it in
> gst_collect_pads_set_waiting() function

Yes, I mean that function and the feature it controls inside
collectpads.

--
Sebastian Dröge, Centricular Ltd - http://www.centricular.com
Expertise, Straight from the Source

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (985 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Hang in gst pipeline

Baby Octopus
How would I insert silent audio or black frame video? Do I need to register some callback for that?