output-selector

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

output-selector

gtissington
Hello,

I've looked through all the references I can find related to output-selector - including output-selector-tests.c.  I still cannot get it to work.

I'm using this pipline

videotestsrc is-live=true num-buffers=30 !
ffmpegcolorspace !
timeoverlay !
ffmpegcolorspace !
output-selector name=os 
os. ! queue ! ffmpegcolorspace ! autovideosink 
os. ! queue ! ffmpegcolorspace ! autovideosink



after the pipeline is assembled I issue 


g_object_get (G_OBJECT (sel), "active-pad", &srcpad1, NULL);

and

gst_element_set_state (pipeline, GST_STATE_PLAYING);

Everything works fine if I take the output selector out.  However, with the output-selector there one videosink is displayed but the video is not updates.  just a static snap shot.  After num-buffers=30 expires the pipeline end. and the application closes normally.  So, the clock appears to be running, one frame got through to the sink but no more.

Interestingly if I change num-buffers to 90 then the program hangs and does not exit after 3 seconds as expected.  Does this mean the queue is full?

Any ideas?

Anyone know a real world example where output-selector is being used. 

Thanks,

Garth Tissington
250 891 4797
---

Given sufficient thrust pigs fly just fine.


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

Re: output-selector

Stefan Sauer
On 04/05/2012 06:55 AM, Garth Tissington wrote:
Hello,

I've looked through all the references I can find related to output-selector - including output-selector-tests.c.  I still cannot get it to work.

I'm using this pipline

videotestsrc is-live=true num-buffers=30 !
ffmpegcolorspace !
timeoverlay !
ffmpegcolorspace !
output-selector name=os 
os. ! queue ! ffmpegcolorspace ! autovideosink 
os. ! queue ! ffmpegcolorspace ! autovideosink



after the pipeline is assembled I issue 


g_object_get (G_OBJECT (sel), "active-pad", &srcpad1, NULL);

and

          
gst_element_set_state (pipeline, GST_STATE_PLAYING);

Everything works fine if I take the output selector out.  However, with the output-selector there one videosink is displayed but the video is not updates.  just a static snap shot.  After num-buffers=30 expires the pipeline end. and the application closes normally.  So, the clock appears to be running, one frame got through to the sink but no more.
My gut feeling is that the sinks wait for prereoll buffers, which they should not as you use a livesrc, could you
1.) try that with a v4l2src
2.) try sync=false on the sinks?
This is just to narrow it down. Also run your app with GST_DEBUG="*:2" to check if gstreamer posts some warnings.

Stefan

Interestingly if I change num-buffers to 90 then the program hangs and does not exit after 3 seconds as expected.  Does this mean the queue is full?

Any ideas?

Anyone know a real world example where output-selector is being used. 

Thanks,

Garth Tissington
250 891 4797
---

Given sufficient thrust pigs fly just fine.

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


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

Re: output-selector

Hector Canto
Could it be related with the unactive branch, no data is flowing through it and that may cause the hanging.

If you remove the branch it work fine, isn't it?


2012/4/5 Stefan Sauer <[hidden email]>
On 04/05/2012 06:55 AM, Garth Tissington wrote:
Hello,

I've looked through all the references I can find related to output-selector - including output-selector-tests.c.  I still cannot get it to work.

I'm using this pipline

videotestsrc is-live=true num-buffers=30 !
ffmpegcolorspace !
timeoverlay !
ffmpegcolorspace !
output-selector name=os 
os. ! queue ! ffmpegcolorspace ! autovideosink 
os. ! queue ! ffmpegcolorspace ! autovideosink



after the pipeline is assembled I issue 


g_object_get (G_OBJECT (sel), "active-pad", &srcpad1, NULL);

and

          
gst_element_set_state (pipeline, GST_STATE_PLAYING);

Everything works fine if I take the output selector out.  However, with the output-selector there one videosink is displayed but the video is not updates.  just a static snap shot.  After num-buffers=30 expires the pipeline end. and the application closes normally.  So, the clock appears to be running, one frame got through to the sink but no more.
My gut feeling is that the sinks wait for prereoll buffers, which they should not as you use a livesrc, could you
1.) try that with a v4l2src
2.) try sync=false on the sinks?
This is just to narrow it down. Also run your app with GST_DEBUG="*:2" to check if gstreamer posts some warnings.

Stefan

Interestingly if I change num-buffers to 90 then the program hangs and does not exit after 3 seconds as expected.  Does this mean the queue is full?

Any ideas?

Anyone know a real world example where output-selector is being used. 

Thanks,

Garth Tissington
250 891 4797
---

Given sufficient thrust pigs fly just fine.

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


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




--
----
Héctor Canto


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