summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--subprojects/gst-plugins-bad/ext/closedcaption/gstceaccoverlay.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/subprojects/gst-plugins-bad/ext/closedcaption/gstceaccoverlay.c b/subprojects/gst-plugins-bad/ext/closedcaption/gstceaccoverlay.c
index 4327648c43..dbcecfef1f 100644
--- a/subprojects/gst-plugins-bad/ext/closedcaption/gstceaccoverlay.c
+++ b/subprojects/gst-plugins-bad/ext/closedcaption/gstceaccoverlay.c
@@ -1000,7 +1000,6 @@ gst_cea_cc_overlay_cc_event (GstPad * pad, GstObject * parent, GstEvent * event)
("received non-TIME newsegment event on text input"));
}
- gst_event_unref (event);
ret = TRUE;
/* wake up the video chain, it might be waiting for a text buffer or
@@ -1027,7 +1026,6 @@ gst_cea_cc_overlay_cc_event (GstPad * pad, GstObject * parent, GstEvent * event)
GST_CEA_CC_OVERLAY_BROADCAST (overlay);
GST_CEA_CC_OVERLAY_UNLOCK (overlay);
- gst_event_unref (event);
ret = TRUE;
break;
}
@@ -1039,7 +1037,6 @@ gst_cea_cc_overlay_cc_event (GstPad * pad, GstObject * parent, GstEvent * event)
gst_cea_cc_overlay_pop_text (overlay);
gst_segment_init (&overlay->cc_segment, GST_FORMAT_TIME);
GST_CEA_CC_OVERLAY_UNLOCK (overlay);
- gst_event_unref (event);
ret = TRUE;
break;
case GST_EVENT_FLUSH_START:
@@ -1048,7 +1045,6 @@ gst_cea_cc_overlay_cc_event (GstPad * pad, GstObject * parent, GstEvent * event)
overlay->cc_flushing = TRUE;
GST_CEA_CC_OVERLAY_BROADCAST (overlay);
GST_CEA_CC_OVERLAY_UNLOCK (overlay);
- gst_event_unref (event);
ret = TRUE;
break;
case GST_EVENT_EOS:
@@ -1059,14 +1055,18 @@ gst_cea_cc_overlay_cc_event (GstPad * pad, GstObject * parent, GstEvent * event)
* a text segment update */
GST_CEA_CC_OVERLAY_BROADCAST (overlay);
GST_CEA_CC_OVERLAY_UNLOCK (overlay);
- gst_event_unref (event);
ret = TRUE;
break;
default:
- ret = gst_pad_event_default (pad, parent, event);
break;
}
+ if (ret) {
+ gst_event_unref (event);
+ } else {
+ ret = gst_pad_event_default (pad, parent, event);
+ }
+
return ret;
}