dvdsubdec: Take the highlight event from the structure.
authorJan Schmidt <jan@centricular.com>
Fri, 4 May 2018 12:54:01 +0000 (22:54 +1000)
committerJan Schmidt <jan@centricular.com>
Fri, 4 May 2018 12:54:01 +0000 (22:54 +1000)
Don't use GST_EVENT_TIMESTAMP to transfer any PTS
associated with a highlight event, instead store
it in the event structure directly, as
GstEvent::timestamp will disappear in GStreamer 2.0

https://bugzilla.gnome.org/show_bug.cgi?id=761477

gst/dvdsub/gstdvdsubdec.c

index 77bfbc9..f68825b 100644 (file)
@@ -950,10 +950,13 @@ gst_dvd_sub_dec_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
       break;
     }
     case GST_EVENT_CUSTOM_DOWNSTREAM:{
-      GstClockTime ts = GST_EVENT_TIMESTAMP (event);
 
       if (gst_event_has_name (event, "application/x-gst-dvd")) {
-        if (GST_CLOCK_TIME_IS_VALID (ts))
+        const GstStructure *s = gst_event_get_structure (event);
+        GstClockTime ts = GST_CLOCK_TIME_NONE;
+
+        if (gst_structure_get_clock_time (s, "ts", &ts)
+            && GST_CLOCK_TIME_IS_VALID (ts))
           gst_dvd_sub_dec_advance_time (dec, ts);
 
         if (gst_dvd_sub_dec_handle_dvd_event (dec, event)) {