changeset 20954:bd634deaaec7

restored circular looping when changing audio and video stream (previously broken)
author nicodvb
date Thu, 16 Nov 2006 22:08:14 +0000
parents fdfc939908ef
children 8f257751831f
files libmpdemux/demux_ts.c
diffstat 1 files changed, 6 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- 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)