buffer v4l2src for 30 seconds

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

buffer v4l2src for 30 seconds

Antoine Martin
Hi,

I want to do something seemingly very simple, but I am unable to find
the correct GStreamer incantation.
All I want is ~30 seconds of delay between the v4l2src capture and the
output (xvimagesink or whatever).

Using the queue element I can buffer up to ~1 seconds:
gst-launch-1.0 -v v4l2src device=/dev/video0 !
video/x-raw,format=YUY2,width=640,height=480,framerate=30/1 ! queue
min-threshold-time=1000000000 max-size-time=10000000000 max-size-bytes=0
max-size-buffers=0 ! xvimagesink

If I reduce the framerate, then I can buffer a little bit more.
But if I increase the min-threshold-time too much, I just get a black
screen. My system has enough memory to buffer minutes of video, so what
is happening here?

I tried using the queue2 element, but this isn't actually buffering
anything at all (what is the equivalent to min-threshold-time here?):
gst-launch-1.0 -v v4l2src device=/dev/video0 !
video/x-raw,format=YUY2,width=640,height=480,framerate=15/1 ! queue2
use-buffering=1 low-watermark=0.5  max-size-time=0 max-size-bytes=0
max-size-buffers=600 ! xvimagesink sync=false

It is such a simple thing to do that I am sure GStreamer can do this,
but how?

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

AW: buffer v4l2src for 30 seconds

Thornton, Keith
Hi,
if you set min-threshold-time to 30000000000 you would buffer 30 seconds of video. As a consequence, no data will reach xvimagesink until you have pushed more than 30 seconds of data into the queue. If this is not what you want then tell us how it should differ from this scenario.

-----Ursprüngliche Nachricht-----
Von: gstreamer-devel [mailto:[hidden email]] Im Auftrag von Antoine Martin
Gesendet: Montag, 5. Dezember 2016 13:44
An: [hidden email]
Betreff: buffer v4l2src for 30 seconds

Hi,

I want to do something seemingly very simple, but I am unable to find the correct GStreamer incantation.
All I want is ~30 seconds of delay between the v4l2src capture and the output (xvimagesink or whatever).

Using the queue element I can buffer up to ~1 seconds:
gst-launch-1.0 -v v4l2src device=/dev/video0 !
video/x-raw,format=YUY2,width=640,height=480,framerate=30/1 ! queue
min-threshold-time=1000000000 max-size-time=10000000000 max-size-bytes=0
max-size-buffers=0 ! xvimagesink

If I reduce the framerate, then I can buffer a little bit more.
But if I increase the min-threshold-time too much, I just get a black screen. My system has enough memory to buffer minutes of video, so what is happening here?

I tried using the queue2 element, but this isn't actually buffering anything at all (what is the equivalent to min-threshold-time here?):
gst-launch-1.0 -v v4l2src device=/dev/video0 !
video/x-raw,format=YUY2,width=640,height=480,framerate=15/1 ! queue2
use-buffering=1 low-watermark=0.5  max-size-time=0 max-size-bytes=0
max-size-buffers=600 ! xvimagesink sync=false

It is such a simple thing to do that I am sure GStreamer can do this, but how?

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

Re: buffer v4l2src for 30 seconds

Vivia Nikolaidou
Hi,

Basically, what Keith just said - make sure you actually wait 30
seconds before you see the image. Also don't forget to make
max-size-time correspondingly bigger.

If it still doesn't work, please send a debug log with GST_DEBUG=\*:6
and GST_DEBUG_NO_COLOR=1 .

Best regards,

Vivia

On 5 December 2016 at 15:40, Thornton, Keith <[hidden email]> wrote:

> Hi,
> if you set min-threshold-time to 30000000000 you would buffer 30 seconds of video. As a consequence, no data will reach xvimagesink until you have pushed more than 30 seconds of data into the queue. If this is not what you want then tell us how it should differ from this scenario.
>
> -----Ursprüngliche Nachricht-----
> Von: gstreamer-devel [mailto:[hidden email]] Im Auftrag von Antoine Martin
> Gesendet: Montag, 5. Dezember 2016 13:44
> An: [hidden email]
> Betreff: buffer v4l2src for 30 seconds
>
> Hi,
>
> I want to do something seemingly very simple, but I am unable to find the correct GStreamer incantation.
> All I want is ~30 seconds of delay between the v4l2src capture and the output (xvimagesink or whatever).
>
> Using the queue element I can buffer up to ~1 seconds:
> gst-launch-1.0 -v v4l2src device=/dev/video0 !
> video/x-raw,format=YUY2,width=640,height=480,framerate=30/1 ! queue
> min-threshold-time=1000000000 max-size-time=10000000000 max-size-bytes=0
> max-size-buffers=0 ! xvimagesink
>
> If I reduce the framerate, then I can buffer a little bit more.
> But if I increase the min-threshold-time too much, I just get a black screen. My system has enough memory to buffer minutes of video, so what is happening here?
>
> I tried using the queue2 element, but this isn't actually buffering anything at all (what is the equivalent to min-threshold-time here?):
> gst-launch-1.0 -v v4l2src device=/dev/video0 !
> video/x-raw,format=YUY2,width=640,height=480,framerate=15/1 ! queue2
> use-buffering=1 low-watermark=0.5  max-size-time=0 max-size-bytes=0
> max-size-buffers=600 ! xvimagesink sync=false
>
> It is such a simple thing to do that I am sure GStreamer can do this, but how?
>
> Thanks
> Antoine
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: buffer v4l2src for 30 seconds

Antoine Martin
Hi,

On 05/12/16 21:09, Vivia Nikolaidou wrote:
> Hi,
>
> Basically, what Keith just said - make sure you actually wait 30
> seconds before you see the image.
It is failing even with ~2 seconds.. so yes, I am waiting at least that
long.

> Also don't forget to make
> max-size-time correspondingly bigger.
Sorry, I should have been clearer: it only works for delays lower than 1
second (or ~2 seconds with a lower framerate).
If I make the min-threshold-time longer, I get the "black output"
problem I am trying to solve. (or sometimes, just one frozen frame)

> If it still doesn't work, please send a debug log with GST_DEBUG=\*:6
> and GST_DEBUG_NO_COLOR=1 .
Here's an example of it getting stuck with just 2 seconds of delay
(max-size-time is high enough for that already):


GST_DEBUG=4 GST_DEBUG_NO_COLOR=1 gst-launch-1.0 -v v4l2src
device=/dev/video0 !
video/x-raw,format=YUY2,width=640,height=480,framerate=30/1 ! queue
min-threshold-time=2000000000 max-size-time=20000000000 max-size-bytes=0
max-size-buffers=0 ! xvimagesink
0:00:00.000037599 27400 0x564899256c00 INFO                GST_INIT
gst.c:510:init_pre: Initializing GStreamer Core Library version 1.10.0
0:00:00.000066126 27400 0x564899256c00 INFO                GST_INIT
gst.c:511:init_pre: Using library installed in /usr/lib64
0:00:00.000072324 27400 0x564899256c00 INFO                GST_INIT
gst.c:522:init_pre: Linux desktop 4.8.10-300.fc25.x86_64 #1 SMP Mon Nov
21 18:59:16 UTC 2016 x86_64
0:00:00.000252264 27400 0x564899256c00 INFO                GST_INIT
gstmessage.c:126:_priv_gst_message_initialize: init messages
0:00:00.000632823 27400 0x564899256c00 INFO                GST_INIT
gstcontext.c:83:_priv_gst_context_initialize: init contexts
0:00:00.000991487 27400 0x564899256c00 INFO      GST_PLUGIN_LOADING
gstplugin.c:316:_priv_gst_plugin_initialize: registering 0 static plugins
0:00:00.001070486 27400 0x564899256c00 INFO      GST_PLUGIN_LOADING
gstplugin.c:224:gst_plugin_register_static: registered static plugin
"staticelements"
0:00:00.001078927 27400 0x564899256c00 INFO      GST_PLUGIN_LOADING
gstplugin.c:226:gst_plugin_register_static: added static plugin
"staticelements", result: 1
0:00:00.001094477 27400 0x564899256c00 INFO            GST_REGISTRY
gstregistry.c:1738:ensure_current_registry: reading registry cache:
/home/antoine/.cache/gstreamer-1.0/registry.x86_64.bin
0:00:00.009389863 27400 0x564899256c00 INFO            GST_REGISTRY
gstregistrybinary.c:619:priv_gst_registry_binary_read_cache: loaded
/home/antoine/.cache/gstreamer-1.0/registry.x86_64.bin in 0.008285 seconds
0:00:00.009416470 27400 0x564899256c00 INFO            GST_REGISTRY
gstregistry.c:1594:scan_and_update_registry: Validating plugins from
registry cache: /home/antoine/.cache/gstreamer-1.0/registry.x86_64.bin
0:00:00.009990096 27400 0x564899256c00 INFO            GST_REGISTRY
gstregistry.c:1696:scan_and_update_registry: Registry cache has not changed
0:00:00.009995248 27400 0x564899256c00 INFO            GST_REGISTRY
gstregistry.c:1773:ensure_current_registry: registry reading and
updating done, result = 1
0:00:00.009999061 27400 0x564899256c00 INFO                GST_INIT
gst.c:720:init_post: GLib runtime version: 2.50.2
0:00:00.010006551 27400 0x564899256c00 INFO                GST_INIT
gst.c:722:init_post: GLib headers version: 2.50.1
0:00:00.010009037 27400 0x564899256c00 INFO                GST_INIT
gst.c:723:init_post: initialized GStreamer successfully
0:00:00.010020022 27400 0x564899256c00 INFO            GST_PIPELINE
gstparse.c:325:gst_parse_launch_full: parsing pipeline description
'v4l2src device=/dev/video0 !
video/x-raw,format=YUY2,width=640,height=480,framerate=30/1 ! queue
min-threshold-time=2000000000 max-size-time=20000000000 max-size-bytes=0
max-size-buffers=0 ! xvimagesink '
0:00:00.010579872 27400 0x564899256c00 INFO      GST_PLUGIN_LOADING
gstplugin.c:842:_priv_gst_plugin_load_file_for_registry: plugin
"/usr/lib64/gstreamer-1.0/libgstvideo4linux2.so" loaded
0:00:00.010587244 27400 0x564899256c00 INFO     GST_ELEMENT_FACTORY
gstelementfactory.c:364:gst_element_factory_create: creating element
"v4l2src"
0:00:00.010909751 27400 0x564899256c00 INFO        GST_ELEMENT_PADS
gstelement.c:668:gst_element_add_pad:<GstBaseSrc@0x5648994480f0> adding
pad 'src'
0:00:00.011110931 27400 0x564899256c00 INFO      GST_PLUGIN_LOADING
gstplugin.c:842:_priv_gst_plugin_load_file_for_registry: plugin
"/usr/lib64/gstreamer-1.0/libgstcoreelements.so" loaded
0:00:00.011116130 27400 0x564899256c00 INFO     GST_ELEMENT_FACTORY
gstelementfactory.c:364:gst_element_factory_create: creating element "queue"
0:00:00.011154999 27400 0x564899256c00 INFO        GST_ELEMENT_PADS
gstelement.c:668:gst_element_add_pad:<GstQueue@0x564899450210> adding
pad 'sink'
0:00:00.011162626 27400 0x564899256c00 INFO        GST_ELEMENT_PADS
gstelement.c:668:gst_element_add_pad:<GstQueue@0x564899450210> adding
pad 'src'
0:00:00.011664133 27400 0x564899256c00 INFO      GST_PLUGIN_LOADING
gstplugin.c:842:_priv_gst_plugin_load_file_for_registry: plugin
"/usr/lib64/gstreamer-1.0/libgstxvimagesink.so" loaded
0:00:00.011669639 27400 0x564899256c00 INFO     GST_ELEMENT_FACTORY
gstelementfactory.c:364:gst_element_factory_create: creating element
"xvimagesink"
0:00:00.011721796 27400 0x564899256c00 INFO        GST_ELEMENT_PADS
gstelement.c:668:gst_element_add_pad:<GstBaseSink@0x564899457bc0> adding
pad 'sink'
0:00:00.011730840 27400 0x564899256c00 INFO     GST_ELEMENT_FACTORY
gstelementfactory.c:364:gst_element_factory_create: creating element
"pipeline"
0:00:00.011786799 27400 0x564899256c00 INFO            GST_PIPELINE
grammar.y:596:gst_parse_perform_link: linking some pad of GstV4l2Src
named v4l2src0 to some pad of GstQueue named queue0 (0/0) with caps
"video/x-raw, format=(string)YUY2, width=(int)640, height=(int)480,
framerate=(fraction)30/1"
0:00:00.011797990 27400 0x564899256c00 INFO     GST_ELEMENT_FACTORY
gstelementfactory.c:364:gst_element_factory_create: creating element
"capsfilter"
0:00:00.011834045 27400 0x564899256c00 INFO        GST_ELEMENT_PADS
gstelement.c:668:gst_element_add_pad:<GstBaseTransform@0x56489945e320>
adding pad 'sink'
0:00:00.011840239 27400 0x564899256c00 INFO        GST_ELEMENT_PADS
gstelement.c:668:gst_element_add_pad:<GstBaseTransform@0x56489945e320>
adding pad 'src'
0:00:00.011844676 27400 0x564899256c00 INFO              GST_STATES
gstbin.c:2104:gst_bin_get_state_func:<pipeline0> getting state
0:00:00.011850851 27400 0x564899256c00 INFO              GST_STATES
gstelement.c:2419:gst_element_continue_state:<capsfilter0> completed
state change to NULL
0:00:00.011854766 27400 0x564899256c00 INFO               GST_EVENT
gstevent.c:1511:gst_event_new_reconfigure: creating reconfigure event
0:00:00.011858264 27400 0x564899256c00 INFO        GST_ELEMENT_PADS
gstutils.c:1632:gst_element_link_pads_full: trying to link element
v4l2src0:(any) to element capsfilter0:sink
0:00:00.011861372 27400 0x564899256c00 INFO        GST_ELEMENT_PADS
gstelement.c:916:gst_element_get_static_pad: found pad capsfilter0:sink
0:00:00.011863601 27400 0x564899256c00 INFO                GST_PADS
gstutils.c:1446:prepare_link_maybe_ghosting: v4l2src0 and capsfilter0 in
same bin, no need for ghost pads
0:00:00.011868802 27400 0x564899256c00 INFO                GST_PADS
gstpad.c:2315:gst_pad_link_prepare: trying to link v4l2src0:src and
capsfilter0:sink
0:00:00.011875093 27400 0x564899256c00 INFO                GST_PADS
gstpad.c:4115:gst_pad_peer_query:<capsfilter0:src> pad has no peer
0:00:00.011880786 27400 0x564899256c00 INFO                GST_PADS
gstpad.c:2521:gst_pad_link_full: linked v4l2src0:src and
capsfilter0:sink, successful
0:00:00.011883208 27400 0x564899256c00 INFO               GST_EVENT
gstevent.c:1511:gst_event_new_reconfigure: creating reconfigure event
0:00:00.011886401 27400 0x564899256c00 INFO               GST_EVENT
gstpad.c:5655:gst_pad_send_event_unchecked:<v4l2src0:src> Received event
on flushing pad. Discarding
0:00:00.011890641 27400 0x564899256c00 INFO        GST_ELEMENT_PADS
gstutils.c:1632:gst_element_link_pads_full: trying to link element
capsfilter0:src to element queue0:(any)
0:00:00.011893713 27400 0x564899256c00 INFO        GST_ELEMENT_PADS
gstelement.c:916:gst_element_get_static_pad: found pad capsfilter0:src
0:00:00.011896883 27400 0x564899256c00 INFO                GST_PADS
gstutils.c:932:gst_pad_check_link: trying to link capsfilter0:src and
queue0:sink
0:00:00.011905551 27400 0x564899256c00 INFO                GST_PADS
gstpad.c:4115:gst_pad_peer_query:<queue0:src> pad has no peer
0:00:00.011908829 27400 0x564899256c00 INFO                GST_PADS
gstutils.c:1446:prepare_link_maybe_ghosting: capsfilter0 and queue0 in
same bin, no need for ghost pads
0:00:00.011912385 27400 0x564899256c00 INFO                GST_PADS
gstpad.c:2315:gst_pad_link_prepare: trying to link capsfilter0:src and
queue0:sink
0:00:00.011918928 27400 0x564899256c00 INFO                GST_PADS
gstpad.c:4115:gst_pad_peer_query:<queue0:src> pad has no peer
0:00:00.011921830 27400 0x564899256c00 INFO                GST_PADS
gstpad.c:2521:gst_pad_link_full: linked capsfilter0:src and queue0:sink,
successful
0:00:00.011924548 27400 0x564899256c00 INFO               GST_EVENT
gstevent.c:1511:gst_event_new_reconfigure: creating reconfigure event
0:00:00.011926588 27400 0x564899256c00 INFO               GST_EVENT
gstpad.c:5655:gst_pad_send_event_unchecked:<capsfilter0:src> Received
event on flushing pad. Discarding
0:00:00.011930139 27400 0x564899256c00 INFO            GST_PIPELINE
grammar.y:596:gst_parse_perform_link: linking some pad of GstQueue named
queue0 to some pad of GstXvImageSink named xvimagesink0 (0/0) with caps
"(NULL)"
0:00:00.011935471 27400 0x564899256c00 INFO        GST_ELEMENT_PADS
gstutils.c:1632:gst_element_link_pads_full: trying to link element
queue0:(any) to element xvimagesink0:(any)
0:00:00.011938544 27400 0x564899256c00 INFO                GST_PADS
gstutils.c:932:gst_pad_check_link: trying to link queue0:src and
xvimagesink0:sink
0:00:00.011949453 27400 0x564899256c00 INFO                GST_PADS
gstutils.c:1446:prepare_link_maybe_ghosting: queue0 and xvimagesink0 in
same bin, no need for ghost pads
0:00:00.011952609 27400 0x564899256c00 INFO                GST_PADS
gstpad.c:2315:gst_pad_link_prepare: trying to link queue0:src and
xvimagesink0:sink
0:00:00.011959275 27400 0x564899256c00 INFO                GST_PADS
gstpad.c:2521:gst_pad_link_full: linked queue0:src and
xvimagesink0:sink, successful
0:00:00.011961582 27400 0x564899256c00 INFO               GST_EVENT
gstevent.c:1511:gst_event_new_reconfigure: creating reconfigure event
0:00:00.011963109 27400 0x564899256c00 INFO               GST_EVENT
gstpad.c:5655:gst_pad_send_event_unchecked:<queue0:src> Received event
on flushing pad. Discarding
Setting pipeline to PAUSED ...
0:00:00.011978324 27400 0x564899256c00 INFO              GST_STATES
gstbin.c:2515:gst_bin_element_set_state:<xvimagesink0> current NULL
pending VOID_PENDING, desired next READY
0:00:00.012569531 27400 0x564899256c00 INFO              GST_STATES
gstelement.c:2419:gst_element_continue_state:<xvimagesink0> completed
state change to READY
0:00:00.012574946 27400 0x564899256c00 INFO              GST_STATES
gstelement.c:2324:_priv_gst_element_state_changed:<xvimagesink0>
notifying about state-changed NULL to READY (VOID_PENDING pending)
0:00:00.012581482 27400 0x564899256c00 INFO              GST_STATES
gstbin.c:2963:gst_bin_change_state_func:<pipeline0> child 'xvimagesink0'
changed state to 2(READY) successfully
0:00:00.012586047 27400 0x564899256c00 INFO              GST_STATES
gstbin.c:2515:gst_bin_element_set_state:<queue0> current NULL pending
VOID_PENDING, desired next READY
0:00:00.012588917 27400 0x564899256c00 INFO              GST_STATES
gstelement.c:2419:gst_element_continue_state:<queue0> completed state
change to READY
0:00:00.012590598 27400 0x564899256c00 INFO              GST_STATES
gstelement.c:2324:_priv_gst_element_state_changed:<queue0> notifying
about state-changed NULL to READY (VOID_PENDING pending)
0:00:00.012593492 27400 0x564899256c00 INFO              GST_STATES
gstbin.c:2963:gst_bin_change_state_func:<pipeline0> child 'queue0'
changed state to 2(READY) successfully
0:00:00.012596314 27400 0x564899256c00 INFO              GST_STATES
gstbin.c:2515:gst_bin_element_set_state:<capsfilter0> current NULL
pending VOID_PENDING, desired next READY
0:00:00.012598677 27400 0x564899256c00 INFO              GST_STATES
gstelement.c:2419:gst_element_continue_state:<capsfilter0> completed
state change to READY
0:00:00.012600916 27400 0x564899256c00 INFO              GST_STATES
gstelement.c:2324:_priv_gst_element_state_changed:<capsfilter0>
notifying about state-changed NULL to READY (VOID_PENDING pending)
0:00:00.012604306 27400 0x564899256c00 INFO              GST_STATES
gstbin.c:2963:gst_bin_change_state_func:<pipeline0> child 'capsfilter0'
changed state to 2(READY) successfully
0:00:00.012607476 27400 0x564899256c00 INFO              GST_STATES
gstbin.c:2515:gst_bin_element_set_state:<v4l2src0> current NULL pending
VOID_PENDING, desired next READY
0:00:00.184160042 27400 0x564899256c00 INFO                    v4l2
v4l2_calls.c:592:gst_v4l2_open:<v4l2src0> Opened device 'HD Pro Webcam
C920' (/dev/video0) successfully
0:00:00.184223467 27400 0x564899256c00 INFO              GST_STATES
gstelement.c:2419:gst_element_continue_state:<v4l2src0> completed state
change to READY
0:00:00.184245914 27400 0x564899256c00 INFO              GST_STATES
gstelement.c:2324:_priv_gst_element_state_changed:<v4l2src0> notifying
about state-changed NULL to READY (VOID_PENDING pending)
0:00:00.184288764 27400 0x564899256c00 INFO              GST_STATES
gstbin.c:2963:gst_bin_change_state_func:<pipeline0> child 'v4l2src0'
changed state to 2(READY) successfully
0:00:00.184317170 27400 0x564899256c00 INFO              GST_STATES
gstelement.c:2394:gst_element_continue_state:<pipeline0> committing
state from NULL to READY, pending PAUSED, next PAUSED
0:00:00.184335945 27400 0x564899256c00 INFO              GST_STATES
gstelement.c:2324:_priv_gst_element_state_changed:<pipeline0> notifying
about state-changed NULL to READY (PAUSED pending)
0:00:00.184393295 27400 0x564899256c00 INFO              GST_STATES
gstelement.c:2401:gst_element_continue_state:<pipeline0> continue state
change READY to PAUSED, final PAUSED
0:00:00.184438204 27400 0x564899256c00 INFO              GST_STATES
gstbin.c:2515:gst_bin_element_set_state:<xvimagesink0> current READY
pending VOID_PENDING, desired next PAUSED
0:00:00.184475040 27400 0x564899256c00 INFO              GST_STATES
gstbin.c:2969:gst_bin_change_state_func:<pipeline0> child 'xvimagesink0'
is changing state asynchronously to PAUSED
0:00:00.184498013 27400 0x564899256c00 INFO              GST_STATES
gstbin.c:2515:gst_bin_element_set_state:<queue0> current READY pending
VOID_PENDING, desired next PAUSED
0:00:00.184560512 27400 0x564899256c00 INFO                    task
gsttask.c:456:gst_task_set_lock: setting stream lock 0x56489944a520 on
task 0x564899475050
0:00:00.184580652 27400 0x564899256c00 INFO                GST_PADS
gstpad.c:6001:gst_pad_start_task:<queue0:src> created task 0x564899475050
0:00:00.184671197 27400 0x564899256c00 INFO              GST_STATES
gstelement.c:2419:gst_element_continue_state:<queue0> completed state
change to PAUSED
0:00:00.184688259 27400 0x564899256c00 INFO              GST_STATES
gstelement.c:2324:_priv_gst_element_state_changed:<queue0> notifying
about state-changed READY to PAUSED (VOID_PENDING pending)
0:00:00.184707588 27400 0x564899256c00 INFO              GST_STATES
gstbin.c:2963:gst_bin_change_state_func:<pipeline0> child 'queue0'
changed state to 3(PAUSED) successfully
0:00:00.184725386 27400 0x564899256c00 INFO              GST_STATES
gstbin.c:2515:gst_bin_element_set_state:<capsfilter0> current READY
pending VOID_PENDING, desired next PAUSED
0:00:00.184751822 27400 0x564899256c00 INFO              GST_STATES
gstelement.c:2419:gst_element_continue_state:<capsfilter0> completed
state change to PAUSED
0:00:00.184766750 27400 0x564899256c00 INFO              GST_STATES
gstelement.c:2324:_priv_gst_element_state_changed:<capsfilter0>
notifying about state-changed READY to PAUSED (VOID_PENDING pending)
0:00:00.184792399 27400 0x564899256c00 INFO              GST_STATES
gstbin.c:2963:gst_bin_change_state_func:<pipeline0> child 'capsfilter0'
changed state to 3(PAUSED) successfully
0:00:00.184827829 27400 0x564899256c00 INFO              GST_STATES
gstbin.c:2515:gst_bin_element_set_state:<v4l2src0> current READY pending
VOID_PENDING, desired next PAUSED
0:00:00.184858155 27400 0x564899256c00 INFO                 basesrc
gstbasesrc.c:1343:gst_base_src_do_seek:<v4l2src0> seeking: time segment
start=0:00:00.000000000, offset=0:00:00.000000000,
stop=99:99:99.999999999, rate=1.000000, applied_rate=1.000000,
flags=0x00, time=0:00:00.000000000, base=0:00:00.000000000, position
0:00:00.000000000, duration 99:99:99.999999999
0:00:00.184910233 27400 0x564899256c00 INFO                    task
gsttask.c:456:gst_task_set_lock: setting stream lock 0x56489944a0a0 on
task 0x564899475170
0:00:00.184928124 27400 0x564899256c00 INFO                GST_PADS
gstpad.c:6001:gst_pad_start_task:<v4l2src0:src> created task 0x564899475170
0:00:00.185011744 27400 0x564899256c00 INFO              GST_STATES
gstelement.c:2419:gst_element_continue_state:<v4l2src0> completed state
change to PAUSED
0:00:00.185029999 27400 0x564899256c00 INFO              GST_STATES
gstelement.c:2324:_priv_gst_element_state_changed:<v4l2src0> notifying
about state-changed READY to PAUSED (VOID_PENDING pending)
0:00:00.185058282 27400 0x564899256c00 INFO              GST_STATES
gstbin.c:3006:gst_bin_change_state_func:<pipeline0> child 'v4l2src0'
changed state to 3(PAUSED) successfully without preroll
0:00:00.185086420 27400 0x564899256c00 INFO              GST_STATES
gstelement.c:2419:gst_element_continue_state:<pipeline0> completed state
change to PAUSED
0:00:00.185099632 27400 0x564899256c00 INFO              GST_STATES
gstelement.c:2324:_priv_gst_element_state_changed:<pipeline0> notifying
about state-changed READY to PAUSED (VOID_PENDING pending)
0:00:00.185088935 27400 0x56489945d0a0 INFO        GST_ELEMENT_PADS
gstelement.c:913:gst_element_get_static_pad: no such pad 'sink' in
element "v4l2src0"
Pipeline is live and does not need PREROLL ...
0:00:00.185331830 27400 0x56489945d0a0 INFO                    v4l2
gstv4l2object.c:1150:gst_v4l2_object_fill_format_list:<v4l2src0> got 7
format(s):
0:00:00.185356783 27400 0x56489945d0a0 INFO                    v4l2
gstv4l2object.c:1156:gst_v4l2_object_fill_format_list:<v4l2src0>   YUYV
0:00:00.185372121 27400 0x56489945d0a0 INFO                    v4l2
gstv4l2object.c:1156:gst_v4l2_object_fill_format_list:<v4l2src0>   MJPG
0:00:00.185383658 27400 0x56489945d0a0 INFO                    v4l2
gstv4l2object.c:1156:gst_v4l2_object_fill_format_list:<v4l2src0>   YU12
(emulated)
0:00:00.185395408 27400 0x56489945d0a0 INFO                    v4l2
gstv4l2object.c:1156:gst_v4l2_object_fill_format_list:<v4l2src0>   YV12
(emulated)
0:00:00.185415525 27400 0x56489945d0a0 INFO                    v4l2
gstv4l2object.c:1156:gst_v4l2_object_fill_format_list:<v4l2src0>   BGR3
(emulated)
0:00:00.185444546 27400 0x56489945d0a0 INFO                    v4l2
gstv4l2object.c:1156:gst_v4l2_object_fill_format_list:<v4l2src0>   RGB3
(emulated)
0:00:00.185465995 27400 0x56489945d0a0 INFO                    v4l2
gstv4l2object.c:1156:gst_v4l2_object_fill_format_list:<v4l2src0>   H264
Setting pipeline to PLAYING ...
0:00:00.186002357 27400 0x564899256c00 INFO               GST_EVENT
gstevent.c:1382:gst_event_new_latency: creating latency event
0:00:00.000000000
0:00:00.186060829 27400 0x564899256c00 INFO                     bin
gstbin.c:2792:gst_bin_do_latency_func:<pipeline0> configured latency of
0:00:00.000000000
0:00:00.186098584 27400 0x564899256c00 INFO              GST_STATES
gstbin.c:2515:gst_bin_element_set_state:<xvimagesink0> current READY
pending PAUSED, desired next PLAYING
0:00:00.186127078 27400 0x564899256c00 INFO              GST_STATES
gstbin.c:2969:gst_bin_change_state_func:<pipeline0> child 'xvimagesink0'
is changing state asynchronously to PLAYING
0:00:00.186156627 27400 0x564899256c00 INFO              GST_STATES
gstbin.c:2515:gst_bin_element_set_state:<queue0> current PAUSED pending
VOID_PENDING, desired next PLAYING
0:00:00.186174601 27400 0x564899256c00 INFO              GST_STATES
gstelement.c:2419:gst_element_continue_state:<queue0> completed state
change to PLAYING
0:00:00.186184065 27400 0x564899256c00 INFO              GST_STATES
gstelement.c:2324:_priv_gst_element_state_changed:<queue0> notifying
about state-changed PAUSED to PLAYING (VOID_PENDING pending)
0:00:00.186201901 27400 0x564899256c00 INFO              GST_STATES
gstbin.c:2963:gst_bin_change_state_func:<pipeline0> child 'queue0'
changed state to 4(PLAYING) successfully
0:00:00.186220801 27400 0x564899256c00 INFO              GST_STATES
gstbin.c:2515:gst_bin_element_set_state:<capsfilter0> current PAUSED
pending VOID_PENDING, desired next PLAYING
0:00:00.186246911 27400 0x564899256c00 INFO              GST_STATES
gstelement.c:2419:gst_element_continue_state:<capsfilter0> completed
state change to PLAYING
0:00:00.186258119 27400 0x564899256c00 INFO              GST_STATES
gstelement.c:2324:_priv_gst_element_state_changed:<capsfilter0>
notifying about state-changed PAUSED to PLAYING (VOID_PENDING pending)
0:00:00.186273601 27400 0x564899256c00 INFO              GST_STATES
gstbin.c:2963:gst_bin_change_state_func:<pipeline0> child 'capsfilter0'
changed state to 4(PLAYING) successfully
0:00:00.186304967 27400 0x564899256c00 INFO              GST_STATES
gstelement.c:2419:gst_element_continue_state:<v4l2src0> completed state
change to PLAYING
0:00:00.186318883 27400 0x564899256c00 INFO              GST_STATES
gstelement.c:2324:_priv_gst_element_state_changed:<v4l2src0> notifying
about state-changed PAUSED to PLAYING (VOID_PENDING pending)
0:00:00.186358777 27400 0x564899256c00 INFO              GST_STATES
gstbin.c:2963:gst_bin_change_state_func:<pipeline0> child 'v4l2src0'
changed state to 4(PLAYING) successfully
New clock: GstSystemClock
0:00:00.356780147 27400 0x56489945d0a0 INFO                    v4l2
gstv4l2object.c:3907:gst_v4l2_object_get_caps:<v4l2src0> probed caps:
video/x-raw, format=(string)YUY2, width=(int)2304, height=(int)1536,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
colorimetry=(string){ 2:4:7:1 }, framerate=(fraction)2/1; video/x-raw,
format=(string)YUY2, width=(int)2304, height=(int)1296,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
colorimetry=(string){ 2:4:7:1 }, framerate=(fraction)2/1; video/x-raw,
format=(string)YUY2, width=(int)1920, height=(int)1080,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
colorimetry=(string){ 2:4:7:1 }, framerate=(fraction)5/1; video/x-raw,
format=(string)YUY2, width=(int)1600, height=(int)896,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 15/2, 5/1 };
video/x-raw, format=(string)YUY2, width=(int)1280, height=(int)720,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 10/1, 15/2, 5/1
}; video/x-raw, format=(string)YUY2, width=(int)960, height=(int)720,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 15/1, 10/1, 15/2,
5/1 }; video/x-raw, format=(string)YUY2, width=(int)1024,
height=(int)576, pixel-aspect-ratio=(fraction)1/1,
interlace-mode=(string)progressive, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 15/1, 10/1, 15/2, 5/1 }; video/x-raw,
format=(string)YUY2, width=(int)800, height=(int)600,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 24/1, 20/1, 15/1,
10/1, 15/2, 5/1 }; video/x-raw, format=(string)YUY2, width=(int)864,
height=(int)480, pixel-aspect-ratio=(fraction)1/1,
interlace-mode=(string)progressive, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 }; video/x-raw,
format=(string)YUY2, width=(int)800, height=(int)448,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1,
15/1, 10/1, 15/2, 5/1 }; video/x-raw, format=(string)YUY2,
width=(int)640, height=(int)480, pixel-aspect-ratio=(fraction)1/1,
interlace-mode=(string)progressive, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)YUY2, width=(int)640, height=(int)360,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1,
15/1, 10/1, 15/2, 5/1 }; video/x-raw, format=(string)YUY2,
width=(int)432, height=(int)240, pixel-aspect-ratio=(fraction)1/1,
interlace-mode=(string)progressive, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)YUY2, width=(int)352, height=(int)288,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1,
15/1, 10/1, 15/2, 5/1 }; video/x-raw, format=(string)YUY2,
width=(int)320, height=(int)240, pixel-aspect-ratio=(fraction)1/1,
interlace-mode=(string)progressive, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)YUY2, width=(int)320, height=(int)180,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1,
15/1, 10/1, 15/2, 5/1 }; video/x-raw, format=(string)YUY2,
width=(int)176, height=(int)144, pixel-aspect-ratio=(fraction)1/1,
interlace-mode=(string)progressive, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)YUY2, width=(int)160, height=(int)120,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1,
15/1, 10/1, 15/2, 5/1 }; video/x-raw, format=(string)YUY2,
width=(int)160, height=(int)90, pixel-aspect-ratio=(fraction)1/1,
interlace-mode=(string)progressive, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
image/jpeg, width=(int)1920, height=(int)1080,
pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
image/jpeg, width=(int)1600, height=(int)896,
pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
image/jpeg, width=(int)1280, height=(int)720,
pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
image/jpeg, width=(int)960, height=(int)720,
pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
image/jpeg, width=(int)1024, height=(int)576,
pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
image/jpeg, width=(int)800, height=(int)600,
pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
image/jpeg, width=(int)864, height=(int)480,
pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
image/jpeg, width=(int)800, height=(int)448,
pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
image/jpeg, width=(int)640, height=(int)480,
pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
image/jpeg, width=(int)640, height=(int)360,
pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
image/jpeg, width=(int)432, height=(int)240,
pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
image/jpeg, width=(int)352, height=(int)288,
pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
image/jpeg, width=(int)320, height=(int)240,
pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
image/jpeg, width=(int)320, height=(int)180,
pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
image/jpeg, width=(int)176, height=(int)144,
pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
image/jpeg, width=(int)160, height=(int)120,
pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
image/jpeg, width=(int)160, height=(int)90,
pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)I420, width=(int)2304, height=(int)1536,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction)2/1; video/x-raw, format=(string)I420,
width=(int)2304, height=(int)1296, pixel-aspect-ratio=(fraction)1/1,
interlace-mode=(string)progressive, framerate=(fraction)2/1;
video/x-raw, format=(string)I420, width=(int)1920, height=(int)1080,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)I420, width=(int)1600, height=(int)896,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)I420, width=(int)1280, height=(int)720,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)I420, width=(int)960, height=(int)720,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)I420, width=(int)1024, height=(int)576,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)I420, width=(int)800, height=(int)600,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)I420, width=(int)864, height=(int)480,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)I420, width=(int)800, height=(int)448,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)I420, width=(int)640, height=(int)480,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)I420, width=(int)640, height=(int)360,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)I420, width=(int)432, height=(int)240,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)I420, width=(int)352, height=(int)288,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)I420, width=(int)320, height=(int)240,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)I420, width=(int)320, height=(int)180,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)I420, width=(int)176, height=(int)144,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)I420, width=(int)160, height=(int)120,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)I420, width=(int)160, height=(int)90,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)YV12, width=(int)2304, height=(int)1536,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction)2/1; video/x-raw, format=(string)YV12,
width=(int)2304, height=(int)1296, pixel-aspect-ratio=(fraction)1/1,
interlace-mode=(string)progressive, framerate=(fraction)2/1;
video/x-raw, format=(string)YV12, width=(int)1920, height=(int)1080,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)YV12, width=(int)1600, height=(int)896,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)YV12, width=(int)1280, height=(int)720,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)YV12, width=(int)960, height=(int)720,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)YV12, width=(int)1024, height=(int)576,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)YV12, width=(int)800, height=(int)600,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)YV12, width=(int)864, height=(int)480,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)YV12, width=(int)800, height=(int)448,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)YV12, width=(int)640, height=(int)480,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)YV12, width=(int)640, height=(int)360,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)YV12, width=(int)432, height=(int)240,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)YV12, width=(int)352, height=(int)288,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)YV12, width=(int)320, height=(int)240,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)YV12, width=(int)320, height=(int)180,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)YV12, width=(int)176, height=(int)144,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)YV12, width=(int)160, height=(int)120,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)YV12, width=(int)160, height=(int)90,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)BGR, width=(int)2304, height=(int)1536,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction)2/1; video/x-raw, format=(string)BGR,
width=(int)2304, height=(int)1296, pixel-aspect-ratio=(fraction)1/1,
interlace-mode=(string)progressive, framerate=(fraction)2/1;
video/x-raw, format=(string)BGR, width=(int)1920, height=(int)1080,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)BGR, width=(int)1600, height=(int)896,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)BGR, width=(int)1280, height=(int)720,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)BGR, width=(int)960, height=(int)720,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)BGR, width=(int)1024, height=(int)576,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)BGR, width=(int)800, height=(int)600,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)BGR, width=(int)864, height=(int)480,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)BGR, width=(int)800, height=(int)448,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)BGR, width=(int)640, height=(int)480,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)BGR, width=(int)640, height=(int)360,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)BGR, width=(int)432, height=(int)240,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)BGR, width=(int)352, height=(int)288,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)BGR, width=(int)320, height=(int)240,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)BGR, width=(int)320, height=(int)180,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)BGR, width=(int)176, height=(int)144,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)BGR, width=(int)160, height=(int)120,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)BGR, width=(int)160, height=(int)90,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)RGB, width=(int)2304, height=(int)1536,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction)2/1; video/x-raw, format=(string)RGB,
width=(int)2304, height=(int)1296, pixel-aspect-ratio=(fraction)1/1,
interlace-mode=(string)progressive, framerate=(fraction)2/1;
video/x-raw, format=(string)RGB, width=(int)1920, height=(int)1080,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)RGB, width=(int)1600, height=(int)896,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)RGB, width=(int)1280, height=(int)720,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)RGB, width=(int)960, height=(int)720,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)RGB, width=(int)1024, height=(int)576,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)RGB, width=(int)800, height=(int)600,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)RGB, width=(int)864, height=(int)480,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)RGB, width=(int)800, height=(int)448,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)RGB, width=(int)640, height=(int)480,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)RGB, width=(int)640, height=(int)360,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)RGB, width=(int)432, height=(int)240,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)RGB, width=(int)352, height=(int)288,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)RGB, width=(int)320, height=(int)240,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)RGB, width=(int)320, height=(int)180,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)RGB, width=(int)176, height=(int)144,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)RGB, width=(int)160, height=(int)120,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)RGB, width=(int)160, height=(int)90,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-h264, stream-format=(string)byte-stream, alignment=(string)au,
width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1,
colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1,
15/1, 10/1, 15/2, 5/1 }; video/x-h264,
stream-format=(string)byte-stream, alignment=(string)au,
width=(int)1600, height=(int)896, pixel-aspect-ratio=(fraction)1/1,
colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1,
15/1, 10/1, 15/2, 5/1 }; video/x-h264,
stream-format=(string)byte-stream, alignment=(string)au,
width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1,
colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1,
15/1, 10/1, 15/2, 5/1 }; video/x-h264,
stream-format=(string)byte-stream, alignment=(string)au, width=(int)960,
height=(int)720, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){
2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1
}; video/x-h264, stream-format=(string)byte-stream,
alignment=(string)au, width=(int)1024, height=(int)576,
pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-h264, stream-format=(string)byte-stream, alignment=(string)au,
width=(int)800, height=(int)600, pixel-aspect-ratio=(fraction)1/1,
colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1,
15/1, 10/1, 15/2, 5/1 }; video/x-h264,
stream-format=(string)byte-stream, alignment=(string)au, width=(int)864,
height=(int)480, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){
2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1
}; video/x-h264, stream-format=(string)byte-stream,
alignment=(string)au, width=(int)800, height=(int)448,
pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-h264, stream-format=(string)byte-stream, alignment=(string)au,
width=(int)640, height=(int)480, pixel-aspect-ratio=(fraction)1/1,
colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1,
15/1, 10/1, 15/2, 5/1 }; video/x-h264,
stream-format=(string)byte-stream, alignment=(string)au, width=(int)640,
height=(int)360, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){
2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1
}; video/x-h264, stream-format=(string)byte-stream,
alignment=(string)au, width=(int)432, height=(int)240,
pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-h264, stream-format=(string)byte-stream, alignment=(string)au,
width=(int)352, height=(int)288, pixel-aspect-ratio=(fraction)1/1,
colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1,
15/1, 10/1, 15/2, 5/1 }; video/x-h264,
stream-format=(string)byte-stream, alignment=(string)au, width=(int)320,
height=(int)240, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){
2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1
}; video/x-h264, stream-format=(string)byte-stream,
alignment=(string)au, width=(int)320, height=(int)180,
pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-h264, stream-format=(string)byte-stream, alignment=(string)au,
width=(int)176, height=(int)144, pixel-aspect-ratio=(fraction)1/1,
colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1,
15/1, 10/1, 15/2, 5/1 }; video/x-h264,
stream-format=(string)byte-stream, alignment=(string)au, width=(int)160,
height=(int)120, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){
2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1
}; video/x-h264, stream-format=(string)byte-stream,
alignment=(string)au, width=(int)160, height=(int)90,
pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 }
0:00:00.360069052 27400 0x56489945d0a0 INFO                    v4l2
gstv4l2object.c:3486:gst_v4l2_object_set_format_full:<v4l2src0> Set
framerate to 30/1
0:00:00.360098853 27400 0x56489945d0a0 INFO                    v4l2
gstv4l2object.c:2858:gst_v4l2_object_setup_pool:<v4l2src0> accessing
buffers via mode 2
0:00:00.360400374 27400 0x56489945d0a0 INFO          v4l2bufferpool
gstv4l2bufferpool.c:551:gst_v4l2_buffer_pool_set_config:<v4l2src0:pool:src>
increasing minimum buffers to 2
0:00:00.360420750 27400 0x56489945d0a0 INFO          v4l2bufferpool
gstv4l2bufferpool.c:564:gst_v4l2_buffer_pool_set_config:<v4l2src0:pool:src>
reducing maximum buffers to 32
0:00:00.360452983 27400 0x56489945d0a0 INFO               GST_EVENT
gstevent.c:808:gst_event_new_caps: creating caps event video/x-raw,
format=(string)YUY2, width=(int)640, height=(int)480,
framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1,
interlace-mode=(string)progressive, colorimetry=(string)2:4:7:1
0:00:00.360587465 27400 0x56489945d0a0 INFO           basetransform
gstbasetransform.c:1367:gst_base_transform_setcaps:<capsfilter0> reuse caps
0:00:00.360607315 27400 0x56489945d0a0 INFO               GST_EVENT
gstevent.c:808:gst_event_new_caps: creating caps event video/x-raw,
format=(string)YUY2, width=(int)640, height=(int)480,
framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1,
interlace-mode=(string)progressive, colorimetry=(string)2:4:7:1
/GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps =
video/x-raw, format=(string)YUY2, width=(int)640, height=(int)480,
framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1,
interlace-mode=(string)progressive, colorimetry=(string)2:4:7:1
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps =
video/x-raw, format=(string)YUY2, width=(int)640, height=(int)480,
framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1,
interlace-mode=(string)progressive, colorimetry=(string)2:4:7:1
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:sink: caps = video/x-raw,
format=(string)YUY2, width=(int)640, height=(int)480,
framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1,
interlace-mode=(string)progressive, colorimetry=(string)2:4:7:1
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps =
video/x-raw, format=(string)YUY2, width=(int)640, height=(int)480,
framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1,
interlace-mode=(string)progressive, colorimetry=(string)2:4:7:1
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:src: caps = video/x-raw,
format=(string)YUY2, width=(int)640, height=(int)480,
framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1,
interlace-mode=(string)progressive, colorimetry=(string)2:4:7:1
/GstPipeline:pipeline0/GstXvImageSink:xvimagesink0.GstPad:sink: caps =
video/x-raw, format=(string)YUY2, width=(int)640, height=(int)480,
framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1,
interlace-mode=(string)progressive, colorimetry=(string)2:4:7:1
0:00:00.362113272 27400 0x56489945d0a0 INFO          v4l2bufferpool
gstv4l2bufferpool.c:564:gst_v4l2_buffer_pool_set_config:<v4l2src0:pool:src>
reducing maximum buffers to 32
0:00:00.589588804 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.033333333
out ts 0:00:00.375615440
0:00:00.589651939 27400 0x56489945d0a0 INFO               GST_EVENT
gstevent.c:889:gst_event_new_segment: creating segment event time
segment start=0:00:00.000000000, offset=0:00:00.000000000,
stop=99:99:99.999999999, rate=1.000000, applied_rate=1.000000,
flags=0x00, time=0:00:00.000000000, base=0:00:00.000000000, position
0:00:00.000000000, duration 99:99:99.999999999
0:00:00.589715480 27400 0x56489945d0a0 INFO                 basesrc
gstbasesrc.c:2847:gst_base_src_loop:<v4l2src0> marking pending DISCONT
0:00:00.621594297 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.066666666
out ts 0:00:00.407617179
0:00:00.654021176 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.099999999
out ts 0:00:00.439618368
0:00:00.689893747 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.133333332
out ts 0:00:00.475617487
0:00:00.721910251 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.166666665
out ts 0:00:00.507647265
0:00:00.757958535 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.199999998
out ts 0:00:00.539633525
0:00:00.789852420 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.233333331
out ts 0:00:00.575639526
0:00:00.821891929 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.266666664
out ts 0:00:00.607616405
0:00:00.853938202 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.299999997
out ts 0:00:00.639616432
0:00:00.889848131 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.333333330
out ts 0:00:00.675613298
0:00:00.921879104 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.366666663
out ts 0:00:00.707639631
0:00:00.957900456 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.399999996
out ts 0:00:00.739616309
0:00:00.989604192 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.433333329
out ts 0:00:00.775617331
0:00:01.021627343 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.466666662
out ts 0:00:00.807662060
0:00:01.053915829 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.499999995
out ts 0:00:00.839609309
0:00:01.089895035 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.533333328
out ts 0:00:00.875617397
0:00:01.121866163 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.566666661
out ts 0:00:00.907644460
0:00:01.157871720 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.599999994
out ts 0:00:00.939618489
0:00:01.189948793 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.633333327
out ts 0:00:00.975642091
0:00:01.221875579 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.666666660
out ts 0:00:01.007613598
0:00:01.253878199 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.699999993
out ts 0:00:01.039629540
0:00:01.289871721 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.733333326
out ts 0:00:01.075635406
0:00:01.321867816 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.766666659
out ts 0:00:01.107612484
0:00:01.357847153 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.799999992
out ts 0:00:01.139611991
0:00:01.389945890 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.833333325
out ts 0:00:01.175613320
0:00:01.421885435 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.866666658
out ts 0:00:01.207611377
0:00:01.453879351 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.899999991
out ts 0:00:01.239647166
0:00:01.489907828 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.933333324
out ts 0:00:01.275640445
0:00:01.521883360 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.966666657
out ts 0:00:01.307640537
0:00:01.557858062 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.999999990
out ts 0:00:01.339611172
0:00:01.589949749 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:01.033333323
out ts 0:00:01.375610278
0:00:01.621568158 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:01.066666656
out ts 0:00:01.407609796

After this last line of debug logging output, nothing happens.

Thanks
Antoine





>
> Best regards,
>
> Vivia
>
> On 5 December 2016 at 15:40, Thornton, Keith <[hidden email]> wrote:
>> Hi,
>> if you set min-threshold-time to 30000000000 you would buffer 30 seconds of video. As a consequence, no data will reach xvimagesink until you have pushed more than 30 seconds of data into the queue. If this is not what you want then tell us how it should differ from this scenario.
>>
>> -----Ursprüngliche Nachricht-----
>> Von: gstreamer-devel [mailto:[hidden email]] Im Auftrag von Antoine Martin
>> Gesendet: Montag, 5. Dezember 2016 13:44
>> An: [hidden email]
>> Betreff: buffer v4l2src for 30 seconds
>>
>> Hi,
>>
>> I want to do something seemingly very simple, but I am unable to find the correct GStreamer incantation.
>> All I want is ~30 seconds of delay between the v4l2src capture and the output (xvimagesink or whatever).
>>
>> Using the queue element I can buffer up to ~1 seconds:
>> gst-launch-1.0 -v v4l2src device=/dev/video0 !
>> video/x-raw,format=YUY2,width=640,height=480,framerate=30/1 ! queue
>> min-threshold-time=1000000000 max-size-time=10000000000 max-size-bytes=0
>> max-size-buffers=0 ! xvimagesink
>>
>> If I reduce the framerate, then I can buffer a little bit more.
>> But if I increase the min-threshold-time too much, I just get a black screen. My system has enough memory to buffer minutes of video, so what is happening here?
>>
>> I tried using the queue2 element, but this isn't actually buffering anything at all (what is the equivalent to min-threshold-time here?):
>> gst-launch-1.0 -v v4l2src device=/dev/video0 !
>> video/x-raw,format=YUY2,width=640,height=480,framerate=15/1 ! queue2
>> use-buffering=1 low-watermark=0.5  max-size-time=0 max-size-bytes=0
>> max-size-buffers=600 ! xvimagesink sync=false
>>
>> It is such a simple thing to do that I am sure GStreamer can do this, but how?
>>
>> Thanks
>> Antoine
>> _______________________________________________
>> gstreamer-devel mailing list
>> [hidden email]
>> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>> _______________________________________________
>> gstreamer-devel mailing list
>> [hidden email]
>> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>

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

Re: buffer v4l2src for 30 seconds

Dimitrios Katsaros
Your problem is that the v4l2src is defaulting to mmap mode, which has a limitation on the amount of buffers that can be mapped. In most applications this is not a problem but when you are buffering memory like that you will hit the limit (32 frames according to videodev2).

You can work around this with 2 ways:

a) Copy the frames before they enter the queue. you can do this using a probe.
b) Set the "io-mode" to one that is not limited in the size of memory it can allocate. This one depends on the device you are connecting to and what it supports.

for example, this works for me:

gst-launch-1.0 v4l2src io-mode=3 ! queue min-threshold-time=10000000000 max-size-time=100000000000 max-size-buffers=0 max-size-bytes=0  ! videoconvert ! ximagesink --gst-debug=v4l2src:6

rw is also an option for an "unlimited" amount of memory, although it is suboptimal since it causes additional memory copies. If you are stuck with mmap you can post here again and work on getting a probe running in an app

Dimitrios

On Mon, Dec 5, 2016 at 4:18 PM, Antoine Martin <[hidden email]> wrote:
Hi,

On 05/12/16 21:09, Vivia Nikolaidou wrote:
> Hi,
>
> Basically, what Keith just said - make sure you actually wait 30
> seconds before you see the image.
It is failing even with ~2 seconds.. so yes, I am waiting at least that
long.

> Also don't forget to make
> max-size-time correspondingly bigger.
Sorry, I should have been clearer: it only works for delays lower than 1
second (or ~2 seconds with a lower framerate).
If I make the min-threshold-time longer, I get the "black output"
problem I am trying to solve. (or sometimes, just one frozen frame)

> If it still doesn't work, please send a debug log with GST_DEBUG=\*:6
> and GST_DEBUG_NO_COLOR=1 .
Here's an example of it getting stuck with just 2 seconds of delay
(max-size-time is high enough for that already):


GST_DEBUG=4 GST_DEBUG_NO_COLOR=1 gst-launch-1.0 -v v4l2src
device=/dev/video0 !
video/x-raw,format=YUY2,width=640,height=480,framerate=30/1 ! queue
min-threshold-time=2000000000 max-size-time=20000000000 max-size-bytes=0
max-size-buffers=0 ! xvimagesink
0:00:00.000037599 27400 0x564899256c00 INFO                GST_INIT
gst.c:510:init_pre: Initializing GStreamer Core Library version 1.10.0
0:00:00.000066126 27400 0x564899256c00 INFO                GST_INIT
gst.c:511:init_pre: Using library installed in /usr/lib64
0:00:00.000072324 27400 0x564899256c00 INFO                GST_INIT
gst.c:522:init_pre: Linux desktop 4.8.10-300.fc25.x86_64 #1 SMP Mon Nov
21 18:59:16 UTC 2016 x86_64
0:00:00.000252264 27400 0x564899256c00 INFO                GST_INIT
gstmessage.c:126:_priv_gst_message_initialize: init messages
0:00:00.000632823 27400 0x564899256c00 INFO                GST_INIT
gstcontext.c:83:_priv_gst_context_initialize: init contexts
0:00:00.000991487 27400 0x564899256c00 INFO      GST_PLUGIN_LOADING
gstplugin.c:316:_priv_gst_plugin_initialize: registering 0 static plugins
0:00:00.001070486 27400 0x564899256c00 INFO      GST_PLUGIN_LOADING
gstplugin.c:224:gst_plugin_register_static: registered static plugin
"staticelements"
0:00:00.001078927 27400 0x564899256c00 INFO      GST_PLUGIN_LOADING
gstplugin.c:226:gst_plugin_register_static: added static plugin
"staticelements", result: 1
0:00:00.001094477 27400 0x564899256c00 INFO            GST_REGISTRY
gstregistry.c:1738:ensure_current_registry: reading registry cache:
/home/antoine/.cache/gstreamer-1.0/registry.x86_64.bin
0:00:00.009389863 27400 0x564899256c00 INFO            GST_REGISTRY
gstregistrybinary.c:619:priv_gst_registry_binary_read_cache: loaded
/home/antoine/.cache/gstreamer-1.0/registry.x86_64.bin in 0.008285 seconds
0:00:00.009416470 27400 0x564899256c00 INFO            GST_REGISTRY
gstregistry.c:1594:scan_and_update_registry: Validating plugins from
registry cache: /home/antoine/.cache/gstreamer-1.0/registry.x86_64.bin
0:00:00.009990096 27400 0x564899256c00 INFO            GST_REGISTRY
gstregistry.c:1696:scan_and_update_registry: Registry cache has not changed
0:00:00.009995248 27400 0x564899256c00 INFO            GST_REGISTRY
gstregistry.c:1773:ensure_current_registry: registry reading and
updating done, result = 1
0:00:00.009999061 27400 0x564899256c00 INFO                GST_INIT
gst.c:720:init_post: GLib runtime version: 2.50.2
0:00:00.010006551 27400 0x564899256c00 INFO                GST_INIT
gst.c:722:init_post: GLib headers version: 2.50.1
0:00:00.010009037 27400 0x564899256c00 INFO                GST_INIT
gst.c:723:init_post: initialized GStreamer successfully
0:00:00.010020022 27400 0x564899256c00 INFO            GST_PIPELINE
gstparse.c:325:gst_parse_launch_full: parsing pipeline description
'v4l2src device=/dev/video0 !
video/x-raw,format=YUY2,width=640,height=480,framerate=30/1 ! queue
min-threshold-time=2000000000 max-size-time=20000000000 max-size-bytes=0
max-size-buffers=0 ! xvimagesink '
0:00:00.010579872 27400 0x564899256c00 INFO      GST_PLUGIN_LOADING
gstplugin.c:842:_priv_gst_plugin_load_file_for_registry: plugin
"/usr/lib64/gstreamer-1.0/libgstvideo4linux2.so" loaded
0:00:00.010587244 27400 0x564899256c00 INFO     GST_ELEMENT_FACTORY
gstelementfactory.c:364:gst_element_factory_create: creating element
"v4l2src"
0:00:00.010909751 27400 0x564899256c00 INFO        GST_ELEMENT_PADS
gstelement.c:668:gst_element_add_pad:<GstBaseSrc@0x5648994480f0> adding
pad 'src'
0:00:00.011110931 27400 0x564899256c00 INFO      GST_PLUGIN_LOADING
gstplugin.c:842:_priv_gst_plugin_load_file_for_registry: plugin
"/usr/lib64/gstreamer-1.0/libgstcoreelements.so" loaded
0:00:00.011116130 27400 0x564899256c00 INFO     GST_ELEMENT_FACTORY
gstelementfactory.c:364:gst_element_factory_create: creating element "queue"
0:00:00.011154999 27400 0x564899256c00 INFO        GST_ELEMENT_PADS
gstelement.c:668:gst_element_add_pad:<GstQueue@0x564899450210> adding
pad 'sink'
0:00:00.011162626 27400 0x564899256c00 INFO        GST_ELEMENT_PADS
gstelement.c:668:gst_element_add_pad:<GstQueue@0x564899450210> adding
pad 'src'
0:00:00.011664133 27400 0x564899256c00 INFO      GST_PLUGIN_LOADING
gstplugin.c:842:_priv_gst_plugin_load_file_for_registry: plugin
"/usr/lib64/gstreamer-1.0/libgstxvimagesink.so" loaded
0:00:00.011669639 27400 0x564899256c00 INFO     GST_ELEMENT_FACTORY
gstelementfactory.c:364:gst_element_factory_create: creating element
"xvimagesink"
0:00:00.011721796 27400 0x564899256c00 INFO        GST_ELEMENT_PADS
gstelement.c:668:gst_element_add_pad:<GstBaseSink@0x564899457bc0> adding
pad 'sink'
0:00:00.011730840 27400 0x564899256c00 INFO     GST_ELEMENT_FACTORY
gstelementfactory.c:364:gst_element_factory_create: creating element
"pipeline"
0:00:00.011786799 27400 0x564899256c00 INFO            GST_PIPELINE
grammar.y:596:gst_parse_perform_link: linking some pad of GstV4l2Src
named v4l2src0 to some pad of GstQueue named queue0 (0/0) with caps
"video/x-raw, format=(string)YUY2, width=(int)640, height=(int)480,
framerate=(fraction)30/1"
0:00:00.011797990 27400 0x564899256c00 INFO     GST_ELEMENT_FACTORY
gstelementfactory.c:364:gst_element_factory_create: creating element
"capsfilter"
0:00:00.011834045 27400 0x564899256c00 INFO        GST_ELEMENT_PADS
gstelement.c:668:gst_element_add_pad:<GstBaseTransform@0x56489945e320>
adding pad 'sink'
0:00:00.011840239 27400 0x564899256c00 INFO        GST_ELEMENT_PADS
gstelement.c:668:gst_element_add_pad:<GstBaseTransform@0x56489945e320>
adding pad 'src'
0:00:00.011844676 27400 0x564899256c00 INFO              GST_STATES
gstbin.c:2104:gst_bin_get_state_func:<pipeline0> getting state
0:00:00.011850851 27400 0x564899256c00 INFO              GST_STATES
gstelement.c:2419:gst_element_continue_state:<capsfilter0> completed
state change to NULL
0:00:00.011854766 27400 0x564899256c00 INFO               GST_EVENT
gstevent.c:1511:gst_event_new_reconfigure: creating reconfigure event
0:00:00.011858264 27400 0x564899256c00 INFO        GST_ELEMENT_PADS
gstutils.c:1632:gst_element_link_pads_full: trying to link element
v4l2src0:(any) to element capsfilter0:sink
0:00:00.011861372 27400 0x564899256c00 INFO        GST_ELEMENT_PADS
gstelement.c:916:gst_element_get_static_pad: found pad capsfilter0:sink
0:00:00.011863601 27400 0x564899256c00 INFO                GST_PADS
gstutils.c:1446:prepare_link_maybe_ghosting: v4l2src0 and capsfilter0 in
same bin, no need for ghost pads
0:00:00.011868802 27400 0x564899256c00 INFO                GST_PADS
gstpad.c:2315:gst_pad_link_prepare: trying to link v4l2src0:src and
capsfilter0:sink
0:00:00.011875093 27400 0x564899256c00 INFO                GST_PADS
gstpad.c:4115:gst_pad_peer_query:<capsfilter0:src> pad has no peer
0:00:00.011880786 27400 0x564899256c00 INFO                GST_PADS
gstpad.c:2521:gst_pad_link_full: linked v4l2src0:src and
capsfilter0:sink, successful
0:00:00.011883208 27400 0x564899256c00 INFO               GST_EVENT
gstevent.c:1511:gst_event_new_reconfigure: creating reconfigure event
0:00:00.011886401 27400 0x564899256c00 INFO               GST_EVENT
gstpad.c:5655:gst_pad_send_event_unchecked:<v4l2src0:src> Received event
on flushing pad. Discarding
0:00:00.011890641 27400 0x564899256c00 INFO        GST_ELEMENT_PADS
gstutils.c:1632:gst_element_link_pads_full: trying to link element
capsfilter0:src to element queue0:(any)
0:00:00.011893713 27400 0x564899256c00 INFO        GST_ELEMENT_PADS
gstelement.c:916:gst_element_get_static_pad: found pad capsfilter0:src
0:00:00.011896883 27400 0x564899256c00 INFO                GST_PADS
gstutils.c:932:gst_pad_check_link: trying to link capsfilter0:src and
queue0:sink
0:00:00.011905551 27400 0x564899256c00 INFO                GST_PADS
gstpad.c:4115:gst_pad_peer_query:<queue0:src> pad has no peer
0:00:00.011908829 27400 0x564899256c00 INFO                GST_PADS
gstutils.c:1446:prepare_link_maybe_ghosting: capsfilter0 and queue0 in
same bin, no need for ghost pads
0:00:00.011912385 27400 0x564899256c00 INFO                GST_PADS
gstpad.c:2315:gst_pad_link_prepare: trying to link capsfilter0:src and
queue0:sink
0:00:00.011918928 27400 0x564899256c00 INFO                GST_PADS
gstpad.c:4115:gst_pad_peer_query:<queue0:src> pad has no peer
0:00:00.011921830 27400 0x564899256c00 INFO                GST_PADS
gstpad.c:2521:gst_pad_link_full: linked capsfilter0:src and queue0:sink,
successful
0:00:00.011924548 27400 0x564899256c00 INFO               GST_EVENT
gstevent.c:1511:gst_event_new_reconfigure: creating reconfigure event
0:00:00.011926588 27400 0x564899256c00 INFO               GST_EVENT
gstpad.c:5655:gst_pad_send_event_unchecked:<capsfilter0:src> Received
event on flushing pad. Discarding
0:00:00.011930139 27400 0x564899256c00 INFO            GST_PIPELINE
grammar.y:596:gst_parse_perform_link: linking some pad of GstQueue named
queue0 to some pad of GstXvImageSink named xvimagesink0 (0/0) with caps
"(NULL)"
0:00:00.011935471 27400 0x564899256c00 INFO        GST_ELEMENT_PADS
gstutils.c:1632:gst_element_link_pads_full: trying to link element
queue0:(any) to element xvimagesink0:(any)
0:00:00.011938544 27400 0x564899256c00 INFO                GST_PADS
gstutils.c:932:gst_pad_check_link: trying to link queue0:src and
xvimagesink0:sink
0:00:00.011949453 27400 0x564899256c00 INFO                GST_PADS
gstutils.c:1446:prepare_link_maybe_ghosting: queue0 and xvimagesink0 in
same bin, no need for ghost pads
0:00:00.011952609 27400 0x564899256c00 INFO                GST_PADS
gstpad.c:2315:gst_pad_link_prepare: trying to link queue0:src and
xvimagesink0:sink
0:00:00.011959275 27400 0x564899256c00 INFO                GST_PADS
gstpad.c:2521:gst_pad_link_full: linked queue0:src and
xvimagesink0:sink, successful
0:00:00.011961582 27400 0x564899256c00 INFO               GST_EVENT
gstevent.c:1511:gst_event_new_reconfigure: creating reconfigure event
0:00:00.011963109 27400 0x564899256c00 INFO               GST_EVENT
gstpad.c:5655:gst_pad_send_event_unchecked:<queue0:src> Received event
on flushing pad. Discarding
Setting pipeline to PAUSED ...
0:00:00.011978324 27400 0x564899256c00 INFO              GST_STATES
gstbin.c:2515:gst_bin_element_set_state:<xvimagesink0> current NULL
pending VOID_PENDING, desired next READY
0:00:00.012569531 27400 0x564899256c00 INFO              GST_STATES
gstelement.c:2419:gst_element_continue_state:<xvimagesink0> completed
state change to READY
0:00:00.012574946 27400 0x564899256c00 INFO              GST_STATES
gstelement.c:2324:_priv_gst_element_state_changed:<xvimagesink0>
notifying about state-changed NULL to READY (VOID_PENDING pending)
0:00:00.012581482 27400 0x564899256c00 INFO              GST_STATES
gstbin.c:2963:gst_bin_change_state_func:<pipeline0> child 'xvimagesink0'
changed state to 2(READY) successfully
0:00:00.012586047 27400 0x564899256c00 INFO              GST_STATES
gstbin.c:2515:gst_bin_element_set_state:<queue0> current NULL pending
VOID_PENDING, desired next READY
0:00:00.012588917 27400 0x564899256c00 INFO              GST_STATES
gstelement.c:2419:gst_element_continue_state:<queue0> completed state
change to READY
0:00:00.012590598 27400 0x564899256c00 INFO              GST_STATES
gstelement.c:2324:_priv_gst_element_state_changed:<queue0> notifying
about state-changed NULL to READY (VOID_PENDING pending)
0:00:00.012593492 27400 0x564899256c00 INFO              GST_STATES
gstbin.c:2963:gst_bin_change_state_func:<pipeline0> child 'queue0'
changed state to 2(READY) successfully
0:00:00.012596314 27400 0x564899256c00 INFO              GST_STATES
gstbin.c:2515:gst_bin_element_set_state:<capsfilter0> current NULL
pending VOID_PENDING, desired next READY
0:00:00.012598677 27400 0x564899256c00 INFO              GST_STATES
gstelement.c:2419:gst_element_continue_state:<capsfilter0> completed
state change to READY
0:00:00.012600916 27400 0x564899256c00 INFO              GST_STATES
gstelement.c:2324:_priv_gst_element_state_changed:<capsfilter0>
notifying about state-changed NULL to READY (VOID_PENDING pending)
0:00:00.012604306 27400 0x564899256c00 INFO              GST_STATES
gstbin.c:2963:gst_bin_change_state_func:<pipeline0> child 'capsfilter0'
changed state to 2(READY) successfully
0:00:00.012607476 27400 0x564899256c00 INFO              GST_STATES
gstbin.c:2515:gst_bin_element_set_state:<v4l2src0> current NULL pending
VOID_PENDING, desired next READY
0:00:00.184160042 27400 0x564899256c00 INFO                    v4l2
v4l2_calls.c:592:gst_v4l2_open:<v4l2src0> Opened device 'HD Pro Webcam
C920' (/dev/video0) successfully
0:00:00.184223467 27400 0x564899256c00 INFO              GST_STATES
gstelement.c:2419:gst_element_continue_state:<v4l2src0> completed state
change to READY
0:00:00.184245914 27400 0x564899256c00 INFO              GST_STATES
gstelement.c:2324:_priv_gst_element_state_changed:<v4l2src0> notifying
about state-changed NULL to READY (VOID_PENDING pending)
0:00:00.184288764 27400 0x564899256c00 INFO              GST_STATES
gstbin.c:2963:gst_bin_change_state_func:<pipeline0> child 'v4l2src0'
changed state to 2(READY) successfully
0:00:00.184317170 27400 0x564899256c00 INFO              GST_STATES
gstelement.c:2394:gst_element_continue_state:<pipeline0> committing
state from NULL to READY, pending PAUSED, next PAUSED
0:00:00.184335945 27400 0x564899256c00 INFO              GST_STATES
gstelement.c:2324:_priv_gst_element_state_changed:<pipeline0> notifying
about state-changed NULL to READY (PAUSED pending)
0:00:00.184393295 27400 0x564899256c00 INFO              GST_STATES
gstelement.c:2401:gst_element_continue_state:<pipeline0> continue state
change READY to PAUSED, final PAUSED
0:00:00.184438204 27400 0x564899256c00 INFO              GST_STATES
gstbin.c:2515:gst_bin_element_set_state:<xvimagesink0> current READY
pending VOID_PENDING, desired next PAUSED
0:00:00.184475040 27400 0x564899256c00 INFO              GST_STATES
gstbin.c:2969:gst_bin_change_state_func:<pipeline0> child 'xvimagesink0'
is changing state asynchronously to PAUSED
0:00:00.184498013 27400 0x564899256c00 INFO              GST_STATES
gstbin.c:2515:gst_bin_element_set_state:<queue0> current READY pending
VOID_PENDING, desired next PAUSED
0:00:00.184560512 27400 0x564899256c00 INFO                    task
gsttask.c:456:gst_task_set_lock: setting stream lock 0x56489944a520 on
task 0x564899475050
0:00:00.184580652 27400 0x564899256c00 INFO                GST_PADS
gstpad.c:6001:gst_pad_start_task:<queue0:src> created task 0x564899475050
0:00:00.184671197 27400 0x564899256c00 INFO              GST_STATES
gstelement.c:2419:gst_element_continue_state:<queue0> completed state
change to PAUSED
0:00:00.184688259 27400 0x564899256c00 INFO              GST_STATES
gstelement.c:2324:_priv_gst_element_state_changed:<queue0> notifying
about state-changed READY to PAUSED (VOID_PENDING pending)
0:00:00.184707588 27400 0x564899256c00 INFO              GST_STATES
gstbin.c:2963:gst_bin_change_state_func:<pipeline0> child 'queue0'
changed state to 3(PAUSED) successfully
0:00:00.184725386 27400 0x564899256c00 INFO              GST_STATES
gstbin.c:2515:gst_bin_element_set_state:<capsfilter0> current READY
pending VOID_PENDING, desired next PAUSED
0:00:00.184751822 27400 0x564899256c00 INFO              GST_STATES
gstelement.c:2419:gst_element_continue_state:<capsfilter0> completed
state change to PAUSED
0:00:00.184766750 27400 0x564899256c00 INFO              GST_STATES
gstelement.c:2324:_priv_gst_element_state_changed:<capsfilter0>
notifying about state-changed READY to PAUSED (VOID_PENDING pending)
0:00:00.184792399 27400 0x564899256c00 INFO              GST_STATES
gstbin.c:2963:gst_bin_change_state_func:<pipeline0> child 'capsfilter0'
changed state to 3(PAUSED) successfully
0:00:00.184827829 27400 0x564899256c00 INFO              GST_STATES
gstbin.c:2515:gst_bin_element_set_state:<v4l2src0> current READY pending
VOID_PENDING, desired next PAUSED
0:00:00.184858155 27400 0x564899256c00 INFO                 basesrc
gstbasesrc.c:1343:gst_base_src_do_seek:<v4l2src0> seeking: time segment
start=0:00:00.000000000, offset=0:00:00.000000000,
stop=99:99:99.999999999, rate=1.000000, applied_rate=1.000000,
flags=0x00, time=0:00:00.000000000, base=0:00:00.000000000, position
0:00:00.000000000, duration 99:99:99.999999999
0:00:00.184910233 27400 0x564899256c00 INFO                    task
gsttask.c:456:gst_task_set_lock: setting stream lock 0x56489944a0a0 on
task 0x564899475170
0:00:00.184928124 27400 0x564899256c00 INFO                GST_PADS
gstpad.c:6001:gst_pad_start_task:<v4l2src0:src> created task 0x564899475170
0:00:00.185011744 27400 0x564899256c00 INFO              GST_STATES
gstelement.c:2419:gst_element_continue_state:<v4l2src0> completed state
change to PAUSED
0:00:00.185029999 27400 0x564899256c00 INFO              GST_STATES
gstelement.c:2324:_priv_gst_element_state_changed:<v4l2src0> notifying
about state-changed READY to PAUSED (VOID_PENDING pending)
0:00:00.185058282 27400 0x564899256c00 INFO              GST_STATES
gstbin.c:3006:gst_bin_change_state_func:<pipeline0> child 'v4l2src0'
changed state to 3(PAUSED) successfully without preroll
0:00:00.185086420 27400 0x564899256c00 INFO              GST_STATES
gstelement.c:2419:gst_element_continue_state:<pipeline0> completed state
change to PAUSED
0:00:00.185099632 27400 0x564899256c00 INFO              GST_STATES
gstelement.c:2324:_priv_gst_element_state_changed:<pipeline0> notifying
about state-changed READY to PAUSED (VOID_PENDING pending)
0:00:00.185088935 27400 0x56489945d0a0 INFO        GST_ELEMENT_PADS
gstelement.c:913:gst_element_get_static_pad: no such pad 'sink' in
element "v4l2src0"
Pipeline is live and does not need PREROLL ...
0:00:00.185331830 27400 0x56489945d0a0 INFO                    v4l2
gstv4l2object.c:1150:gst_v4l2_object_fill_format_list:<v4l2src0> got 7
format(s):
0:00:00.185356783 27400 0x56489945d0a0 INFO                    v4l2
gstv4l2object.c:1156:gst_v4l2_object_fill_format_list:<v4l2src0>   YUYV
0:00:00.185372121 27400 0x56489945d0a0 INFO                    v4l2
gstv4l2object.c:1156:gst_v4l2_object_fill_format_list:<v4l2src0>   MJPG
0:00:00.185383658 27400 0x56489945d0a0 INFO                    v4l2
gstv4l2object.c:1156:gst_v4l2_object_fill_format_list:<v4l2src0>   YU12
(emulated)
0:00:00.185395408 27400 0x56489945d0a0 INFO                    v4l2
gstv4l2object.c:1156:gst_v4l2_object_fill_format_list:<v4l2src0>   YV12
(emulated)
0:00:00.185415525 27400 0x56489945d0a0 INFO                    v4l2
gstv4l2object.c:1156:gst_v4l2_object_fill_format_list:<v4l2src0>   BGR3
(emulated)
0:00:00.185444546 27400 0x56489945d0a0 INFO                    v4l2
gstv4l2object.c:1156:gst_v4l2_object_fill_format_list:<v4l2src0>   RGB3
(emulated)
0:00:00.185465995 27400 0x56489945d0a0 INFO                    v4l2
gstv4l2object.c:1156:gst_v4l2_object_fill_format_list:<v4l2src0>   H264
Setting pipeline to PLAYING ...
0:00:00.186002357 27400 0x564899256c00 INFO               GST_EVENT
gstevent.c:1382:gst_event_new_latency: creating latency event
0:00:00.000000000
0:00:00.186060829 27400 0x564899256c00 INFO                     bin
gstbin.c:2792:gst_bin_do_latency_func:<pipeline0> configured latency of
0:00:00.000000000
0:00:00.186098584 27400 0x564899256c00 INFO              GST_STATES
gstbin.c:2515:gst_bin_element_set_state:<xvimagesink0> current READY
pending PAUSED, desired next PLAYING
0:00:00.186127078 27400 0x564899256c00 INFO              GST_STATES
gstbin.c:2969:gst_bin_change_state_func:<pipeline0> child 'xvimagesink0'
is changing state asynchronously to PLAYING
0:00:00.186156627 27400 0x564899256c00 INFO              GST_STATES
gstbin.c:2515:gst_bin_element_set_state:<queue0> current PAUSED pending
VOID_PENDING, desired next PLAYING
0:00:00.186174601 27400 0x564899256c00 INFO              GST_STATES
gstelement.c:2419:gst_element_continue_state:<queue0> completed state
change to PLAYING
0:00:00.186184065 27400 0x564899256c00 INFO              GST_STATES
gstelement.c:2324:_priv_gst_element_state_changed:<queue0> notifying
about state-changed PAUSED to PLAYING (VOID_PENDING pending)
0:00:00.186201901 27400 0x564899256c00 INFO              GST_STATES
gstbin.c:2963:gst_bin_change_state_func:<pipeline0> child 'queue0'
changed state to 4(PLAYING) successfully
0:00:00.186220801 27400 0x564899256c00 INFO              GST_STATES
gstbin.c:2515:gst_bin_element_set_state:<capsfilter0> current PAUSED
pending VOID_PENDING, desired next PLAYING
0:00:00.186246911 27400 0x564899256c00 INFO              GST_STATES
gstelement.c:2419:gst_element_continue_state:<capsfilter0> completed
state change to PLAYING
0:00:00.186258119 27400 0x564899256c00 INFO              GST_STATES
gstelement.c:2324:_priv_gst_element_state_changed:<capsfilter0>
notifying about state-changed PAUSED to PLAYING (VOID_PENDING pending)
0:00:00.186273601 27400 0x564899256c00 INFO              GST_STATES
gstbin.c:2963:gst_bin_change_state_func:<pipeline0> child 'capsfilter0'
changed state to 4(PLAYING) successfully
0:00:00.186304967 27400 0x564899256c00 INFO              GST_STATES
gstelement.c:2419:gst_element_continue_state:<v4l2src0> completed state
change to PLAYING
0:00:00.186318883 27400 0x564899256c00 INFO              GST_STATES
gstelement.c:2324:_priv_gst_element_state_changed:<v4l2src0> notifying
about state-changed PAUSED to PLAYING (VOID_PENDING pending)
0:00:00.186358777 27400 0x564899256c00 INFO              GST_STATES
gstbin.c:2963:gst_bin_change_state_func:<pipeline0> child 'v4l2src0'
changed state to 4(PLAYING) successfully
New clock: GstSystemClock
0:00:00.356780147 27400 0x56489945d0a0 INFO                    v4l2
gstv4l2object.c:3907:gst_v4l2_object_get_caps:<v4l2src0> probed caps:
video/x-raw, format=(string)YUY2, width=(int)2304, height=(int)1536,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
colorimetry=(string){ 2:4:7:1 }, framerate=(fraction)2/1; video/x-raw,
format=(string)YUY2, width=(int)2304, height=(int)1296,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
colorimetry=(string){ 2:4:7:1 }, framerate=(fraction)2/1; video/x-raw,
format=(string)YUY2, width=(int)1920, height=(int)1080,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
colorimetry=(string){ 2:4:7:1 }, framerate=(fraction)5/1; video/x-raw,
format=(string)YUY2, width=(int)1600, height=(int)896,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 15/2, 5/1 };
video/x-raw, format=(string)YUY2, width=(int)1280, height=(int)720,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 10/1, 15/2, 5/1
}; video/x-raw, format=(string)YUY2, width=(int)960, height=(int)720,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 15/1, 10/1, 15/2,
5/1 }; video/x-raw, format=(string)YUY2, width=(int)1024,
height=(int)576, pixel-aspect-ratio=(fraction)1/1,
interlace-mode=(string)progressive, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 15/1, 10/1, 15/2, 5/1 }; video/x-raw,
format=(string)YUY2, width=(int)800, height=(int)600,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 24/1, 20/1, 15/1,
10/1, 15/2, 5/1 }; video/x-raw, format=(string)YUY2, width=(int)864,
height=(int)480, pixel-aspect-ratio=(fraction)1/1,
interlace-mode=(string)progressive, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 }; video/x-raw,
format=(string)YUY2, width=(int)800, height=(int)448,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1,
15/1, 10/1, 15/2, 5/1 }; video/x-raw, format=(string)YUY2,
width=(int)640, height=(int)480, pixel-aspect-ratio=(fraction)1/1,
interlace-mode=(string)progressive, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)YUY2, width=(int)640, height=(int)360,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1,
15/1, 10/1, 15/2, 5/1 }; video/x-raw, format=(string)YUY2,
width=(int)432, height=(int)240, pixel-aspect-ratio=(fraction)1/1,
interlace-mode=(string)progressive, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)YUY2, width=(int)352, height=(int)288,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1,
15/1, 10/1, 15/2, 5/1 }; video/x-raw, format=(string)YUY2,
width=(int)320, height=(int)240, pixel-aspect-ratio=(fraction)1/1,
interlace-mode=(string)progressive, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)YUY2, width=(int)320, height=(int)180,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1,
15/1, 10/1, 15/2, 5/1 }; video/x-raw, format=(string)YUY2,
width=(int)176, height=(int)144, pixel-aspect-ratio=(fraction)1/1,
interlace-mode=(string)progressive, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)YUY2, width=(int)160, height=(int)120,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1,
15/1, 10/1, 15/2, 5/1 }; video/x-raw, format=(string)YUY2,
width=(int)160, height=(int)90, pixel-aspect-ratio=(fraction)1/1,
interlace-mode=(string)progressive, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
image/jpeg, width=(int)1920, height=(int)1080,
pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
image/jpeg, width=(int)1600, height=(int)896,
pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
image/jpeg, width=(int)1280, height=(int)720,
pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
image/jpeg, width=(int)960, height=(int)720,
pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
image/jpeg, width=(int)1024, height=(int)576,
pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
image/jpeg, width=(int)800, height=(int)600,
pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
image/jpeg, width=(int)864, height=(int)480,
pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
image/jpeg, width=(int)800, height=(int)448,
pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
image/jpeg, width=(int)640, height=(int)480,
pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
image/jpeg, width=(int)640, height=(int)360,
pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
image/jpeg, width=(int)432, height=(int)240,
pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
image/jpeg, width=(int)352, height=(int)288,
pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
image/jpeg, width=(int)320, height=(int)240,
pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
image/jpeg, width=(int)320, height=(int)180,
pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
image/jpeg, width=(int)176, height=(int)144,
pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
image/jpeg, width=(int)160, height=(int)120,
pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
image/jpeg, width=(int)160, height=(int)90,
pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)I420, width=(int)2304, height=(int)1536,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction)2/1; video/x-raw, format=(string)I420,
width=(int)2304, height=(int)1296, pixel-aspect-ratio=(fraction)1/1,
interlace-mode=(string)progressive, framerate=(fraction)2/1;
video/x-raw, format=(string)I420, width=(int)1920, height=(int)1080,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)I420, width=(int)1600, height=(int)896,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)I420, width=(int)1280, height=(int)720,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)I420, width=(int)960, height=(int)720,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)I420, width=(int)1024, height=(int)576,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)I420, width=(int)800, height=(int)600,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)I420, width=(int)864, height=(int)480,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)I420, width=(int)800, height=(int)448,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)I420, width=(int)640, height=(int)480,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)I420, width=(int)640, height=(int)360,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)I420, width=(int)432, height=(int)240,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)I420, width=(int)352, height=(int)288,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)I420, width=(int)320, height=(int)240,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)I420, width=(int)320, height=(int)180,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)I420, width=(int)176, height=(int)144,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)I420, width=(int)160, height=(int)120,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)I420, width=(int)160, height=(int)90,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)YV12, width=(int)2304, height=(int)1536,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction)2/1; video/x-raw, format=(string)YV12,
width=(int)2304, height=(int)1296, pixel-aspect-ratio=(fraction)1/1,
interlace-mode=(string)progressive, framerate=(fraction)2/1;
video/x-raw, format=(string)YV12, width=(int)1920, height=(int)1080,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)YV12, width=(int)1600, height=(int)896,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)YV12, width=(int)1280, height=(int)720,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)YV12, width=(int)960, height=(int)720,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)YV12, width=(int)1024, height=(int)576,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)YV12, width=(int)800, height=(int)600,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)YV12, width=(int)864, height=(int)480,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)YV12, width=(int)800, height=(int)448,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)YV12, width=(int)640, height=(int)480,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)YV12, width=(int)640, height=(int)360,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)YV12, width=(int)432, height=(int)240,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)YV12, width=(int)352, height=(int)288,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)YV12, width=(int)320, height=(int)240,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)YV12, width=(int)320, height=(int)180,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)YV12, width=(int)176, height=(int)144,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)YV12, width=(int)160, height=(int)120,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)YV12, width=(int)160, height=(int)90,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)BGR, width=(int)2304, height=(int)1536,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction)2/1; video/x-raw, format=(string)BGR,
width=(int)2304, height=(int)1296, pixel-aspect-ratio=(fraction)1/1,
interlace-mode=(string)progressive, framerate=(fraction)2/1;
video/x-raw, format=(string)BGR, width=(int)1920, height=(int)1080,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)BGR, width=(int)1600, height=(int)896,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)BGR, width=(int)1280, height=(int)720,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)BGR, width=(int)960, height=(int)720,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)BGR, width=(int)1024, height=(int)576,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)BGR, width=(int)800, height=(int)600,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)BGR, width=(int)864, height=(int)480,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)BGR, width=(int)800, height=(int)448,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)BGR, width=(int)640, height=(int)480,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)BGR, width=(int)640, height=(int)360,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)BGR, width=(int)432, height=(int)240,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)BGR, width=(int)352, height=(int)288,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)BGR, width=(int)320, height=(int)240,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)BGR, width=(int)320, height=(int)180,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)BGR, width=(int)176, height=(int)144,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)BGR, width=(int)160, height=(int)120,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)BGR, width=(int)160, height=(int)90,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)RGB, width=(int)2304, height=(int)1536,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction)2/1; video/x-raw, format=(string)RGB,
width=(int)2304, height=(int)1296, pixel-aspect-ratio=(fraction)1/1,
interlace-mode=(string)progressive, framerate=(fraction)2/1;
video/x-raw, format=(string)RGB, width=(int)1920, height=(int)1080,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)RGB, width=(int)1600, height=(int)896,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)RGB, width=(int)1280, height=(int)720,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)RGB, width=(int)960, height=(int)720,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)RGB, width=(int)1024, height=(int)576,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)RGB, width=(int)800, height=(int)600,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)RGB, width=(int)864, height=(int)480,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)RGB, width=(int)800, height=(int)448,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)RGB, width=(int)640, height=(int)480,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)RGB, width=(int)640, height=(int)360,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)RGB, width=(int)432, height=(int)240,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)RGB, width=(int)352, height=(int)288,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)RGB, width=(int)320, height=(int)240,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)RGB, width=(int)320, height=(int)180,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)RGB, width=(int)176, height=(int)144,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)RGB, width=(int)160, height=(int)120,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-raw, format=(string)RGB, width=(int)160, height=(int)90,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-h264, stream-format=(string)byte-stream, alignment=(string)au,
width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1,
colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1,
15/1, 10/1, 15/2, 5/1 }; video/x-h264,
stream-format=(string)byte-stream, alignment=(string)au,
width=(int)1600, height=(int)896, pixel-aspect-ratio=(fraction)1/1,
colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1,
15/1, 10/1, 15/2, 5/1 }; video/x-h264,
stream-format=(string)byte-stream, alignment=(string)au,
width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1,
colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1,
15/1, 10/1, 15/2, 5/1 }; video/x-h264,
stream-format=(string)byte-stream, alignment=(string)au, width=(int)960,
height=(int)720, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){
2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1
}; video/x-h264, stream-format=(string)byte-stream,
alignment=(string)au, width=(int)1024, height=(int)576,
pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-h264, stream-format=(string)byte-stream, alignment=(string)au,
width=(int)800, height=(int)600, pixel-aspect-ratio=(fraction)1/1,
colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1,
15/1, 10/1, 15/2, 5/1 }; video/x-h264,
stream-format=(string)byte-stream, alignment=(string)au, width=(int)864,
height=(int)480, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){
2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1
}; video/x-h264, stream-format=(string)byte-stream,
alignment=(string)au, width=(int)800, height=(int)448,
pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-h264, stream-format=(string)byte-stream, alignment=(string)au,
width=(int)640, height=(int)480, pixel-aspect-ratio=(fraction)1/1,
colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1,
15/1, 10/1, 15/2, 5/1 }; video/x-h264,
stream-format=(string)byte-stream, alignment=(string)au, width=(int)640,
height=(int)360, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){
2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1
}; video/x-h264, stream-format=(string)byte-stream,
alignment=(string)au, width=(int)432, height=(int)240,
pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-h264, stream-format=(string)byte-stream, alignment=(string)au,
width=(int)352, height=(int)288, pixel-aspect-ratio=(fraction)1/1,
colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1,
15/1, 10/1, 15/2, 5/1 }; video/x-h264,
stream-format=(string)byte-stream, alignment=(string)au, width=(int)320,
height=(int)240, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){
2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1
}; video/x-h264, stream-format=(string)byte-stream,
alignment=(string)au, width=(int)320, height=(int)180,
pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
video/x-h264, stream-format=(string)byte-stream, alignment=(string)au,
width=(int)176, height=(int)144, pixel-aspect-ratio=(fraction)1/1,
colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1,
15/1, 10/1, 15/2, 5/1 }; video/x-h264,
stream-format=(string)byte-stream, alignment=(string)au, width=(int)160,
height=(int)120, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){
2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1
}; video/x-h264, stream-format=(string)byte-stream,
alignment=(string)au, width=(int)160, height=(int)90,
pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 }
0:00:00.360069052 27400 0x56489945d0a0 INFO                    v4l2
gstv4l2object.c:3486:gst_v4l2_object_set_format_full:<v4l2src0> Set
framerate to 30/1
0:00:00.360098853 27400 0x56489945d0a0 INFO                    v4l2
gstv4l2object.c:2858:gst_v4l2_object_setup_pool:<v4l2src0> accessing
buffers via mode 2
0:00:00.360400374 27400 0x56489945d0a0 INFO          v4l2bufferpool
gstv4l2bufferpool.c:551:gst_v4l2_buffer_pool_set_config:<v4l2src0:pool:src>
increasing minimum buffers to 2
0:00:00.360420750 27400 0x56489945d0a0 INFO          v4l2bufferpool
gstv4l2bufferpool.c:564:gst_v4l2_buffer_pool_set_config:<v4l2src0:pool:src>
reducing maximum buffers to 32
0:00:00.360452983 27400 0x56489945d0a0 INFO               GST_EVENT
gstevent.c:808:gst_event_new_caps: creating caps event video/x-raw,
format=(string)YUY2, width=(int)640, height=(int)480,
framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1,
interlace-mode=(string)progressive, colorimetry=(string)2:4:7:1
0:00:00.360587465 27400 0x56489945d0a0 INFO           basetransform
gstbasetransform.c:1367:gst_base_transform_setcaps:<capsfilter0> reuse caps
0:00:00.360607315 27400 0x56489945d0a0 INFO               GST_EVENT
gstevent.c:808:gst_event_new_caps: creating caps event video/x-raw,
format=(string)YUY2, width=(int)640, height=(int)480,
framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1,
interlace-mode=(string)progressive, colorimetry=(string)2:4:7:1
/GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps =
video/x-raw, format=(string)YUY2, width=(int)640, height=(int)480,
framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1,
interlace-mode=(string)progressive, colorimetry=(string)2:4:7:1
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps =
video/x-raw, format=(string)YUY2, width=(int)640, height=(int)480,
framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1,
interlace-mode=(string)progressive, colorimetry=(string)2:4:7:1
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:sink: caps = video/x-raw,
format=(string)YUY2, width=(int)640, height=(int)480,
framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1,
interlace-mode=(string)progressive, colorimetry=(string)2:4:7:1
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps =
video/x-raw, format=(string)YUY2, width=(int)640, height=(int)480,
framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1,
interlace-mode=(string)progressive, colorimetry=(string)2:4:7:1
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:src: caps = video/x-raw,
format=(string)YUY2, width=(int)640, height=(int)480,
framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1,
interlace-mode=(string)progressive, colorimetry=(string)2:4:7:1
/GstPipeline:pipeline0/GstXvImageSink:xvimagesink0.GstPad:sink: caps =
video/x-raw, format=(string)YUY2, width=(int)640, height=(int)480,
framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1,
interlace-mode=(string)progressive, colorimetry=(string)2:4:7:1
0:00:00.362113272 27400 0x56489945d0a0 INFO          v4l2bufferpool
gstv4l2bufferpool.c:564:gst_v4l2_buffer_pool_set_config:<v4l2src0:pool:src>
reducing maximum buffers to 32
0:00:00.589588804 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.033333333
out ts 0:00:00.375615440
0:00:00.589651939 27400 0x56489945d0a0 INFO               GST_EVENT
gstevent.c:889:gst_event_new_segment: creating segment event time
segment start=0:00:00.000000000, offset=0:00:00.000000000,
stop=99:99:99.999999999, rate=1.000000, applied_rate=1.000000,
flags=0x00, time=0:00:00.000000000, base=0:00:00.000000000, position
0:00:00.000000000, duration 99:99:99.999999999
0:00:00.589715480 27400 0x56489945d0a0 INFO                 basesrc
gstbasesrc.c:2847:gst_base_src_loop:<v4l2src0> marking pending DISCONT
0:00:00.621594297 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.066666666
out ts 0:00:00.407617179
0:00:00.654021176 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.099999999
out ts 0:00:00.439618368
0:00:00.689893747 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.133333332
out ts 0:00:00.475617487
0:00:00.721910251 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.166666665
out ts 0:00:00.507647265
0:00:00.757958535 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.199999998
out ts 0:00:00.539633525
0:00:00.789852420 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.233333331
out ts 0:00:00.575639526
0:00:00.821891929 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.266666664
out ts 0:00:00.607616405
0:00:00.853938202 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.299999997
out ts 0:00:00.639616432
0:00:00.889848131 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.333333330
out ts 0:00:00.675613298
0:00:00.921879104 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.366666663
out ts 0:00:00.707639631
0:00:00.957900456 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.399999996
out ts 0:00:00.739616309
0:00:00.989604192 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.433333329
out ts 0:00:00.775617331
0:00:01.021627343 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.466666662
out ts 0:00:00.807662060
0:00:01.053915829 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.499999995
out ts 0:00:00.839609309
0:00:01.089895035 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.533333328
out ts 0:00:00.875617397
0:00:01.121866163 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.566666661
out ts 0:00:00.907644460
0:00:01.157871720 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.599999994
out ts 0:00:00.939618489
0:00:01.189948793 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.633333327
out ts 0:00:00.975642091
0:00:01.221875579 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.666666660
out ts 0:00:01.007613598
0:00:01.253878199 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.699999993
out ts 0:00:01.039629540
0:00:01.289871721 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.733333326
out ts 0:00:01.075635406
0:00:01.321867816 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.766666659
out ts 0:00:01.107612484
0:00:01.357847153 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.799999992
out ts 0:00:01.139611991
0:00:01.389945890 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.833333325
out ts 0:00:01.175613320
0:00:01.421885435 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.866666658
out ts 0:00:01.207611377
0:00:01.453879351 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.899999991
out ts 0:00:01.239647166
0:00:01.489907828 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.933333324
out ts 0:00:01.275640445
0:00:01.521883360 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.966666657
out ts 0:00:01.307640537
0:00:01.557858062 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.999999990
out ts 0:00:01.339611172
0:00:01.589949749 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:01.033333323
out ts 0:00:01.375610278
0:00:01.621568158 27400 0x56489945d0a0 INFO                 v4l2src
gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:01.066666656
out ts 0:00:01.407609796

After this last line of debug logging output, nothing happens.

Thanks
Antoine





>
> Best regards,
>
> Vivia
>
> On 5 December 2016 at 15:40, Thornton, Keith <[hidden email]> wrote:
>> Hi,
>> if you set min-threshold-time to 30000000000 you would buffer 30 seconds of video. As a consequence, no data will reach xvimagesink until you have pushed more than 30 seconds of data into the queue. If this is not what you want then tell us how it should differ from this scenario.
>>
>> -----Ursprüngliche Nachricht-----
>> Von: gstreamer-devel [mailto:[hidden email]] Im Auftrag von Antoine Martin
>> Gesendet: Montag, 5. Dezember 2016 13:44
>> An: [hidden email]
>> Betreff: buffer v4l2src for 30 seconds
>>
>> Hi,
>>
>> I want to do something seemingly very simple, but I am unable to find the correct GStreamer incantation.
>> All I want is ~30 seconds of delay between the v4l2src capture and the output (xvimagesink or whatever).
>>
>> Using the queue element I can buffer up to ~1 seconds:
>> gst-launch-1.0 -v v4l2src device=/dev/video0 !
>> video/x-raw,format=YUY2,width=640,height=480,framerate=30/1 ! queue
>> min-threshold-time=1000000000 max-size-time=10000000000 max-size-bytes=0
>> max-size-buffers=0 ! xvimagesink
>>
>> If I reduce the framerate, then I can buffer a little bit more.
>> But if I increase the min-threshold-time too much, I just get a black screen. My system has enough memory to buffer minutes of video, so what is happening here?
>>
>> I tried using the queue2 element, but this isn't actually buffering anything at all (what is the equivalent to min-threshold-time here?):
>> gst-launch-1.0 -v v4l2src device=/dev/video0 !
>> video/x-raw,format=YUY2,width=640,height=480,framerate=15/1 ! queue2
>> use-buffering=1 low-watermark=0.5  max-size-time=0 max-size-bytes=0
>> max-size-buffers=600 ! xvimagesink sync=false
>>
>> It is such a simple thing to do that I am sure GStreamer can do this, but how?
>>
>> Thanks
>> Antoine
>> _______________________________________________
>> gstreamer-devel mailing list
>> [hidden email]
>> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>> _______________________________________________
>> gstreamer-devel mailing list
>> [hidden email]
>> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>

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


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

Re: buffer v4l2src for 30 seconds

Vivia Nikolaidou
Hi,

Another workaround for what Dimitrios said is to add a tee somewhere
between the source and the queue. It will then copy the frames before
putting them into the queue.

Best regards,

Vivia

On 6 December 2016 at 15:09, Dimitrios Katsaros <[hidden email]> wrote:

> Your problem is that the v4l2src is defaulting to mmap mode, which has a
> limitation on the amount of buffers that can be mapped. In most applications
> this is not a problem but when you are buffering memory like that you will
> hit the limit (32 frames according to videodev2).
>
> You can work around this with 2 ways:
>
> a) Copy the frames before they enter the queue. you can do this using a
> probe.
> b) Set the "io-mode" to one that is not limited in the size of memory it can
> allocate. This one depends on the device you are connecting to and what it
> supports.
>
> for example, this works for me:
>
> gst-launch-1.0 v4l2src io-mode=3 ! queue min-threshold-time=10000000000
> max-size-time=100000000000 max-size-buffers=0 max-size-bytes=0  !
> videoconvert ! ximagesink --gst-debug=v4l2src:6
>
> rw is also an option for an "unlimited" amount of memory, although it is
> suboptimal since it causes additional memory copies. If you are stuck with
> mmap you can post here again and work on getting a probe running in an app
>
> Dimitrios
>
> On Mon, Dec 5, 2016 at 4:18 PM, Antoine Martin <[hidden email]>
> wrote:
>>
>> Hi,
>>
>> On 05/12/16 21:09, Vivia Nikolaidou wrote:
>> > Hi,
>> >
>> > Basically, what Keith just said - make sure you actually wait 30
>> > seconds before you see the image.
>> It is failing even with ~2 seconds.. so yes, I am waiting at least that
>> long.
>>
>> > Also don't forget to make
>> > max-size-time correspondingly bigger.
>> Sorry, I should have been clearer: it only works for delays lower than 1
>> second (or ~2 seconds with a lower framerate).
>> If I make the min-threshold-time longer, I get the "black output"
>> problem I am trying to solve. (or sometimes, just one frozen frame)
>>
>> > If it still doesn't work, please send a debug log with GST_DEBUG=\*:6
>> > and GST_DEBUG_NO_COLOR=1 .
>> Here's an example of it getting stuck with just 2 seconds of delay
>> (max-size-time is high enough for that already):
>>
>>
>> GST_DEBUG=4 GST_DEBUG_NO_COLOR=1 gst-launch-1.0 -v v4l2src
>> device=/dev/video0 !
>> video/x-raw,format=YUY2,width=640,height=480,framerate=30/1 ! queue
>> min-threshold-time=2000000000 max-size-time=20000000000 max-size-bytes=0
>> max-size-buffers=0 ! xvimagesink
>> 0:00:00.000037599 27400 0x564899256c00 INFO                GST_INIT
>> gst.c:510:init_pre: Initializing GStreamer Core Library version 1.10.0
>> 0:00:00.000066126 27400 0x564899256c00 INFO                GST_INIT
>> gst.c:511:init_pre: Using library installed in /usr/lib64
>> 0:00:00.000072324 27400 0x564899256c00 INFO                GST_INIT
>> gst.c:522:init_pre: Linux desktop 4.8.10-300.fc25.x86_64 #1 SMP Mon Nov
>> 21 18:59:16 UTC 2016 x86_64
>> 0:00:00.000252264 27400 0x564899256c00 INFO                GST_INIT
>> gstmessage.c:126:_priv_gst_message_initialize: init messages
>> 0:00:00.000632823 27400 0x564899256c00 INFO                GST_INIT
>> gstcontext.c:83:_priv_gst_context_initialize: init contexts
>> 0:00:00.000991487 27400 0x564899256c00 INFO      GST_PLUGIN_LOADING
>> gstplugin.c:316:_priv_gst_plugin_initialize: registering 0 static plugins
>> 0:00:00.001070486 27400 0x564899256c00 INFO      GST_PLUGIN_LOADING
>> gstplugin.c:224:gst_plugin_register_static: registered static plugin
>> "staticelements"
>> 0:00:00.001078927 27400 0x564899256c00 INFO      GST_PLUGIN_LOADING
>> gstplugin.c:226:gst_plugin_register_static: added static plugin
>> "staticelements", result: 1
>> 0:00:00.001094477 27400 0x564899256c00 INFO            GST_REGISTRY
>> gstregistry.c:1738:ensure_current_registry: reading registry cache:
>> /home/antoine/.cache/gstreamer-1.0/registry.x86_64.bin
>> 0:00:00.009389863 27400 0x564899256c00 INFO            GST_REGISTRY
>> gstregistrybinary.c:619:priv_gst_registry_binary_read_cache: loaded
>> /home/antoine/.cache/gstreamer-1.0/registry.x86_64.bin in 0.008285 seconds
>> 0:00:00.009416470 27400 0x564899256c00 INFO            GST_REGISTRY
>> gstregistry.c:1594:scan_and_update_registry: Validating plugins from
>> registry cache: /home/antoine/.cache/gstreamer-1.0/registry.x86_64.bin
>> 0:00:00.009990096 27400 0x564899256c00 INFO            GST_REGISTRY
>> gstregistry.c:1696:scan_and_update_registry: Registry cache has not
>> changed
>> 0:00:00.009995248 27400 0x564899256c00 INFO            GST_REGISTRY
>> gstregistry.c:1773:ensure_current_registry: registry reading and
>> updating done, result = 1
>> 0:00:00.009999061 27400 0x564899256c00 INFO                GST_INIT
>> gst.c:720:init_post: GLib runtime version: 2.50.2
>> 0:00:00.010006551 27400 0x564899256c00 INFO                GST_INIT
>> gst.c:722:init_post: GLib headers version: 2.50.1
>> 0:00:00.010009037 27400 0x564899256c00 INFO                GST_INIT
>> gst.c:723:init_post: initialized GStreamer successfully
>> 0:00:00.010020022 27400 0x564899256c00 INFO            GST_PIPELINE
>> gstparse.c:325:gst_parse_launch_full: parsing pipeline description
>> 'v4l2src device=/dev/video0 !
>> video/x-raw,format=YUY2,width=640,height=480,framerate=30/1 ! queue
>> min-threshold-time=2000000000 max-size-time=20000000000 max-size-bytes=0
>> max-size-buffers=0 ! xvimagesink '
>> 0:00:00.010579872 27400 0x564899256c00 INFO      GST_PLUGIN_LOADING
>> gstplugin.c:842:_priv_gst_plugin_load_file_for_registry: plugin
>> "/usr/lib64/gstreamer-1.0/libgstvideo4linux2.so" loaded
>> 0:00:00.010587244 27400 0x564899256c00 INFO     GST_ELEMENT_FACTORY
>> gstelementfactory.c:364:gst_element_factory_create: creating element
>> "v4l2src"
>> 0:00:00.010909751 27400 0x564899256c00 INFO        GST_ELEMENT_PADS
>> gstelement.c:668:gst_element_add_pad:<GstBaseSrc@0x5648994480f0> adding
>> pad 'src'
>> 0:00:00.011110931 27400 0x564899256c00 INFO      GST_PLUGIN_LOADING
>> gstplugin.c:842:_priv_gst_plugin_load_file_for_registry: plugin
>> "/usr/lib64/gstreamer-1.0/libgstcoreelements.so" loaded
>> 0:00:00.011116130 27400 0x564899256c00 INFO     GST_ELEMENT_FACTORY
>> gstelementfactory.c:364:gst_element_factory_create: creating element
>> "queue"
>> 0:00:00.011154999 27400 0x564899256c00 INFO        GST_ELEMENT_PADS
>> gstelement.c:668:gst_element_add_pad:<GstQueue@0x564899450210> adding
>> pad 'sink'
>> 0:00:00.011162626 27400 0x564899256c00 INFO        GST_ELEMENT_PADS
>> gstelement.c:668:gst_element_add_pad:<GstQueue@0x564899450210> adding
>> pad 'src'
>> 0:00:00.011664133 27400 0x564899256c00 INFO      GST_PLUGIN_LOADING
>> gstplugin.c:842:_priv_gst_plugin_load_file_for_registry: plugin
>> "/usr/lib64/gstreamer-1.0/libgstxvimagesink.so" loaded
>> 0:00:00.011669639 27400 0x564899256c00 INFO     GST_ELEMENT_FACTORY
>> gstelementfactory.c:364:gst_element_factory_create: creating element
>> "xvimagesink"
>> 0:00:00.011721796 27400 0x564899256c00 INFO        GST_ELEMENT_PADS
>> gstelement.c:668:gst_element_add_pad:<GstBaseSink@0x564899457bc0> adding
>> pad 'sink'
>> 0:00:00.011730840 27400 0x564899256c00 INFO     GST_ELEMENT_FACTORY
>> gstelementfactory.c:364:gst_element_factory_create: creating element
>> "pipeline"
>> 0:00:00.011786799 27400 0x564899256c00 INFO            GST_PIPELINE
>> grammar.y:596:gst_parse_perform_link: linking some pad of GstV4l2Src
>> named v4l2src0 to some pad of GstQueue named queue0 (0/0) with caps
>> "video/x-raw, format=(string)YUY2, width=(int)640, height=(int)480,
>> framerate=(fraction)30/1"
>> 0:00:00.011797990 27400 0x564899256c00 INFO     GST_ELEMENT_FACTORY
>> gstelementfactory.c:364:gst_element_factory_create: creating element
>> "capsfilter"
>> 0:00:00.011834045 27400 0x564899256c00 INFO        GST_ELEMENT_PADS
>> gstelement.c:668:gst_element_add_pad:<GstBaseTransform@0x56489945e320>
>> adding pad 'sink'
>> 0:00:00.011840239 27400 0x564899256c00 INFO        GST_ELEMENT_PADS
>> gstelement.c:668:gst_element_add_pad:<GstBaseTransform@0x56489945e320>
>> adding pad 'src'
>> 0:00:00.011844676 27400 0x564899256c00 INFO              GST_STATES
>> gstbin.c:2104:gst_bin_get_state_func:<pipeline0> getting state
>> 0:00:00.011850851 27400 0x564899256c00 INFO              GST_STATES
>> gstelement.c:2419:gst_element_continue_state:<capsfilter0> completed
>> state change to NULL
>> 0:00:00.011854766 27400 0x564899256c00 INFO               GST_EVENT
>> gstevent.c:1511:gst_event_new_reconfigure: creating reconfigure event
>> 0:00:00.011858264 27400 0x564899256c00 INFO        GST_ELEMENT_PADS
>> gstutils.c:1632:gst_element_link_pads_full: trying to link element
>> v4l2src0:(any) to element capsfilter0:sink
>> 0:00:00.011861372 27400 0x564899256c00 INFO        GST_ELEMENT_PADS
>> gstelement.c:916:gst_element_get_static_pad: found pad capsfilter0:sink
>> 0:00:00.011863601 27400 0x564899256c00 INFO                GST_PADS
>> gstutils.c:1446:prepare_link_maybe_ghosting: v4l2src0 and capsfilter0 in
>> same bin, no need for ghost pads
>> 0:00:00.011868802 27400 0x564899256c00 INFO                GST_PADS
>> gstpad.c:2315:gst_pad_link_prepare: trying to link v4l2src0:src and
>> capsfilter0:sink
>> 0:00:00.011875093 27400 0x564899256c00 INFO                GST_PADS
>> gstpad.c:4115:gst_pad_peer_query:<capsfilter0:src> pad has no peer
>> 0:00:00.011880786 27400 0x564899256c00 INFO                GST_PADS
>> gstpad.c:2521:gst_pad_link_full: linked v4l2src0:src and
>> capsfilter0:sink, successful
>> 0:00:00.011883208 27400 0x564899256c00 INFO               GST_EVENT
>> gstevent.c:1511:gst_event_new_reconfigure: creating reconfigure event
>> 0:00:00.011886401 27400 0x564899256c00 INFO               GST_EVENT
>> gstpad.c:5655:gst_pad_send_event_unchecked:<v4l2src0:src> Received event
>> on flushing pad. Discarding
>> 0:00:00.011890641 27400 0x564899256c00 INFO        GST_ELEMENT_PADS
>> gstutils.c:1632:gst_element_link_pads_full: trying to link element
>> capsfilter0:src to element queue0:(any)
>> 0:00:00.011893713 27400 0x564899256c00 INFO        GST_ELEMENT_PADS
>> gstelement.c:916:gst_element_get_static_pad: found pad capsfilter0:src
>> 0:00:00.011896883 27400 0x564899256c00 INFO                GST_PADS
>> gstutils.c:932:gst_pad_check_link: trying to link capsfilter0:src and
>> queue0:sink
>> 0:00:00.011905551 27400 0x564899256c00 INFO                GST_PADS
>> gstpad.c:4115:gst_pad_peer_query:<queue0:src> pad has no peer
>> 0:00:00.011908829 27400 0x564899256c00 INFO                GST_PADS
>> gstutils.c:1446:prepare_link_maybe_ghosting: capsfilter0 and queue0 in
>> same bin, no need for ghost pads
>> 0:00:00.011912385 27400 0x564899256c00 INFO                GST_PADS
>> gstpad.c:2315:gst_pad_link_prepare: trying to link capsfilter0:src and
>> queue0:sink
>> 0:00:00.011918928 27400 0x564899256c00 INFO                GST_PADS
>> gstpad.c:4115:gst_pad_peer_query:<queue0:src> pad has no peer
>> 0:00:00.011921830 27400 0x564899256c00 INFO                GST_PADS
>> gstpad.c:2521:gst_pad_link_full: linked capsfilter0:src and queue0:sink,
>> successful
>> 0:00:00.011924548 27400 0x564899256c00 INFO               GST_EVENT
>> gstevent.c:1511:gst_event_new_reconfigure: creating reconfigure event
>> 0:00:00.011926588 27400 0x564899256c00 INFO               GST_EVENT
>> gstpad.c:5655:gst_pad_send_event_unchecked:<capsfilter0:src> Received
>> event on flushing pad. Discarding
>> 0:00:00.011930139 27400 0x564899256c00 INFO            GST_PIPELINE
>> grammar.y:596:gst_parse_perform_link: linking some pad of GstQueue named
>> queue0 to some pad of GstXvImageSink named xvimagesink0 (0/0) with caps
>> "(NULL)"
>> 0:00:00.011935471 27400 0x564899256c00 INFO        GST_ELEMENT_PADS
>> gstutils.c:1632:gst_element_link_pads_full: trying to link element
>> queue0:(any) to element xvimagesink0:(any)
>> 0:00:00.011938544 27400 0x564899256c00 INFO                GST_PADS
>> gstutils.c:932:gst_pad_check_link: trying to link queue0:src and
>> xvimagesink0:sink
>> 0:00:00.011949453 27400 0x564899256c00 INFO                GST_PADS
>> gstutils.c:1446:prepare_link_maybe_ghosting: queue0 and xvimagesink0 in
>> same bin, no need for ghost pads
>> 0:00:00.011952609 27400 0x564899256c00 INFO                GST_PADS
>> gstpad.c:2315:gst_pad_link_prepare: trying to link queue0:src and
>> xvimagesink0:sink
>> 0:00:00.011959275 27400 0x564899256c00 INFO                GST_PADS
>> gstpad.c:2521:gst_pad_link_full: linked queue0:src and
>> xvimagesink0:sink, successful
>> 0:00:00.011961582 27400 0x564899256c00 INFO               GST_EVENT
>> gstevent.c:1511:gst_event_new_reconfigure: creating reconfigure event
>> 0:00:00.011963109 27400 0x564899256c00 INFO               GST_EVENT
>> gstpad.c:5655:gst_pad_send_event_unchecked:<queue0:src> Received event
>> on flushing pad. Discarding
>> Setting pipeline to PAUSED ...
>> 0:00:00.011978324 27400 0x564899256c00 INFO              GST_STATES
>> gstbin.c:2515:gst_bin_element_set_state:<xvimagesink0> current NULL
>> pending VOID_PENDING, desired next READY
>> 0:00:00.012569531 27400 0x564899256c00 INFO              GST_STATES
>> gstelement.c:2419:gst_element_continue_state:<xvimagesink0> completed
>> state change to READY
>> 0:00:00.012574946 27400 0x564899256c00 INFO              GST_STATES
>> gstelement.c:2324:_priv_gst_element_state_changed:<xvimagesink0>
>> notifying about state-changed NULL to READY (VOID_PENDING pending)
>> 0:00:00.012581482 27400 0x564899256c00 INFO              GST_STATES
>> gstbin.c:2963:gst_bin_change_state_func:<pipeline0> child 'xvimagesink0'
>> changed state to 2(READY) successfully
>> 0:00:00.012586047 27400 0x564899256c00 INFO              GST_STATES
>> gstbin.c:2515:gst_bin_element_set_state:<queue0> current NULL pending
>> VOID_PENDING, desired next READY
>> 0:00:00.012588917 27400 0x564899256c00 INFO              GST_STATES
>> gstelement.c:2419:gst_element_continue_state:<queue0> completed state
>> change to READY
>> 0:00:00.012590598 27400 0x564899256c00 INFO              GST_STATES
>> gstelement.c:2324:_priv_gst_element_state_changed:<queue0> notifying
>> about state-changed NULL to READY (VOID_PENDING pending)
>> 0:00:00.012593492 27400 0x564899256c00 INFO              GST_STATES
>> gstbin.c:2963:gst_bin_change_state_func:<pipeline0> child 'queue0'
>> changed state to 2(READY) successfully
>> 0:00:00.012596314 27400 0x564899256c00 INFO              GST_STATES
>> gstbin.c:2515:gst_bin_element_set_state:<capsfilter0> current NULL
>> pending VOID_PENDING, desired next READY
>> 0:00:00.012598677 27400 0x564899256c00 INFO              GST_STATES
>> gstelement.c:2419:gst_element_continue_state:<capsfilter0> completed
>> state change to READY
>> 0:00:00.012600916 27400 0x564899256c00 INFO              GST_STATES
>> gstelement.c:2324:_priv_gst_element_state_changed:<capsfilter0>
>> notifying about state-changed NULL to READY (VOID_PENDING pending)
>> 0:00:00.012604306 27400 0x564899256c00 INFO              GST_STATES
>> gstbin.c:2963:gst_bin_change_state_func:<pipeline0> child 'capsfilter0'
>> changed state to 2(READY) successfully
>> 0:00:00.012607476 27400 0x564899256c00 INFO              GST_STATES
>> gstbin.c:2515:gst_bin_element_set_state:<v4l2src0> current NULL pending
>> VOID_PENDING, desired next READY
>> 0:00:00.184160042 27400 0x564899256c00 INFO                    v4l2
>> v4l2_calls.c:592:gst_v4l2_open:<v4l2src0> Opened device 'HD Pro Webcam
>> C920' (/dev/video0) successfully
>> 0:00:00.184223467 27400 0x564899256c00 INFO              GST_STATES
>> gstelement.c:2419:gst_element_continue_state:<v4l2src0> completed state
>> change to READY
>> 0:00:00.184245914 27400 0x564899256c00 INFO              GST_STATES
>> gstelement.c:2324:_priv_gst_element_state_changed:<v4l2src0> notifying
>> about state-changed NULL to READY (VOID_PENDING pending)
>> 0:00:00.184288764 27400 0x564899256c00 INFO              GST_STATES
>> gstbin.c:2963:gst_bin_change_state_func:<pipeline0> child 'v4l2src0'
>> changed state to 2(READY) successfully
>> 0:00:00.184317170 27400 0x564899256c00 INFO              GST_STATES
>> gstelement.c:2394:gst_element_continue_state:<pipeline0> committing
>> state from NULL to READY, pending PAUSED, next PAUSED
>> 0:00:00.184335945 27400 0x564899256c00 INFO              GST_STATES
>> gstelement.c:2324:_priv_gst_element_state_changed:<pipeline0> notifying
>> about state-changed NULL to READY (PAUSED pending)
>> 0:00:00.184393295 27400 0x564899256c00 INFO              GST_STATES
>> gstelement.c:2401:gst_element_continue_state:<pipeline0> continue state
>> change READY to PAUSED, final PAUSED
>> 0:00:00.184438204 27400 0x564899256c00 INFO              GST_STATES
>> gstbin.c:2515:gst_bin_element_set_state:<xvimagesink0> current READY
>> pending VOID_PENDING, desired next PAUSED
>> 0:00:00.184475040 27400 0x564899256c00 INFO              GST_STATES
>> gstbin.c:2969:gst_bin_change_state_func:<pipeline0> child 'xvimagesink0'
>> is changing state asynchronously to PAUSED
>> 0:00:00.184498013 27400 0x564899256c00 INFO              GST_STATES
>> gstbin.c:2515:gst_bin_element_set_state:<queue0> current READY pending
>> VOID_PENDING, desired next PAUSED
>> 0:00:00.184560512 27400 0x564899256c00 INFO                    task
>> gsttask.c:456:gst_task_set_lock: setting stream lock 0x56489944a520 on
>> task 0x564899475050
>> 0:00:00.184580652 27400 0x564899256c00 INFO                GST_PADS
>> gstpad.c:6001:gst_pad_start_task:<queue0:src> created task 0x564899475050
>> 0:00:00.184671197 27400 0x564899256c00 INFO              GST_STATES
>> gstelement.c:2419:gst_element_continue_state:<queue0> completed state
>> change to PAUSED
>> 0:00:00.184688259 27400 0x564899256c00 INFO              GST_STATES
>> gstelement.c:2324:_priv_gst_element_state_changed:<queue0> notifying
>> about state-changed READY to PAUSED (VOID_PENDING pending)
>> 0:00:00.184707588 27400 0x564899256c00 INFO              GST_STATES
>> gstbin.c:2963:gst_bin_change_state_func:<pipeline0> child 'queue0'
>> changed state to 3(PAUSED) successfully
>> 0:00:00.184725386 27400 0x564899256c00 INFO              GST_STATES
>> gstbin.c:2515:gst_bin_element_set_state:<capsfilter0> current READY
>> pending VOID_PENDING, desired next PAUSED
>> 0:00:00.184751822 27400 0x564899256c00 INFO              GST_STATES
>> gstelement.c:2419:gst_element_continue_state:<capsfilter0> completed
>> state change to PAUSED
>> 0:00:00.184766750 27400 0x564899256c00 INFO              GST_STATES
>> gstelement.c:2324:_priv_gst_element_state_changed:<capsfilter0>
>> notifying about state-changed READY to PAUSED (VOID_PENDING pending)
>> 0:00:00.184792399 27400 0x564899256c00 INFO              GST_STATES
>> gstbin.c:2963:gst_bin_change_state_func:<pipeline0> child 'capsfilter0'
>> changed state to 3(PAUSED) successfully
>> 0:00:00.184827829 27400 0x564899256c00 INFO              GST_STATES
>> gstbin.c:2515:gst_bin_element_set_state:<v4l2src0> current READY pending
>> VOID_PENDING, desired next PAUSED
>> 0:00:00.184858155 27400 0x564899256c00 INFO                 basesrc
>> gstbasesrc.c:1343:gst_base_src_do_seek:<v4l2src0> seeking: time segment
>> start=0:00:00.000000000, offset=0:00:00.000000000,
>> stop=99:99:99.999999999, rate=1.000000, applied_rate=1.000000,
>> flags=0x00, time=0:00:00.000000000, base=0:00:00.000000000, position
>> 0:00:00.000000000, duration 99:99:99.999999999
>> 0:00:00.184910233 27400 0x564899256c00 INFO                    task
>> gsttask.c:456:gst_task_set_lock: setting stream lock 0x56489944a0a0 on
>> task 0x564899475170
>> 0:00:00.184928124 27400 0x564899256c00 INFO                GST_PADS
>> gstpad.c:6001:gst_pad_start_task:<v4l2src0:src> created task
>> 0x564899475170
>> 0:00:00.185011744 27400 0x564899256c00 INFO              GST_STATES
>> gstelement.c:2419:gst_element_continue_state:<v4l2src0> completed state
>> change to PAUSED
>> 0:00:00.185029999 27400 0x564899256c00 INFO              GST_STATES
>> gstelement.c:2324:_priv_gst_element_state_changed:<v4l2src0> notifying
>> about state-changed READY to PAUSED (VOID_PENDING pending)
>> 0:00:00.185058282 27400 0x564899256c00 INFO              GST_STATES
>> gstbin.c:3006:gst_bin_change_state_func:<pipeline0> child 'v4l2src0'
>> changed state to 3(PAUSED) successfully without preroll
>> 0:00:00.185086420 27400 0x564899256c00 INFO              GST_STATES
>> gstelement.c:2419:gst_element_continue_state:<pipeline0> completed state
>> change to PAUSED
>> 0:00:00.185099632 27400 0x564899256c00 INFO              GST_STATES
>> gstelement.c:2324:_priv_gst_element_state_changed:<pipeline0> notifying
>> about state-changed READY to PAUSED (VOID_PENDING pending)
>> 0:00:00.185088935 27400 0x56489945d0a0 INFO        GST_ELEMENT_PADS
>> gstelement.c:913:gst_element_get_static_pad: no such pad 'sink' in
>> element "v4l2src0"
>> Pipeline is live and does not need PREROLL ...
>> 0:00:00.185331830 27400 0x56489945d0a0 INFO                    v4l2
>> gstv4l2object.c:1150:gst_v4l2_object_fill_format_list:<v4l2src0> got 7
>> format(s):
>> 0:00:00.185356783 27400 0x56489945d0a0 INFO                    v4l2
>> gstv4l2object.c:1156:gst_v4l2_object_fill_format_list:<v4l2src0>   YUYV
>> 0:00:00.185372121 27400 0x56489945d0a0 INFO                    v4l2
>> gstv4l2object.c:1156:gst_v4l2_object_fill_format_list:<v4l2src0>   MJPG
>> 0:00:00.185383658 27400 0x56489945d0a0 INFO                    v4l2
>> gstv4l2object.c:1156:gst_v4l2_object_fill_format_list:<v4l2src0>   YU12
>> (emulated)
>> 0:00:00.185395408 27400 0x56489945d0a0 INFO                    v4l2
>> gstv4l2object.c:1156:gst_v4l2_object_fill_format_list:<v4l2src0>   YV12
>> (emulated)
>> 0:00:00.185415525 27400 0x56489945d0a0 INFO                    v4l2
>> gstv4l2object.c:1156:gst_v4l2_object_fill_format_list:<v4l2src0>   BGR3
>> (emulated)
>> 0:00:00.185444546 27400 0x56489945d0a0 INFO                    v4l2
>> gstv4l2object.c:1156:gst_v4l2_object_fill_format_list:<v4l2src0>   RGB3
>> (emulated)
>> 0:00:00.185465995 27400 0x56489945d0a0 INFO                    v4l2
>> gstv4l2object.c:1156:gst_v4l2_object_fill_format_list:<v4l2src0>   H264
>> Setting pipeline to PLAYING ...
>> 0:00:00.186002357 27400 0x564899256c00 INFO               GST_EVENT
>> gstevent.c:1382:gst_event_new_latency: creating latency event
>> 0:00:00.000000000
>> 0:00:00.186060829 27400 0x564899256c00 INFO                     bin
>> gstbin.c:2792:gst_bin_do_latency_func:<pipeline0> configured latency of
>> 0:00:00.000000000
>> 0:00:00.186098584 27400 0x564899256c00 INFO              GST_STATES
>> gstbin.c:2515:gst_bin_element_set_state:<xvimagesink0> current READY
>> pending PAUSED, desired next PLAYING
>> 0:00:00.186127078 27400 0x564899256c00 INFO              GST_STATES
>> gstbin.c:2969:gst_bin_change_state_func:<pipeline0> child 'xvimagesink0'
>> is changing state asynchronously to PLAYING
>> 0:00:00.186156627 27400 0x564899256c00 INFO              GST_STATES
>> gstbin.c:2515:gst_bin_element_set_state:<queue0> current PAUSED pending
>> VOID_PENDING, desired next PLAYING
>> 0:00:00.186174601 27400 0x564899256c00 INFO              GST_STATES
>> gstelement.c:2419:gst_element_continue_state:<queue0> completed state
>> change to PLAYING
>> 0:00:00.186184065 27400 0x564899256c00 INFO              GST_STATES
>> gstelement.c:2324:_priv_gst_element_state_changed:<queue0> notifying
>> about state-changed PAUSED to PLAYING (VOID_PENDING pending)
>> 0:00:00.186201901 27400 0x564899256c00 INFO              GST_STATES
>> gstbin.c:2963:gst_bin_change_state_func:<pipeline0> child 'queue0'
>> changed state to 4(PLAYING) successfully
>> 0:00:00.186220801 27400 0x564899256c00 INFO              GST_STATES
>> gstbin.c:2515:gst_bin_element_set_state:<capsfilter0> current PAUSED
>> pending VOID_PENDING, desired next PLAYING
>> 0:00:00.186246911 27400 0x564899256c00 INFO              GST_STATES
>> gstelement.c:2419:gst_element_continue_state:<capsfilter0> completed
>> state change to PLAYING
>> 0:00:00.186258119 27400 0x564899256c00 INFO              GST_STATES
>> gstelement.c:2324:_priv_gst_element_state_changed:<capsfilter0>
>> notifying about state-changed PAUSED to PLAYING (VOID_PENDING pending)
>> 0:00:00.186273601 27400 0x564899256c00 INFO              GST_STATES
>> gstbin.c:2963:gst_bin_change_state_func:<pipeline0> child 'capsfilter0'
>> changed state to 4(PLAYING) successfully
>> 0:00:00.186304967 27400 0x564899256c00 INFO              GST_STATES
>> gstelement.c:2419:gst_element_continue_state:<v4l2src0> completed state
>> change to PLAYING
>> 0:00:00.186318883 27400 0x564899256c00 INFO              GST_STATES
>> gstelement.c:2324:_priv_gst_element_state_changed:<v4l2src0> notifying
>> about state-changed PAUSED to PLAYING (VOID_PENDING pending)
>> 0:00:00.186358777 27400 0x564899256c00 INFO              GST_STATES
>> gstbin.c:2963:gst_bin_change_state_func:<pipeline0> child 'v4l2src0'
>> changed state to 4(PLAYING) successfully
>> New clock: GstSystemClock
>> 0:00:00.356780147 27400 0x56489945d0a0 INFO                    v4l2
>> gstv4l2object.c:3907:gst_v4l2_object_get_caps:<v4l2src0> probed caps:
>> video/x-raw, format=(string)YUY2, width=(int)2304, height=(int)1536,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> colorimetry=(string){ 2:4:7:1 }, framerate=(fraction)2/1; video/x-raw,
>> format=(string)YUY2, width=(int)2304, height=(int)1296,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> colorimetry=(string){ 2:4:7:1 }, framerate=(fraction)2/1; video/x-raw,
>> format=(string)YUY2, width=(int)1920, height=(int)1080,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> colorimetry=(string){ 2:4:7:1 }, framerate=(fraction)5/1; video/x-raw,
>> format=(string)YUY2, width=(int)1600, height=(int)896,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 15/2, 5/1 };
>> video/x-raw, format=(string)YUY2, width=(int)1280, height=(int)720,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 10/1, 15/2, 5/1
>> }; video/x-raw, format=(string)YUY2, width=(int)960, height=(int)720,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 15/1, 10/1, 15/2,
>> 5/1 }; video/x-raw, format=(string)YUY2, width=(int)1024,
>> height=(int)576, pixel-aspect-ratio=(fraction)1/1,
>> interlace-mode=(string)progressive, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 15/1, 10/1, 15/2, 5/1 }; video/x-raw,
>> format=(string)YUY2, width=(int)800, height=(int)600,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 24/1, 20/1, 15/1,
>> 10/1, 15/2, 5/1 }; video/x-raw, format=(string)YUY2, width=(int)864,
>> height=(int)480, pixel-aspect-ratio=(fraction)1/1,
>> interlace-mode=(string)progressive, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 }; video/x-raw,
>> format=(string)YUY2, width=(int)800, height=(int)448,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1,
>> 15/1, 10/1, 15/2, 5/1 }; video/x-raw, format=(string)YUY2,
>> width=(int)640, height=(int)480, pixel-aspect-ratio=(fraction)1/1,
>> interlace-mode=(string)progressive, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)YUY2, width=(int)640, height=(int)360,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1,
>> 15/1, 10/1, 15/2, 5/1 }; video/x-raw, format=(string)YUY2,
>> width=(int)432, height=(int)240, pixel-aspect-ratio=(fraction)1/1,
>> interlace-mode=(string)progressive, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)YUY2, width=(int)352, height=(int)288,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1,
>> 15/1, 10/1, 15/2, 5/1 }; video/x-raw, format=(string)YUY2,
>> width=(int)320, height=(int)240, pixel-aspect-ratio=(fraction)1/1,
>> interlace-mode=(string)progressive, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)YUY2, width=(int)320, height=(int)180,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1,
>> 15/1, 10/1, 15/2, 5/1 }; video/x-raw, format=(string)YUY2,
>> width=(int)176, height=(int)144, pixel-aspect-ratio=(fraction)1/1,
>> interlace-mode=(string)progressive, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)YUY2, width=(int)160, height=(int)120,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1,
>> 15/1, 10/1, 15/2, 5/1 }; video/x-raw, format=(string)YUY2,
>> width=(int)160, height=(int)90, pixel-aspect-ratio=(fraction)1/1,
>> interlace-mode=(string)progressive, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> image/jpeg, width=(int)1920, height=(int)1080,
>> pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> image/jpeg, width=(int)1600, height=(int)896,
>> pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> image/jpeg, width=(int)1280, height=(int)720,
>> pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> image/jpeg, width=(int)960, height=(int)720,
>> pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> image/jpeg, width=(int)1024, height=(int)576,
>> pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> image/jpeg, width=(int)800, height=(int)600,
>> pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> image/jpeg, width=(int)864, height=(int)480,
>> pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> image/jpeg, width=(int)800, height=(int)448,
>> pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> image/jpeg, width=(int)640, height=(int)480,
>> pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> image/jpeg, width=(int)640, height=(int)360,
>> pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> image/jpeg, width=(int)432, height=(int)240,
>> pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> image/jpeg, width=(int)352, height=(int)288,
>> pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> image/jpeg, width=(int)320, height=(int)240,
>> pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> image/jpeg, width=(int)320, height=(int)180,
>> pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> image/jpeg, width=(int)176, height=(int)144,
>> pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> image/jpeg, width=(int)160, height=(int)120,
>> pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> image/jpeg, width=(int)160, height=(int)90,
>> pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)I420, width=(int)2304, height=(int)1536,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction)2/1; video/x-raw, format=(string)I420,
>> width=(int)2304, height=(int)1296, pixel-aspect-ratio=(fraction)1/1,
>> interlace-mode=(string)progressive, framerate=(fraction)2/1;
>> video/x-raw, format=(string)I420, width=(int)1920, height=(int)1080,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)I420, width=(int)1600, height=(int)896,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)I420, width=(int)1280, height=(int)720,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)I420, width=(int)960, height=(int)720,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)I420, width=(int)1024, height=(int)576,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)I420, width=(int)800, height=(int)600,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)I420, width=(int)864, height=(int)480,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)I420, width=(int)800, height=(int)448,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)I420, width=(int)640, height=(int)480,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)I420, width=(int)640, height=(int)360,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)I420, width=(int)432, height=(int)240,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)I420, width=(int)352, height=(int)288,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)I420, width=(int)320, height=(int)240,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)I420, width=(int)320, height=(int)180,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)I420, width=(int)176, height=(int)144,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)I420, width=(int)160, height=(int)120,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)I420, width=(int)160, height=(int)90,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)YV12, width=(int)2304, height=(int)1536,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction)2/1; video/x-raw, format=(string)YV12,
>> width=(int)2304, height=(int)1296, pixel-aspect-ratio=(fraction)1/1,
>> interlace-mode=(string)progressive, framerate=(fraction)2/1;
>> video/x-raw, format=(string)YV12, width=(int)1920, height=(int)1080,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)YV12, width=(int)1600, height=(int)896,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)YV12, width=(int)1280, height=(int)720,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)YV12, width=(int)960, height=(int)720,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)YV12, width=(int)1024, height=(int)576,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)YV12, width=(int)800, height=(int)600,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)YV12, width=(int)864, height=(int)480,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)YV12, width=(int)800, height=(int)448,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)YV12, width=(int)640, height=(int)480,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)YV12, width=(int)640, height=(int)360,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)YV12, width=(int)432, height=(int)240,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)YV12, width=(int)352, height=(int)288,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)YV12, width=(int)320, height=(int)240,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)YV12, width=(int)320, height=(int)180,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)YV12, width=(int)176, height=(int)144,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)YV12, width=(int)160, height=(int)120,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)YV12, width=(int)160, height=(int)90,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)BGR, width=(int)2304, height=(int)1536,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction)2/1; video/x-raw, format=(string)BGR,
>> width=(int)2304, height=(int)1296, pixel-aspect-ratio=(fraction)1/1,
>> interlace-mode=(string)progressive, framerate=(fraction)2/1;
>> video/x-raw, format=(string)BGR, width=(int)1920, height=(int)1080,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)BGR, width=(int)1600, height=(int)896,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)BGR, width=(int)1280, height=(int)720,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)BGR, width=(int)960, height=(int)720,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)BGR, width=(int)1024, height=(int)576,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)BGR, width=(int)800, height=(int)600,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)BGR, width=(int)864, height=(int)480,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)BGR, width=(int)800, height=(int)448,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)BGR, width=(int)640, height=(int)480,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)BGR, width=(int)640, height=(int)360,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)BGR, width=(int)432, height=(int)240,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)BGR, width=(int)352, height=(int)288,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)BGR, width=(int)320, height=(int)240,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)BGR, width=(int)320, height=(int)180,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)BGR, width=(int)176, height=(int)144,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)BGR, width=(int)160, height=(int)120,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)BGR, width=(int)160, height=(int)90,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)RGB, width=(int)2304, height=(int)1536,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction)2/1; video/x-raw, format=(string)RGB,
>> width=(int)2304, height=(int)1296, pixel-aspect-ratio=(fraction)1/1,
>> interlace-mode=(string)progressive, framerate=(fraction)2/1;
>> video/x-raw, format=(string)RGB, width=(int)1920, height=(int)1080,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)RGB, width=(int)1600, height=(int)896,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)RGB, width=(int)1280, height=(int)720,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)RGB, width=(int)960, height=(int)720,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)RGB, width=(int)1024, height=(int)576,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)RGB, width=(int)800, height=(int)600,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)RGB, width=(int)864, height=(int)480,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)RGB, width=(int)800, height=(int)448,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)RGB, width=(int)640, height=(int)480,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)RGB, width=(int)640, height=(int)360,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)RGB, width=(int)432, height=(int)240,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)RGB, width=(int)352, height=(int)288,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)RGB, width=(int)320, height=(int)240,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)RGB, width=(int)320, height=(int)180,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)RGB, width=(int)176, height=(int)144,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)RGB, width=(int)160, height=(int)120,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-raw, format=(string)RGB, width=(int)160, height=(int)90,
>> pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-h264, stream-format=(string)byte-stream, alignment=(string)au,
>> width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1,
>> colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1,
>> 15/1, 10/1, 15/2, 5/1 }; video/x-h264,
>> stream-format=(string)byte-stream, alignment=(string)au,
>> width=(int)1600, height=(int)896, pixel-aspect-ratio=(fraction)1/1,
>> colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1,
>> 15/1, 10/1, 15/2, 5/1 }; video/x-h264,
>> stream-format=(string)byte-stream, alignment=(string)au,
>> width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1,
>> colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1,
>> 15/1, 10/1, 15/2, 5/1 }; video/x-h264,
>> stream-format=(string)byte-stream, alignment=(string)au, width=(int)960,
>> height=(int)720, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){
>> 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1
>> }; video/x-h264, stream-format=(string)byte-stream,
>> alignment=(string)au, width=(int)1024, height=(int)576,
>> pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-h264, stream-format=(string)byte-stream, alignment=(string)au,
>> width=(int)800, height=(int)600, pixel-aspect-ratio=(fraction)1/1,
>> colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1,
>> 15/1, 10/1, 15/2, 5/1 }; video/x-h264,
>> stream-format=(string)byte-stream, alignment=(string)au, width=(int)864,
>> height=(int)480, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){
>> 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1
>> }; video/x-h264, stream-format=(string)byte-stream,
>> alignment=(string)au, width=(int)800, height=(int)448,
>> pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-h264, stream-format=(string)byte-stream, alignment=(string)au,
>> width=(int)640, height=(int)480, pixel-aspect-ratio=(fraction)1/1,
>> colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1,
>> 15/1, 10/1, 15/2, 5/1 }; video/x-h264,
>> stream-format=(string)byte-stream, alignment=(string)au, width=(int)640,
>> height=(int)360, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){
>> 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1
>> }; video/x-h264, stream-format=(string)byte-stream,
>> alignment=(string)au, width=(int)432, height=(int)240,
>> pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-h264, stream-format=(string)byte-stream, alignment=(string)au,
>> width=(int)352, height=(int)288, pixel-aspect-ratio=(fraction)1/1,
>> colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1,
>> 15/1, 10/1, 15/2, 5/1 }; video/x-h264,
>> stream-format=(string)byte-stream, alignment=(string)au, width=(int)320,
>> height=(int)240, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){
>> 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1
>> }; video/x-h264, stream-format=(string)byte-stream,
>> alignment=(string)au, width=(int)320, height=(int)180,
>> pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
>> video/x-h264, stream-format=(string)byte-stream, alignment=(string)au,
>> width=(int)176, height=(int)144, pixel-aspect-ratio=(fraction)1/1,
>> colorimetry=(string){ 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1,
>> 15/1, 10/1, 15/2, 5/1 }; video/x-h264,
>> stream-format=(string)byte-stream, alignment=(string)au, width=(int)160,
>> height=(int)120, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){
>> 2:4:7:1 }, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1
>> }; video/x-h264, stream-format=(string)byte-stream,
>> alignment=(string)au, width=(int)160, height=(int)90,
>> pixel-aspect-ratio=(fraction)1/1, colorimetry=(string){ 2:4:7:1 },
>> framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 }
>> 0:00:00.360069052 27400 0x56489945d0a0 INFO                    v4l2
>> gstv4l2object.c:3486:gst_v4l2_object_set_format_full:<v4l2src0> Set
>> framerate to 30/1
>> 0:00:00.360098853 27400 0x56489945d0a0 INFO                    v4l2
>> gstv4l2object.c:2858:gst_v4l2_object_setup_pool:<v4l2src0> accessing
>> buffers via mode 2
>> 0:00:00.360400374 27400 0x56489945d0a0 INFO          v4l2bufferpool
>>
>> gstv4l2bufferpool.c:551:gst_v4l2_buffer_pool_set_config:<v4l2src0:pool:src>
>> increasing minimum buffers to 2
>> 0:00:00.360420750 27400 0x56489945d0a0 INFO          v4l2bufferpool
>>
>> gstv4l2bufferpool.c:564:gst_v4l2_buffer_pool_set_config:<v4l2src0:pool:src>
>> reducing maximum buffers to 32
>> 0:00:00.360452983 27400 0x56489945d0a0 INFO               GST_EVENT
>> gstevent.c:808:gst_event_new_caps: creating caps event video/x-raw,
>> format=(string)YUY2, width=(int)640, height=(int)480,
>> framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1,
>> interlace-mode=(string)progressive, colorimetry=(string)2:4:7:1
>> 0:00:00.360587465 27400 0x56489945d0a0 INFO           basetransform
>> gstbasetransform.c:1367:gst_base_transform_setcaps:<capsfilter0> reuse
>> caps
>> 0:00:00.360607315 27400 0x56489945d0a0 INFO               GST_EVENT
>> gstevent.c:808:gst_event_new_caps: creating caps event video/x-raw,
>> format=(string)YUY2, width=(int)640, height=(int)480,
>> framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1,
>> interlace-mode=(string)progressive, colorimetry=(string)2:4:7:1
>> /GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps =
>> video/x-raw, format=(string)YUY2, width=(int)640, height=(int)480,
>> framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1,
>> interlace-mode=(string)progressive, colorimetry=(string)2:4:7:1
>> /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps =
>> video/x-raw, format=(string)YUY2, width=(int)640, height=(int)480,
>> framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1,
>> interlace-mode=(string)progressive, colorimetry=(string)2:4:7:1
>> /GstPipeline:pipeline0/GstQueue:queue0.GstPad:sink: caps = video/x-raw,
>> format=(string)YUY2, width=(int)640, height=(int)480,
>> framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1,
>> interlace-mode=(string)progressive, colorimetry=(string)2:4:7:1
>> /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps =
>> video/x-raw, format=(string)YUY2, width=(int)640, height=(int)480,
>> framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1,
>> interlace-mode=(string)progressive, colorimetry=(string)2:4:7:1
>> /GstPipeline:pipeline0/GstQueue:queue0.GstPad:src: caps = video/x-raw,
>> format=(string)YUY2, width=(int)640, height=(int)480,
>> framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1,
>> interlace-mode=(string)progressive, colorimetry=(string)2:4:7:1
>> /GstPipeline:pipeline0/GstXvImageSink:xvimagesink0.GstPad:sink: caps =
>> video/x-raw, format=(string)YUY2, width=(int)640, height=(int)480,
>> framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1,
>> interlace-mode=(string)progressive, colorimetry=(string)2:4:7:1
>> 0:00:00.362113272 27400 0x56489945d0a0 INFO          v4l2bufferpool
>>
>> gstv4l2bufferpool.c:564:gst_v4l2_buffer_pool_set_config:<v4l2src0:pool:src>
>> reducing maximum buffers to 32
>> 0:00:00.589588804 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.033333333
>> out ts 0:00:00.375615440
>> 0:00:00.589651939 27400 0x56489945d0a0 INFO               GST_EVENT
>> gstevent.c:889:gst_event_new_segment: creating segment event time
>> segment start=0:00:00.000000000, offset=0:00:00.000000000,
>> stop=99:99:99.999999999, rate=1.000000, applied_rate=1.000000,
>> flags=0x00, time=0:00:00.000000000, base=0:00:00.000000000, position
>> 0:00:00.000000000, duration 99:99:99.999999999
>> 0:00:00.589715480 27400 0x56489945d0a0 INFO                 basesrc
>> gstbasesrc.c:2847:gst_base_src_loop:<v4l2src0> marking pending DISCONT
>> 0:00:00.621594297 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.066666666
>> out ts 0:00:00.407617179
>> 0:00:00.654021176 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.099999999
>> out ts 0:00:00.439618368
>> 0:00:00.689893747 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.133333332
>> out ts 0:00:00.475617487
>> 0:00:00.721910251 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.166666665
>> out ts 0:00:00.507647265
>> 0:00:00.757958535 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.199999998
>> out ts 0:00:00.539633525
>> 0:00:00.789852420 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.233333331
>> out ts 0:00:00.575639526
>> 0:00:00.821891929 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.266666664
>> out ts 0:00:00.607616405
>> 0:00:00.853938202 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.299999997
>> out ts 0:00:00.639616432
>> 0:00:00.889848131 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.333333330
>> out ts 0:00:00.675613298
>> 0:00:00.921879104 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.366666663
>> out ts 0:00:00.707639631
>> 0:00:00.957900456 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.399999996
>> out ts 0:00:00.739616309
>> 0:00:00.989604192 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.433333329
>> out ts 0:00:00.775617331
>> 0:00:01.021627343 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.466666662
>> out ts 0:00:00.807662060
>> 0:00:01.053915829 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.499999995
>> out ts 0:00:00.839609309
>> 0:00:01.089895035 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.533333328
>> out ts 0:00:00.875617397
>> 0:00:01.121866163 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.566666661
>> out ts 0:00:00.907644460
>> 0:00:01.157871720 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.599999994
>> out ts 0:00:00.939618489
>> 0:00:01.189948793 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.633333327
>> out ts 0:00:00.975642091
>> 0:00:01.221875579 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.666666660
>> out ts 0:00:01.007613598
>> 0:00:01.253878199 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.699999993
>> out ts 0:00:01.039629540
>> 0:00:01.289871721 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.733333326
>> out ts 0:00:01.075635406
>> 0:00:01.321867816 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.766666659
>> out ts 0:00:01.107612484
>> 0:00:01.357847153 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.799999992
>> out ts 0:00:01.139611991
>> 0:00:01.389945890 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.833333325
>> out ts 0:00:01.175613320
>> 0:00:01.421885435 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.866666658
>> out ts 0:00:01.207611377
>> 0:00:01.453879351 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.899999991
>> out ts 0:00:01.239647166
>> 0:00:01.489907828 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.933333324
>> out ts 0:00:01.275640445
>> 0:00:01.521883360 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.966666657
>> out ts 0:00:01.307640537
>> 0:00:01.557858062 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.999999990
>> out ts 0:00:01.339611172
>> 0:00:01.589949749 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:01.033333323
>> out ts 0:00:01.375610278
>> 0:00:01.621568158 27400 0x56489945d0a0 INFO                 v4l2src
>> gstv4l2src.c:830:gst_v4l2src_create:<v4l2src0> sync to 0:00:01.066666656
>> out ts 0:00:01.407609796
>>
>> After this last line of debug logging output, nothing happens.
>>
>> Thanks
>> Antoine
>>
>>
>>
>>
>>
>> >
>> > Best regards,
>> >
>> > Vivia
>> >
>> > On 5 December 2016 at 15:40, Thornton, Keith <[hidden email]>
>> > wrote:
>> >> Hi,
>> >> if you set min-threshold-time to 30000000000 you would buffer 30
>> >> seconds of video. As a consequence, no data will reach xvimagesink until you
>> >> have pushed more than 30 seconds of data into the queue. If this is not what
>> >> you want then tell us how it should differ from this scenario.
>> >>
>> >> -----Ursprüngliche Nachricht-----
>> >> Von: gstreamer-devel
>> >> [mailto:[hidden email]] Im Auftrag von
>> >> Antoine Martin
>> >> Gesendet: Montag, 5. Dezember 2016 13:44
>> >> An: [hidden email]
>> >> Betreff: buffer v4l2src for 30 seconds
>> >>
>> >> Hi,
>> >>
>> >> I want to do something seemingly very simple, but I am unable to find
>> >> the correct GStreamer incantation.
>> >> All I want is ~30 seconds of delay between the v4l2src capture and the
>> >> output (xvimagesink or whatever).
>> >>
>> >> Using the queue element I can buffer up to ~1 seconds:
>> >> gst-launch-1.0 -v v4l2src device=/dev/video0 !
>> >> video/x-raw,format=YUY2,width=640,height=480,framerate=30/1 ! queue
>> >> min-threshold-time=1000000000 max-size-time=10000000000
>> >> max-size-bytes=0
>> >> max-size-buffers=0 ! xvimagesink
>> >>
>> >> If I reduce the framerate, then I can buffer a little bit more.
>> >> But if I increase the min-threshold-time too much, I just get a black
>> >> screen. My system has enough memory to buffer minutes of video, so what is
>> >> happening here?
>> >>
>> >> I tried using the queue2 element, but this isn't actually buffering
>> >> anything at all (what is the equivalent to min-threshold-time here?):
>> >> gst-launch-1.0 -v v4l2src device=/dev/video0 !
>> >> video/x-raw,format=YUY2,width=640,height=480,framerate=15/1 ! queue2
>> >> use-buffering=1 low-watermark=0.5  max-size-time=0 max-size-bytes=0
>> >> max-size-buffers=600 ! xvimagesink sync=false
>> >>
>> >> It is such a simple thing to do that I am sure GStreamer can do this,
>> >> but how?
>> >>
>> >> Thanks
>> >> Antoine
>> >> _______________________________________________
>> >> gstreamer-devel mailing list
>> >> [hidden email]
>> >> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>> >> _______________________________________________
>> >> gstreamer-devel mailing list
>> >> [hidden email]
>> >> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>> > _______________________________________________
>> > gstreamer-devel mailing list
>> > [hidden email]
>> > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>> >
>>
>> _______________________________________________
>> gstreamer-devel mailing list
>> [hidden email]
>> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
>
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: buffer v4l2src for 30 seconds

Nicolas Dufresne-5
In reply to this post by Dimitrios Katsaros
The problems are various.

a) V4L2 API limits to 32 the number of allocated mmap/dmabuf buffers
b) The queue does not know how to translate time to number of buffers
c) The queue does not implement the allocation query at all

Depending on the driver you are using, you have different workaround
though.

**USERPTR**

If your driver supports USERPTR, you may follow the method proposed by
Dimitrios. This is currently only supported by UVC driver. For this
specific pipeline, the driver must be using vmalloc memory or a IOMMU
that allow allocation that are not aligned to a physical page.


**MMAP**

All drivers should support mmap these days. RW is in fact emulated on
top of it through libv4l2 since driver no longer support this mode.
Right now, the only way to prevent this miss-negotiation, is to ensure
that v4l2src thinks the allocation query failed. There is one element
known to make this query failed, it's called 'tee'. So add a tee (with
a single branch)  after v4l2src will tell the src that the number of
required buffer is unknown. As a side effect, 4 buffers will be
allocated, and when the pool get low, buffer will be copied. Copies is
the only way to fulfill your requirement in that mode. So the generic
method would be:

gst-launch-1.0 v4l2src ! tee \
  ! queue min-threshold-time=30000000000 \
          max-size-time=0 max-size-buffers=0 max-size-bytes=0 \
  ! videoconvert ! ximagesink

**FUTURE**

As you may notice, there is a missing feature in the queues. When
configured in number of buffers, it should be able to interact with the
allocation query and ensure enough buffers is allocated. When that get
implemented (patch welcome), an application could compute the number of
buffers from the selected rate. V4l2src will then be able to adapt. It
is not clear to be if the convert query could be used or not,
GST_FORMAT_BUFFERS is not widely implemented.

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

signature.asc (188 bytes) Download Attachment