gstmpegdemux no_more_pads

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

gstmpegdemux no_more_pads

Mohit Garg-2
Hi All

I am using gstreamer to work with MPEG-1 streams. However, I am unable to get it working. The pipeline hangs and does not go to a PLAYING state. I suspect the issues to be mpegdemux not sending no_more_pads() and hence decodebin not being able to change stage to PLAYING which causes filesink to be stuck in PAUSED and hence, not coming out of preroll-ing.

e.g. try this pipeline:
gst-launch -v gnomevfssrc location="http://samples.mplayerhq.hu/MPEG1/mpeg_demuxer_crash.mpg" ! decodebin name=d ! filesink location=aud d. ! filesink location=vid

Questions:
  • Is this a known bug? If yes, is there a known/recommended workaround?
  • mpegdemux has a RANK of secondary and I was expecting that it would work straightaway while ffdemux_mpeg has a rank of NONE and hence decodebin does not pick it up. How is the RANK of elements decided?
(I am using gst-plugins-ugly-0.10.6)

Any help/pointers would be really helpful.

thanks and regards
Mohit

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: gstmpegdemux no_more_pads

Tim-Philipp Müller-2
On Thu, 2008-02-28 at 17:44 +0530, Mohit Garg wrote:

> I am using gstreamer to work with MPEG-1 streams. However, I am unable
> to get it working. The pipeline hangs and does not go to a PLAYING
> state. I suspect the issues to be mpegdemux not sending no_more_pads()
> and hence decodebin not being able to change stage to PLAYING which
> causes filesink to be stuck in PAUSED and hence, not coming out of
> preroll-ing.
>
> e.g. try this pipeline:
> gst-launch -v gnomevfssrc
> location="http://samples.mplayerhq.hu/MPEG1/mpeg_demuxer_crash.mpg" !
> decodebin name=d ! filesink location=aud d. ! filesink location=vid

You need queues here, ie.

 decodebin name=d  \
    d. ! queue ! filesink location=audio.dump  \
    d. ! queue ! filesink location=video.dump

(you can't really assume that the first one will be an audio stream and
the second a video stream though; you can use mpegdemux/dvddemux and
specify that pad names directly, however, but then you also need to know
which streams exist to get the right pad names; alternatively, if you
know the format of the audio, you can add filter caps before the queue
and make it pick the right pad that way).

Cheers
 -Tim


> Questions:
>         Is this a known bug? If yes, is there a known/recommended workaround?
>         mpegdemux has a RANK of secondary and I was expecting that it would work straightaway while ffdemux_mpeg has a rank of NONE and hence decodebin does not pick it up. How is the RANK of elements decided?
> (I am using gst-plugins-ugly-0.10.6)



-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: gstmpegdemux no_more_pads

Mohit Garg-2
Thanks Tim.

Putting queues still does not help. I am attaching the log with the queues in place.

I do not see the pipeline reaching PLAYING state. The pipeline hangs and I need to kill it using Ctrl-C. As soon as I kill it, I see "ERROR: pipeline doesn't want to preroll". See line number 44930 of the attached logs.

My suspicion is that mpgdemux does not send no-more-pads and hence decodebin does not change state to PLAYING which means filesink does not preroll.

Has anyone used mpgdemux with decodebin and filesink?

thanks and regards
Mohit

On Thu, Feb 28, 2008 at 6:03 PM, Tim Müller <[hidden email]> wrote:
On Thu, 2008-02-28 at 17:44 +0530, Mohit Garg wrote:

> I am using gstreamer to work with MPEG-1 streams. However, I am unable
> to get it working. The pipeline hangs and does not go to a PLAYING
> state. I suspect the issues to be mpegdemux not sending no_more_pads()
> and hence decodebin not being able to change stage to PLAYING which
> causes filesink to be stuck in PAUSED and hence, not coming out of
> preroll-ing.
>
> e.g. try this pipeline:
> gst-launch -v gnomevfssrc
> location="http://samples.mplayerhq.hu/MPEG1/mpeg_demuxer_crash.mpg" !
> decodebin name=d ! filesink location=aud d. ! filesink location=vid

You need queues here, ie.

 decodebin name=d  \
   d. ! queue ! filesink location=audio.dump  \
   d. ! queue ! filesink location=video.dump

(you can't really assume that the first one will be an audio stream and
the second a video stream though; you can use mpegdemux/dvddemux and
specify that pad names directly, however, but then you also need to know
which streams exist to get the right pad names; alternatively, if you
know the format of the audio, you can add filter caps before the queue
and make it pick the right pad that way).

Cheers
 -Tim


> Questions:
>         Is this a known bug? If yes, is there a known/recommended workaround?
>         mpegdemux has a RANK of secondary and I was expecting that it would work straightaway while ffdemux_mpeg has a rank of NONE and hence decodebin does not pick it up. How is the RANK of elements decided?
> (I am using gst-plugins-ugly-0.10.6)





--
"We know we have a duty to hope" -- Sunita Narain, Environmentalist

regards
Mohit Garg

Personal Homepage: http://www.mohrahit.in
Social Work: http://www.noragging.com
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel

mpgdemuxDebug.log.gz (780K) Download Attachment