diff options
author | nicodvb <nicodvb@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2006-11-16 22:08:14 +0000 |
---|---|---|
committer | nicodvb <nicodvb@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2006-11-16 22:08:14 +0000 |
commit | 81173eeb6cbab7a14a5c303e7cdb25f1fc866b7b (patch) | |
tree | d86cb3a22f74e76882a316dd5953e936beb6f851 /libmpdemux/demux_ts.c | |
parent | 18d524f23e1643a94c8977256f06ef8b538787cf (diff) | |
download | mpv-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/demux_ts.c')
-rw-r--r-- | libmpdemux/demux_ts.c | 8 |
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) |