videorate: Do not push an extra buffer on EOS when we are done pushing already

There is no reason that when we have already pushed all the buffers in
a segment we push a new one on EOS

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/668>
This commit is contained in:
Thibault Saunier 2020-05-25 12:31:32 -04:00
parent b46718b1a0
commit dc47232d0d
9 changed files with 199 additions and 5 deletions

View file

@ -879,9 +879,8 @@ gst_video_rate_sink_event (GstBaseTransform * trans, GstEvent * event)
&& GST_CLOCK_TIME_IS_VALID (videorate->next_ts)
&& videorate->next_ts - videorate->segment.base >=
videorate->segment.start)
|| count < 1)) {
res =
gst_video_rate_flush_prev (videorate, count > 0,
)) {
res = gst_video_rate_flush_prev (videorate, count > 0,
GST_CLOCK_TIME_NONE);
count++;
}
@ -914,7 +913,8 @@ gst_video_rate_sink_event (GstBaseTransform * trans, GstEvent * event)
videorate->dup += count - 1;
if (!videorate->silent)
gst_video_rate_notify_duplicate (videorate);
} else if (count == 0) {
} else if (count == 0
&& !GST_CLOCK_TIME_IS_VALID (videorate->segment.stop)) {
videorate->drop++;
if (!videorate->silent)
gst_video_rate_notify_drop (videorate);
@ -1451,7 +1451,7 @@ gst_video_rate_transform_ip (GstBaseTransform * trans, GstBuffer * buffer)
} else {
GstClockTime prevtime;
gint count = 0;
gint64 diff1, diff2;
gint64 diff1 = 0, diff2 = 0;
prevtime = videorate->prev_ts;
@ -1558,6 +1558,12 @@ gst_video_rate_transform_ip (GstBaseTransform * trans, GstBuffer * buffer)
next_ts = videorate->next_ts;
if (!GST_CLOCK_TIME_IS_VALID (next_ts)) {
GST_DEBUG_OBJECT (videorate, "Already reached segment start,"
"ignoring buffer");
break;
}
prev_endtime =
MAX (prevtime + GST_BUFFER_DURATION (videorate->prevbuf),
videorate->segment.stop);

View file

@ -9,6 +9,8 @@ endif
tests = [
'audiotestsrc/reverse',
'videorate/10_to_1fps',
'videorate/reverse.10_to_1fps',
]
env = environment()

View file

@ -0,0 +1,10 @@
set-globals, in_framerate="(GstFraction)10/1", out_framerate="(GstFraction)1/1"
include, location="videorate-test.meta"
play
seek, start=0.0, stop=5.0, flags=accurate+flush, rate=1.0
crank-clock, expected-elapsed-time=0.0
crank-clock, repeat=4, expected-elapsed-time=1.0
crank-clock, expected-elapsed-time=1.0
stop, on-message=eos

View file

@ -0,0 +1,59 @@
event stream-start: GstEventStreamStart, flags=(GstStreamFlags)GST_STREAM_FLAG_NONE, group-id=(uint)1;
event caps: video/x-raw, format=(string)I420, width=(int)320, height=(int)240, framerate=(fraction)10/1, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive;
event segment: format=TIME, start=0:00:00.000000000, offset=0:00:00.000000000, stop=none, time=0:00:00.000000000, base=0:00:00.000000000, position=0:00:00.000000000
buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.000000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
buffer: checksum=d13b763048b4e8a132923ccec0cb0989a33ef44b, pts=0:00:00.100000000, dur=0:00:00.100000000, meta=GstVideoMeta
event flush-start: (no structure)
event flush-stop: GstEventFlushStop, reset-time=(boolean)true;
event segment: format=TIME, start=0:00:00.000000000, offset=0:00:00.000000000, stop=0:00:05.000000000, flags=0x01, time=0:00:00.000000000, base=0:00:00.000000000, position=0:00:00.000000000
buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.000000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
buffer: checksum=d13b763048b4e8a132923ccec0cb0989a33ef44b, pts=0:00:00.100000000, dur=0:00:00.100000000, meta=GstVideoMeta
buffer: checksum=61f960fb1f82031de8557270b198f528cc319bb5, pts=0:00:00.200000000, dur=0:00:00.100000000, meta=GstVideoMeta
buffer: checksum=1f55031a355611378b894de9e91f15b7aadb9762, pts=0:00:00.300000000, dur=0:00:00.100000000, meta=GstVideoMeta
buffer: checksum=f5dd66e2339c5ff8db32b3dc717ff867912aceff, pts=0:00:00.400000000, dur=0:00:00.100000000, meta=GstVideoMeta
buffer: checksum=faa402360b8808220fa8ba7f29246edc52826335, pts=0:00:00.500000000, dur=0:00:00.100000000, meta=GstVideoMeta
buffer: checksum=9667d1b1eb52d9463353a8cb854546b9e9c5fc32, pts=0:00:00.600000000, dur=0:00:00.100000000, meta=GstVideoMeta
buffer: checksum=cf699c4e8340bdae7e5ca8fe155ca1ecd1d565cd, pts=0:00:00.700000000, dur=0:00:00.100000000, meta=GstVideoMeta
buffer: checksum=29b39a0c9759a8860ab54f70cc3f2d8901902662, pts=0:00:00.800000000, dur=0:00:00.100000000, meta=GstVideoMeta
buffer: checksum=d0a85177ea2e35014a69c6290895090c9cdd6af4, pts=0:00:00.900000000, dur=0:00:00.100000000, meta=GstVideoMeta
buffer: checksum=b001027646a88bd2f45818b12ce73b0f04046b06, pts=0:00:01.000000000, dur=0:00:00.100000000, meta=GstVideoMeta
buffer: checksum=ba9212a73c0b0fb0e1572b4bcc48c3240b617166, pts=0:00:01.100000000, dur=0:00:00.100000000, meta=GstVideoMeta
buffer: checksum=e9424eca5674294ba9ba8ee81714f7c6cb45f480, pts=0:00:01.200000000, dur=0:00:00.100000000, meta=GstVideoMeta
buffer: checksum=7bb5452dd5d28b6a62f3307b1e6f20a3c34ae0c4, pts=0:00:01.300000000, dur=0:00:00.100000000, meta=GstVideoMeta
buffer: checksum=e33a1e17ee1d97ca396956dcc5bace77bcf40698, pts=0:00:01.400000000, dur=0:00:00.100000000, meta=GstVideoMeta
buffer: checksum=997ee2608af57157beeba316c6e4058d904af854, pts=0:00:01.500000000, dur=0:00:00.100000000, meta=GstVideoMeta
buffer: checksum=724428f9800b53136cd85e1b28bf89454dce5b17, pts=0:00:01.600000000, dur=0:00:00.100000000, meta=GstVideoMeta
buffer: checksum=a5b575e2fe65bb0862438f1689a1259612c3451b, pts=0:00:01.700000000, dur=0:00:00.100000000, meta=GstVideoMeta
buffer: checksum=1e677a53b1ce72bf11b301041c7cd62602f57cea, pts=0:00:01.800000000, dur=0:00:00.100000000, meta=GstVideoMeta
buffer: checksum=2bd35f37780e5c7bf173bc1c29598ab7f110e168, pts=0:00:01.900000000, dur=0:00:00.100000000, meta=GstVideoMeta
buffer: checksum=b235367d19b4a8eedcca178a5919dc0bbbaeabca, pts=0:00:02.000000000, dur=0:00:00.100000000, meta=GstVideoMeta
buffer: checksum=1b8c20d6b674124d076db71daa1854de266b0365, pts=0:00:02.100000000, dur=0:00:00.100000000, meta=GstVideoMeta
buffer: checksum=f54b1beaf9a9709c87b9f2a0e2a509aaa0343b98, pts=0:00:02.200000000, dur=0:00:00.100000000, meta=GstVideoMeta
buffer: checksum=4c87c8b594e77448cffb8da079544060fa513829, pts=0:00:02.300000000, dur=0:00:00.100000000, meta=GstVideoMeta
buffer: checksum=58936846a7314b141f0bc1d1ff1e9d46db961633, pts=0:00:02.400000000, dur=0:00:00.100000000, meta=GstVideoMeta
buffer: checksum=8969ea732a2692c1e437b901c12dc083c1ba137b, pts=0:00:02.500000000, dur=0:00:00.100000000, meta=GstVideoMeta
buffer: checksum=4838df67beb6ceadbde9fa4ae633b343962eb4cc, pts=0:00:02.600000000, dur=0:00:00.100000000, meta=GstVideoMeta
buffer: checksum=31aabb7c75b036bbbd9495a84647959b336d484b, pts=0:00:02.700000000, dur=0:00:00.100000000, meta=GstVideoMeta
buffer: checksum=3d9ed200fc9ae13a398482ada9957fe5429f4808, pts=0:00:02.800000000, dur=0:00:00.100000000, meta=GstVideoMeta
buffer: checksum=012c04214b70c28c823991e5502c0dde653e576e, pts=0:00:02.900000000, dur=0:00:00.100000000, meta=GstVideoMeta
buffer: checksum=0d65174db0fc96dbeaaa2488d013b8935f363330, pts=0:00:03.000000000, dur=0:00:00.100000000, meta=GstVideoMeta
buffer: checksum=cb91b143e223d44733177fca79708fb3199aabf8, pts=0:00:03.100000000, dur=0:00:00.100000000, meta=GstVideoMeta
buffer: checksum=7acbad9ec0b798679d22ac1cf8bb0526a2a066d3, pts=0:00:03.200000000, dur=0:00:00.100000000, meta=GstVideoMeta
buffer: checksum=f0f7021ee092b8f273ca5cec2d1acefebfb53356, pts=0:00:03.300000000, dur=0:00:00.100000000, meta=GstVideoMeta
buffer: checksum=1f33bf94492ba7dbe2bf72e57bd12cee8f090079, pts=0:00:03.400000000, dur=0:00:00.100000000, meta=GstVideoMeta
buffer: checksum=9238cea5dc4855b286e4a1459ca4f8e177dfb96f, pts=0:00:03.500000000, dur=0:00:00.100000000, meta=GstVideoMeta
buffer: checksum=8eed8ee03cf63e698bfa301fa0b304addffed4bc, pts=0:00:03.600000000, dur=0:00:00.100000000, meta=GstVideoMeta
buffer: checksum=ab9217e0ca61c7ae0a8d298d36d0ce97eed482cd, pts=0:00:03.700000000, dur=0:00:00.100000000, meta=GstVideoMeta
buffer: checksum=950bd00b2a08dc4fb6e0a2b06d38cf14a40780ac, pts=0:00:03.800000000, dur=0:00:00.100000000, meta=GstVideoMeta
buffer: checksum=e1d19911a0a9b7a6a97dceedc96c66f81d187591, pts=0:00:03.900000000, dur=0:00:00.100000000, meta=GstVideoMeta
buffer: checksum=a01cd9172bd2387002e8f9b3003a9becc2938c16, pts=0:00:04.000000000, dur=0:00:00.100000000, meta=GstVideoMeta
buffer: checksum=e07dcddf3c18d51c51d1914588a2b61327cfa139, pts=0:00:04.100000000, dur=0:00:00.100000000, meta=GstVideoMeta
buffer: checksum=33710a6238592d081550f74836533f8caf51cc0f, pts=0:00:04.200000000, dur=0:00:00.100000000, meta=GstVideoMeta
buffer: checksum=f05561e3039ed26e3082bd7b049bad9356545149, pts=0:00:04.300000000, dur=0:00:00.100000000, meta=GstVideoMeta
buffer: checksum=ea498a2e840c9528f90f1154f72d4b204739b947, pts=0:00:04.400000000, dur=0:00:00.100000000, meta=GstVideoMeta
buffer: checksum=e085fff613289df868f63ca7142ce0d342ab3d4c, pts=0:00:04.500000000, dur=0:00:00.100000000, meta=GstVideoMeta
buffer: checksum=302581fc1fdd332a6702cc3b4d6a3f3f87d0c78f, pts=0:00:04.600000000, dur=0:00:00.100000000, meta=GstVideoMeta
buffer: checksum=87c6573e1f3cc6a14bca871f675ff66822e2863e, pts=0:00:04.700000000, dur=0:00:00.100000000, meta=GstVideoMeta
buffer: checksum=6f2d5d8f9551083a65889a7d7b87e25348612604, pts=0:00:04.800000000, dur=0:00:00.100000000, meta=GstVideoMeta
buffer: checksum=1d2741e8fc312f50417c99f6deecb6220c75efaa, pts=0:00:04.900000000, dur=0:00:00.100000000, meta=GstVideoMeta
event eos: (no structure)

View file

@ -0,0 +1,13 @@
event stream-start: GstEventStreamStart, flags=(GstStreamFlags)GST_STREAM_FLAG_NONE, group-id=(uint)1;
event caps: video/x-raw, format=(string)I420, width=(int)320, height=(int)240, framerate=(fraction)1/1, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive;
event segment: format=TIME, start=0:00:00.000000000, offset=0:00:00.000000000, stop=none, time=0:00:00.000000000, base=0:00:00.000000000, position=0:00:00.000000000
buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.000000000, dur=0:00:01.000000000, flags=discont, meta=GstVideoMeta
event flush-start: (no structure)
event flush-stop: GstEventFlushStop, reset-time=(boolean)true;
event segment: format=TIME, start=0:00:00.000000000, offset=0:00:00.000000000, stop=0:00:05.000000000, flags=0x01, time=0:00:00.000000000, base=0:00:00.000000000, position=0:00:00.000000000
buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.000000000, dur=0:00:01.000000000, flags=discont, meta=GstVideoMeta
buffer: checksum=b001027646a88bd2f45818b12ce73b0f04046b06, pts=0:00:01.000000000, dur=0:00:01.000000000, meta=GstVideoMeta
buffer: checksum=b235367d19b4a8eedcca178a5919dc0bbbaeabca, pts=0:00:02.000000000, dur=0:00:01.000000000, meta=GstVideoMeta
buffer: checksum=0d65174db0fc96dbeaaa2488d013b8935f363330, pts=0:00:03.000000000, dur=0:00:01.000000000, meta=GstVideoMeta
buffer: checksum=a01cd9172bd2387002e8f9b3003a9becc2938c16, pts=0:00:04.000000000, dur=0:00:01.000000000, meta=GstVideoMeta
event eos: (no structure)

View file

@ -0,0 +1,14 @@
set-globals, in_framerate="(GstFraction)10/1", out_framerate="(GstFraction)1/1"
include, location="videorate-test.meta"
play
seek, start=0.0, stop=5.0, flags=accurate+flush, rate=-1.0
# First buffer is display as fast as possible
crank-clock, expected-elapsed-time=0.0
crank-clock, repeat=4, expected-elapsed-time=1.0
# Waiting 1 second on EOS
crank-clock, expected-elapsed-time=1.0
stop, on-message=eos

View file

@ -0,0 +1,60 @@
event stream-start: GstEventStreamStart, flags=(GstStreamFlags)GST_STREAM_FLAG_NONE, group-id=(uint)1;
event caps: video/x-raw, format=(string)I420, width=(int)320, height=(int)240, framerate=(fraction)10/1, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive;
event segment: format=TIME, start=0:00:00.000000000, offset=0:00:00.000000000, stop=none, time=0:00:00.000000000, base=0:00:00.000000000, position=0:00:00.000000000
buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.000000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
buffer: checksum=d13b763048b4e8a132923ccec0cb0989a33ef44b, pts=0:00:00.100000000, dur=0:00:00.100000000, meta=GstVideoMeta
event flush-start: (no structure)
event flush-stop: GstEventFlushStop, reset-time=(boolean)true;
event segment: format=TIME, start=0:00:00.000000000, offset=0:00:00.000000000, stop=0:00:05.000000000, rate=-1.000000, flags=0x01, time=0:00:00.000000000, base=0:00:00.000000000, position=0:00:05.000000000
buffer: checksum=bff0c69020b2ffb3f3ceda63353620854cdd6b73, pts=0:00:05.000000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
buffer: checksum=1d2741e8fc312f50417c99f6deecb6220c75efaa, pts=0:00:04.900000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
buffer: checksum=6f2d5d8f9551083a65889a7d7b87e25348612604, pts=0:00:04.800000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
buffer: checksum=87c6573e1f3cc6a14bca871f675ff66822e2863e, pts=0:00:04.700000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
buffer: checksum=302581fc1fdd332a6702cc3b4d6a3f3f87d0c78f, pts=0:00:04.600000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
buffer: checksum=e085fff613289df868f63ca7142ce0d342ab3d4c, pts=0:00:04.500000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
buffer: checksum=ea498a2e840c9528f90f1154f72d4b204739b947, pts=0:00:04.400000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
buffer: checksum=f05561e3039ed26e3082bd7b049bad9356545149, pts=0:00:04.300000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
buffer: checksum=33710a6238592d081550f74836533f8caf51cc0f, pts=0:00:04.200000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
buffer: checksum=e07dcddf3c18d51c51d1914588a2b61327cfa139, pts=0:00:04.100000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
buffer: checksum=a01cd9172bd2387002e8f9b3003a9becc2938c16, pts=0:00:04.000000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
buffer: checksum=e1d19911a0a9b7a6a97dceedc96c66f81d187591, pts=0:00:03.900000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
buffer: checksum=950bd00b2a08dc4fb6e0a2b06d38cf14a40780ac, pts=0:00:03.800000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
buffer: checksum=ab9217e0ca61c7ae0a8d298d36d0ce97eed482cd, pts=0:00:03.700000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
buffer: checksum=8eed8ee03cf63e698bfa301fa0b304addffed4bc, pts=0:00:03.600000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
buffer: checksum=9238cea5dc4855b286e4a1459ca4f8e177dfb96f, pts=0:00:03.500000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
buffer: checksum=1f33bf94492ba7dbe2bf72e57bd12cee8f090079, pts=0:00:03.400000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
buffer: checksum=f0f7021ee092b8f273ca5cec2d1acefebfb53356, pts=0:00:03.300000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
buffer: checksum=7acbad9ec0b798679d22ac1cf8bb0526a2a066d3, pts=0:00:03.200000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
buffer: checksum=cb91b143e223d44733177fca79708fb3199aabf8, pts=0:00:03.100000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
buffer: checksum=0d65174db0fc96dbeaaa2488d013b8935f363330, pts=0:00:03.000000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
buffer: checksum=012c04214b70c28c823991e5502c0dde653e576e, pts=0:00:02.900000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
buffer: checksum=3d9ed200fc9ae13a398482ada9957fe5429f4808, pts=0:00:02.800000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
buffer: checksum=31aabb7c75b036bbbd9495a84647959b336d484b, pts=0:00:02.700000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
buffer: checksum=4838df67beb6ceadbde9fa4ae633b343962eb4cc, pts=0:00:02.600000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
buffer: checksum=8969ea732a2692c1e437b901c12dc083c1ba137b, pts=0:00:02.500000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
buffer: checksum=58936846a7314b141f0bc1d1ff1e9d46db961633, pts=0:00:02.400000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
buffer: checksum=4c87c8b594e77448cffb8da079544060fa513829, pts=0:00:02.300000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
buffer: checksum=f54b1beaf9a9709c87b9f2a0e2a509aaa0343b98, pts=0:00:02.200000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
buffer: checksum=1b8c20d6b674124d076db71daa1854de266b0365, pts=0:00:02.100000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
buffer: checksum=b235367d19b4a8eedcca178a5919dc0bbbaeabca, pts=0:00:02.000000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
buffer: checksum=2bd35f37780e5c7bf173bc1c29598ab7f110e168, pts=0:00:01.900000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
buffer: checksum=1e677a53b1ce72bf11b301041c7cd62602f57cea, pts=0:00:01.800000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
buffer: checksum=a5b575e2fe65bb0862438f1689a1259612c3451b, pts=0:00:01.700000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
buffer: checksum=724428f9800b53136cd85e1b28bf89454dce5b17, pts=0:00:01.600000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
buffer: checksum=997ee2608af57157beeba316c6e4058d904af854, pts=0:00:01.500000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
buffer: checksum=e33a1e17ee1d97ca396956dcc5bace77bcf40698, pts=0:00:01.400000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
buffer: checksum=7bb5452dd5d28b6a62f3307b1e6f20a3c34ae0c4, pts=0:00:01.300000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
buffer: checksum=e9424eca5674294ba9ba8ee81714f7c6cb45f480, pts=0:00:01.200000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
buffer: checksum=ba9212a73c0b0fb0e1572b4bcc48c3240b617166, pts=0:00:01.100000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
buffer: checksum=b001027646a88bd2f45818b12ce73b0f04046b06, pts=0:00:01.000000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
buffer: checksum=d0a85177ea2e35014a69c6290895090c9cdd6af4, pts=0:00:00.900000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
buffer: checksum=29b39a0c9759a8860ab54f70cc3f2d8901902662, pts=0:00:00.800000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
buffer: checksum=cf699c4e8340bdae7e5ca8fe155ca1ecd1d565cd, pts=0:00:00.700000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
buffer: checksum=9667d1b1eb52d9463353a8cb854546b9e9c5fc32, pts=0:00:00.600000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
buffer: checksum=faa402360b8808220fa8ba7f29246edc52826335, pts=0:00:00.500000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
buffer: checksum=f5dd66e2339c5ff8db32b3dc717ff867912aceff, pts=0:00:00.400000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
buffer: checksum=1f55031a355611378b894de9e91f15b7aadb9762, pts=0:00:00.300000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
buffer: checksum=61f960fb1f82031de8557270b198f528cc319bb5, pts=0:00:00.200000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
buffer: checksum=d13b763048b4e8a132923ccec0cb0989a33ef44b, pts=0:00:00.100000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.000000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
event eos: (no structure)

View file

@ -0,0 +1,13 @@
event stream-start: GstEventStreamStart, flags=(GstStreamFlags)GST_STREAM_FLAG_NONE, group-id=(uint)1;
event caps: video/x-raw, format=(string)I420, width=(int)320, height=(int)240, framerate=(fraction)1/1, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive;
event segment: format=TIME, start=0:00:00.000000000, offset=0:00:00.000000000, stop=none, time=0:00:00.000000000, base=0:00:00.000000000, position=0:00:00.000000000
buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.000000000, dur=0:00:01.000000000, flags=discont, meta=GstVideoMeta
event flush-start: (no structure)
event flush-stop: GstEventFlushStop, reset-time=(boolean)true;
event segment: format=TIME, start=0:00:00.000000000, offset=0:00:00.000000000, stop=0:00:05.000000000, rate=-1.000000, flags=0x01, time=0:00:00.000000000, base=0:00:00.000000000, position=0:00:05.000000000
buffer: checksum=1d2741e8fc312f50417c99f6deecb6220c75efaa, pts=0:00:04.000000000, dur=0:00:01.000000000, flags=discont, meta=GstVideoMeta
buffer: checksum=6f2d5d8f9551083a65889a7d7b87e25348612604, pts=0:00:03.000000000, dur=0:00:01.000000000, meta=GstVideoMeta
buffer: checksum=87c6573e1f3cc6a14bca871f675ff66822e2863e, pts=0:00:02.000000000, dur=0:00:01.000000000, meta=GstVideoMeta
buffer: checksum=302581fc1fdd332a6702cc3b4d6a3f3f87d0c78f, pts=0:00:01.000000000, dur=0:00:01.000000000, meta=GstVideoMeta
buffer: checksum=e085fff613289df868f63ca7142ce0d342ab3d4c, pts=0:00:00.000000000, dur=0:00:01.000000000, meta=GstVideoMeta
event eos: (no structure)

View file

@ -0,0 +1,17 @@
# Common metadatas to check the videorate element behavior with different
# framerate specified by previously setting variables with:
# ```
# set-global, in_framerate=<videorate skinkpad framerate>, out_framerate=<videorate srcpad framerate>
# ```
# and then `include, location="videorate-test.meta" to setup the test with this
# file
meta,
handles-states=true,
ignore-eos=true,
args = {
"videotestsrc pattern=ball animation-mode=frames ! video/x-raw,format=I420,framerate=$(in_framerate) ! videorate name=videorate ! video/x-raw,format=I420,framerate=$(out_framerate) ! $(videosink) allocation-meta-flags=0",
},
configs = {
"$(validateflow), pad=videorate:sink, buffers-checksum=true",
"$(validateflow), pad=videorate:src, buffers-checksum=true",
}