From 81173eeb6cbab7a14a5c303e7cdb25f1fc866b7b Mon Sep 17 00:00:00 2001 From: nicodvb Date: Thu, 16 Nov 2006 22:08:14 +0000 Subject: restored circular looping when changing audio and video stream (previously broken) git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20970 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libmpdemux/demux_ts.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/libmpdemux/demux_ts.c b/libmpdemux/demux_ts.c index 124ebf1c95..fc501dfe09 100644 --- a/libmpdemux/demux_ts.c +++ b/libmpdemux/demux_ts.c @@ -3189,10 +3189,12 @@ static int demux_ts_control(demuxer_t *demuxer, int cmd, void *arg) while(!sh_a) { i = (i+1) % 8192; + if(priv->ts.streams[i].type == TYPE_AUDIO) + { if(priv->ts.streams[i].id == demuxer->audio->id) //we made a complete loop break; - if(priv->ts.streams[i].type == TYPE_AUDIO) sh_a = (sh_audio_t*)priv->ts.streams[i].sh; + } } } else if(n <= priv->last_aid) @@ -3241,10 +3243,12 @@ static int demux_ts_control(demuxer_t *demuxer, int cmd, void *arg) while(!sh_v) { i = (i+1) % 8192; + if(priv->ts.streams[i].type == TYPE_VIDEO) + { if(priv->ts.streams[i].id == demuxer->video->id) //we made a complete loop break; - if(priv->ts.streams[i].type == TYPE_VIDEO) sh_v = (sh_video_t*)priv->ts.streams[i].sh; + } } } else if(n <= priv->last_vid) -- cgit v1.2.3