There was a case where we could end up having more buffers on the sinkpads than what was expected, depending on timings. This ensure that we have a fixed number of buffers produced by the testsrc, and we play until EOS. Replace theora encoder/decoder chain with fakevideodec for testing QoS handling in videorate rate property tests. This simplifies the test pipeline and removes dependency on theora codecs. Also adjust test expectations to match RGBA format output from fakevideodec instead of I420 from theoradec, and limit buffer counts to make tests more deterministic. This also fixes the rate we set for 2.0 test as we were actually testing 0.5 there. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9013>
23 lines
922 B
Plaintext
23 lines
922 B
Plaintext
# Common metadatas to check the videorate element behavior with different
|
|
# framerate specified by previously setting variables with:
|
|
# ```
|
|
# set-global, rate=<test-rate>, decoder=<decoder>
|
|
# ```
|
|
# and then `include, location="check-rate-prop.meta" to setup the test with this
|
|
# file
|
|
|
|
meta,
|
|
args = {
|
|
"videotestsrc pattern=ball animation-mode=frames num-buffers=$(num_buffers) ! video/x-raw,format=RGBA,framerate=30/1,width=320,height=240 ! fakevideodec ! videorate name=videorate rate=$(rate) ! fakesink sync=true qos=true",
|
|
},
|
|
configs = {
|
|
"$(validateflow), pad=videorate:sink, buffers-checksum=as-id, ignored-event-types={ tag }",
|
|
"$(validateflow), pad=videorate:src, buffers-checksum=as-id, ignored-event-types={ tag }",
|
|
}
|
|
|
|
crank-clock, expected-time=0.0
|
|
crank-clock, repeat=9
|
|
wait, on-clock=true
|
|
check-position, expected-position=300000000
|
|
crank-clock, repeat="$(n_cranks_to_eos)"
|