diff libmpdemux/demux_ts.c @ 19540:70a5e89ea4cd

Get rid of demux_aid_vid_mismatch mess.
author reimar
date Sat, 26 Aug 2006 19:17:04 +0000
parents 45e1650f9ad5
children cc316541564f
line wrap: on
line diff
--- a/libmpdemux/demux_ts.c	Sat Aug 26 19:00:21 2006 +0000
+++ b/libmpdemux/demux_ts.c	Sat Aug 26 19:17:04 2006 +0000
@@ -62,7 +62,6 @@
 int ts_keep_broken=0;
 off_t ts_probe = TS_MAX_PROBE_SIZE;
 extern char *dvdsub_lang, *audio_lang;	//for -alang
-extern int demux_aid_vid_mismatch;
 
 typedef enum
 {
@@ -935,12 +934,10 @@
 	demuxer->sub->id = params.spid;
 	priv->prog = params.prog;
 
-	demux_aid_vid_mismatch = 1; // don't identify in new_sh_* since ids don't match
-
 	if(params.vtype != UNKNOWN)
 	{
 		ES_stream_t *es = priv->ts.pids[params.vpid];
-		sh_video = new_sh_video(demuxer, 0);
+		sh_video = new_sh_video_vid(demuxer, 0, es->pid);
 		if(params.vtype == VIDEO_AVC && es->extradata && es->extradata_len)
 		{
 			int w = 0, h = 0;
@@ -966,7 +963,7 @@
 	if(params.atype != UNKNOWN)
 	{
 		ES_stream_t *es = priv->ts.pids[params.apid];
-		sh_audio = new_sh_audio(demuxer, 0);
+		sh_audio = new_sh_audio_aid(demuxer, 0, es->pid);
 		priv->ts.streams[params.apid].id = 0;
 		priv->ts.streams[params.apid].sh = sh_audio;
 		priv->ts.streams[params.apid].type = TYPE_AUDIO;
@@ -2756,7 +2753,7 @@
 		{
 			if((IS_AUDIO(tss->type) || IS_AUDIO(tss->subtype)) && is_start && !priv->ts.streams[pid].sh && priv->last_aid+1 < MAX_A_STREAMS)
 			{
-				sh_audio_t *sh = new_sh_audio(demuxer, priv->last_aid+1);
+				sh_audio_t *sh = new_sh_audio_aid(demuxer, priv->last_aid+1, pid);
 				if(sh)
 				{
 					sh->format = IS_AUDIO(tss->type) ? tss->type : tss->subtype;