summaryrefslogtreecommitdiffstats
path: root/libmpdemux
diff options
context:
space:
mode:
authornicodvb <nicodvb@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-11-16 22:08:14 +0000
committernicodvb <nicodvb@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-11-16 22:08:14 +0000
commit81173eeb6cbab7a14a5c303e7cdb25f1fc866b7b (patch)
treed86cb3a22f74e76882a316dd5953e936beb6f851 /libmpdemux
parent18d524f23e1643a94c8977256f06ef8b538787cf (diff)
downloadmpv-81173eeb6cbab7a14a5c303e7cdb25f1fc866b7b.tar.bz2
mpv-81173eeb6cbab7a14a5c303e7cdb25f1fc866b7b.tar.xz
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
Diffstat (limited to 'libmpdemux')
-rw-r--r--libmpdemux/demux_ts.c8
1 files 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)