From 4f334234c82cc8924eab4b8bdd7fc7593c97dc85 Mon Sep 17 00:00:00 2001 From: Matthew Waters Date: Wed, 1 Jul 2020 19:41:33 +1000 Subject: ccconverter: fix missing output framerate on the caps A pipeline like this: closedcaption/x-cea-708,format=cdp,framerate=30000/1001 ! ccconverter ! closedcaption/x-cea-708,format=cc_data would produce a critical/assert: GStreamer-CRITICAL **: 14:21:11.509: gst_util_fraction_multiply: assertion 'a_d != 0' failed because there would be no framerate field on ccconverter's output. Fixed by always fixating a framerate if the input has a framerate. Part-of: --- tests/check/elements/ccconverter.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/check/elements/ccconverter.c b/tests/check/elements/ccconverter.c index 82a5ff6a2..e44466d64 100644 --- a/tests/check/elements/ccconverter.c +++ b/tests/check/elements/ccconverter.c @@ -142,9 +142,20 @@ GST_START_TEST (framerate_passthrough) gst_harness_set_sink_caps_str (h, "closedcaption/x-cea-708,format=(string)cc_data,framerate=(fraction)30/1"); - fail_unless_equals_int (gst_harness_push (h, buffer), + fail_unless_equals_int (gst_harness_push (h, gst_buffer_ref (buffer)), GST_FLOW_NOT_NEGOTIATED); + /* Now try cdp -> cc_data with framerate passthrough */ + gst_harness_set_src_caps_str (h, + "closedcaption/x-cea-708,format=(string)cdp,framerate=(fraction)30/1"); + + gst_harness_set_sink_caps_str (h, + "closedcaption/x-cea-708,format=(string)cc_data"); + + fail_unless_equals_int (gst_harness_push (h, gst_buffer_ref (buffer)), + GST_FLOW_OK); + + gst_buffer_unref (buffer); gst_harness_teardown (h); } -- cgit v1.2.3