Preroll with appsink (pull mode)

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

Preroll with appsink (pull mode)

John OCallaghan

 

Hi All

 

Am hoping someone out there can he me out. I’ve been trying to setup my pipeline:

(uridecode -> audioconvert -> appsink_audio

          -> videoconvert -> appsink_video)

 

to be a preroll pull mode pipeline.

 

When I add debug to my GST event loop I can see that all the elements are moving into the GST_PLAYING state except for the appsinks (both audio and video).

They are moving from NULL -> READY. But they don’t budge out of READY.

 

How I setup my pipeline:

When I init the pipeline I add all elements and then set the locked state on all elements downstream of the uridecode and set the pipeline to GST_PAUSED

When I get a pad_added event I add a GST_PAD_PROBE_TYPE_BLOCK_DOWNSTREAM probe.

In the downstream block callback I unlock the elements associated with that pad (audioconvert, appsink_audio or videoconvert, appsink_video) and link the pad to the audio/video convert element.

When all the downstream block callbacks are called I send an application message to my GST main loop telling it to set the pipeline state to GST_PLAYING.

 

At this point I see lots of state changes occurring across all my elements as they move into PLAYING state. All except those 2 appsinks….

 

Is there something about the appsink element that I am missing? When I turn on GST_DEBUG the last mention I see from my audio appsink is this:

gst_bin_change_state_func:<controller-pipeline> child 'appsink_audio' is changing state asynchronously to PLAYING

 

Anyone out there got any ideas on what I am doing wrong here or how I might proceed with debug?

 

Thanks in advance!

John

 

 

 

Accenture Global Solutions Limited, 3 Grand Canal Plaza, Grand Canal Street Upper, Dublin 4

This e-mail and any files transmitted with it are confidential and are intended solely for the use of the individual or entity to which they are addressed. If you have received this e-mail in error, please notify the sender immediately and delete the original. Communications with Accenture or any of its group companies (“Accenture”), including telephone calls and e-mails, may be monitored by our systems for quality control and/or evidential purposes. Accenture does not accept service by e-mail of court proceedings, other processes or formal notices of any kind. Private company limited by shares registered in Ireland, Number 554978




This message is for the designated recipient only and may contain privileged, proprietary, or otherwise confidential information. If you have received it in error, please notify the sender immediately and delete the original. Any other use of the e-mail by you is prohibited. Where allowed by local law, electronic communications with Accenture and its affiliates, including e-mail and instant messaging (including content), may be scanned by our systems for the purposes of information security and assessment of internal compliance with Accenture policy.
______________________________________________________________________________________

www.accenture.com

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Preroll with appsink (pull mode)

John OCallaghan

 

 

Hi All

 

Am hoping someone out there can he me out. I’ve been trying to setup my pipeline

 

uridecode

-> audioconvert -> appsink_audio

-> videoconvert -> appsink_video

 

to be a preroll pull mode pipeline.

When I add debug to my GST event loop I can see that all the elements are moving into the GST_PLAYING state except for the appsinks (both audio and video). They are moving from NULL -> READY. But they don’t budge out of READY.

 

How I setup my pipeline:

When I init the pipeline I add all elements and then set the locked state on all elements downstream of the uridecode and set the pipeline to GST_PAUSED

When I get a pad_added event I add a GST_PAD_PROBE_TYPE_BLOCK_DOWNSTREAM probe.

In the downstream block callback I unlock the elements associated with that pad (audioconvert, appsink_audio or videoconvert, appsink_video) and link the pad to the audio/video convert element.

When all the downstream block callbacks are called I send a message to my GST main loop telling it to set the pipeline state to GST_PLAYING.

 

At this point I see lots of state changes occurring across all my elements as they move into PLAYING state. All except those 2 appsinks….

 

Is there something about the appsink element that I am missing? When I turn on GST_DEBUG the last mention I see from my audio appsink is this:

gst_bin_change_state_func:<controller-pipeline> child 'appsink_audio' is changing state asynchronously to PLAYING

 

Anyone out there got any ideas on what I am doing wrong here or how I might proceed with debug?

 

Thanks in advance!

John

 

 

 

Accenture Global Solutions Limited, 3 Grand Canal Plaza, Grand Canal Street Upper, Dublin 4

This e-mail and any files transmitted with it are confidential and are intended solely for the use of the individual or entity to which they are addressed. If you have received this e-mail in error, please notify the sender immediately and delete the original. Communications with Accenture or any of its group companies (“Accenture”), including telephone calls and e-mails, may be monitored by our systems for quality control and/or evidential purposes. Accenture does not accept service by e-mail of court proceedings, other processes or formal notices of any kind. Private company limited by shares registered in Ireland, Number 554978




This message is for the designated recipient only and may contain privileged, proprietary, or otherwise confidential information. If you have received it in error, please notify the sender immediately and delete the original. Any other use of the e-mail by you is prohibited. Where allowed by local law, electronic communications with Accenture and its affiliates, including e-mail and instant messaging (including content), may be scanned by our systems for the purposes of information security and assessment of internal compliance with Accenture policy.
______________________________________________________________________________________

www.accenture.com

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