diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | gst/mpegdemux/gstmpegdemux.c | 5 | ||||
-rw-r--r-- | gst/mpegdemux/gstmpegdemux.h | 6 |
3 files changed, 14 insertions, 4 deletions
@@ -1,5 +1,12 @@ 2008-12-29 Wim Taymans <wim.taymans@collabora.co.uk> + * gst/mpegdemux/gstmpegdemux.c: (gst_flups_demux_send_data): + * gst/mpegdemux/gstmpegdemux.h: + The position member in the newsegment event corresponds to the + stream_time of the segment start position. + +2008-12-29 Wim Taymans <wim.taymans@collabora.co.uk> + Patch by: Robin Stocker <robin at nibor dot org> * gst/mpegdemux/gstmpegdemux.c: (gst_flups_demux_src_query): diff --git a/gst/mpegdemux/gstmpegdemux.c b/gst/mpegdemux/gstmpegdemux.c index 2b7f923f..6dca661c 100644 --- a/gst/mpegdemux/gstmpegdemux.c +++ b/gst/mpegdemux/gstmpegdemux.c @@ -480,7 +480,10 @@ gst_flups_demux_send_data (GstFluPSDemux * demux, GstFluPSStream * stream, stop = timestamp; } } - time = start; + if (GST_CLOCK_TIME_IS_VALID (demux->base_time) && start > demux->base_time) + time = start - demux->base_time; + else + time = 0; #ifdef HAVE_NEWSEG_FULL GST_INFO_OBJECT (demux, "sending new segment: rate %g applied_rate %g " diff --git a/gst/mpegdemux/gstmpegdemux.h b/gst/mpegdemux/gstmpegdemux.h index 3730bac4..1ca2ec74 100644 --- a/gst/mpegdemux/gstmpegdemux.h +++ b/gst/mpegdemux/gstmpegdemux.h @@ -102,9 +102,9 @@ struct _GstFluPSDemux { GstPESFilter filter; gint64 mux_rate; - guint64 first_scr; - guint64 first_dts; - guint64 base_time; + guint64 first_scr; + guint64 first_dts; + guint64 base_time; guint64 current_scr; guint64 next_scr; guint64 bytes_since_scr; |