mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 20:21:24 +00:00
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:
parent
571ba11a3b
commit
9bfe860234
2 changed files with 13 additions and 2 deletions
|
@ -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),
|
||||||
|
|
|
@ -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 */
|
||||||
|
|
Loading…
Reference in a new issue