Update for indexable change

This commit is contained in:
Wim Taymans 2011-11-28 18:25:52 +01:00
parent 71b615515a
commit c36325f0aa
5 changed files with 23 additions and 13 deletions

View file

@ -185,6 +185,8 @@ gst_avi_demux_init (GstAviDemux * avi)
avi->adapter = gst_adapter_new ();
gst_avi_demux_reset (avi);
GST_OBJECT_FLAG_SET (avi, GST_ELEMENT_FLAG_INDEXABLE);
}
static void
@ -4206,7 +4208,7 @@ avi_demux_handle_seek_push (GstAviDemux * avi, GstPad * pad, GstEvent * event)
gst_segment_do_seek (&seeksegment, rate, format, flags,
cur_type, cur, stop_type, stop, &update);
keyframe = !!(flags & GST_SEEK_FLAG_KEY_UNIT);
keyframe = ! !(flags & GST_SEEK_FLAG_KEY_UNIT);
cur = seeksegment.position;
GST_DEBUG_OBJECT (avi,

View file

@ -3252,6 +3252,8 @@ gst_flv_demux_init (GstFlvDemux * demux)
demux->own_index = FALSE;
GST_OBJECT_FLAG_SET (demux, GST_ELEMENT_FLAG_INDEXABLE);
gst_flv_demux_cleanup (demux);
}

View file

@ -445,7 +445,6 @@ gst_qtdemux_class_init (GstQTDemuxClass * klass)
gobject_class->dispose = gst_qtdemux_dispose;
gstelement_class->change_state = GST_DEBUG_FUNCPTR (gst_qtdemux_change_state);
gstelement_class->set_index = GST_DEBUG_FUNCPTR (gst_qtdemux_set_index);
gstelement_class->get_index = GST_DEBUG_FUNCPTR (gst_qtdemux_get_index);
@ -492,6 +491,8 @@ gst_qtdemux_init (GstQTDemux * qtdemux)
qtdemux->mdatoffset = GST_CLOCK_TIME_NONE;
qtdemux->mdatbuffer = NULL;
gst_segment_init (&qtdemux->segment, GST_FORMAT_TIME);
GST_OBJECT_FLAG_SET (qtdemux, GST_ELEMENT_FLAG_INDEXABLE);
}
static void

View file

@ -226,7 +226,6 @@ gst_matroska_demux_class_init (GstMatroskaDemuxClass * klass)
GST_DEBUG_FUNCPTR (gst_matroska_demux_element_send_event);
gstelement_class->query =
GST_DEBUG_FUNCPTR (gst_matroska_demux_element_query);
gstelement_class->set_index =
GST_DEBUG_FUNCPTR (gst_matroska_demux_set_index);
gstelement_class->get_index =
@ -275,6 +274,8 @@ gst_matroska_demux_init (GstMatroskaDemux * demux)
/* property defaults */
demux->max_gap_time = DEFAULT_MAX_GAP_TIME;
GST_OBJECT_FLAG_SET (demux, GST_ELEMENT_FLAG_INDEXABLE);
/* finish off */
gst_matroska_demux_reset (GST_ELEMENT (demux));
}
@ -1472,7 +1473,8 @@ gst_matroska_demux_send_event (GstMatroskaDemux * demux, GstEvent * event)
GST_DEBUG_OBJECT (demux, "Sending pending_tags %p for pad %s:%s : %"
GST_PTR_FORMAT, stream->pending_tags,
GST_DEBUG_PAD_NAME (stream->pad), stream->pending_tags);
gst_pad_push_event (stream->pad, gst_event_new_tag (stream->pending_tags));
gst_pad_push_event (stream->pad,
gst_event_new_tag (stream->pending_tags));
stream->pending_tags = NULL;
}
}
@ -2158,7 +2160,8 @@ gst_matroska_demux_handle_seek_push (GstMatroskaDemux * demux, GstPad * pad,
}
static gboolean
gst_matroska_demux_handle_src_event (GstPad * pad, GstObject * parent, GstEvent * event)
gst_matroska_demux_handle_src_event (GstPad * pad, GstObject * parent,
GstEvent * event)
{
GstMatroskaDemux *demux = GST_MATROSKA_DEMUX (parent);
gboolean res = TRUE;
@ -3496,8 +3499,8 @@ gst_matroska_demux_parse_blockgroup_or_simpleblock (GstMatroskaDemux * demux,
/* align segment view with downstream,
* prevents double-counting base time when closing segment */
/* FIXME: in 0.10, the segment base/accum got updated here, but
* maybe we don't need that because of the double accounting
* mentioned above? */
* maybe we don't need that because of the double accounting
* mentioned above? */
demux->common.segment = segment;
}
}
@ -4693,13 +4696,13 @@ gst_matroska_demux_sink_activate_mode (GstPad * sinkpad, GstObject * parent,
switch (mode) {
case GST_PAD_MODE_PULL:
if (active) {
/* if we have a scheduler we can start the task */
demux->segment_running = TRUE;
gst_pad_start_task (sinkpad, (GstTaskFunction) gst_matroska_demux_loop,
sinkpad);
/* if we have a scheduler we can start the task */
demux->segment_running = TRUE;
gst_pad_start_task (sinkpad, (GstTaskFunction) gst_matroska_demux_loop,
sinkpad);
} else {
demux->segment_running = FALSE;
gst_pad_stop_task (sinkpad);
demux->segment_running = FALSE;
gst_pad_stop_task (sinkpad);
}
return TRUE;
case GST_PAD_MODE_PUSH:

View file

@ -220,6 +220,8 @@ gst_matroska_parse_init (GstMatroskaParse * parse)
parse->common.adapter = gst_adapter_new ();
GST_OBJECT_FLAG_SET (parse, GST_ELEMENT_FLAG_INDEXABLE);
/* finish off */
gst_matroska_parse_reset (GST_ELEMENT (parse));
}