G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
klass->sink_query = GST_DEBUG_FUNCPTR (mpegts_base_default_sink_query);
+ klass->handle_psi = NULL;
gst_type_mark_as_plugin_api (GST_TYPE_MPEGTS_BASE, 0);
}
break;
}
+ /* Give the subclass a chance to look at the section */
+ if (GST_MPEGTS_BASE_GET_CLASS (base)->handle_psi)
+ GST_MPEGTS_BASE_GET_CLASS (base)->handle_psi (base, section);
+
/* Finally post message (if it wasn't corrupted) */
if (post_message)
gst_element_post_message (GST_ELEMENT_CAST (base),
void (*inspect_packet) (MpegTSBase *base, MpegTSPacketizerPacket *packet);
/* takes ownership of @event */
gboolean (*push_event) (MpegTSBase *base, GstEvent * event);
+ void (*handle_psi) (MpegTSBase *base, GstMpegtsSection * section);
/* program_started gets called when program's pmt arrives for first time */
void (*program_started) (MpegTSBase *base, MpegTSBaseProgram *program);