From e8bcaf0fca0789a9cf6d7257d6c4872ec643ebd0 Mon Sep 17 00:00:00 2001 From: reimar Date: Sun, 21 Jun 2009 10:47:44 +0000 Subject: TS demuxer: make the IDs used by DEMUXER_CTRL_SWITCH_* and DEMUXER_CTRL_IDENTIFY_PROGRAM match those printed as ID_VIDEO_ID/ID_AUDIO_ID and accepted with -vid/-aid git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29377 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libmpdemux/demux_ts.c | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/libmpdemux/demux_ts.c b/libmpdemux/demux_ts.c index d7159167ca..4a761bc070 100644 --- a/libmpdemux/demux_ts.c +++ b/libmpdemux/demux_ts.c @@ -3378,14 +3378,9 @@ static int demux_ts_control(demuxer_t *demuxer, int cmd, void *arg) } else //audio track { - for(i = 0; i < 8192; i++) - { - if(priv->ts.streams[i].id == n && priv->ts.streams[i].type == reftype) - { + if (n >= 8192 || priv->ts.streams[n].type != reftype) return DEMUXER_CTRL_NOTIMPL; + i = n; sh = priv->ts.streams[i].sh; - break; - } - } } if(sh) @@ -3456,12 +3451,12 @@ static int demux_ts_control(demuxer_t *demuxer, int cmd, void *arg) if(!vid_done && priv->ts.streams[pmt->es[j].pid].type == TYPE_VIDEO) { vid_done = 1; - prog->vid = priv->ts.streams[pmt->es[j].pid].id; + prog->vid = pmt->es[j].pid; } else if(!aid_done && priv->ts.streams[pmt->es[j].pid].type == TYPE_AUDIO) { aid_done = 1; - prog->aid = priv->ts.streams[pmt->es[j].pid].id; + prog->aid = pmt->es[j].pid; } } -- cgit v1.2.3