reuse partial pipeline: clock problems?

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

reuse partial pipeline: clock problems?

Thomas Loewe
Hi,

i would like to reuse parts of my pipeline which in principle works, but it uses the "wrong" clock.

It's an dynamic build pipeline which looks like this:

neonhttpsrc->flutsdemux-> multiple audio + single video pipelines

On the first start it uses the "correct" GstAudioSinkClock, but on the second start it selects the GstSystemClock.

On stop the CLOCK_LOST signal is send (because the audiosink was removed from the pipeline), on start the NEW_CLOCK is immediately send and the systemclock is selected (because at this time there is no audiosink in the pipeline). But after the pipeline is build the audiosink will not be selected as new master.

What's wrong or missing here?

Thank you,
Thomas
Reply | Threaded
Open this post in threaded view
|

Re: re use partial pipeline: clock problems?

Wim Taymans
On Thu, 2008-08-28 at 11:06 -0700, Thomas Loewe wrote:

> Hi,
>
> i would like to reuse parts of my pipeline which in principle works, but it
> uses the "wrong" clock.
>
> It's an dynamic build pipeline which looks like this:
>
> neonhttpsrc->flutsdemux-> multiple audio + single video pipelines
>
> On the first start it uses the "correct" GstAudioSinkClock, but on the
> second start it selects the GstSystemClock.
>
> On stop the CLOCK_LOST signal is send (because the audiosink was removed
> from the pipeline), on start the NEW_CLOCK is immediately send and the
> systemclock is selected (because at this time there is no audiosink in the
> pipeline). But after the pipeline is build the audiosink will not be
> selected as new master.
>
> What's wrong or missing here?

The clock is selected when going from PAUSED to PLAYING. If you are
dynamically building and destroying the pipeline it's a good idea to
bring the pipeline back to PAUSED before adding the new sinks. When all
sinks are added, you can put it back to PLAYING to make it select a
clock from all available clock providers.

Wim
>
> Thank you,
> Thomas


-------------------------------------------------------------------------
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: re use partial pipeline: clock problems?

Thomas Loewe
Now it works, Thank you!

Wim Taymans-2 wrote
The clock is selected when going from PAUSED to PLAYING. If you are
dynamically building and destroying the pipeline it's a good idea to
bring the pipeline back to PAUSED before adding the new sinks. When all
sinks are added, you can put it back to PLAYING to make it select a
clock from all available clock providers.

Wim
Reply | Threaded
Open this post in threaded view
|

Re: re use partial pipeline: clock problems?

Thomas Loewe
Hm, it seems only to work when the source stream is the same. Only removing and readding the demuxer works for different source streams too.

Is there a way to avoid this like flushing/resetting the flutsdemux or something like this?