summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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)