I'm stuck into a demuxer problem.

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

I'm stuck into a demuxer problem.

franchan
Hello,

I seek some suggestions to find a bug in my own mp4 demuxer.
This is actually a wrapper around a proprietary mp4 parser.
(For inspiration I looked into qtdemux, so it is based on that pull scheduling).
The demuxer only support pull scheduling
(I seem to better understand that operation model).

The pipeline works fine when it is "hard-coded" e.g.
filesrc ! mp4demux name=demux \
   demux.video_01! queue ! video_decoder ! ffmpegcolorspace! xvimagesink \
   demux.audio_01! queue ! audio_decoder ! audioconvert ! alsasink

When I use the playbin to create my pipeline,
typefinding works fine until a certain point:
source links with demux links the video and audio queues (always in that order).

But further linking the pipeline is not happening anymore.
The video & audio decoder, which are proprietery as well,
seem to be stuck in their gst_pad_push().
These are not linked with the corresponding queues.
While the demuxer's pull task is blocked on pushing some encoded video frame.

It is as if playbin thinks that all is done.
Why does it not continue creating the renderers (alsasink/xvimagesink).
It seldom goes into the PLAYING state.
(1 in 30 times it may start playing though).

I'm out of inspiration on what might be wrong ...

When the qtdemux is selected by playbin, all works as expected,
I think the qtdemux might not operate in pull scheduling though.
That's why I think the problem is in the mp4 demuxer
(not in the other proprietary decoders).

Thanks in advance,
francis

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: I'm stuck into a demuxer problem.

Wim Taymans
On Tue, 2008-11-25 at 14:53 +0100, franchan wrote:

> Hello,
>
> I seek some suggestions to find a bug in my own mp4 demuxer.
> This is actually a wrapper around a proprietary mp4 parser.
> (For inspiration I looked into qtdemux, so it is based on that pull scheduling).
> The demuxer only support pull scheduling
> (I seem to better understand that operation model).
>
> The pipeline works fine when it is "hard-coded" e.g.
> filesrc ! mp4demux name=demux \
>    demux.video_01! queue ! video_decoder ! ffmpegcolorspace! xvimagesink \
>    demux.audio_01! queue ! audio_decoder ! audioconvert ! alsasink
>
> When I use the playbin to create my pipeline,
> typefinding works fine until a certain point:
> source links with demux links the video and audio queues (always in that order).
>
> But further linking the pipeline is not happening anymore.
> The video & audio decoder, which are proprietery as well,
> seem to be stuck in their gst_pad_push().
> These are not linked with the corresponding queues.
> While the demuxer's pull task is blocked on pushing some encoded video frame.
>
> It is as if playbin thinks that all is done.
> Why does it not continue creating the renderers (alsasink/xvimagesink).
> It seldom goes into the PLAYING state.
> (1 in 30 times it may start playing though).
>
> I'm out of inspiration on what might be wrong ...

If you have dynamic pads, check if you emit the no-more-pads signal
after you added all pads.

Wim

>
> When the qtdemux is selected by playbin, all works as expected,
> I think the qtdemux might not operate in pull scheduling though.
> That's why I think the problem is in the mp4 demuxer
> (not in the other proprietary decoders).
>
> Thanks in advance,
> francis
>
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
> Build the coolest Linux based applications with Moblin SDK & win great prizes
> Grand prize is a trip for two to an Open Source event anywhere in the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel