# HG changeset patch # User nicodvb # Date 1163714894 0 # Node ID bd634deaaec74fe4db06a227886296821df83357 # Parent fdfc939908ef79743fbe32f280c9f80dc5fe060d restored circular looping when changing audio and video stream (previously broken) diff -r fdfc939908ef -r bd634deaaec7 libmpdemux/demux_ts.c --- a/libmpdemux/demux_ts.c Thu Nov 16 21:35:05 2006 +0000 +++ b/libmpdemux/demux_ts.c Thu Nov 16 22:08:14 2006 +0000 @@ -3189,10 +3189,12 @@ 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 @@ 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)