compositor + buffering
mariannasb
mariannasb at yahoo.com.br
Tue Jun 14 09:19:14 UTC 2016
> I was also looking at this and I found something weird: running pipeline
given as example here by mariannasb works differently when running from
command line (this works as described) and when running from C app (the
timeoverlays just freezes and being updated every 10 sec).
>
> I'm using GStreamer ver. 1.8.1.
> Any particular reason why the output is different?
The difference I can see is because of the QOS time.
Running with gst-launch it behaves as expected (even tough it does drops
some frames because it cant render fast enough).
Running with an app (which is basically just gst_parse_launch) the QOS
starts at 10seconds and jumps 10 seconds at at time instead of running
"smoothly".
That is why it seems to freeze and only updates every 10 seconds.
0:00:28.942918607 1348 0x96cd90 WARN videoaggregator
gstvideoaggregator.c:1473:gst_videoaggregator_do_qos:<mix> we are late, drop
frame (qostime 0:00:00.066666667, earliest 0:00:10.301237307)
...
0:00:22.959818785 1357 0x9681e0 WARN videoaggregator
gstvideoaggregator.c:1473:gst_videoaggregator_do_qos:<mix> we are late, drop
frame (qostime 0:00:10.300000000, earliest 0:00:10.331812708)
0:00:23.109781879 1357 0x9681e0 WARN videoaggregator
gstvideoaggregator.c:1473:gst_videoaggregator_do_qos:<mix> we are late, drop
frame (qostime 0:00:10.366666667, earliest 0:00:20.408302756)
I can see the qos coming from ximagesink:
- from c app:
0:00:10.827026304 1458 0x944370 DEBUG GST_QOS
gstbasesink.c:3625:gst_base_sink_chain_unlocked:<ximagesink0> qos: dropped
buffer rt 0:00:00.000000000, st 0:00:00.000000000, ts 0:00:00.000000000, dur
0:00:00.033333333
0:00:10.827145489 1458 0x944370 DEBUG GST_QOS
gstbasesink.c:3628:gst_base_sink_chain_unlocked:<ximagesink0> qos: rendered
0, dropped 1
0:00:10.827216006 1458 0x944370 DEBUG GST_QOS
gstbasesink.c:2695:gst_base_sink_perform_qos:<ximagesink0> start:
0:00:00.000000000, stop 0:00:00.033333333, entered 0:00:10.181082416, left
0:00:10.181082416, pt: 99:99:99.999999999, duration 0:00:00.033333333,jitter
10181082416
0:00:10.827257248 1458 0x944370 DEBUG GST_QOS
gstbasesink.c:2700:gst_base_sink_perform_qos:<ximagesink0> avg_duration:
99:99:99.999999999, avg_pt: 99:99:99.999999999, avg_rate: -1
0:00:10.827290848 1458 0x944370 DEBUG GST_QOS
gstbasesink.c:2735:gst_base_sink_perform_qos:<ximagesink0> updated:
avg_duration: 0:00:00.033333333, avg_pt: 99:99:99.999999999, avg_rate: -1
0:00:10.944477809 1458 0x944370 DEBUG GST_QOS
gstbasesink.c:3625:gst_base_sink_chain_unlocked:<ximagesink0> qos: dropped
buffer rt 0:00:00.033333333, st 0:00:00.033333333, ts 0:00:00.033333333, dur
0:00:00.033333334
0:00:10.944590226 1458 0x944370 DEBUG GST_QOS
gstbasesink.c:3628:gst_base_sink_chain_unlocked:<ximagesink0> qos: rendered
0, dropped 2
0:00:10.944695382 1458 0x944370 DEBUG GST_QOS
gstbasesink.c:2695:gst_base_sink_perform_qos:<ximagesink0> start:
0:00:00.033333333, stop 0:00:00.066666667, entered 0:00:10.298531099, left
0:00:10.298531099, pt: 0:00:00.117448683, duration 0:00:00.033333334,jitter
10265197766
0:00:10.944738746 1458 0x944370 DEBUG GST_QOS
gstbasesink.c:2700:gst_base_sink_perform_qos:<ximagesink0> avg_duration:
0:00:00.033333333, avg_pt: 99:99:99.999999999, avg_rate: -1
0:00:10.944774977 1458 0x944370 DEBUG GST_QOS
gstbasesink.c:2735:gst_base_sink_perform_qos:<ximagesink0> updated:
avg_duration: 0:00:00.033333333, avg_pt: 0:00:00.117448683, avg_rate:
3.52346
0:00:10.944803322 1458 0x944370 DEBUG GST_QOS
gstbasesink.c:2623:gst_base_sink_send_qos:<ximagesink0> qos: type 1,
proportion: 3.523461, diff 10265197766, timestamp 0:00:00.033333333
- from gst-launch
0:00:10.288794918 1469 0x6dd000 DEBUG GST_QOS
gstbasesink.c:3625:gst_base_sink_chain_unlocked:<ximagesink0> qos: dropped
buffer rt 0:00:00.000000000, st 0:00:00.000000000, ts 0:00:00.000000000, dur
0:00:00.033333333
0:00:10.288913093 1469 0x6dd000 DEBUG GST_QOS
gstbasesink.c:3628:gst_base_sink_chain_unlocked:<ximagesink0> qos: rendered
0, dropped 1
0:00:10.288983782 1469 0x6dd000 DEBUG GST_QOS
gstbasesink.c:2695:gst_base_sink_perform_qos:<ximagesink0> start:
0:00:00.000000000, stop 0:00:00.033333333, entered 0:00:00.141323652, left
0:00:00.141323652, pt: 99:99:99.999999999, duration 0:00:00.033333333,jitter
141323652
0:00:10.289028931 1469 0x6dd000 DEBUG GST_QOS
gstbasesink.c:2700:gst_base_sink_perform_qos:<ximagesink0> avg_duration:
99:99:99.999999999, avg_pt: 99:99:99.999999999, avg_rate: -1
0:00:10.289066929 1469 0x6dd000 DEBUG GST_QOS
gstbasesink.c:2735:gst_base_sink_perform_qos:<ximagesink0> updated:
avg_duration: 0:00:00.033333333, avg_pt: 99:99:99.999999999, avg_rate: -1
0:00:10.414462155 1469 0x6dd000 DEBUG GST_QOS
gstbasesink.c:3625:gst_base_sink_chain_unlocked:<ximagesink0> qos: dropped
buffer rt 0:00:00.033333333, st 0:00:00.033333333, ts 0:00:00.033333333, dur
0:00:00.033333334
0:00:10.414570401 1469 0x6dd000 DEBUG GST_QOS
gstbasesink.c:3628:gst_base_sink_chain_unlocked:<ximagesink0> qos: rendered
0, dropped 2
0:00:10.414778921 1469 0x6dd000 DEBUG GST_QOS
gstbasesink.c:2695:gst_base_sink_perform_qos:<ximagesink0> start:
0:00:00.033333333, stop 0:00:00.066666667, entered 0:00:00.266991140, left
0:00:00.266991140, pt: 0:00:00.125667488, duration 0:00:00.033333334,jitter
233657807
0:00:10.414831646 1469 0x6dd000 DEBUG GST_QOS
gstbasesink.c:2700:gst_base_sink_perform_qos:<ximagesink0> avg_duration:
0:00:00.033333333, avg_pt: 99:99:99.999999999, avg_rate: -1
0:00:10.414875624 1469 0x6dd000 DEBUG GST_QOS
gstbasesink.c:2735:gst_base_sink_perform_qos:<ximagesink0> updated:
avg_duration: 0:00:00.033333333, avg_pt: 0:00:00.125667488, avg_rate:
3.77002
0:00:10.414910373 1469 0x6dd000 DEBUG GST_QOS
gstbasesink.c:2623:gst_base_sink_send_qos:<ximagesink0> qos: type 1,
proportion: 3.770025, diff 233657807, timestamp 0:00:00.033333333
But I don't really understand what is that gst-launch does differently to
result in this QOS difference...
--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/compositor-buffering-tp4678001p4678028.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.
More information about the gstreamer-devel
mailing list