mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-23 10:11:08 +00:00
videorate: Fix buffer selection logic in reverse playback
Stop comparing all timestamps from buffers that are before the segment
with the segment.stop and compare with the actual end times.
Comparing to segment.stop for all the buffers that where before
the segment.stop was incorrect and leading to consuming wrong buffers
and not respecting segment.stop, this is now properly tested.
Expectations for `reverse.10_to_1fps.validatetest` have been fixed to
take that into account and comparing the checksums of the sinkpad and
srcpad expectations makes pretty clear how wrong that was.
(we can see in the expectations that videotestsrc outputs an extra
buffer with pts == segment.stop and this one is now properly dropped
by videorate as bec7f4ad5e
aimed at
doing)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/668>
This commit is contained in:
parent
6e82eb28f3
commit
97fe599c0f
17 changed files with 435 additions and 14 deletions
|
@ -1586,22 +1586,16 @@ gst_video_rate_transform_ip (GstBaseTransform * trans, GstBuffer * buffer)
|
|||
break;
|
||||
}
|
||||
|
||||
prev_endtime =
|
||||
MAX (prevtime + GST_BUFFER_DURATION (videorate->prevbuf),
|
||||
videorate->segment.stop);
|
||||
in_endtime =
|
||||
MAX (intime + GST_BUFFER_DURATION (buffer),
|
||||
videorate->segment.stop);
|
||||
prev_endtime = prevtime + GST_BUFFER_DURATION (videorate->prevbuf);
|
||||
in_endtime = intime + GST_BUFFER_DURATION (buffer);
|
||||
|
||||
if (videorate->to_rate_numerator) {
|
||||
GstClockTime frame_duration = gst_util_uint64_scale (1,
|
||||
videorate->to_rate_denominator * GST_SECOND,
|
||||
videorate->to_rate_numerator);
|
||||
next_end_ts = MAX (next_ts + frame_duration, videorate->segment.stop);
|
||||
next_end_ts = next_ts + frame_duration;
|
||||
} else {
|
||||
next_end_ts =
|
||||
MAX (next_ts + GST_BUFFER_DURATION (videorate->prevbuf),
|
||||
videorate->segment.stop);
|
||||
next_end_ts = next_ts + GST_BUFFER_DURATION (videorate->prevbuf);
|
||||
}
|
||||
next_ts *= videorate->rate;
|
||||
next_end_ts *= videorate->rate;
|
||||
|
|
|
@ -11,6 +11,10 @@ tests = [
|
|||
'audiotestsrc/reverse',
|
||||
'videorate/10_to_1fps',
|
||||
'videorate/reverse.10_to_1fps',
|
||||
'videorate/reverse.10_to_30fps',
|
||||
'videorate/reverse.1_to_10fps',
|
||||
'videorate/reverse.30fps',
|
||||
'videorate/reverse.variable_to_10fps',
|
||||
]
|
||||
|
||||
env = environment()
|
||||
|
|
|
@ -11,4 +11,14 @@ crank-clock, repeat=4, expected-elapsed-time=1.0
|
|||
|
||||
# Waiting 1 second on EOS
|
||||
crank-clock, expected-elapsed-time=1.0
|
||||
|
||||
seek, start=5.0, stop=10.0, flags=accurate+flush, rate=-1.0, on-message=eos
|
||||
|
||||
# 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
|
||||
|
|
|
@ -58,3 +58,58 @@ buffer: checksum=61f960fb1f82031de8557270b198f528cc319bb5, pts=0:00:00.200000000
|
|||
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)
|
||||
event flush-start: (no structure)
|
||||
event flush-stop: GstEventFlushStop, reset-time=(boolean)true;
|
||||
event segment: format=TIME, start=0:00:05.000000000, offset=0:00:00.000000000, stop=0:00:10.000000000, rate=-1.000000, flags=0x01, time=0:00:05.000000000, base=0:00:00.000000000, position=0:00:10.000000000
|
||||
buffer: checksum=b2ab46720dd104e5a6ca5a19a1c118aa777aa92f, pts=0:00:10.000000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=b60987b39a20770d5bfe06ffcd1969bf056a41a9, pts=0:00:09.900000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=04e0e904a493e2aa6900d6b6092674517c5a77de, pts=0:00:09.800000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=588c80b7129b9b3f6110ef3088205c3b661330e5, pts=0:00:09.700000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=38df70a21d073deb025aa27813de60be6690e5ae, pts=0:00:09.600000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=d02f148e9be9207a0cea4eced7c2a3f70f3e52c8, pts=0:00:09.500000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=21a9614ffbb63db6cbfdfa60eba048fb9f0b1b27, pts=0:00:09.400000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=566abf7642c93f108e3b2251801b76024f5b9414, pts=0:00:09.300000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=9ed5809db84171c3ea765109c7bb6d06940711b2, pts=0:00:09.200000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=1fe0b0028f9d8b75cad737bc7c942d504adcf5b8, pts=0:00:09.100000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=67edbc040d8972e01f10550cf35340ddbc332cb8, pts=0:00:09.000000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=b2bd19d13a53ecd9b6ce8dc13d58889145f2e300, pts=0:00:08.900000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=4c540ba6f644a449451a05075199eec058c97ce6, pts=0:00:08.800000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=eac538d274118e2c9ece263d7d8181b96baf29c6, pts=0:00:08.700000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=69cddadaa956a1c5892d8d0dac89b1c65a465433, pts=0:00:08.600000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=6a666fd77acb3ca738f1aec6382e1c16639559eb, pts=0:00:08.500000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=9bb2af2916262e7a0b59d81e19b020ab294ede68, pts=0:00:08.400000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=a76227d73704833429afe48922535b6b194abc89, pts=0:00:08.300000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=d815163c98b45ab4dd0a5a5a08414644b217ba2a, pts=0:00:08.200000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=52d7b087b0d61c355ccdb524a926202901df07cb, pts=0:00:08.100000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=08541f37e1a59e1a558d3d8d187d5912baa2bbab, pts=0:00:08.000000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=778c9e60a7ab01a76d3a701f6deee65db56dac5e, pts=0:00:07.900000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=4b5a3ffa8733f45c3b7bbe3c130d53084a8ba4b5, pts=0:00:07.800000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=45f475732158638ba25a1f13fcdecfd973a729c0, pts=0:00:07.700000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=03131e0e86ecc0424a26f7c6748f5ff99e85a231, pts=0:00:07.600000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=231b301c8364f2180642e44cdc712d7b8273c1d2, pts=0:00:07.500000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=3471533e0c4b9b45686dbd55a0a4aa496664a24b, pts=0:00:07.400000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=5e9528e0b2ca988d310408f298b95b11f676c96c, pts=0:00:07.300000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=a59f88382164516385db7b98f3bb4447ea3eead4, pts=0:00:07.200000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=a6cfd7f6c8323b6ac1d810976fce7bde2d28f61d, pts=0:00:07.100000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=daca47d48dd5b89ea6a6e6e1c9ed9c90e06c4065, pts=0:00:07.000000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=9363bed68761bd39a332ae06969be26b88b24ce0, pts=0:00:06.900000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=5fd72dde6310528eecdf8618a9d2124d145b6405, pts=0:00:06.800000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=c906a3737c558520fa57f1dddd8e77f8a911d96e, pts=0:00:06.700000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=0d2daee5dc57fcac302a271c10e142caabbebf44, pts=0:00:06.600000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=5d321946cef072b66bca379cf9736069d5f3d1aa, pts=0:00:06.500000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=5408a879a6074de4fd4fff2e39e8991b29b71caf, pts=0:00:06.400000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=b281df58220f9fddd9c4b2b7c297023e5a012658, pts=0:00:06.300000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=1376a43d3c10f74fafc5358c47f4eb326051947c, pts=0:00:06.200000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=ba32e3a24b1c653329865d93304e522d2c2f51c7, pts=0:00:06.100000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=a019cee5c491f6caffb617c2dba938802167fbc1, pts=0:00:06.000000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=12743d9ab352a75f9100424ad43f70d01fbfaee9, pts=0:00:05.900000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=0e46cd152393c5c4da9e37afd299ab1fde10978a, pts=0:00:05.800000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=b4522d1e8a6e89d34e546885f450d0fc4106e711, pts=0:00:05.700000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=dcd4ccc30734f8d3a8800256f3cdb99a58cb7794, pts=0:00:05.600000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=a8d20df82c00898e43c28e1f953f87f2d29bcb75, pts=0:00:05.500000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=0afa5c0d00ac4bfe6309ae945aaf800437f69dd6, pts=0:00:05.400000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=dc7572847961cdc8f87e8dd12b2004808b46b9d7, pts=0:00:05.300000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=2007db518ad85e4ec7e3e2a09729e9a1ada1ae8e, pts=0:00:05.200000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=5fb7222253c7d78c891979cdfa2c079eb2fba90f, pts=0:00:05.100000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=bff0c69020b2ffb3f3ceda63353620854cdd6b73, pts=0:00:05.000000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
|
||||
event eos: (no structure)
|
||||
|
|
|
@ -6,8 +6,17 @@ 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
|
||||
buffer: checksum=e1d19911a0a9b7a6a97dceedc96c66f81d187591, pts=0:00:03.000000000, dur=0:00:01.000000000, meta=GstVideoMeta
|
||||
buffer: checksum=012c04214b70c28c823991e5502c0dde653e576e, pts=0:00:02.000000000, dur=0:00:01.000000000, meta=GstVideoMeta
|
||||
buffer: checksum=2bd35f37780e5c7bf173bc1c29598ab7f110e168, pts=0:00:01.000000000, dur=0:00:01.000000000, meta=GstVideoMeta
|
||||
buffer: checksum=d0a85177ea2e35014a69c6290895090c9cdd6af4, pts=0:00:00.000000000, dur=0:00:01.000000000, meta=GstVideoMeta
|
||||
event eos: (no structure)
|
||||
event flush-start: (no structure)
|
||||
event flush-stop: GstEventFlushStop, reset-time=(boolean)true;
|
||||
event segment: format=TIME, start=0:00:05.000000000, offset=0:00:00.000000000, stop=0:00:10.000000000, rate=-1.000000, flags=0x01, time=0:00:05.000000000, base=0:00:00.000000000, position=0:00:10.000000000
|
||||
buffer: checksum=b60987b39a20770d5bfe06ffcd1969bf056a41a9, pts=0:00:09.000000000, dur=0:00:01.000000000, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=b2bd19d13a53ecd9b6ce8dc13d58889145f2e300, pts=0:00:08.000000000, dur=0:00:01.000000000, meta=GstVideoMeta
|
||||
buffer: checksum=778c9e60a7ab01a76d3a701f6deee65db56dac5e, pts=0:00:07.000000000, dur=0:00:01.000000000, meta=GstVideoMeta
|
||||
buffer: checksum=9363bed68761bd39a332ae06969be26b88b24ce0, pts=0:00:06.000000000, dur=0:00:01.000000000, meta=GstVideoMeta
|
||||
buffer: checksum=12743d9ab352a75f9100424ad43f70d01fbfaee9, pts=0:00:05.000000000, dur=0:00:01.000000000, meta=GstVideoMeta
|
||||
event eos: (no structure)
|
||||
|
|
15
tests/validate/videorate/reverse.10_to_30fps.validatetest
Normal file
15
tests/validate/videorate/reverse.10_to_30fps.validatetest
Normal file
|
@ -0,0 +1,15 @@
|
|||
set-globals, in_framerate="(GstFraction)10/1", out_framerate="(GstFraction)30/1"
|
||||
|
||||
include, location="videorate-test.meta"
|
||||
|
||||
play
|
||||
seek, start=0.0, stop=1.0, flags=accurate+flush, rate=-1.0
|
||||
|
||||
# First buffer is display as fast as possible
|
||||
crank-clock, expected-elapsed-time=0
|
||||
crank-clock, repeat=29
|
||||
|
||||
# Waiting 1 second on EOS
|
||||
crank-clock, expected-elapsed-time=(guint64)33333334
|
||||
stop, on-message=eos
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
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:01.000000000, rate=-1.000000, flags=0x01, time=0:00:00.000000000, base=0:00:00.000000000, position=0:00:01.000000000
|
||||
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)
|
|
@ -0,0 +1,38 @@
|
|||
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)30/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.033333333, 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:01.000000000, rate=-1.000000, flags=0x01, time=0:00:00.000000000, base=0:00:00.000000000, position=0:00:01.000000000
|
||||
buffer: checksum=d0a85177ea2e35014a69c6290895090c9cdd6af4, pts=0:00:00.966666667, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=d0a85177ea2e35014a69c6290895090c9cdd6af4, pts=0:00:00.933333334, dur=0:00:00.033333333, flags=gap, meta=GstVideoMeta
|
||||
buffer: checksum=29b39a0c9759a8860ab54f70cc3f2d8901902662, pts=0:00:00.900000000, dur=0:00:00.033333334, meta=GstVideoMeta
|
||||
buffer: checksum=29b39a0c9759a8860ab54f70cc3f2d8901902662, pts=0:00:00.866666667, dur=0:00:00.033333333, flags=gap, meta=GstVideoMeta
|
||||
buffer: checksum=29b39a0c9759a8860ab54f70cc3f2d8901902662, pts=0:00:00.833333334, dur=0:00:00.033333333, flags=gap, meta=GstVideoMeta
|
||||
buffer: checksum=cf699c4e8340bdae7e5ca8fe155ca1ecd1d565cd, pts=0:00:00.800000000, dur=0:00:00.033333334, meta=GstVideoMeta
|
||||
buffer: checksum=cf699c4e8340bdae7e5ca8fe155ca1ecd1d565cd, pts=0:00:00.766666667, dur=0:00:00.033333333, flags=gap, meta=GstVideoMeta
|
||||
buffer: checksum=cf699c4e8340bdae7e5ca8fe155ca1ecd1d565cd, pts=0:00:00.733333334, dur=0:00:00.033333333, flags=gap, meta=GstVideoMeta
|
||||
buffer: checksum=9667d1b1eb52d9463353a8cb854546b9e9c5fc32, pts=0:00:00.700000000, dur=0:00:00.033333334, meta=GstVideoMeta
|
||||
buffer: checksum=9667d1b1eb52d9463353a8cb854546b9e9c5fc32, pts=0:00:00.666666667, dur=0:00:00.033333333, flags=gap, meta=GstVideoMeta
|
||||
buffer: checksum=9667d1b1eb52d9463353a8cb854546b9e9c5fc32, pts=0:00:00.633333334, dur=0:00:00.033333333, flags=gap, meta=GstVideoMeta
|
||||
buffer: checksum=faa402360b8808220fa8ba7f29246edc52826335, pts=0:00:00.600000000, dur=0:00:00.033333334, meta=GstVideoMeta
|
||||
buffer: checksum=faa402360b8808220fa8ba7f29246edc52826335, pts=0:00:00.566666667, dur=0:00:00.033333333, flags=gap, meta=GstVideoMeta
|
||||
buffer: checksum=faa402360b8808220fa8ba7f29246edc52826335, pts=0:00:00.533333334, dur=0:00:00.033333333, flags=gap, meta=GstVideoMeta
|
||||
buffer: checksum=f5dd66e2339c5ff8db32b3dc717ff867912aceff, pts=0:00:00.500000000, dur=0:00:00.033333334, meta=GstVideoMeta
|
||||
buffer: checksum=f5dd66e2339c5ff8db32b3dc717ff867912aceff, pts=0:00:00.466666667, dur=0:00:00.033333333, flags=gap, meta=GstVideoMeta
|
||||
buffer: checksum=f5dd66e2339c5ff8db32b3dc717ff867912aceff, pts=0:00:00.433333334, dur=0:00:00.033333333, flags=gap, meta=GstVideoMeta
|
||||
buffer: checksum=1f55031a355611378b894de9e91f15b7aadb9762, pts=0:00:00.400000000, dur=0:00:00.033333334, meta=GstVideoMeta
|
||||
buffer: checksum=1f55031a355611378b894de9e91f15b7aadb9762, pts=0:00:00.366666667, dur=0:00:00.033333333, flags=gap, meta=GstVideoMeta
|
||||
buffer: checksum=1f55031a355611378b894de9e91f15b7aadb9762, pts=0:00:00.333333334, dur=0:00:00.033333333, flags=gap, meta=GstVideoMeta
|
||||
buffer: checksum=61f960fb1f82031de8557270b198f528cc319bb5, pts=0:00:00.300000000, dur=0:00:00.033333334, meta=GstVideoMeta
|
||||
buffer: checksum=61f960fb1f82031de8557270b198f528cc319bb5, pts=0:00:00.266666667, dur=0:00:00.033333333, flags=gap, meta=GstVideoMeta
|
||||
buffer: checksum=61f960fb1f82031de8557270b198f528cc319bb5, pts=0:00:00.233333334, dur=0:00:00.033333333, flags=gap, meta=GstVideoMeta
|
||||
buffer: checksum=d13b763048b4e8a132923ccec0cb0989a33ef44b, pts=0:00:00.200000000, dur=0:00:00.033333334, meta=GstVideoMeta
|
||||
buffer: checksum=d13b763048b4e8a132923ccec0cb0989a33ef44b, pts=0:00:00.166666667, dur=0:00:00.033333333, flags=gap, meta=GstVideoMeta
|
||||
buffer: checksum=d13b763048b4e8a132923ccec0cb0989a33ef44b, pts=0:00:00.133333334, dur=0:00:00.033333333, flags=gap, meta=GstVideoMeta
|
||||
buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.100000000, dur=0:00:00.033333334, meta=GstVideoMeta
|
||||
buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.066666667, dur=0:00:00.033333333, flags=gap, meta=GstVideoMeta
|
||||
buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.033333334, dur=0:00:00.033333333, flags=gap, meta=GstVideoMeta
|
||||
buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.000000000, dur=0:00:00.033333334, flags=gap, meta=GstVideoMeta
|
||||
event eos: (no structure)
|
14
tests/validate/videorate/reverse.1_to_10fps.validatetest
Normal file
14
tests/validate/videorate/reverse.1_to_10fps.validatetest
Normal file
|
@ -0,0 +1,14 @@
|
|||
set-globals, in_framerate="(GstFraction)1/1", out_framerate="(GstFraction)10/1"
|
||||
|
||||
include, location="videorate-test.meta"
|
||||
|
||||
play
|
||||
seek, start=0.0, stop=1.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=9, expected-elapsed-time=0.1
|
||||
|
||||
# Waiting 1 second on EOS
|
||||
crank-clock, expected-elapsed-time=0.1
|
||||
stop, on-message=eos
|
|
@ -0,0 +1,11 @@
|
|||
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
|
||||
buffer: checksum=d13b763048b4e8a132923ccec0cb0989a33ef44b, pts=0:00:01.000000000, dur=0:00:01.000000000, 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:01.000000000, rate=-1.000000, flags=0x01, time=0:00:00.000000000, base=0:00:00.000000000, position=0:00:01.000000000
|
||||
buffer: checksum=d13b763048b4e8a132923ccec0cb0989a33ef44b, pts=0:00:01.000000000, dur=0:00:01.000000000, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.000000000, dur=0:00:01.000000000, flags=discont, meta=GstVideoMeta
|
||||
event eos: (no structure)
|
|
@ -0,0 +1,18 @@
|
|||
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
|
||||
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:01.000000000, rate=-1.000000, flags=0x01, time=0:00:00.000000000, base=0:00:00.000000000, position=0:00:01.000000000
|
||||
buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.900000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.800000000, dur=0:00:00.100000000, flags=gap, meta=GstVideoMeta
|
||||
buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.700000000, dur=0:00:00.100000000, flags=gap, meta=GstVideoMeta
|
||||
buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.600000000, dur=0:00:00.100000000, flags=gap, meta=GstVideoMeta
|
||||
buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.500000000, dur=0:00:00.100000000, flags=gap, meta=GstVideoMeta
|
||||
buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.400000000, dur=0:00:00.100000000, flags=gap, meta=GstVideoMeta
|
||||
buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.300000000, dur=0:00:00.100000000, flags=gap, meta=GstVideoMeta
|
||||
buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.200000000, dur=0:00:00.100000000, flags=gap, meta=GstVideoMeta
|
||||
buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.100000000, dur=0:00:00.100000000, flags=gap, meta=GstVideoMeta
|
||||
buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.000000000, dur=0:00:00.100000000, flags=gap, meta=GstVideoMeta
|
||||
event eos: (no structure)
|
14
tests/validate/videorate/reverse.30fps.validatetest
Normal file
14
tests/validate/videorate/reverse.30fps.validatetest
Normal file
|
@ -0,0 +1,14 @@
|
|||
set-globals, in_framerate="(GstFraction)30/1", out_framerate="(GstFraction)30/1"
|
||||
|
||||
include, location="videorate-test.meta"
|
||||
|
||||
play
|
||||
seek, start=0.0, stop=1.0, flags=accurate+flush, rate=-1.0
|
||||
|
||||
# First buffer is display as fast as possible
|
||||
crank-clock, expected-elapsed-time=(guint64)0
|
||||
crank-clock, repeat=29
|
||||
|
||||
# Waiting on EOS
|
||||
crank-clock, expected-elapsed-time=(guint64)33333334
|
||||
stop, on-message=eos
|
|
@ -0,0 +1,40 @@
|
|||
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)30/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.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=d13b763048b4e8a132923ccec0cb0989a33ef44b, pts=0:00:00.033333333, dur=0:00:00.033333333, 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:01.000000000, rate=-1.000000, flags=0x01, time=0:00:00.000000000, base=0:00:00.000000000, position=0:00:01.000000000
|
||||
buffer: checksum=0d65174db0fc96dbeaaa2488d013b8935f363330, pts=0:00:01.000000000, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=012c04214b70c28c823991e5502c0dde653e576e, pts=0:00:00.966666666, dur=0:00:00.033333334, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=3d9ed200fc9ae13a398482ada9957fe5429f4808, pts=0:00:00.933333333, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=31aabb7c75b036bbbd9495a84647959b336d484b, pts=0:00:00.900000000, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=4838df67beb6ceadbde9fa4ae633b343962eb4cc, pts=0:00:00.866666666, dur=0:00:00.033333334, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=8969ea732a2692c1e437b901c12dc083c1ba137b, pts=0:00:00.833333333, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=58936846a7314b141f0bc1d1ff1e9d46db961633, pts=0:00:00.800000000, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=4c87c8b594e77448cffb8da079544060fa513829, pts=0:00:00.766666666, dur=0:00:00.033333334, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=f54b1beaf9a9709c87b9f2a0e2a509aaa0343b98, pts=0:00:00.733333333, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=1b8c20d6b674124d076db71daa1854de266b0365, pts=0:00:00.700000000, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=b235367d19b4a8eedcca178a5919dc0bbbaeabca, pts=0:00:00.666666666, dur=0:00:00.033333334, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=2bd35f37780e5c7bf173bc1c29598ab7f110e168, pts=0:00:00.633333333, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=1e677a53b1ce72bf11b301041c7cd62602f57cea, pts=0:00:00.600000000, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=a5b575e2fe65bb0862438f1689a1259612c3451b, pts=0:00:00.566666666, dur=0:00:00.033333334, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=724428f9800b53136cd85e1b28bf89454dce5b17, pts=0:00:00.533333333, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=997ee2608af57157beeba316c6e4058d904af854, pts=0:00:00.500000000, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=e33a1e17ee1d97ca396956dcc5bace77bcf40698, pts=0:00:00.466666666, dur=0:00:00.033333334, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=7bb5452dd5d28b6a62f3307b1e6f20a3c34ae0c4, pts=0:00:00.433333333, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=e9424eca5674294ba9ba8ee81714f7c6cb45f480, pts=0:00:00.400000000, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=ba9212a73c0b0fb0e1572b4bcc48c3240b617166, pts=0:00:00.366666666, dur=0:00:00.033333334, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=b001027646a88bd2f45818b12ce73b0f04046b06, pts=0:00:00.333333333, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=d0a85177ea2e35014a69c6290895090c9cdd6af4, pts=0:00:00.300000000, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=29b39a0c9759a8860ab54f70cc3f2d8901902662, pts=0:00:00.266666666, dur=0:00:00.033333334, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=cf699c4e8340bdae7e5ca8fe155ca1ecd1d565cd, pts=0:00:00.233333333, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=9667d1b1eb52d9463353a8cb854546b9e9c5fc32, pts=0:00:00.200000000, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=faa402360b8808220fa8ba7f29246edc52826335, pts=0:00:00.166666666, dur=0:00:00.033333334, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=f5dd66e2339c5ff8db32b3dc717ff867912aceff, pts=0:00:00.133333333, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=1f55031a355611378b894de9e91f15b7aadb9762, pts=0:00:00.100000000, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=61f960fb1f82031de8557270b198f528cc319bb5, pts=0:00:00.066666666, dur=0:00:00.033333334, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=d13b763048b4e8a132923ccec0cb0989a33ef44b, pts=0:00:00.033333333, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.000000000, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
event eos: (no structure)
|
|
@ -0,0 +1,38 @@
|
|||
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)30/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.033333333, 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:01.000000000, rate=-1.000000, flags=0x01, time=0:00:00.000000000, base=0:00:00.000000000, position=0:00:01.000000000
|
||||
buffer: checksum=012c04214b70c28c823991e5502c0dde653e576e, pts=0:00:00.966666667, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=3d9ed200fc9ae13a398482ada9957fe5429f4808, pts=0:00:00.933333334, dur=0:00:00.033333333, meta=GstVideoMeta
|
||||
buffer: checksum=31aabb7c75b036bbbd9495a84647959b336d484b, pts=0:00:00.900000000, dur=0:00:00.033333334, meta=GstVideoMeta
|
||||
buffer: checksum=4838df67beb6ceadbde9fa4ae633b343962eb4cc, pts=0:00:00.866666667, dur=0:00:00.033333333, meta=GstVideoMeta
|
||||
buffer: checksum=8969ea732a2692c1e437b901c12dc083c1ba137b, pts=0:00:00.833333334, dur=0:00:00.033333333, meta=GstVideoMeta
|
||||
buffer: checksum=58936846a7314b141f0bc1d1ff1e9d46db961633, pts=0:00:00.800000000, dur=0:00:00.033333334, meta=GstVideoMeta
|
||||
buffer: checksum=4c87c8b594e77448cffb8da079544060fa513829, pts=0:00:00.766666667, dur=0:00:00.033333333, meta=GstVideoMeta
|
||||
buffer: checksum=f54b1beaf9a9709c87b9f2a0e2a509aaa0343b98, pts=0:00:00.733333334, dur=0:00:00.033333333, meta=GstVideoMeta
|
||||
buffer: checksum=1b8c20d6b674124d076db71daa1854de266b0365, pts=0:00:00.700000000, dur=0:00:00.033333334, meta=GstVideoMeta
|
||||
buffer: checksum=b235367d19b4a8eedcca178a5919dc0bbbaeabca, pts=0:00:00.666666667, dur=0:00:00.033333333, meta=GstVideoMeta
|
||||
buffer: checksum=2bd35f37780e5c7bf173bc1c29598ab7f110e168, pts=0:00:00.633333334, dur=0:00:00.033333333, meta=GstVideoMeta
|
||||
buffer: checksum=1e677a53b1ce72bf11b301041c7cd62602f57cea, pts=0:00:00.600000000, dur=0:00:00.033333334, meta=GstVideoMeta
|
||||
buffer: checksum=a5b575e2fe65bb0862438f1689a1259612c3451b, pts=0:00:00.566666667, dur=0:00:00.033333333, meta=GstVideoMeta
|
||||
buffer: checksum=724428f9800b53136cd85e1b28bf89454dce5b17, pts=0:00:00.533333334, dur=0:00:00.033333333, meta=GstVideoMeta
|
||||
buffer: checksum=997ee2608af57157beeba316c6e4058d904af854, pts=0:00:00.500000000, dur=0:00:00.033333334, meta=GstVideoMeta
|
||||
buffer: checksum=e33a1e17ee1d97ca396956dcc5bace77bcf40698, pts=0:00:00.466666667, dur=0:00:00.033333333, meta=GstVideoMeta
|
||||
buffer: checksum=7bb5452dd5d28b6a62f3307b1e6f20a3c34ae0c4, pts=0:00:00.433333334, dur=0:00:00.033333333, meta=GstVideoMeta
|
||||
buffer: checksum=e9424eca5674294ba9ba8ee81714f7c6cb45f480, pts=0:00:00.400000000, dur=0:00:00.033333334, meta=GstVideoMeta
|
||||
buffer: checksum=ba9212a73c0b0fb0e1572b4bcc48c3240b617166, pts=0:00:00.366666667, dur=0:00:00.033333333, meta=GstVideoMeta
|
||||
buffer: checksum=b001027646a88bd2f45818b12ce73b0f04046b06, pts=0:00:00.333333334, dur=0:00:00.033333333, meta=GstVideoMeta
|
||||
buffer: checksum=d0a85177ea2e35014a69c6290895090c9cdd6af4, pts=0:00:00.300000000, dur=0:00:00.033333334, meta=GstVideoMeta
|
||||
buffer: checksum=29b39a0c9759a8860ab54f70cc3f2d8901902662, pts=0:00:00.266666667, dur=0:00:00.033333333, meta=GstVideoMeta
|
||||
buffer: checksum=cf699c4e8340bdae7e5ca8fe155ca1ecd1d565cd, pts=0:00:00.233333334, dur=0:00:00.033333333, meta=GstVideoMeta
|
||||
buffer: checksum=9667d1b1eb52d9463353a8cb854546b9e9c5fc32, pts=0:00:00.200000000, dur=0:00:00.033333334, meta=GstVideoMeta
|
||||
buffer: checksum=faa402360b8808220fa8ba7f29246edc52826335, pts=0:00:00.166666667, dur=0:00:00.033333333, meta=GstVideoMeta
|
||||
buffer: checksum=f5dd66e2339c5ff8db32b3dc717ff867912aceff, pts=0:00:00.133333334, dur=0:00:00.033333333, meta=GstVideoMeta
|
||||
buffer: checksum=1f55031a355611378b894de9e91f15b7aadb9762, pts=0:00:00.100000000, dur=0:00:00.033333334, meta=GstVideoMeta
|
||||
buffer: checksum=61f960fb1f82031de8557270b198f528cc319bb5, pts=0:00:00.066666667, dur=0:00:00.033333333, meta=GstVideoMeta
|
||||
buffer: checksum=d13b763048b4e8a132923ccec0cb0989a33ef44b, pts=0:00:00.033333334, dur=0:00:00.033333333, meta=GstVideoMeta
|
||||
buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.000000000, dur=0:00:00.033333334, meta=GstVideoMeta
|
||||
event eos: (no structure)
|
|
@ -0,0 +1,34 @@
|
|||
set-globals, in_framerate=(string)"0/1", out_framerate=(string)"10/1"
|
||||
|
||||
meta,
|
||||
handles-states=true,
|
||||
ignore-eos=true,
|
||||
args = {
|
||||
"videotestsrc pattern=ball animation-mode=frames ! video/x-raw,format=I420,framerate=30/1 ! capssetter caps=\"video/x-raw,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",
|
||||
}
|
||||
|
||||
|
||||
play
|
||||
seek, start=0.0, stop=1.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=9, expected-elapsed-time=0.1
|
||||
|
||||
# Waiting 1 second on EOS
|
||||
crank-clock, expected-elapsed-time=0.1
|
||||
|
||||
seek, start=1.0, stop=2.0, flags=accurate+flush, rate=-1.0, on-message=eos
|
||||
|
||||
# First buffer is display as fast as possible
|
||||
crank-clock, expected-elapsed-time=0.0
|
||||
crank-clock, repeat=9, expected-elapsed-time=0.1
|
||||
|
||||
# Waiting 1 second on EOS
|
||||
crank-clock, expected-elapsed-time=0.1
|
||||
|
||||
stop, on-message=eos
|
|
@ -0,0 +1,75 @@
|
|||
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)0/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.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=d13b763048b4e8a132923ccec0cb0989a33ef44b, pts=0:00:00.033333333, dur=0:00:00.033333333, 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:01.000000000, rate=-1.000000, flags=0x01, time=0:00:00.000000000, base=0:00:00.000000000, position=0:00:01.000000000
|
||||
buffer: checksum=0d65174db0fc96dbeaaa2488d013b8935f363330, pts=0:00:01.000000000, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=012c04214b70c28c823991e5502c0dde653e576e, pts=0:00:00.966666666, dur=0:00:00.033333334, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=3d9ed200fc9ae13a398482ada9957fe5429f4808, pts=0:00:00.933333333, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=31aabb7c75b036bbbd9495a84647959b336d484b, pts=0:00:00.900000000, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=4838df67beb6ceadbde9fa4ae633b343962eb4cc, pts=0:00:00.866666666, dur=0:00:00.033333334, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=8969ea732a2692c1e437b901c12dc083c1ba137b, pts=0:00:00.833333333, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=58936846a7314b141f0bc1d1ff1e9d46db961633, pts=0:00:00.800000000, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=4c87c8b594e77448cffb8da079544060fa513829, pts=0:00:00.766666666, dur=0:00:00.033333334, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=f54b1beaf9a9709c87b9f2a0e2a509aaa0343b98, pts=0:00:00.733333333, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=1b8c20d6b674124d076db71daa1854de266b0365, pts=0:00:00.700000000, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=b235367d19b4a8eedcca178a5919dc0bbbaeabca, pts=0:00:00.666666666, dur=0:00:00.033333334, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=2bd35f37780e5c7bf173bc1c29598ab7f110e168, pts=0:00:00.633333333, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=1e677a53b1ce72bf11b301041c7cd62602f57cea, pts=0:00:00.600000000, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=a5b575e2fe65bb0862438f1689a1259612c3451b, pts=0:00:00.566666666, dur=0:00:00.033333334, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=724428f9800b53136cd85e1b28bf89454dce5b17, pts=0:00:00.533333333, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=997ee2608af57157beeba316c6e4058d904af854, pts=0:00:00.500000000, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=e33a1e17ee1d97ca396956dcc5bace77bcf40698, pts=0:00:00.466666666, dur=0:00:00.033333334, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=7bb5452dd5d28b6a62f3307b1e6f20a3c34ae0c4, pts=0:00:00.433333333, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=e9424eca5674294ba9ba8ee81714f7c6cb45f480, pts=0:00:00.400000000, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=ba9212a73c0b0fb0e1572b4bcc48c3240b617166, pts=0:00:00.366666666, dur=0:00:00.033333334, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=b001027646a88bd2f45818b12ce73b0f04046b06, pts=0:00:00.333333333, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=d0a85177ea2e35014a69c6290895090c9cdd6af4, pts=0:00:00.300000000, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=29b39a0c9759a8860ab54f70cc3f2d8901902662, pts=0:00:00.266666666, dur=0:00:00.033333334, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=cf699c4e8340bdae7e5ca8fe155ca1ecd1d565cd, pts=0:00:00.233333333, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=9667d1b1eb52d9463353a8cb854546b9e9c5fc32, pts=0:00:00.200000000, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=faa402360b8808220fa8ba7f29246edc52826335, pts=0:00:00.166666666, dur=0:00:00.033333334, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=f5dd66e2339c5ff8db32b3dc717ff867912aceff, pts=0:00:00.133333333, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=1f55031a355611378b894de9e91f15b7aadb9762, pts=0:00:00.100000000, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=61f960fb1f82031de8557270b198f528cc319bb5, pts=0:00:00.066666666, dur=0:00:00.033333334, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=d13b763048b4e8a132923ccec0cb0989a33ef44b, pts=0:00:00.033333333, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.000000000, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
event eos: (no structure)
|
||||
event flush-start: (no structure)
|
||||
event flush-stop: GstEventFlushStop, reset-time=(boolean)true;
|
||||
event segment: format=TIME, start=0:00:01.000000000, offset=0:00:00.000000000, stop=0:00:02.000000000, rate=-1.000000, flags=0x01, time=0:00:01.000000000, base=0:00:00.000000000, position=0:00:02.000000000
|
||||
buffer: checksum=a019cee5c491f6caffb617c2dba938802167fbc1, pts=0:00:02.000000000, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=12743d9ab352a75f9100424ad43f70d01fbfaee9, pts=0:00:01.966666666, dur=0:00:00.033333334, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=0e46cd152393c5c4da9e37afd299ab1fde10978a, pts=0:00:01.933333333, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=b4522d1e8a6e89d34e546885f450d0fc4106e711, pts=0:00:01.900000000, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=dcd4ccc30734f8d3a8800256f3cdb99a58cb7794, pts=0:00:01.866666666, dur=0:00:00.033333334, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=a8d20df82c00898e43c28e1f953f87f2d29bcb75, pts=0:00:01.833333333, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=0afa5c0d00ac4bfe6309ae945aaf800437f69dd6, pts=0:00:01.800000000, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=dc7572847961cdc8f87e8dd12b2004808b46b9d7, pts=0:00:01.766666666, dur=0:00:00.033333334, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=2007db518ad85e4ec7e3e2a09729e9a1ada1ae8e, pts=0:00:01.733333333, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=5fb7222253c7d78c891979cdfa2c079eb2fba90f, pts=0:00:01.700000000, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=bff0c69020b2ffb3f3ceda63353620854cdd6b73, pts=0:00:01.666666666, dur=0:00:00.033333334, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=1d2741e8fc312f50417c99f6deecb6220c75efaa, pts=0:00:01.633333333, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=6f2d5d8f9551083a65889a7d7b87e25348612604, pts=0:00:01.600000000, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=87c6573e1f3cc6a14bca871f675ff66822e2863e, pts=0:00:01.566666666, dur=0:00:00.033333334, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=302581fc1fdd332a6702cc3b4d6a3f3f87d0c78f, pts=0:00:01.533333333, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=e085fff613289df868f63ca7142ce0d342ab3d4c, pts=0:00:01.500000000, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=ea498a2e840c9528f90f1154f72d4b204739b947, pts=0:00:01.466666666, dur=0:00:00.033333334, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=f05561e3039ed26e3082bd7b049bad9356545149, pts=0:00:01.433333333, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=33710a6238592d081550f74836533f8caf51cc0f, pts=0:00:01.400000000, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=e07dcddf3c18d51c51d1914588a2b61327cfa139, pts=0:00:01.366666666, dur=0:00:00.033333334, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=a01cd9172bd2387002e8f9b3003a9becc2938c16, pts=0:00:01.333333333, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=e1d19911a0a9b7a6a97dceedc96c66f81d187591, pts=0:00:01.300000000, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=950bd00b2a08dc4fb6e0a2b06d38cf14a40780ac, pts=0:00:01.266666666, dur=0:00:00.033333334, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=ab9217e0ca61c7ae0a8d298d36d0ce97eed482cd, pts=0:00:01.233333333, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=8eed8ee03cf63e698bfa301fa0b304addffed4bc, pts=0:00:01.200000000, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=9238cea5dc4855b286e4a1459ca4f8e177dfb96f, pts=0:00:01.166666666, dur=0:00:00.033333334, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=1f33bf94492ba7dbe2bf72e57bd12cee8f090079, pts=0:00:01.133333333, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=f0f7021ee092b8f273ca5cec2d1acefebfb53356, pts=0:00:01.100000000, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=7acbad9ec0b798679d22ac1cf8bb0526a2a066d3, pts=0:00:01.066666666, dur=0:00:00.033333334, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=cb91b143e223d44733177fca79708fb3199aabf8, pts=0:00:01.033333333, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=0d65174db0fc96dbeaaa2488d013b8935f363330, pts=0:00:01.000000000, dur=0:00:00.033333333, flags=discont, meta=GstVideoMeta
|
||||
event eos: (no structure)
|
|
@ -0,0 +1,32 @@
|
|||
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
|
||||
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:01.000000000, rate=-1.000000, flags=0x01, time=0:00:00.000000000, base=0:00:00.000000000, position=0:00:01.000000000
|
||||
buffer: checksum=012c04214b70c28c823991e5502c0dde653e576e, pts=0:00:00.900000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=4838df67beb6ceadbde9fa4ae633b343962eb4cc, pts=0:00:00.800000000, dur=0:00:00.100000000, meta=GstVideoMeta
|
||||
buffer: checksum=4c87c8b594e77448cffb8da079544060fa513829, pts=0:00:00.700000000, dur=0:00:00.100000000, meta=GstVideoMeta
|
||||
buffer: checksum=b235367d19b4a8eedcca178a5919dc0bbbaeabca, pts=0:00:00.600000000, dur=0:00:00.100000000, meta=GstVideoMeta
|
||||
buffer: checksum=a5b575e2fe65bb0862438f1689a1259612c3451b, pts=0:00:00.500000000, dur=0:00:00.100000000, meta=GstVideoMeta
|
||||
buffer: checksum=e33a1e17ee1d97ca396956dcc5bace77bcf40698, pts=0:00:00.400000000, dur=0:00:00.100000000, meta=GstVideoMeta
|
||||
buffer: checksum=ba9212a73c0b0fb0e1572b4bcc48c3240b617166, pts=0:00:00.300000000, dur=0:00:00.100000000, meta=GstVideoMeta
|
||||
buffer: checksum=29b39a0c9759a8860ab54f70cc3f2d8901902662, pts=0:00:00.200000000, dur=0:00:00.100000000, meta=GstVideoMeta
|
||||
buffer: checksum=faa402360b8808220fa8ba7f29246edc52826335, pts=0:00:00.100000000, dur=0:00:00.100000000, meta=GstVideoMeta
|
||||
buffer: checksum=61f960fb1f82031de8557270b198f528cc319bb5, pts=0:00:00.000000000, dur=0:00:00.100000000, meta=GstVideoMeta
|
||||
event eos: (no structure)
|
||||
event flush-start: (no structure)
|
||||
event flush-stop: GstEventFlushStop, reset-time=(boolean)true;
|
||||
event segment: format=TIME, start=0:00:01.000000000, offset=0:00:00.000000000, stop=0:00:02.000000000, rate=-1.000000, flags=0x01, time=0:00:01.000000000, base=0:00:00.000000000, position=0:00:02.000000000
|
||||
buffer: checksum=12743d9ab352a75f9100424ad43f70d01fbfaee9, pts=0:00:01.900000000, dur=0:00:00.100000000, flags=discont, meta=GstVideoMeta
|
||||
buffer: checksum=dcd4ccc30734f8d3a8800256f3cdb99a58cb7794, pts=0:00:01.800000000, dur=0:00:00.100000000, meta=GstVideoMeta
|
||||
buffer: checksum=dc7572847961cdc8f87e8dd12b2004808b46b9d7, pts=0:00:01.700000000, dur=0:00:00.100000000, meta=GstVideoMeta
|
||||
buffer: checksum=bff0c69020b2ffb3f3ceda63353620854cdd6b73, pts=0:00:01.600000000, dur=0:00:00.100000000, meta=GstVideoMeta
|
||||
buffer: checksum=87c6573e1f3cc6a14bca871f675ff66822e2863e, pts=0:00:01.500000000, dur=0:00:00.100000000, meta=GstVideoMeta
|
||||
buffer: checksum=ea498a2e840c9528f90f1154f72d4b204739b947, pts=0:00:01.400000000, dur=0:00:00.100000000, meta=GstVideoMeta
|
||||
buffer: checksum=e07dcddf3c18d51c51d1914588a2b61327cfa139, pts=0:00:01.300000000, dur=0:00:00.100000000, meta=GstVideoMeta
|
||||
buffer: checksum=950bd00b2a08dc4fb6e0a2b06d38cf14a40780ac, pts=0:00:01.200000000, dur=0:00:00.100000000, meta=GstVideoMeta
|
||||
buffer: checksum=9238cea5dc4855b286e4a1459ca4f8e177dfb96f, pts=0:00:01.100000000, dur=0:00:00.100000000, meta=GstVideoMeta
|
||||
buffer: checksum=7acbad9ec0b798679d22ac1cf8bb0526a2a066d3, pts=0:00:01.000000000, dur=0:00:00.100000000, meta=GstVideoMeta
|
||||
event eos: (no structure)
|
Loading…
Reference in a new issue