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
This commit is contained in:
nicodvb 2008-02-23 10:42:24 +00:00
parent 98fe62b62b
commit cec6597893
1 changed files with 6 additions and 4 deletions

View File

@ -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); 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(a)
{ {
if(priv->fifo[0].pack != NULL) 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; 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 ========================== //================= seek in MPEG-TS ==========================
ts_dump_streams(demuxer->priv); 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) if(sh_audio != NULL)
@ -3280,7 +3282,7 @@ static int demux_ts_control(demuxer_t *demuxer, int cmd, void *arg)
n = *((int*)arg); n = *((int*)arg);
if(n == -2) if(n == -2)
{ {
reset_fifos(priv, areset, vreset, 0); reset_fifos(demuxer, areset, vreset, 0);
ds->id = -2; ds->id = -2;
ds->sh = NULL; ds->sh = NULL;
ds_free_packs(ds); ds_free_packs(ds);
@ -3322,7 +3324,7 @@ static int demux_ts_control(demuxer_t *demuxer, int cmd, void *arg)
if(sh) if(sh)
{ {
if(ds->id != priv->ts.streams[i].id) 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->id = priv->ts.streams[i].id;
ds->sh = sh; ds->sh = sh;
ds_free_packs(ds); ds_free_packs(ds);