Mercurial > mplayer.hg
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;