cccombiner: Update segment according to video sink pad
authorVivia Nikolaidou <vivia@ahiru.eu>
Wed, 8 Jul 2020 15:24:06 +0000 (18:24 +0300)
committerGStreamer Merge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Wed, 8 Jul 2020 17:11:38 +0000 (17:11 +0000)
Otherwise the following pipeline would preroll after 1000 hours:
gst-launch-1.0 videotestsrc ! x264enc ! cccombiner ! fakesink silent=0 sync=1 -v

Fixes #1355

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1419>

ext/closedcaption/gstcccombiner.c

index fbcf865..305cd8e 100644 (file)
@@ -415,6 +415,15 @@ gst_cc_combiner_sink_event (GstAggregator * aggregator,
 
       break;
     }
+    case GST_EVENT_SEGMENT:{
+      if (strcmp (GST_OBJECT_NAME (agg_pad), "sink") == 0) {
+        const GstSegment *segment;
+
+        gst_event_parse_segment (event, &segment);
+        gst_aggregator_update_segment (aggregator, segment);
+      }
+      break;
+    }
     default:
       break;
   }