GstCaps * caps);
static GstBuffer *gst_rtp_klv_depay_process (GstRTPBaseDepayload * depayload,
GstRTPBuffer * rtp);
+static gboolean gst_rtp_klv_depay_handle_event (GstRTPBaseDepayload * depay,
+ GstEvent * ev);
static void gst_rtp_klv_depay_reset (GstRtpKlvDepay * klvdepay);
rtpbasedepayload_class->set_caps = gst_rtp_klv_depay_setcaps;
rtpbasedepayload_class->process_rtp_packet = gst_rtp_klv_depay_process;
+ rtpbasedepayload_class->handle_event = gst_rtp_klv_depay_handle_event;
}
static void
}
static gboolean
+gst_rtp_klv_depay_handle_event (GstRTPBaseDepayload * depay, GstEvent * ev)
+{
+ switch (GST_EVENT_TYPE (ev)) {
+ case GST_EVENT_STREAM_START:{
+ GstStreamFlags flags;
+
+ ev = gst_event_make_writable (ev);
+ gst_event_parse_stream_flags (ev, &flags);
+ gst_event_set_stream_flags (ev, flags | GST_STREAM_FLAG_SPARSE);
+ break;
+ }
+ default:
+ break;
+ }
+
+ return GST_RTP_BASE_DEPAYLOAD_CLASS (parent_class)->handle_event (depay, ev);
+}
+
+static gboolean
gst_rtp_klv_depay_setcaps (GstRTPBaseDepayload * depayload, GstCaps * caps)
{
GstStructure *s;