summaryrefslogtreecommitdiffstats
path: root/libmpdemux
diff options
context:
space:
mode:
authornicodvb <nicodvb@b3059339-0415-0410-9bf9-f77b7e298cf2>2008-02-23 10:42:24 +0000
committernicodvb <nicodvb@b3059339-0415-0410-9bf9-f77b7e298cf2>2008-02-23 10:42:24 +0000
commitcec659789360a30ec41a0138c5578a064cb1b240 (patch)
tree19973f804f10169bfd2ce022f2386fda19d5352c /libmpdemux
parent98fe62b62b9aaa5e00eeee37ed2e7582ef36964d (diff)
downloadmpv-cec659789360a30ec41a0138c5578a064cb1b240.tar.bz2
mpv-cec659789360a30ec41a0138c5578a064cb1b240.tar.xz
reset_fifos() resets demuxer->reference_clock to MP_NOPTS_VALUE
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26071 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux')
-rw-r--r--libmpdemux/demux_ts.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/libmpdemux/demux_ts.c b/libmpdemux/demux_ts.c
index 3b35385a20..5bf474eba5 100644
--- a/libmpdemux/demux_ts.c
+++ b/libmpdemux/demux_ts.c
@@ -3086,8 +3086,9 @@ static int ts_parse(demuxer_t *demuxer , ES_stream_t *es, unsigned char *packet,
extern void skip_audio_frame(sh_audio_t *sh_audio);
-static void reset_fifos(ts_priv_t* priv, int a, int v, int s)
+static void reset_fifos(demuxer_t *demuxer, int a, int v, int s)
{
+ ts_priv_t* priv = demuxer->priv;
if(a)
{
if(priv->fifo[0].pack != NULL)
@@ -3117,6 +3118,7 @@ static void reset_fifos(ts_priv_t* priv, int a, int v, int s)
}
priv->fifo[2].offset = 0;
}
+ demuxer->reference_clock = MP_NOPTS_VALUE;
}
@@ -3134,7 +3136,7 @@ static void demux_seek_ts(demuxer_t *demuxer, float rel_seek_secs, float audio_d
//================= seek in MPEG-TS ==========================
ts_dump_streams(demuxer->priv);
- reset_fifos(priv, sh_audio != NULL, sh_video != NULL, demuxer->sub->id > 0);
+ reset_fifos(demuxer, sh_audio != NULL, sh_video != NULL, demuxer->sub->id > 0);
if(sh_audio != NULL)
@@ -3280,7 +3282,7 @@ static int demux_ts_control(demuxer_t *demuxer, int cmd, void *arg)
n = *((int*)arg);
if(n == -2)
{
- reset_fifos(priv, areset, vreset, 0);
+ reset_fifos(demuxer, areset, vreset, 0);
ds->id = -2;
ds->sh = NULL;
ds_free_packs(ds);
@@ -3322,7 +3324,7 @@ static int demux_ts_control(demuxer_t *demuxer, int cmd, void *arg)
if(sh)
{
if(ds->id != priv->ts.streams[i].id)
- reset_fifos(priv, areset, vreset, 0);
+ reset_fifos(demuxer, areset, vreset, 0);
ds->id = priv->ts.streams[i].id;
ds->sh = sh;
ds_free_packs(ds);