ext/ogg/gstoggdemux.c: Don't accidently send GST_CLOCK_TIME_NONE as a new segment start value. Fixes g-critical on tr...

Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_perform_seek):
Don't accidently send GST_CLOCK_TIME_NONE as a new segment start
value. Fixes g-critical on trying to play back ogg containing
unknown codec.
This commit is contained in:
Michael Smith 2006-06-02 14:07:42 +00:00
parent 571ba11a3b
commit 9bfe860234
2 changed files with 13 additions and 2 deletions

View file

@ -1,3 +1,10 @@
2006-06-02 Michael Smith <msmith@fluendo.com>
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_perform_seek):
Don't accidently send GST_CLOCK_TIME_NONE as a new segment start
value. Fixes g-critical on trying to play back ogg containing
unknown codec.
2006-06-02 Wim Taymans <wim@fluendo.com> 2006-06-02 Wim Taymans <wim@fluendo.com>
* gst/playback/gstplaybasebin.c: (group_create), (group_commit), * gst/playback/gstplaybasebin.c: (group_create), (group_commit),

View file

@ -2049,6 +2049,7 @@ gst_ogg_demux_perform_seek (GstOggDemux * ogg, GstEvent * event)
{ {
GstEvent *event; GstEvent *event;
gint64 stop; gint64 stop;
gint64 start;
/* we have to send the flush to the old chain, not the new one */ /* we have to send the flush to the old chain, not the new one */
if (flush) if (flush)
@ -2060,10 +2061,13 @@ gst_ogg_demux_perform_seek (GstOggDemux * ogg, GstEvent * event)
if (stop != -1) if (stop != -1)
stop += chain->segment_start; stop += chain->segment_start;
start = ogg->segment.last_stop;
if (chain->segment_start != GST_CLOCK_TIME_NONE)
start += chain->segment_start;
/* create the segment event we are going to send out */ /* create the segment event we are going to send out */
event = gst_event_new_new_segment (FALSE, ogg->segment.rate, event = gst_event_new_new_segment (FALSE, ogg->segment.rate,
ogg->segment.format, ogg->segment.format, start, stop, ogg->segment.time);
ogg->segment.last_stop + chain->segment_start, stop, ogg->segment.time);
if (chain != ogg->current_chain) { if (chain != ogg->current_chain) {
/* switch to different chain, send segment on new chain */ /* switch to different chain, send segment on new chain */