diff --git a/subprojects/gst-plugins-base/tests/validate/meson.build b/subprojects/gst-plugins-base/tests/validate/meson.build index f732daae44..569b5bfb8c 100644 --- a/subprojects/gst-plugins-base/tests/validate/meson.build +++ b/subprojects/gst-plugins-base/tests/validate/meson.build @@ -7,10 +7,20 @@ tests = [ 'audiotestsrc/reverse', 'videorate/10_to_1fps', 'videorate/reverse.10_to_1fps', + 'videorate/reverse_fast.10_to_1fps', + 'videorate/reverse_slow.10_to_1fps', 'videorate/reverse.10_to_30fps', + 'videorate/reverse_fast.10_to_30fps', + 'videorate/reverse_slow.10_to_30fps', 'videorate/reverse.1_to_10fps', + 'videorate/reverse_fast.1_to_10fps', + 'videorate/reverse_slow.1_to_10fps', 'videorate/reverse.30fps', + 'videorate/reverse_fast.30fps', + 'videorate/reverse_slow.30fps', 'videorate/reverse.variable_to_10fps', + 'videorate/reverse_fast.variable_to_10fps', + 'videorate/reverse_slow.variable_to_10fps', 'videorate/change_rate_while_playing', 'videorate/change_rate_reverse_playback', 'videorate/rate_0_5', diff --git a/subprojects/gst-plugins-base/tests/validate/videorate/reverse_fast.10_to_1fps.validatetest b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_fast.10_to_1fps.validatetest new file mode 100644 index 0000000000..52e95e7418 --- /dev/null +++ b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_fast.10_to_1fps.validatetest @@ -0,0 +1,24 @@ +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=-2.0 + +# First buffer is display as fast as possible +crank-clock, expected-elapsed-time=0.0 +crank-clock, repeat=4, expected-elapsed-time=0.5 + +# Waiting on EOS +crank-clock, expected-elapsed-time=0.5 + +seek, start=5.0, stop=10.0, flags=accurate+flush, rate=-2.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=0.5 + +# Waiting on EOS +crank-clock, expected-elapsed-time=0.5 + +stop, on-message=eos diff --git a/subprojects/gst-plugins-base/tests/validate/videorate/reverse_fast.10_to_1fps/flow-expectations/log-videorate-sink-expected b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_fast.10_to_1fps/flow-expectations/log-videorate-sink-expected new file mode 100644 index 0000000000..9f194c7588 --- /dev/null +++ b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_fast.10_to_1fps/flow-expectations/log-videorate-sink-expected @@ -0,0 +1,115 @@ +event stream-start: GstEventStreamStart, flags=(GstStreamFlags)GST_STREAM_FLAG_NONE, group-id=(uint)1; +event caps: video/x-raw, format=(string)I420, framerate=(fraction)10/1, height=(int)240, interlace-mode=(string)progressive, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, width=(int)320; +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 +buffer: checksum=d13b763048b4e8a132923ccec0cb0989a33ef44b, pts=0:00:00.100000000, dur=0:00:00.100000000 +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=-2.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 +buffer: checksum=1d2741e8fc312f50417c99f6deecb6220c75efaa, pts=0:00:04.900000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=6f2d5d8f9551083a65889a7d7b87e25348612604, pts=0:00:04.800000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=87c6573e1f3cc6a14bca871f675ff66822e2863e, pts=0:00:04.700000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=302581fc1fdd332a6702cc3b4d6a3f3f87d0c78f, pts=0:00:04.600000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=e085fff613289df868f63ca7142ce0d342ab3d4c, pts=0:00:04.500000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=ea498a2e840c9528f90f1154f72d4b204739b947, pts=0:00:04.400000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=f05561e3039ed26e3082bd7b049bad9356545149, pts=0:00:04.300000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=33710a6238592d081550f74836533f8caf51cc0f, pts=0:00:04.200000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=e07dcddf3c18d51c51d1914588a2b61327cfa139, pts=0:00:04.100000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=a01cd9172bd2387002e8f9b3003a9becc2938c16, pts=0:00:04.000000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=e1d19911a0a9b7a6a97dceedc96c66f81d187591, pts=0:00:03.900000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=950bd00b2a08dc4fb6e0a2b06d38cf14a40780ac, pts=0:00:03.800000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=ab9217e0ca61c7ae0a8d298d36d0ce97eed482cd, pts=0:00:03.700000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=8eed8ee03cf63e698bfa301fa0b304addffed4bc, pts=0:00:03.600000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=9238cea5dc4855b286e4a1459ca4f8e177dfb96f, pts=0:00:03.500000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=1f33bf94492ba7dbe2bf72e57bd12cee8f090079, pts=0:00:03.400000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=f0f7021ee092b8f273ca5cec2d1acefebfb53356, pts=0:00:03.300000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=7acbad9ec0b798679d22ac1cf8bb0526a2a066d3, pts=0:00:03.200000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=cb91b143e223d44733177fca79708fb3199aabf8, pts=0:00:03.100000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=0d65174db0fc96dbeaaa2488d013b8935f363330, pts=0:00:03.000000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=012c04214b70c28c823991e5502c0dde653e576e, pts=0:00:02.900000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=3d9ed200fc9ae13a398482ada9957fe5429f4808, pts=0:00:02.800000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=31aabb7c75b036bbbd9495a84647959b336d484b, pts=0:00:02.700000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=4838df67beb6ceadbde9fa4ae633b343962eb4cc, pts=0:00:02.600000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=8969ea732a2692c1e437b901c12dc083c1ba137b, pts=0:00:02.500000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=58936846a7314b141f0bc1d1ff1e9d46db961633, pts=0:00:02.400000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=4c87c8b594e77448cffb8da079544060fa513829, pts=0:00:02.300000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=f54b1beaf9a9709c87b9f2a0e2a509aaa0343b98, pts=0:00:02.200000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=1b8c20d6b674124d076db71daa1854de266b0365, pts=0:00:02.100000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=b235367d19b4a8eedcca178a5919dc0bbbaeabca, pts=0:00:02.000000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=2bd35f37780e5c7bf173bc1c29598ab7f110e168, pts=0:00:01.900000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=1e677a53b1ce72bf11b301041c7cd62602f57cea, pts=0:00:01.800000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=a5b575e2fe65bb0862438f1689a1259612c3451b, pts=0:00:01.700000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=724428f9800b53136cd85e1b28bf89454dce5b17, pts=0:00:01.600000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=997ee2608af57157beeba316c6e4058d904af854, pts=0:00:01.500000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=e33a1e17ee1d97ca396956dcc5bace77bcf40698, pts=0:00:01.400000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=7bb5452dd5d28b6a62f3307b1e6f20a3c34ae0c4, pts=0:00:01.300000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=e9424eca5674294ba9ba8ee81714f7c6cb45f480, pts=0:00:01.200000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=ba9212a73c0b0fb0e1572b4bcc48c3240b617166, pts=0:00:01.100000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=b001027646a88bd2f45818b12ce73b0f04046b06, pts=0:00:01.000000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=d0a85177ea2e35014a69c6290895090c9cdd6af4, pts=0:00:00.900000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=29b39a0c9759a8860ab54f70cc3f2d8901902662, pts=0:00:00.800000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=cf699c4e8340bdae7e5ca8fe155ca1ecd1d565cd, pts=0:00:00.700000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=9667d1b1eb52d9463353a8cb854546b9e9c5fc32, pts=0:00:00.600000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=faa402360b8808220fa8ba7f29246edc52826335, pts=0:00:00.500000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=f5dd66e2339c5ff8db32b3dc717ff867912aceff, pts=0:00:00.400000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=1f55031a355611378b894de9e91f15b7aadb9762, pts=0:00:00.300000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=61f960fb1f82031de8557270b198f528cc319bb5, pts=0:00:00.200000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=d13b763048b4e8a132923ccec0cb0989a33ef44b, pts=0:00:00.100000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.000000000, dur=0:00:00.100000000, flags=discont +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=-2.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 +buffer: checksum=b60987b39a20770d5bfe06ffcd1969bf056a41a9, pts=0:00:09.900000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=04e0e904a493e2aa6900d6b6092674517c5a77de, pts=0:00:09.800000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=588c80b7129b9b3f6110ef3088205c3b661330e5, pts=0:00:09.700000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=38df70a21d073deb025aa27813de60be6690e5ae, pts=0:00:09.600000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=d02f148e9be9207a0cea4eced7c2a3f70f3e52c8, pts=0:00:09.500000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=21a9614ffbb63db6cbfdfa60eba048fb9f0b1b27, pts=0:00:09.400000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=566abf7642c93f108e3b2251801b76024f5b9414, pts=0:00:09.300000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=9ed5809db84171c3ea765109c7bb6d06940711b2, pts=0:00:09.200000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=1fe0b0028f9d8b75cad737bc7c942d504adcf5b8, pts=0:00:09.100000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=67edbc040d8972e01f10550cf35340ddbc332cb8, pts=0:00:09.000000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=b2bd19d13a53ecd9b6ce8dc13d58889145f2e300, pts=0:00:08.900000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=4c540ba6f644a449451a05075199eec058c97ce6, pts=0:00:08.800000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=eac538d274118e2c9ece263d7d8181b96baf29c6, pts=0:00:08.700000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=69cddadaa956a1c5892d8d0dac89b1c65a465433, pts=0:00:08.600000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=6a666fd77acb3ca738f1aec6382e1c16639559eb, pts=0:00:08.500000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=9bb2af2916262e7a0b59d81e19b020ab294ede68, pts=0:00:08.400000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=a76227d73704833429afe48922535b6b194abc89, pts=0:00:08.300000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=d815163c98b45ab4dd0a5a5a08414644b217ba2a, pts=0:00:08.200000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=52d7b087b0d61c355ccdb524a926202901df07cb, pts=0:00:08.100000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=08541f37e1a59e1a558d3d8d187d5912baa2bbab, pts=0:00:08.000000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=778c9e60a7ab01a76d3a701f6deee65db56dac5e, pts=0:00:07.900000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=4b5a3ffa8733f45c3b7bbe3c130d53084a8ba4b5, pts=0:00:07.800000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=45f475732158638ba25a1f13fcdecfd973a729c0, pts=0:00:07.700000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=03131e0e86ecc0424a26f7c6748f5ff99e85a231, pts=0:00:07.600000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=231b301c8364f2180642e44cdc712d7b8273c1d2, pts=0:00:07.500000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=3471533e0c4b9b45686dbd55a0a4aa496664a24b, pts=0:00:07.400000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=5e9528e0b2ca988d310408f298b95b11f676c96c, pts=0:00:07.300000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=a59f88382164516385db7b98f3bb4447ea3eead4, pts=0:00:07.200000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=a6cfd7f6c8323b6ac1d810976fce7bde2d28f61d, pts=0:00:07.100000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=daca47d48dd5b89ea6a6e6e1c9ed9c90e06c4065, pts=0:00:07.000000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=9363bed68761bd39a332ae06969be26b88b24ce0, pts=0:00:06.900000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=5fd72dde6310528eecdf8618a9d2124d145b6405, pts=0:00:06.800000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=c906a3737c558520fa57f1dddd8e77f8a911d96e, pts=0:00:06.700000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=0d2daee5dc57fcac302a271c10e142caabbebf44, pts=0:00:06.600000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=5d321946cef072b66bca379cf9736069d5f3d1aa, pts=0:00:06.500000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=5408a879a6074de4fd4fff2e39e8991b29b71caf, pts=0:00:06.400000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=b281df58220f9fddd9c4b2b7c297023e5a012658, pts=0:00:06.300000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=1376a43d3c10f74fafc5358c47f4eb326051947c, pts=0:00:06.200000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=ba32e3a24b1c653329865d93304e522d2c2f51c7, pts=0:00:06.100000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=a019cee5c491f6caffb617c2dba938802167fbc1, pts=0:00:06.000000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=12743d9ab352a75f9100424ad43f70d01fbfaee9, pts=0:00:05.900000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=0e46cd152393c5c4da9e37afd299ab1fde10978a, pts=0:00:05.800000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=b4522d1e8a6e89d34e546885f450d0fc4106e711, pts=0:00:05.700000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=dcd4ccc30734f8d3a8800256f3cdb99a58cb7794, pts=0:00:05.600000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=a8d20df82c00898e43c28e1f953f87f2d29bcb75, pts=0:00:05.500000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=0afa5c0d00ac4bfe6309ae945aaf800437f69dd6, pts=0:00:05.400000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=dc7572847961cdc8f87e8dd12b2004808b46b9d7, pts=0:00:05.300000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=2007db518ad85e4ec7e3e2a09729e9a1ada1ae8e, pts=0:00:05.200000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=5fb7222253c7d78c891979cdfa2c079eb2fba90f, pts=0:00:05.100000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=bff0c69020b2ffb3f3ceda63353620854cdd6b73, pts=0:00:05.000000000, dur=0:00:00.100000000, flags=discont +event eos: (no structure) diff --git a/subprojects/gst-plugins-base/tests/validate/videorate/reverse_fast.10_to_1fps/flow-expectations/log-videorate-src-expected b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_fast.10_to_1fps/flow-expectations/log-videorate-src-expected new file mode 100644 index 0000000000..647c7b00b1 --- /dev/null +++ b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_fast.10_to_1fps/flow-expectations/log-videorate-src-expected @@ -0,0 +1,22 @@ +event stream-start: GstEventStreamStart, flags=(GstStreamFlags)GST_STREAM_FLAG_NONE, group-id=(uint)1; +event caps: video/x-raw, format=(string)I420, framerate=(fraction)1/1, height=(int)240, interlace-mode=(string)progressive, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, width=(int)320; +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 +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=-2.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 +buffer: checksum=e1d19911a0a9b7a6a97dceedc96c66f81d187591, pts=0:00:03.000000000, dur=0:00:01.000000000 +buffer: checksum=012c04214b70c28c823991e5502c0dde653e576e, pts=0:00:02.000000000, dur=0:00:01.000000000 +buffer: checksum=2bd35f37780e5c7bf173bc1c29598ab7f110e168, pts=0:00:01.000000000, dur=0:00:01.000000000 +buffer: checksum=d0a85177ea2e35014a69c6290895090c9cdd6af4, pts=0:00:00.000000000, dur=0:00:01.000000000 +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=-2.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 +buffer: checksum=b2bd19d13a53ecd9b6ce8dc13d58889145f2e300, pts=0:00:08.000000000, dur=0:00:01.000000000 +buffer: checksum=778c9e60a7ab01a76d3a701f6deee65db56dac5e, pts=0:00:07.000000000, dur=0:00:01.000000000 +buffer: checksum=9363bed68761bd39a332ae06969be26b88b24ce0, pts=0:00:06.000000000, dur=0:00:01.000000000 +buffer: checksum=12743d9ab352a75f9100424ad43f70d01fbfaee9, pts=0:00:05.000000000, dur=0:00:01.000000000 +event eos: (no structure) diff --git a/subprojects/gst-plugins-base/tests/validate/videorate/reverse_fast.10_to_30fps.validatetest b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_fast.10_to_30fps.validatetest new file mode 100644 index 0000000000..7d0bfc3924 --- /dev/null +++ b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_fast.10_to_30fps.validatetest @@ -0,0 +1,14 @@ +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=-2.0 + +# First buffer is display as fast as possible +crank-clock, expected-elapsed-time=0 +crank-clock, repeat=29 + +# Waiting on EOS +crank-clock, expected-elapsed-time=(guint64)16666667 +stop, on-message=eos diff --git a/subprojects/gst-plugins-base/tests/validate/videorate/reverse_fast.10_to_30fps/flow-expectations/log-videorate-sink-expected b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_fast.10_to_30fps/flow-expectations/log-videorate-sink-expected new file mode 100644 index 0000000000..3014eba72e --- /dev/null +++ b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_fast.10_to_30fps/flow-expectations/log-videorate-sink-expected @@ -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, framerate=(fraction)10/1, height=(int)240, interlace-mode=(string)progressive, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, width=(int)320; +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 +buffer: checksum=d13b763048b4e8a132923ccec0cb0989a33ef44b, pts=0:00:00.100000000, dur=0:00:00.100000000 +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=-2.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 +buffer: checksum=d0a85177ea2e35014a69c6290895090c9cdd6af4, pts=0:00:00.900000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=29b39a0c9759a8860ab54f70cc3f2d8901902662, pts=0:00:00.800000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=cf699c4e8340bdae7e5ca8fe155ca1ecd1d565cd, pts=0:00:00.700000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=9667d1b1eb52d9463353a8cb854546b9e9c5fc32, pts=0:00:00.600000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=faa402360b8808220fa8ba7f29246edc52826335, pts=0:00:00.500000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=f5dd66e2339c5ff8db32b3dc717ff867912aceff, pts=0:00:00.400000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=1f55031a355611378b894de9e91f15b7aadb9762, pts=0:00:00.300000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=61f960fb1f82031de8557270b198f528cc319bb5, pts=0:00:00.200000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=d13b763048b4e8a132923ccec0cb0989a33ef44b, pts=0:00:00.100000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.000000000, dur=0:00:00.100000000, flags=discont +event eos: (no structure) diff --git a/subprojects/gst-plugins-base/tests/validate/videorate/reverse_fast.10_to_30fps/flow-expectations/log-videorate-src-expected b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_fast.10_to_30fps/flow-expectations/log-videorate-src-expected new file mode 100644 index 0000000000..16c90c3d9b --- /dev/null +++ b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_fast.10_to_30fps/flow-expectations/log-videorate-src-expected @@ -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, framerate=(fraction)30/1, height=(int)240, interlace-mode=(string)progressive, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, width=(int)320; +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 +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=-2.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 +buffer: checksum=d0a85177ea2e35014a69c6290895090c9cdd6af4, pts=0:00:00.933333334, dur=0:00:00.033333333, flags=gap +buffer: checksum=29b39a0c9759a8860ab54f70cc3f2d8901902662, pts=0:00:00.900000000, dur=0:00:00.033333334 +buffer: checksum=29b39a0c9759a8860ab54f70cc3f2d8901902662, pts=0:00:00.866666667, dur=0:00:00.033333333, flags=gap +buffer: checksum=29b39a0c9759a8860ab54f70cc3f2d8901902662, pts=0:00:00.833333334, dur=0:00:00.033333333, flags=gap +buffer: checksum=cf699c4e8340bdae7e5ca8fe155ca1ecd1d565cd, pts=0:00:00.800000000, dur=0:00:00.033333334 +buffer: checksum=cf699c4e8340bdae7e5ca8fe155ca1ecd1d565cd, pts=0:00:00.766666667, dur=0:00:00.033333333, flags=gap +buffer: checksum=cf699c4e8340bdae7e5ca8fe155ca1ecd1d565cd, pts=0:00:00.733333334, dur=0:00:00.033333333, flags=gap +buffer: checksum=9667d1b1eb52d9463353a8cb854546b9e9c5fc32, pts=0:00:00.700000000, dur=0:00:00.033333334 +buffer: checksum=9667d1b1eb52d9463353a8cb854546b9e9c5fc32, pts=0:00:00.666666667, dur=0:00:00.033333333, flags=gap +buffer: checksum=9667d1b1eb52d9463353a8cb854546b9e9c5fc32, pts=0:00:00.633333334, dur=0:00:00.033333333, flags=gap +buffer: checksum=faa402360b8808220fa8ba7f29246edc52826335, pts=0:00:00.600000000, dur=0:00:00.033333334 +buffer: checksum=faa402360b8808220fa8ba7f29246edc52826335, pts=0:00:00.566666667, dur=0:00:00.033333333, flags=gap +buffer: checksum=faa402360b8808220fa8ba7f29246edc52826335, pts=0:00:00.533333334, dur=0:00:00.033333333, flags=gap +buffer: checksum=f5dd66e2339c5ff8db32b3dc717ff867912aceff, pts=0:00:00.500000000, dur=0:00:00.033333334 +buffer: checksum=f5dd66e2339c5ff8db32b3dc717ff867912aceff, pts=0:00:00.466666667, dur=0:00:00.033333333, flags=gap +buffer: checksum=f5dd66e2339c5ff8db32b3dc717ff867912aceff, pts=0:00:00.433333334, dur=0:00:00.033333333, flags=gap +buffer: checksum=1f55031a355611378b894de9e91f15b7aadb9762, pts=0:00:00.400000000, dur=0:00:00.033333334 +buffer: checksum=1f55031a355611378b894de9e91f15b7aadb9762, pts=0:00:00.366666667, dur=0:00:00.033333333, flags=gap +buffer: checksum=1f55031a355611378b894de9e91f15b7aadb9762, pts=0:00:00.333333334, dur=0:00:00.033333333, flags=gap +buffer: checksum=61f960fb1f82031de8557270b198f528cc319bb5, pts=0:00:00.300000000, dur=0:00:00.033333334 +buffer: checksum=61f960fb1f82031de8557270b198f528cc319bb5, pts=0:00:00.266666667, dur=0:00:00.033333333, flags=gap +buffer: checksum=61f960fb1f82031de8557270b198f528cc319bb5, pts=0:00:00.233333334, dur=0:00:00.033333333, flags=gap +buffer: checksum=d13b763048b4e8a132923ccec0cb0989a33ef44b, pts=0:00:00.200000000, dur=0:00:00.033333334 +buffer: checksum=d13b763048b4e8a132923ccec0cb0989a33ef44b, pts=0:00:00.166666667, dur=0:00:00.033333333, flags=gap +buffer: checksum=d13b763048b4e8a132923ccec0cb0989a33ef44b, pts=0:00:00.133333334, dur=0:00:00.033333333, flags=gap +buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.100000000, dur=0:00:00.033333334 +buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.066666667, dur=0:00:00.033333333, flags=gap +buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.033333334, dur=0:00:00.033333333, flags=gap +buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.000000000, dur=0:00:00.033333334, flags=gap +event eos: (no structure) diff --git a/subprojects/gst-plugins-base/tests/validate/videorate/reverse_fast.1_to_10fps.validatetest b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_fast.1_to_10fps.validatetest new file mode 100644 index 0000000000..440f8f8d06 --- /dev/null +++ b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_fast.1_to_10fps.validatetest @@ -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=-2.0 + +# First buffer is display as fast as possible +crank-clock, expected-elapsed-time=0.0 +crank-clock, repeat=9, expected-elapsed-time=0.05 + +# Waiting on EOS +crank-clock, expected-elapsed-time=0.05 +stop, on-message=eos diff --git a/subprojects/gst-plugins-base/tests/validate/videorate/reverse_fast.1_to_10fps/flow-expectations/log-videorate-sink-expected b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_fast.1_to_10fps/flow-expectations/log-videorate-sink-expected new file mode 100644 index 0000000000..43df797fdf --- /dev/null +++ b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_fast.1_to_10fps/flow-expectations/log-videorate-sink-expected @@ -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, framerate=(fraction)1/1, height=(int)240, interlace-mode=(string)progressive, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, width=(int)320; +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 +buffer: checksum=d13b763048b4e8a132923ccec0cb0989a33ef44b, pts=0:00:01.000000000, dur=0:00:01.000000000 +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=-2.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 +buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.000000000, dur=0:00:01.000000000, flags=discont +event eos: (no structure) diff --git a/subprojects/gst-plugins-base/tests/validate/videorate/reverse_fast.1_to_10fps/flow-expectations/log-videorate-src-expected b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_fast.1_to_10fps/flow-expectations/log-videorate-src-expected new file mode 100644 index 0000000000..a96dc1d8af --- /dev/null +++ b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_fast.1_to_10fps/flow-expectations/log-videorate-src-expected @@ -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, framerate=(fraction)10/1, height=(int)240, interlace-mode=(string)progressive, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, width=(int)320; +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 +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=-2.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 +buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.800000000, dur=0:00:00.100000000, flags=gap +buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.700000000, dur=0:00:00.100000000, flags=gap +buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.600000000, dur=0:00:00.100000000, flags=gap +buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.500000000, dur=0:00:00.100000000, flags=gap +buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.400000000, dur=0:00:00.100000000, flags=gap +buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.300000000, dur=0:00:00.100000000, flags=gap +buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.200000000, dur=0:00:00.100000000, flags=gap +buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.100000000, dur=0:00:00.100000000, flags=gap +buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.000000000, dur=0:00:00.100000000, flags=gap +event eos: (no structure) diff --git a/subprojects/gst-plugins-base/tests/validate/videorate/reverse_fast.30fps.validatetest b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_fast.30fps.validatetest new file mode 100644 index 0000000000..0fe68ec9d1 --- /dev/null +++ b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_fast.30fps.validatetest @@ -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=-2.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)16666667 +stop, on-message=eos diff --git a/subprojects/gst-plugins-base/tests/validate/videorate/reverse_fast.30fps/flow-expectations/log-videorate-sink-expected b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_fast.30fps/flow-expectations/log-videorate-sink-expected new file mode 100644 index 0000000000..f072c3484b --- /dev/null +++ b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_fast.30fps/flow-expectations/log-videorate-sink-expected @@ -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, framerate=(fraction)30/1, height=(int)240, interlace-mode=(string)progressive, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, width=(int)320; +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 +buffer: checksum=d13b763048b4e8a132923ccec0cb0989a33ef44b, pts=0:00:00.033333333, dur=0:00:00.033333333 +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=-2.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 +buffer: checksum=012c04214b70c28c823991e5502c0dde653e576e, pts=0:00:00.966666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=3d9ed200fc9ae13a398482ada9957fe5429f4808, pts=0:00:00.933333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=31aabb7c75b036bbbd9495a84647959b336d484b, pts=0:00:00.900000000, dur=0:00:00.033333333, flags=discont +buffer: checksum=4838df67beb6ceadbde9fa4ae633b343962eb4cc, pts=0:00:00.866666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=8969ea732a2692c1e437b901c12dc083c1ba137b, pts=0:00:00.833333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=58936846a7314b141f0bc1d1ff1e9d46db961633, pts=0:00:00.800000000, dur=0:00:00.033333333, flags=discont +buffer: checksum=4c87c8b594e77448cffb8da079544060fa513829, pts=0:00:00.766666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=f54b1beaf9a9709c87b9f2a0e2a509aaa0343b98, pts=0:00:00.733333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=1b8c20d6b674124d076db71daa1854de266b0365, pts=0:00:00.700000000, dur=0:00:00.033333333, flags=discont +buffer: checksum=b235367d19b4a8eedcca178a5919dc0bbbaeabca, pts=0:00:00.666666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=2bd35f37780e5c7bf173bc1c29598ab7f110e168, pts=0:00:00.633333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=1e677a53b1ce72bf11b301041c7cd62602f57cea, pts=0:00:00.600000000, dur=0:00:00.033333333, flags=discont +buffer: checksum=a5b575e2fe65bb0862438f1689a1259612c3451b, pts=0:00:00.566666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=724428f9800b53136cd85e1b28bf89454dce5b17, pts=0:00:00.533333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=997ee2608af57157beeba316c6e4058d904af854, pts=0:00:00.500000000, dur=0:00:00.033333333, flags=discont +buffer: checksum=e33a1e17ee1d97ca396956dcc5bace77bcf40698, pts=0:00:00.466666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=7bb5452dd5d28b6a62f3307b1e6f20a3c34ae0c4, pts=0:00:00.433333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=e9424eca5674294ba9ba8ee81714f7c6cb45f480, pts=0:00:00.400000000, dur=0:00:00.033333333, flags=discont +buffer: checksum=ba9212a73c0b0fb0e1572b4bcc48c3240b617166, pts=0:00:00.366666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=b001027646a88bd2f45818b12ce73b0f04046b06, pts=0:00:00.333333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=d0a85177ea2e35014a69c6290895090c9cdd6af4, pts=0:00:00.300000000, dur=0:00:00.033333333, flags=discont +buffer: checksum=29b39a0c9759a8860ab54f70cc3f2d8901902662, pts=0:00:00.266666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=cf699c4e8340bdae7e5ca8fe155ca1ecd1d565cd, pts=0:00:00.233333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=9667d1b1eb52d9463353a8cb854546b9e9c5fc32, pts=0:00:00.200000000, dur=0:00:00.033333333, flags=discont +buffer: checksum=faa402360b8808220fa8ba7f29246edc52826335, pts=0:00:00.166666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=f5dd66e2339c5ff8db32b3dc717ff867912aceff, pts=0:00:00.133333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=1f55031a355611378b894de9e91f15b7aadb9762, pts=0:00:00.100000000, dur=0:00:00.033333333, flags=discont +buffer: checksum=61f960fb1f82031de8557270b198f528cc319bb5, pts=0:00:00.066666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=d13b763048b4e8a132923ccec0cb0989a33ef44b, pts=0:00:00.033333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.000000000, dur=0:00:00.033333333, flags=discont +event eos: (no structure) diff --git a/subprojects/gst-plugins-base/tests/validate/videorate/reverse_fast.30fps/flow-expectations/log-videorate-src-expected b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_fast.30fps/flow-expectations/log-videorate-src-expected new file mode 100644 index 0000000000..611307dccb --- /dev/null +++ b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_fast.30fps/flow-expectations/log-videorate-src-expected @@ -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, framerate=(fraction)30/1, height=(int)240, interlace-mode=(string)progressive, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, width=(int)320; +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 +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=-2.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 +buffer: checksum=3d9ed200fc9ae13a398482ada9957fe5429f4808, pts=0:00:00.933333334, dur=0:00:00.033333333 +buffer: checksum=31aabb7c75b036bbbd9495a84647959b336d484b, pts=0:00:00.900000000, dur=0:00:00.033333334 +buffer: checksum=4838df67beb6ceadbde9fa4ae633b343962eb4cc, pts=0:00:00.866666667, dur=0:00:00.033333333 +buffer: checksum=8969ea732a2692c1e437b901c12dc083c1ba137b, pts=0:00:00.833333334, dur=0:00:00.033333333 +buffer: checksum=58936846a7314b141f0bc1d1ff1e9d46db961633, pts=0:00:00.800000000, dur=0:00:00.033333334 +buffer: checksum=4c87c8b594e77448cffb8da079544060fa513829, pts=0:00:00.766666667, dur=0:00:00.033333333 +buffer: checksum=f54b1beaf9a9709c87b9f2a0e2a509aaa0343b98, pts=0:00:00.733333334, dur=0:00:00.033333333 +buffer: checksum=1b8c20d6b674124d076db71daa1854de266b0365, pts=0:00:00.700000000, dur=0:00:00.033333334 +buffer: checksum=b235367d19b4a8eedcca178a5919dc0bbbaeabca, pts=0:00:00.666666667, dur=0:00:00.033333333 +buffer: checksum=2bd35f37780e5c7bf173bc1c29598ab7f110e168, pts=0:00:00.633333334, dur=0:00:00.033333333 +buffer: checksum=1e677a53b1ce72bf11b301041c7cd62602f57cea, pts=0:00:00.600000000, dur=0:00:00.033333334 +buffer: checksum=a5b575e2fe65bb0862438f1689a1259612c3451b, pts=0:00:00.566666667, dur=0:00:00.033333333 +buffer: checksum=724428f9800b53136cd85e1b28bf89454dce5b17, pts=0:00:00.533333334, dur=0:00:00.033333333 +buffer: checksum=997ee2608af57157beeba316c6e4058d904af854, pts=0:00:00.500000000, dur=0:00:00.033333334 +buffer: checksum=e33a1e17ee1d97ca396956dcc5bace77bcf40698, pts=0:00:00.466666667, dur=0:00:00.033333333 +buffer: checksum=7bb5452dd5d28b6a62f3307b1e6f20a3c34ae0c4, pts=0:00:00.433333334, dur=0:00:00.033333333 +buffer: checksum=e9424eca5674294ba9ba8ee81714f7c6cb45f480, pts=0:00:00.400000000, dur=0:00:00.033333334 +buffer: checksum=ba9212a73c0b0fb0e1572b4bcc48c3240b617166, pts=0:00:00.366666667, dur=0:00:00.033333333 +buffer: checksum=b001027646a88bd2f45818b12ce73b0f04046b06, pts=0:00:00.333333334, dur=0:00:00.033333333 +buffer: checksum=d0a85177ea2e35014a69c6290895090c9cdd6af4, pts=0:00:00.300000000, dur=0:00:00.033333334 +buffer: checksum=29b39a0c9759a8860ab54f70cc3f2d8901902662, pts=0:00:00.266666667, dur=0:00:00.033333333 +buffer: checksum=cf699c4e8340bdae7e5ca8fe155ca1ecd1d565cd, pts=0:00:00.233333334, dur=0:00:00.033333333 +buffer: checksum=9667d1b1eb52d9463353a8cb854546b9e9c5fc32, pts=0:00:00.200000000, dur=0:00:00.033333334 +buffer: checksum=faa402360b8808220fa8ba7f29246edc52826335, pts=0:00:00.166666667, dur=0:00:00.033333333 +buffer: checksum=f5dd66e2339c5ff8db32b3dc717ff867912aceff, pts=0:00:00.133333334, dur=0:00:00.033333333 +buffer: checksum=1f55031a355611378b894de9e91f15b7aadb9762, pts=0:00:00.100000000, dur=0:00:00.033333334 +buffer: checksum=61f960fb1f82031de8557270b198f528cc319bb5, pts=0:00:00.066666667, dur=0:00:00.033333333 +buffer: checksum=d13b763048b4e8a132923ccec0cb0989a33ef44b, pts=0:00:00.033333334, dur=0:00:00.033333333 +buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.000000000, dur=0:00:00.033333334 +event eos: (no structure) diff --git a/subprojects/gst-plugins-base/tests/validate/videorate/reverse_fast.variable_to_10fps.validatetest b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_fast.variable_to_10fps.validatetest new file mode 100644 index 0000000000..ced148cb51 --- /dev/null +++ b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_fast.variable_to_10fps.validatetest @@ -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) ! fakesink sync=true", + }, + 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=-2.0 + +# First buffer is display as fast as possible +crank-clock, expected-elapsed-time=0.0 +crank-clock, repeat=9, expected-elapsed-time=0.05 + +# Waiting on EOS +crank-clock, expected-elapsed-time=0.05 + +seek, start=1.0, stop=2.0, flags=accurate+flush, rate=-2.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.05 + +# Waiting on EOS +crank-clock, expected-elapsed-time=0.05 + +stop, on-message=eos diff --git a/subprojects/gst-plugins-base/tests/validate/videorate/reverse_fast.variable_to_10fps/flow-expectations/log-videorate-sink-expected b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_fast.variable_to_10fps/flow-expectations/log-videorate-sink-expected new file mode 100644 index 0000000000..70bb0a1616 --- /dev/null +++ b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_fast.variable_to_10fps/flow-expectations/log-videorate-sink-expected @@ -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, framerate=(fraction)0/1, height=(int)240, interlace-mode=(string)progressive, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, width=(int)320; +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 +buffer: checksum=d13b763048b4e8a132923ccec0cb0989a33ef44b, pts=0:00:00.033333333, dur=0:00:00.033333333 +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=-2.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 +buffer: checksum=012c04214b70c28c823991e5502c0dde653e576e, pts=0:00:00.966666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=3d9ed200fc9ae13a398482ada9957fe5429f4808, pts=0:00:00.933333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=31aabb7c75b036bbbd9495a84647959b336d484b, pts=0:00:00.900000000, dur=0:00:00.033333333, flags=discont +buffer: checksum=4838df67beb6ceadbde9fa4ae633b343962eb4cc, pts=0:00:00.866666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=8969ea732a2692c1e437b901c12dc083c1ba137b, pts=0:00:00.833333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=58936846a7314b141f0bc1d1ff1e9d46db961633, pts=0:00:00.800000000, dur=0:00:00.033333333, flags=discont +buffer: checksum=4c87c8b594e77448cffb8da079544060fa513829, pts=0:00:00.766666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=f54b1beaf9a9709c87b9f2a0e2a509aaa0343b98, pts=0:00:00.733333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=1b8c20d6b674124d076db71daa1854de266b0365, pts=0:00:00.700000000, dur=0:00:00.033333333, flags=discont +buffer: checksum=b235367d19b4a8eedcca178a5919dc0bbbaeabca, pts=0:00:00.666666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=2bd35f37780e5c7bf173bc1c29598ab7f110e168, pts=0:00:00.633333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=1e677a53b1ce72bf11b301041c7cd62602f57cea, pts=0:00:00.600000000, dur=0:00:00.033333333, flags=discont +buffer: checksum=a5b575e2fe65bb0862438f1689a1259612c3451b, pts=0:00:00.566666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=724428f9800b53136cd85e1b28bf89454dce5b17, pts=0:00:00.533333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=997ee2608af57157beeba316c6e4058d904af854, pts=0:00:00.500000000, dur=0:00:00.033333333, flags=discont +buffer: checksum=e33a1e17ee1d97ca396956dcc5bace77bcf40698, pts=0:00:00.466666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=7bb5452dd5d28b6a62f3307b1e6f20a3c34ae0c4, pts=0:00:00.433333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=e9424eca5674294ba9ba8ee81714f7c6cb45f480, pts=0:00:00.400000000, dur=0:00:00.033333333, flags=discont +buffer: checksum=ba9212a73c0b0fb0e1572b4bcc48c3240b617166, pts=0:00:00.366666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=b001027646a88bd2f45818b12ce73b0f04046b06, pts=0:00:00.333333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=d0a85177ea2e35014a69c6290895090c9cdd6af4, pts=0:00:00.300000000, dur=0:00:00.033333333, flags=discont +buffer: checksum=29b39a0c9759a8860ab54f70cc3f2d8901902662, pts=0:00:00.266666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=cf699c4e8340bdae7e5ca8fe155ca1ecd1d565cd, pts=0:00:00.233333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=9667d1b1eb52d9463353a8cb854546b9e9c5fc32, pts=0:00:00.200000000, dur=0:00:00.033333333, flags=discont +buffer: checksum=faa402360b8808220fa8ba7f29246edc52826335, pts=0:00:00.166666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=f5dd66e2339c5ff8db32b3dc717ff867912aceff, pts=0:00:00.133333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=1f55031a355611378b894de9e91f15b7aadb9762, pts=0:00:00.100000000, dur=0:00:00.033333333, flags=discont +buffer: checksum=61f960fb1f82031de8557270b198f528cc319bb5, pts=0:00:00.066666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=d13b763048b4e8a132923ccec0cb0989a33ef44b, pts=0:00:00.033333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.000000000, dur=0:00:00.033333333, flags=discont +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=-2.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 +buffer: checksum=12743d9ab352a75f9100424ad43f70d01fbfaee9, pts=0:00:01.966666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=0e46cd152393c5c4da9e37afd299ab1fde10978a, pts=0:00:01.933333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=b4522d1e8a6e89d34e546885f450d0fc4106e711, pts=0:00:01.900000000, dur=0:00:00.033333333, flags=discont +buffer: checksum=dcd4ccc30734f8d3a8800256f3cdb99a58cb7794, pts=0:00:01.866666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=a8d20df82c00898e43c28e1f953f87f2d29bcb75, pts=0:00:01.833333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=0afa5c0d00ac4bfe6309ae945aaf800437f69dd6, pts=0:00:01.800000000, dur=0:00:00.033333333, flags=discont +buffer: checksum=dc7572847961cdc8f87e8dd12b2004808b46b9d7, pts=0:00:01.766666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=2007db518ad85e4ec7e3e2a09729e9a1ada1ae8e, pts=0:00:01.733333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=5fb7222253c7d78c891979cdfa2c079eb2fba90f, pts=0:00:01.700000000, dur=0:00:00.033333333, flags=discont +buffer: checksum=bff0c69020b2ffb3f3ceda63353620854cdd6b73, pts=0:00:01.666666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=1d2741e8fc312f50417c99f6deecb6220c75efaa, pts=0:00:01.633333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=6f2d5d8f9551083a65889a7d7b87e25348612604, pts=0:00:01.600000000, dur=0:00:00.033333333, flags=discont +buffer: checksum=87c6573e1f3cc6a14bca871f675ff66822e2863e, pts=0:00:01.566666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=302581fc1fdd332a6702cc3b4d6a3f3f87d0c78f, pts=0:00:01.533333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=e085fff613289df868f63ca7142ce0d342ab3d4c, pts=0:00:01.500000000, dur=0:00:00.033333333, flags=discont +buffer: checksum=ea498a2e840c9528f90f1154f72d4b204739b947, pts=0:00:01.466666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=f05561e3039ed26e3082bd7b049bad9356545149, pts=0:00:01.433333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=33710a6238592d081550f74836533f8caf51cc0f, pts=0:00:01.400000000, dur=0:00:00.033333333, flags=discont +buffer: checksum=e07dcddf3c18d51c51d1914588a2b61327cfa139, pts=0:00:01.366666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=a01cd9172bd2387002e8f9b3003a9becc2938c16, pts=0:00:01.333333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=e1d19911a0a9b7a6a97dceedc96c66f81d187591, pts=0:00:01.300000000, dur=0:00:00.033333333, flags=discont +buffer: checksum=950bd00b2a08dc4fb6e0a2b06d38cf14a40780ac, pts=0:00:01.266666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=ab9217e0ca61c7ae0a8d298d36d0ce97eed482cd, pts=0:00:01.233333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=8eed8ee03cf63e698bfa301fa0b304addffed4bc, pts=0:00:01.200000000, dur=0:00:00.033333333, flags=discont +buffer: checksum=9238cea5dc4855b286e4a1459ca4f8e177dfb96f, pts=0:00:01.166666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=1f33bf94492ba7dbe2bf72e57bd12cee8f090079, pts=0:00:01.133333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=f0f7021ee092b8f273ca5cec2d1acefebfb53356, pts=0:00:01.100000000, dur=0:00:00.033333333, flags=discont +buffer: checksum=7acbad9ec0b798679d22ac1cf8bb0526a2a066d3, pts=0:00:01.066666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=cb91b143e223d44733177fca79708fb3199aabf8, pts=0:00:01.033333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=0d65174db0fc96dbeaaa2488d013b8935f363330, pts=0:00:01.000000000, dur=0:00:00.033333333, flags=discont +event eos: (no structure) diff --git a/subprojects/gst-plugins-base/tests/validate/videorate/reverse_fast.variable_to_10fps/flow-expectations/log-videorate-src-expected b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_fast.variable_to_10fps/flow-expectations/log-videorate-src-expected new file mode 100644 index 0000000000..5448c06272 --- /dev/null +++ b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_fast.variable_to_10fps/flow-expectations/log-videorate-src-expected @@ -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, framerate=(fraction)10/1, height=(int)240, interlace-mode=(string)progressive, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, width=(int)320; +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 +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=-2.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 +buffer: checksum=4838df67beb6ceadbde9fa4ae633b343962eb4cc, pts=0:00:00.800000000, dur=0:00:00.100000000 +buffer: checksum=4c87c8b594e77448cffb8da079544060fa513829, pts=0:00:00.700000000, dur=0:00:00.100000000 +buffer: checksum=b235367d19b4a8eedcca178a5919dc0bbbaeabca, pts=0:00:00.600000000, dur=0:00:00.100000000 +buffer: checksum=a5b575e2fe65bb0862438f1689a1259612c3451b, pts=0:00:00.500000000, dur=0:00:00.100000000 +buffer: checksum=e33a1e17ee1d97ca396956dcc5bace77bcf40698, pts=0:00:00.400000000, dur=0:00:00.100000000 +buffer: checksum=ba9212a73c0b0fb0e1572b4bcc48c3240b617166, pts=0:00:00.300000000, dur=0:00:00.100000000 +buffer: checksum=29b39a0c9759a8860ab54f70cc3f2d8901902662, pts=0:00:00.200000000, dur=0:00:00.100000000 +buffer: checksum=faa402360b8808220fa8ba7f29246edc52826335, pts=0:00:00.100000000, dur=0:00:00.100000000 +buffer: checksum=61f960fb1f82031de8557270b198f528cc319bb5, pts=0:00:00.000000000, dur=0:00:00.100000000 +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=-2.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 +buffer: checksum=dcd4ccc30734f8d3a8800256f3cdb99a58cb7794, pts=0:00:01.800000000, dur=0:00:00.100000000 +buffer: checksum=dc7572847961cdc8f87e8dd12b2004808b46b9d7, pts=0:00:01.700000000, dur=0:00:00.100000000 +buffer: checksum=bff0c69020b2ffb3f3ceda63353620854cdd6b73, pts=0:00:01.600000000, dur=0:00:00.100000000 +buffer: checksum=87c6573e1f3cc6a14bca871f675ff66822e2863e, pts=0:00:01.500000000, dur=0:00:00.100000000 +buffer: checksum=ea498a2e840c9528f90f1154f72d4b204739b947, pts=0:00:01.400000000, dur=0:00:00.100000000 +buffer: checksum=e07dcddf3c18d51c51d1914588a2b61327cfa139, pts=0:00:01.300000000, dur=0:00:00.100000000 +buffer: checksum=950bd00b2a08dc4fb6e0a2b06d38cf14a40780ac, pts=0:00:01.200000000, dur=0:00:00.100000000 +buffer: checksum=9238cea5dc4855b286e4a1459ca4f8e177dfb96f, pts=0:00:01.100000000, dur=0:00:00.100000000 +buffer: checksum=7acbad9ec0b798679d22ac1cf8bb0526a2a066d3, pts=0:00:01.000000000, dur=0:00:00.100000000 +event eos: (no structure) diff --git a/subprojects/gst-plugins-base/tests/validate/videorate/reverse_slow.10_to_1fps.validatetest b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_slow.10_to_1fps.validatetest new file mode 100644 index 0000000000..c65938c1c2 --- /dev/null +++ b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_slow.10_to_1fps.validatetest @@ -0,0 +1,24 @@ +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=-0.5 + +# First buffer is display as fast as possible +crank-clock, expected-elapsed-time=0.0 +crank-clock, repeat=4, expected-elapsed-time=2.0 + +# Waiting on EOS +crank-clock, expected-elapsed-time=2.0 + +seek, start=5.0, stop=10.0, flags=accurate+flush, rate=-0.5, 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=2.0 + +# Waiting on EOS +crank-clock, expected-elapsed-time=2.0 + +stop, on-message=eos diff --git a/subprojects/gst-plugins-base/tests/validate/videorate/reverse_slow.10_to_1fps/flow-expectations/log-videorate-sink-expected b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_slow.10_to_1fps/flow-expectations/log-videorate-sink-expected new file mode 100644 index 0000000000..5e344d96c8 --- /dev/null +++ b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_slow.10_to_1fps/flow-expectations/log-videorate-sink-expected @@ -0,0 +1,115 @@ +event stream-start: GstEventStreamStart, flags=(GstStreamFlags)GST_STREAM_FLAG_NONE, group-id=(uint)1; +event caps: video/x-raw, format=(string)I420, framerate=(fraction)10/1, height=(int)240, interlace-mode=(string)progressive, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, width=(int)320; +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 +buffer: checksum=d13b763048b4e8a132923ccec0cb0989a33ef44b, pts=0:00:00.100000000, dur=0:00:00.100000000 +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=-0.500000, 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 +buffer: checksum=1d2741e8fc312f50417c99f6deecb6220c75efaa, pts=0:00:04.900000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=6f2d5d8f9551083a65889a7d7b87e25348612604, pts=0:00:04.800000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=87c6573e1f3cc6a14bca871f675ff66822e2863e, pts=0:00:04.700000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=302581fc1fdd332a6702cc3b4d6a3f3f87d0c78f, pts=0:00:04.600000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=e085fff613289df868f63ca7142ce0d342ab3d4c, pts=0:00:04.500000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=ea498a2e840c9528f90f1154f72d4b204739b947, pts=0:00:04.400000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=f05561e3039ed26e3082bd7b049bad9356545149, pts=0:00:04.300000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=33710a6238592d081550f74836533f8caf51cc0f, pts=0:00:04.200000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=e07dcddf3c18d51c51d1914588a2b61327cfa139, pts=0:00:04.100000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=a01cd9172bd2387002e8f9b3003a9becc2938c16, pts=0:00:04.000000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=e1d19911a0a9b7a6a97dceedc96c66f81d187591, pts=0:00:03.900000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=950bd00b2a08dc4fb6e0a2b06d38cf14a40780ac, pts=0:00:03.800000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=ab9217e0ca61c7ae0a8d298d36d0ce97eed482cd, pts=0:00:03.700000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=8eed8ee03cf63e698bfa301fa0b304addffed4bc, pts=0:00:03.600000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=9238cea5dc4855b286e4a1459ca4f8e177dfb96f, pts=0:00:03.500000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=1f33bf94492ba7dbe2bf72e57bd12cee8f090079, pts=0:00:03.400000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=f0f7021ee092b8f273ca5cec2d1acefebfb53356, pts=0:00:03.300000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=7acbad9ec0b798679d22ac1cf8bb0526a2a066d3, pts=0:00:03.200000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=cb91b143e223d44733177fca79708fb3199aabf8, pts=0:00:03.100000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=0d65174db0fc96dbeaaa2488d013b8935f363330, pts=0:00:03.000000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=012c04214b70c28c823991e5502c0dde653e576e, pts=0:00:02.900000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=3d9ed200fc9ae13a398482ada9957fe5429f4808, pts=0:00:02.800000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=31aabb7c75b036bbbd9495a84647959b336d484b, pts=0:00:02.700000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=4838df67beb6ceadbde9fa4ae633b343962eb4cc, pts=0:00:02.600000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=8969ea732a2692c1e437b901c12dc083c1ba137b, pts=0:00:02.500000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=58936846a7314b141f0bc1d1ff1e9d46db961633, pts=0:00:02.400000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=4c87c8b594e77448cffb8da079544060fa513829, pts=0:00:02.300000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=f54b1beaf9a9709c87b9f2a0e2a509aaa0343b98, pts=0:00:02.200000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=1b8c20d6b674124d076db71daa1854de266b0365, pts=0:00:02.100000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=b235367d19b4a8eedcca178a5919dc0bbbaeabca, pts=0:00:02.000000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=2bd35f37780e5c7bf173bc1c29598ab7f110e168, pts=0:00:01.900000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=1e677a53b1ce72bf11b301041c7cd62602f57cea, pts=0:00:01.800000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=a5b575e2fe65bb0862438f1689a1259612c3451b, pts=0:00:01.700000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=724428f9800b53136cd85e1b28bf89454dce5b17, pts=0:00:01.600000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=997ee2608af57157beeba316c6e4058d904af854, pts=0:00:01.500000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=e33a1e17ee1d97ca396956dcc5bace77bcf40698, pts=0:00:01.400000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=7bb5452dd5d28b6a62f3307b1e6f20a3c34ae0c4, pts=0:00:01.300000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=e9424eca5674294ba9ba8ee81714f7c6cb45f480, pts=0:00:01.200000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=ba9212a73c0b0fb0e1572b4bcc48c3240b617166, pts=0:00:01.100000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=b001027646a88bd2f45818b12ce73b0f04046b06, pts=0:00:01.000000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=d0a85177ea2e35014a69c6290895090c9cdd6af4, pts=0:00:00.900000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=29b39a0c9759a8860ab54f70cc3f2d8901902662, pts=0:00:00.800000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=cf699c4e8340bdae7e5ca8fe155ca1ecd1d565cd, pts=0:00:00.700000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=9667d1b1eb52d9463353a8cb854546b9e9c5fc32, pts=0:00:00.600000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=faa402360b8808220fa8ba7f29246edc52826335, pts=0:00:00.500000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=f5dd66e2339c5ff8db32b3dc717ff867912aceff, pts=0:00:00.400000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=1f55031a355611378b894de9e91f15b7aadb9762, pts=0:00:00.300000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=61f960fb1f82031de8557270b198f528cc319bb5, pts=0:00:00.200000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=d13b763048b4e8a132923ccec0cb0989a33ef44b, pts=0:00:00.100000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.000000000, dur=0:00:00.100000000, flags=discont +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=-0.500000, 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 +buffer: checksum=b60987b39a20770d5bfe06ffcd1969bf056a41a9, pts=0:00:09.900000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=04e0e904a493e2aa6900d6b6092674517c5a77de, pts=0:00:09.800000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=588c80b7129b9b3f6110ef3088205c3b661330e5, pts=0:00:09.700000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=38df70a21d073deb025aa27813de60be6690e5ae, pts=0:00:09.600000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=d02f148e9be9207a0cea4eced7c2a3f70f3e52c8, pts=0:00:09.500000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=21a9614ffbb63db6cbfdfa60eba048fb9f0b1b27, pts=0:00:09.400000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=566abf7642c93f108e3b2251801b76024f5b9414, pts=0:00:09.300000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=9ed5809db84171c3ea765109c7bb6d06940711b2, pts=0:00:09.200000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=1fe0b0028f9d8b75cad737bc7c942d504adcf5b8, pts=0:00:09.100000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=67edbc040d8972e01f10550cf35340ddbc332cb8, pts=0:00:09.000000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=b2bd19d13a53ecd9b6ce8dc13d58889145f2e300, pts=0:00:08.900000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=4c540ba6f644a449451a05075199eec058c97ce6, pts=0:00:08.800000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=eac538d274118e2c9ece263d7d8181b96baf29c6, pts=0:00:08.700000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=69cddadaa956a1c5892d8d0dac89b1c65a465433, pts=0:00:08.600000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=6a666fd77acb3ca738f1aec6382e1c16639559eb, pts=0:00:08.500000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=9bb2af2916262e7a0b59d81e19b020ab294ede68, pts=0:00:08.400000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=a76227d73704833429afe48922535b6b194abc89, pts=0:00:08.300000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=d815163c98b45ab4dd0a5a5a08414644b217ba2a, pts=0:00:08.200000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=52d7b087b0d61c355ccdb524a926202901df07cb, pts=0:00:08.100000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=08541f37e1a59e1a558d3d8d187d5912baa2bbab, pts=0:00:08.000000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=778c9e60a7ab01a76d3a701f6deee65db56dac5e, pts=0:00:07.900000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=4b5a3ffa8733f45c3b7bbe3c130d53084a8ba4b5, pts=0:00:07.800000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=45f475732158638ba25a1f13fcdecfd973a729c0, pts=0:00:07.700000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=03131e0e86ecc0424a26f7c6748f5ff99e85a231, pts=0:00:07.600000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=231b301c8364f2180642e44cdc712d7b8273c1d2, pts=0:00:07.500000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=3471533e0c4b9b45686dbd55a0a4aa496664a24b, pts=0:00:07.400000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=5e9528e0b2ca988d310408f298b95b11f676c96c, pts=0:00:07.300000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=a59f88382164516385db7b98f3bb4447ea3eead4, pts=0:00:07.200000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=a6cfd7f6c8323b6ac1d810976fce7bde2d28f61d, pts=0:00:07.100000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=daca47d48dd5b89ea6a6e6e1c9ed9c90e06c4065, pts=0:00:07.000000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=9363bed68761bd39a332ae06969be26b88b24ce0, pts=0:00:06.900000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=5fd72dde6310528eecdf8618a9d2124d145b6405, pts=0:00:06.800000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=c906a3737c558520fa57f1dddd8e77f8a911d96e, pts=0:00:06.700000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=0d2daee5dc57fcac302a271c10e142caabbebf44, pts=0:00:06.600000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=5d321946cef072b66bca379cf9736069d5f3d1aa, pts=0:00:06.500000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=5408a879a6074de4fd4fff2e39e8991b29b71caf, pts=0:00:06.400000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=b281df58220f9fddd9c4b2b7c297023e5a012658, pts=0:00:06.300000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=1376a43d3c10f74fafc5358c47f4eb326051947c, pts=0:00:06.200000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=ba32e3a24b1c653329865d93304e522d2c2f51c7, pts=0:00:06.100000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=a019cee5c491f6caffb617c2dba938802167fbc1, pts=0:00:06.000000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=12743d9ab352a75f9100424ad43f70d01fbfaee9, pts=0:00:05.900000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=0e46cd152393c5c4da9e37afd299ab1fde10978a, pts=0:00:05.800000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=b4522d1e8a6e89d34e546885f450d0fc4106e711, pts=0:00:05.700000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=dcd4ccc30734f8d3a8800256f3cdb99a58cb7794, pts=0:00:05.600000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=a8d20df82c00898e43c28e1f953f87f2d29bcb75, pts=0:00:05.500000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=0afa5c0d00ac4bfe6309ae945aaf800437f69dd6, pts=0:00:05.400000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=dc7572847961cdc8f87e8dd12b2004808b46b9d7, pts=0:00:05.300000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=2007db518ad85e4ec7e3e2a09729e9a1ada1ae8e, pts=0:00:05.200000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=5fb7222253c7d78c891979cdfa2c079eb2fba90f, pts=0:00:05.100000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=bff0c69020b2ffb3f3ceda63353620854cdd6b73, pts=0:00:05.000000000, dur=0:00:00.100000000, flags=discont +event eos: (no structure) diff --git a/subprojects/gst-plugins-base/tests/validate/videorate/reverse_slow.10_to_1fps/flow-expectations/log-videorate-src-expected b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_slow.10_to_1fps/flow-expectations/log-videorate-src-expected new file mode 100644 index 0000000000..bc62d6e8c7 --- /dev/null +++ b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_slow.10_to_1fps/flow-expectations/log-videorate-src-expected @@ -0,0 +1,22 @@ +event stream-start: GstEventStreamStart, flags=(GstStreamFlags)GST_STREAM_FLAG_NONE, group-id=(uint)1; +event caps: video/x-raw, format=(string)I420, framerate=(fraction)1/1, height=(int)240, interlace-mode=(string)progressive, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, width=(int)320; +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 +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=-0.500000, 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 +buffer: checksum=e1d19911a0a9b7a6a97dceedc96c66f81d187591, pts=0:00:03.000000000, dur=0:00:01.000000000 +buffer: checksum=012c04214b70c28c823991e5502c0dde653e576e, pts=0:00:02.000000000, dur=0:00:01.000000000 +buffer: checksum=2bd35f37780e5c7bf173bc1c29598ab7f110e168, pts=0:00:01.000000000, dur=0:00:01.000000000 +buffer: checksum=d0a85177ea2e35014a69c6290895090c9cdd6af4, pts=0:00:00.000000000, dur=0:00:01.000000000 +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=-0.500000, 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 +buffer: checksum=b2bd19d13a53ecd9b6ce8dc13d58889145f2e300, pts=0:00:08.000000000, dur=0:00:01.000000000 +buffer: checksum=778c9e60a7ab01a76d3a701f6deee65db56dac5e, pts=0:00:07.000000000, dur=0:00:01.000000000 +buffer: checksum=9363bed68761bd39a332ae06969be26b88b24ce0, pts=0:00:06.000000000, dur=0:00:01.000000000 +buffer: checksum=12743d9ab352a75f9100424ad43f70d01fbfaee9, pts=0:00:05.000000000, dur=0:00:01.000000000 +event eos: (no structure) diff --git a/subprojects/gst-plugins-base/tests/validate/videorate/reverse_slow.10_to_30fps.validatetest b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_slow.10_to_30fps.validatetest new file mode 100644 index 0000000000..736622e73f --- /dev/null +++ b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_slow.10_to_30fps.validatetest @@ -0,0 +1,14 @@ +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=-0.5 + +# First buffer is display as fast as possible +crank-clock, expected-elapsed-time=0 +crank-clock, repeat=29 + +# Waiting on EOS +crank-clock, expected-elapsed-time=(guint64)66666668 +stop, on-message=eos diff --git a/subprojects/gst-plugins-base/tests/validate/videorate/reverse_slow.10_to_30fps/flow-expectations/log-videorate-sink-expected b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_slow.10_to_30fps/flow-expectations/log-videorate-sink-expected new file mode 100644 index 0000000000..4caabbcce0 --- /dev/null +++ b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_slow.10_to_30fps/flow-expectations/log-videorate-sink-expected @@ -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, framerate=(fraction)10/1, height=(int)240, interlace-mode=(string)progressive, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, width=(int)320; +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 +buffer: checksum=d13b763048b4e8a132923ccec0cb0989a33ef44b, pts=0:00:00.100000000, dur=0:00:00.100000000 +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=-0.500000, 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 +buffer: checksum=d0a85177ea2e35014a69c6290895090c9cdd6af4, pts=0:00:00.900000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=29b39a0c9759a8860ab54f70cc3f2d8901902662, pts=0:00:00.800000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=cf699c4e8340bdae7e5ca8fe155ca1ecd1d565cd, pts=0:00:00.700000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=9667d1b1eb52d9463353a8cb854546b9e9c5fc32, pts=0:00:00.600000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=faa402360b8808220fa8ba7f29246edc52826335, pts=0:00:00.500000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=f5dd66e2339c5ff8db32b3dc717ff867912aceff, pts=0:00:00.400000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=1f55031a355611378b894de9e91f15b7aadb9762, pts=0:00:00.300000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=61f960fb1f82031de8557270b198f528cc319bb5, pts=0:00:00.200000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=d13b763048b4e8a132923ccec0cb0989a33ef44b, pts=0:00:00.100000000, dur=0:00:00.100000000, flags=discont +buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.000000000, dur=0:00:00.100000000, flags=discont +event eos: (no structure) diff --git a/subprojects/gst-plugins-base/tests/validate/videorate/reverse_slow.10_to_30fps/flow-expectations/log-videorate-src-expected b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_slow.10_to_30fps/flow-expectations/log-videorate-src-expected new file mode 100644 index 0000000000..48009dc1ab --- /dev/null +++ b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_slow.10_to_30fps/flow-expectations/log-videorate-src-expected @@ -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, framerate=(fraction)30/1, height=(int)240, interlace-mode=(string)progressive, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, width=(int)320; +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 +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=-0.500000, 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 +buffer: checksum=d0a85177ea2e35014a69c6290895090c9cdd6af4, pts=0:00:00.933333334, dur=0:00:00.033333333, flags=gap +buffer: checksum=29b39a0c9759a8860ab54f70cc3f2d8901902662, pts=0:00:00.900000000, dur=0:00:00.033333334 +buffer: checksum=29b39a0c9759a8860ab54f70cc3f2d8901902662, pts=0:00:00.866666667, dur=0:00:00.033333333, flags=gap +buffer: checksum=29b39a0c9759a8860ab54f70cc3f2d8901902662, pts=0:00:00.833333334, dur=0:00:00.033333333, flags=gap +buffer: checksum=cf699c4e8340bdae7e5ca8fe155ca1ecd1d565cd, pts=0:00:00.800000000, dur=0:00:00.033333334 +buffer: checksum=cf699c4e8340bdae7e5ca8fe155ca1ecd1d565cd, pts=0:00:00.766666667, dur=0:00:00.033333333, flags=gap +buffer: checksum=cf699c4e8340bdae7e5ca8fe155ca1ecd1d565cd, pts=0:00:00.733333334, dur=0:00:00.033333333, flags=gap +buffer: checksum=9667d1b1eb52d9463353a8cb854546b9e9c5fc32, pts=0:00:00.700000000, dur=0:00:00.033333334 +buffer: checksum=9667d1b1eb52d9463353a8cb854546b9e9c5fc32, pts=0:00:00.666666667, dur=0:00:00.033333333, flags=gap +buffer: checksum=9667d1b1eb52d9463353a8cb854546b9e9c5fc32, pts=0:00:00.633333334, dur=0:00:00.033333333, flags=gap +buffer: checksum=faa402360b8808220fa8ba7f29246edc52826335, pts=0:00:00.600000000, dur=0:00:00.033333334 +buffer: checksum=faa402360b8808220fa8ba7f29246edc52826335, pts=0:00:00.566666667, dur=0:00:00.033333333, flags=gap +buffer: checksum=faa402360b8808220fa8ba7f29246edc52826335, pts=0:00:00.533333334, dur=0:00:00.033333333, flags=gap +buffer: checksum=f5dd66e2339c5ff8db32b3dc717ff867912aceff, pts=0:00:00.500000000, dur=0:00:00.033333334 +buffer: checksum=f5dd66e2339c5ff8db32b3dc717ff867912aceff, pts=0:00:00.466666667, dur=0:00:00.033333333, flags=gap +buffer: checksum=f5dd66e2339c5ff8db32b3dc717ff867912aceff, pts=0:00:00.433333334, dur=0:00:00.033333333, flags=gap +buffer: checksum=1f55031a355611378b894de9e91f15b7aadb9762, pts=0:00:00.400000000, dur=0:00:00.033333334 +buffer: checksum=1f55031a355611378b894de9e91f15b7aadb9762, pts=0:00:00.366666667, dur=0:00:00.033333333, flags=gap +buffer: checksum=1f55031a355611378b894de9e91f15b7aadb9762, pts=0:00:00.333333334, dur=0:00:00.033333333, flags=gap +buffer: checksum=61f960fb1f82031de8557270b198f528cc319bb5, pts=0:00:00.300000000, dur=0:00:00.033333334 +buffer: checksum=61f960fb1f82031de8557270b198f528cc319bb5, pts=0:00:00.266666667, dur=0:00:00.033333333, flags=gap +buffer: checksum=61f960fb1f82031de8557270b198f528cc319bb5, pts=0:00:00.233333334, dur=0:00:00.033333333, flags=gap +buffer: checksum=d13b763048b4e8a132923ccec0cb0989a33ef44b, pts=0:00:00.200000000, dur=0:00:00.033333334 +buffer: checksum=d13b763048b4e8a132923ccec0cb0989a33ef44b, pts=0:00:00.166666667, dur=0:00:00.033333333, flags=gap +buffer: checksum=d13b763048b4e8a132923ccec0cb0989a33ef44b, pts=0:00:00.133333334, dur=0:00:00.033333333, flags=gap +buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.100000000, dur=0:00:00.033333334 +buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.066666667, dur=0:00:00.033333333, flags=gap +buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.033333334, dur=0:00:00.033333333, flags=gap +buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.000000000, dur=0:00:00.033333334, flags=gap +event eos: (no structure) diff --git a/subprojects/gst-plugins-base/tests/validate/videorate/reverse_slow.1_to_10fps.validatetest b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_slow.1_to_10fps.validatetest new file mode 100644 index 0000000000..d8dee5e091 --- /dev/null +++ b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_slow.1_to_10fps.validatetest @@ -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=-0.5 + +# First buffer is display as fast as possible +crank-clock, expected-elapsed-time=0.0 +crank-clock, repeat=9, expected-elapsed-time=0.2 + +# Waiting on EOS +crank-clock, expected-elapsed-time=0.2 +stop, on-message=eos diff --git a/subprojects/gst-plugins-base/tests/validate/videorate/reverse_slow.1_to_10fps/flow-expectations/log-videorate-sink-expected b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_slow.1_to_10fps/flow-expectations/log-videorate-sink-expected new file mode 100644 index 0000000000..aaec177df0 --- /dev/null +++ b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_slow.1_to_10fps/flow-expectations/log-videorate-sink-expected @@ -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, framerate=(fraction)1/1, height=(int)240, interlace-mode=(string)progressive, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, width=(int)320; +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 +buffer: checksum=d13b763048b4e8a132923ccec0cb0989a33ef44b, pts=0:00:01.000000000, dur=0:00:01.000000000 +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=-0.500000, 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 +buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.000000000, dur=0:00:01.000000000, flags=discont +event eos: (no structure) diff --git a/subprojects/gst-plugins-base/tests/validate/videorate/reverse_slow.1_to_10fps/flow-expectations/log-videorate-src-expected b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_slow.1_to_10fps/flow-expectations/log-videorate-src-expected new file mode 100644 index 0000000000..f3a2450357 --- /dev/null +++ b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_slow.1_to_10fps/flow-expectations/log-videorate-src-expected @@ -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, framerate=(fraction)10/1, height=(int)240, interlace-mode=(string)progressive, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, width=(int)320; +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 +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=-0.500000, 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 +buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.800000000, dur=0:00:00.100000000, flags=gap +buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.700000000, dur=0:00:00.100000000, flags=gap +buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.600000000, dur=0:00:00.100000000, flags=gap +buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.500000000, dur=0:00:00.100000000, flags=gap +buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.400000000, dur=0:00:00.100000000, flags=gap +buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.300000000, dur=0:00:00.100000000, flags=gap +buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.200000000, dur=0:00:00.100000000, flags=gap +buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.100000000, dur=0:00:00.100000000, flags=gap +buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.000000000, dur=0:00:00.100000000, flags=gap +event eos: (no structure) diff --git a/subprojects/gst-plugins-base/tests/validate/videorate/reverse_slow.30fps.validatetest b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_slow.30fps.validatetest new file mode 100644 index 0000000000..bc886e1008 --- /dev/null +++ b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_slow.30fps.validatetest @@ -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=-0.5 + +# 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)66666668 +stop, on-message=eos diff --git a/subprojects/gst-plugins-base/tests/validate/videorate/reverse_slow.30fps/flow-expectations/log-videorate-sink-expected b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_slow.30fps/flow-expectations/log-videorate-sink-expected new file mode 100644 index 0000000000..425d44cecc --- /dev/null +++ b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_slow.30fps/flow-expectations/log-videorate-sink-expected @@ -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, framerate=(fraction)30/1, height=(int)240, interlace-mode=(string)progressive, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, width=(int)320; +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 +buffer: checksum=d13b763048b4e8a132923ccec0cb0989a33ef44b, pts=0:00:00.033333333, dur=0:00:00.033333333 +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=-0.500000, 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 +buffer: checksum=012c04214b70c28c823991e5502c0dde653e576e, pts=0:00:00.966666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=3d9ed200fc9ae13a398482ada9957fe5429f4808, pts=0:00:00.933333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=31aabb7c75b036bbbd9495a84647959b336d484b, pts=0:00:00.900000000, dur=0:00:00.033333333, flags=discont +buffer: checksum=4838df67beb6ceadbde9fa4ae633b343962eb4cc, pts=0:00:00.866666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=8969ea732a2692c1e437b901c12dc083c1ba137b, pts=0:00:00.833333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=58936846a7314b141f0bc1d1ff1e9d46db961633, pts=0:00:00.800000000, dur=0:00:00.033333333, flags=discont +buffer: checksum=4c87c8b594e77448cffb8da079544060fa513829, pts=0:00:00.766666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=f54b1beaf9a9709c87b9f2a0e2a509aaa0343b98, pts=0:00:00.733333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=1b8c20d6b674124d076db71daa1854de266b0365, pts=0:00:00.700000000, dur=0:00:00.033333333, flags=discont +buffer: checksum=b235367d19b4a8eedcca178a5919dc0bbbaeabca, pts=0:00:00.666666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=2bd35f37780e5c7bf173bc1c29598ab7f110e168, pts=0:00:00.633333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=1e677a53b1ce72bf11b301041c7cd62602f57cea, pts=0:00:00.600000000, dur=0:00:00.033333333, flags=discont +buffer: checksum=a5b575e2fe65bb0862438f1689a1259612c3451b, pts=0:00:00.566666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=724428f9800b53136cd85e1b28bf89454dce5b17, pts=0:00:00.533333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=997ee2608af57157beeba316c6e4058d904af854, pts=0:00:00.500000000, dur=0:00:00.033333333, flags=discont +buffer: checksum=e33a1e17ee1d97ca396956dcc5bace77bcf40698, pts=0:00:00.466666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=7bb5452dd5d28b6a62f3307b1e6f20a3c34ae0c4, pts=0:00:00.433333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=e9424eca5674294ba9ba8ee81714f7c6cb45f480, pts=0:00:00.400000000, dur=0:00:00.033333333, flags=discont +buffer: checksum=ba9212a73c0b0fb0e1572b4bcc48c3240b617166, pts=0:00:00.366666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=b001027646a88bd2f45818b12ce73b0f04046b06, pts=0:00:00.333333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=d0a85177ea2e35014a69c6290895090c9cdd6af4, pts=0:00:00.300000000, dur=0:00:00.033333333, flags=discont +buffer: checksum=29b39a0c9759a8860ab54f70cc3f2d8901902662, pts=0:00:00.266666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=cf699c4e8340bdae7e5ca8fe155ca1ecd1d565cd, pts=0:00:00.233333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=9667d1b1eb52d9463353a8cb854546b9e9c5fc32, pts=0:00:00.200000000, dur=0:00:00.033333333, flags=discont +buffer: checksum=faa402360b8808220fa8ba7f29246edc52826335, pts=0:00:00.166666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=f5dd66e2339c5ff8db32b3dc717ff867912aceff, pts=0:00:00.133333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=1f55031a355611378b894de9e91f15b7aadb9762, pts=0:00:00.100000000, dur=0:00:00.033333333, flags=discont +buffer: checksum=61f960fb1f82031de8557270b198f528cc319bb5, pts=0:00:00.066666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=d13b763048b4e8a132923ccec0cb0989a33ef44b, pts=0:00:00.033333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.000000000, dur=0:00:00.033333333, flags=discont +event eos: (no structure) diff --git a/subprojects/gst-plugins-base/tests/validate/videorate/reverse_slow.30fps/flow-expectations/log-videorate-src-expected b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_slow.30fps/flow-expectations/log-videorate-src-expected new file mode 100644 index 0000000000..dbb447d8cc --- /dev/null +++ b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_slow.30fps/flow-expectations/log-videorate-src-expected @@ -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, framerate=(fraction)30/1, height=(int)240, interlace-mode=(string)progressive, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, width=(int)320; +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 +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=-0.500000, 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 +buffer: checksum=3d9ed200fc9ae13a398482ada9957fe5429f4808, pts=0:00:00.933333334, dur=0:00:00.033333333 +buffer: checksum=31aabb7c75b036bbbd9495a84647959b336d484b, pts=0:00:00.900000000, dur=0:00:00.033333334 +buffer: checksum=4838df67beb6ceadbde9fa4ae633b343962eb4cc, pts=0:00:00.866666667, dur=0:00:00.033333333 +buffer: checksum=8969ea732a2692c1e437b901c12dc083c1ba137b, pts=0:00:00.833333334, dur=0:00:00.033333333 +buffer: checksum=58936846a7314b141f0bc1d1ff1e9d46db961633, pts=0:00:00.800000000, dur=0:00:00.033333334 +buffer: checksum=4c87c8b594e77448cffb8da079544060fa513829, pts=0:00:00.766666667, dur=0:00:00.033333333 +buffer: checksum=f54b1beaf9a9709c87b9f2a0e2a509aaa0343b98, pts=0:00:00.733333334, dur=0:00:00.033333333 +buffer: checksum=1b8c20d6b674124d076db71daa1854de266b0365, pts=0:00:00.700000000, dur=0:00:00.033333334 +buffer: checksum=b235367d19b4a8eedcca178a5919dc0bbbaeabca, pts=0:00:00.666666667, dur=0:00:00.033333333 +buffer: checksum=2bd35f37780e5c7bf173bc1c29598ab7f110e168, pts=0:00:00.633333334, dur=0:00:00.033333333 +buffer: checksum=1e677a53b1ce72bf11b301041c7cd62602f57cea, pts=0:00:00.600000000, dur=0:00:00.033333334 +buffer: checksum=a5b575e2fe65bb0862438f1689a1259612c3451b, pts=0:00:00.566666667, dur=0:00:00.033333333 +buffer: checksum=724428f9800b53136cd85e1b28bf89454dce5b17, pts=0:00:00.533333334, dur=0:00:00.033333333 +buffer: checksum=997ee2608af57157beeba316c6e4058d904af854, pts=0:00:00.500000000, dur=0:00:00.033333334 +buffer: checksum=e33a1e17ee1d97ca396956dcc5bace77bcf40698, pts=0:00:00.466666667, dur=0:00:00.033333333 +buffer: checksum=7bb5452dd5d28b6a62f3307b1e6f20a3c34ae0c4, pts=0:00:00.433333334, dur=0:00:00.033333333 +buffer: checksum=e9424eca5674294ba9ba8ee81714f7c6cb45f480, pts=0:00:00.400000000, dur=0:00:00.033333334 +buffer: checksum=ba9212a73c0b0fb0e1572b4bcc48c3240b617166, pts=0:00:00.366666667, dur=0:00:00.033333333 +buffer: checksum=b001027646a88bd2f45818b12ce73b0f04046b06, pts=0:00:00.333333334, dur=0:00:00.033333333 +buffer: checksum=d0a85177ea2e35014a69c6290895090c9cdd6af4, pts=0:00:00.300000000, dur=0:00:00.033333334 +buffer: checksum=29b39a0c9759a8860ab54f70cc3f2d8901902662, pts=0:00:00.266666667, dur=0:00:00.033333333 +buffer: checksum=cf699c4e8340bdae7e5ca8fe155ca1ecd1d565cd, pts=0:00:00.233333334, dur=0:00:00.033333333 +buffer: checksum=9667d1b1eb52d9463353a8cb854546b9e9c5fc32, pts=0:00:00.200000000, dur=0:00:00.033333334 +buffer: checksum=faa402360b8808220fa8ba7f29246edc52826335, pts=0:00:00.166666667, dur=0:00:00.033333333 +buffer: checksum=f5dd66e2339c5ff8db32b3dc717ff867912aceff, pts=0:00:00.133333334, dur=0:00:00.033333333 +buffer: checksum=1f55031a355611378b894de9e91f15b7aadb9762, pts=0:00:00.100000000, dur=0:00:00.033333334 +buffer: checksum=61f960fb1f82031de8557270b198f528cc319bb5, pts=0:00:00.066666667, dur=0:00:00.033333333 +buffer: checksum=d13b763048b4e8a132923ccec0cb0989a33ef44b, pts=0:00:00.033333334, dur=0:00:00.033333333 +buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.000000000, dur=0:00:00.033333334 +event eos: (no structure) diff --git a/subprojects/gst-plugins-base/tests/validate/videorate/reverse_slow.variable_to_10fps.validatetest b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_slow.variable_to_10fps.validatetest new file mode 100644 index 0000000000..5c0174c0ed --- /dev/null +++ b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_slow.variable_to_10fps.validatetest @@ -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) ! fakesink sync=true", + }, + 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=-0.5 + +# First buffer is display as fast as possible +crank-clock, expected-elapsed-time=0.0 +crank-clock, repeat=9, expected-elapsed-time=0.2 + +# Waiting on EOS +crank-clock, expected-elapsed-time=0.2 + +seek, start=1.0, stop=2.0, flags=accurate+flush, rate=-0.5, 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.2 + +# Waiting on EOS +crank-clock, expected-elapsed-time=0.2 + +stop, on-message=eos diff --git a/subprojects/gst-plugins-base/tests/validate/videorate/reverse_slow.variable_to_10fps/flow-expectations/log-videorate-sink-expected b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_slow.variable_to_10fps/flow-expectations/log-videorate-sink-expected new file mode 100644 index 0000000000..a72d2dde83 --- /dev/null +++ b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_slow.variable_to_10fps/flow-expectations/log-videorate-sink-expected @@ -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, framerate=(fraction)0/1, height=(int)240, interlace-mode=(string)progressive, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, width=(int)320; +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 +buffer: checksum=d13b763048b4e8a132923ccec0cb0989a33ef44b, pts=0:00:00.033333333, dur=0:00:00.033333333 +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=-0.500000, 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 +buffer: checksum=012c04214b70c28c823991e5502c0dde653e576e, pts=0:00:00.966666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=3d9ed200fc9ae13a398482ada9957fe5429f4808, pts=0:00:00.933333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=31aabb7c75b036bbbd9495a84647959b336d484b, pts=0:00:00.900000000, dur=0:00:00.033333333, flags=discont +buffer: checksum=4838df67beb6ceadbde9fa4ae633b343962eb4cc, pts=0:00:00.866666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=8969ea732a2692c1e437b901c12dc083c1ba137b, pts=0:00:00.833333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=58936846a7314b141f0bc1d1ff1e9d46db961633, pts=0:00:00.800000000, dur=0:00:00.033333333, flags=discont +buffer: checksum=4c87c8b594e77448cffb8da079544060fa513829, pts=0:00:00.766666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=f54b1beaf9a9709c87b9f2a0e2a509aaa0343b98, pts=0:00:00.733333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=1b8c20d6b674124d076db71daa1854de266b0365, pts=0:00:00.700000000, dur=0:00:00.033333333, flags=discont +buffer: checksum=b235367d19b4a8eedcca178a5919dc0bbbaeabca, pts=0:00:00.666666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=2bd35f37780e5c7bf173bc1c29598ab7f110e168, pts=0:00:00.633333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=1e677a53b1ce72bf11b301041c7cd62602f57cea, pts=0:00:00.600000000, dur=0:00:00.033333333, flags=discont +buffer: checksum=a5b575e2fe65bb0862438f1689a1259612c3451b, pts=0:00:00.566666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=724428f9800b53136cd85e1b28bf89454dce5b17, pts=0:00:00.533333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=997ee2608af57157beeba316c6e4058d904af854, pts=0:00:00.500000000, dur=0:00:00.033333333, flags=discont +buffer: checksum=e33a1e17ee1d97ca396956dcc5bace77bcf40698, pts=0:00:00.466666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=7bb5452dd5d28b6a62f3307b1e6f20a3c34ae0c4, pts=0:00:00.433333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=e9424eca5674294ba9ba8ee81714f7c6cb45f480, pts=0:00:00.400000000, dur=0:00:00.033333333, flags=discont +buffer: checksum=ba9212a73c0b0fb0e1572b4bcc48c3240b617166, pts=0:00:00.366666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=b001027646a88bd2f45818b12ce73b0f04046b06, pts=0:00:00.333333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=d0a85177ea2e35014a69c6290895090c9cdd6af4, pts=0:00:00.300000000, dur=0:00:00.033333333, flags=discont +buffer: checksum=29b39a0c9759a8860ab54f70cc3f2d8901902662, pts=0:00:00.266666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=cf699c4e8340bdae7e5ca8fe155ca1ecd1d565cd, pts=0:00:00.233333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=9667d1b1eb52d9463353a8cb854546b9e9c5fc32, pts=0:00:00.200000000, dur=0:00:00.033333333, flags=discont +buffer: checksum=faa402360b8808220fa8ba7f29246edc52826335, pts=0:00:00.166666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=f5dd66e2339c5ff8db32b3dc717ff867912aceff, pts=0:00:00.133333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=1f55031a355611378b894de9e91f15b7aadb9762, pts=0:00:00.100000000, dur=0:00:00.033333333, flags=discont +buffer: checksum=61f960fb1f82031de8557270b198f528cc319bb5, pts=0:00:00.066666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=d13b763048b4e8a132923ccec0cb0989a33ef44b, pts=0:00:00.033333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=5074004a070c85d97cc9f58fab273813c95b748c, pts=0:00:00.000000000, dur=0:00:00.033333333, flags=discont +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=-0.500000, 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 +buffer: checksum=12743d9ab352a75f9100424ad43f70d01fbfaee9, pts=0:00:01.966666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=0e46cd152393c5c4da9e37afd299ab1fde10978a, pts=0:00:01.933333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=b4522d1e8a6e89d34e546885f450d0fc4106e711, pts=0:00:01.900000000, dur=0:00:00.033333333, flags=discont +buffer: checksum=dcd4ccc30734f8d3a8800256f3cdb99a58cb7794, pts=0:00:01.866666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=a8d20df82c00898e43c28e1f953f87f2d29bcb75, pts=0:00:01.833333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=0afa5c0d00ac4bfe6309ae945aaf800437f69dd6, pts=0:00:01.800000000, dur=0:00:00.033333333, flags=discont +buffer: checksum=dc7572847961cdc8f87e8dd12b2004808b46b9d7, pts=0:00:01.766666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=2007db518ad85e4ec7e3e2a09729e9a1ada1ae8e, pts=0:00:01.733333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=5fb7222253c7d78c891979cdfa2c079eb2fba90f, pts=0:00:01.700000000, dur=0:00:00.033333333, flags=discont +buffer: checksum=bff0c69020b2ffb3f3ceda63353620854cdd6b73, pts=0:00:01.666666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=1d2741e8fc312f50417c99f6deecb6220c75efaa, pts=0:00:01.633333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=6f2d5d8f9551083a65889a7d7b87e25348612604, pts=0:00:01.600000000, dur=0:00:00.033333333, flags=discont +buffer: checksum=87c6573e1f3cc6a14bca871f675ff66822e2863e, pts=0:00:01.566666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=302581fc1fdd332a6702cc3b4d6a3f3f87d0c78f, pts=0:00:01.533333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=e085fff613289df868f63ca7142ce0d342ab3d4c, pts=0:00:01.500000000, dur=0:00:00.033333333, flags=discont +buffer: checksum=ea498a2e840c9528f90f1154f72d4b204739b947, pts=0:00:01.466666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=f05561e3039ed26e3082bd7b049bad9356545149, pts=0:00:01.433333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=33710a6238592d081550f74836533f8caf51cc0f, pts=0:00:01.400000000, dur=0:00:00.033333333, flags=discont +buffer: checksum=e07dcddf3c18d51c51d1914588a2b61327cfa139, pts=0:00:01.366666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=a01cd9172bd2387002e8f9b3003a9becc2938c16, pts=0:00:01.333333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=e1d19911a0a9b7a6a97dceedc96c66f81d187591, pts=0:00:01.300000000, dur=0:00:00.033333333, flags=discont +buffer: checksum=950bd00b2a08dc4fb6e0a2b06d38cf14a40780ac, pts=0:00:01.266666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=ab9217e0ca61c7ae0a8d298d36d0ce97eed482cd, pts=0:00:01.233333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=8eed8ee03cf63e698bfa301fa0b304addffed4bc, pts=0:00:01.200000000, dur=0:00:00.033333333, flags=discont +buffer: checksum=9238cea5dc4855b286e4a1459ca4f8e177dfb96f, pts=0:00:01.166666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=1f33bf94492ba7dbe2bf72e57bd12cee8f090079, pts=0:00:01.133333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=f0f7021ee092b8f273ca5cec2d1acefebfb53356, pts=0:00:01.100000000, dur=0:00:00.033333333, flags=discont +buffer: checksum=7acbad9ec0b798679d22ac1cf8bb0526a2a066d3, pts=0:00:01.066666666, dur=0:00:00.033333334, flags=discont +buffer: checksum=cb91b143e223d44733177fca79708fb3199aabf8, pts=0:00:01.033333333, dur=0:00:00.033333333, flags=discont +buffer: checksum=0d65174db0fc96dbeaaa2488d013b8935f363330, pts=0:00:01.000000000, dur=0:00:00.033333333, flags=discont +event eos: (no structure) diff --git a/subprojects/gst-plugins-base/tests/validate/videorate/reverse_slow.variable_to_10fps/flow-expectations/log-videorate-src-expected b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_slow.variable_to_10fps/flow-expectations/log-videorate-src-expected new file mode 100644 index 0000000000..384ae5b072 --- /dev/null +++ b/subprojects/gst-plugins-base/tests/validate/videorate/reverse_slow.variable_to_10fps/flow-expectations/log-videorate-src-expected @@ -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, framerate=(fraction)10/1, height=(int)240, interlace-mode=(string)progressive, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, width=(int)320; +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 +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=-0.500000, 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 +buffer: checksum=4838df67beb6ceadbde9fa4ae633b343962eb4cc, pts=0:00:00.800000000, dur=0:00:00.100000000 +buffer: checksum=4c87c8b594e77448cffb8da079544060fa513829, pts=0:00:00.700000000, dur=0:00:00.100000000 +buffer: checksum=b235367d19b4a8eedcca178a5919dc0bbbaeabca, pts=0:00:00.600000000, dur=0:00:00.100000000 +buffer: checksum=a5b575e2fe65bb0862438f1689a1259612c3451b, pts=0:00:00.500000000, dur=0:00:00.100000000 +buffer: checksum=e33a1e17ee1d97ca396956dcc5bace77bcf40698, pts=0:00:00.400000000, dur=0:00:00.100000000 +buffer: checksum=ba9212a73c0b0fb0e1572b4bcc48c3240b617166, pts=0:00:00.300000000, dur=0:00:00.100000000 +buffer: checksum=29b39a0c9759a8860ab54f70cc3f2d8901902662, pts=0:00:00.200000000, dur=0:00:00.100000000 +buffer: checksum=faa402360b8808220fa8ba7f29246edc52826335, pts=0:00:00.100000000, dur=0:00:00.100000000 +buffer: checksum=61f960fb1f82031de8557270b198f528cc319bb5, pts=0:00:00.000000000, dur=0:00:00.100000000 +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=-0.500000, 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 +buffer: checksum=dcd4ccc30734f8d3a8800256f3cdb99a58cb7794, pts=0:00:01.800000000, dur=0:00:00.100000000 +buffer: checksum=dc7572847961cdc8f87e8dd12b2004808b46b9d7, pts=0:00:01.700000000, dur=0:00:00.100000000 +buffer: checksum=bff0c69020b2ffb3f3ceda63353620854cdd6b73, pts=0:00:01.600000000, dur=0:00:00.100000000 +buffer: checksum=87c6573e1f3cc6a14bca871f675ff66822e2863e, pts=0:00:01.500000000, dur=0:00:00.100000000 +buffer: checksum=ea498a2e840c9528f90f1154f72d4b204739b947, pts=0:00:01.400000000, dur=0:00:00.100000000 +buffer: checksum=e07dcddf3c18d51c51d1914588a2b61327cfa139, pts=0:00:01.300000000, dur=0:00:00.100000000 +buffer: checksum=950bd00b2a08dc4fb6e0a2b06d38cf14a40780ac, pts=0:00:01.200000000, dur=0:00:00.100000000 +buffer: checksum=9238cea5dc4855b286e4a1459ca4f8e177dfb96f, pts=0:00:01.100000000, dur=0:00:00.100000000 +buffer: checksum=7acbad9ec0b798679d22ac1cf8bb0526a2a066d3, pts=0:00:01.000000000, dur=0:00:00.100000000 +event eos: (no structure)