diff options
author | reimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2009-06-21 10:47:44 +0000 |
---|---|---|
committer | reimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2009-06-21 10:47:44 +0000 |
commit | e8bcaf0fca0789a9cf6d7257d6c4872ec643ebd0 (patch) | |
tree | 0fde34bca1f2e5d58d5e5e9401318689b63d4f88 | |
parent | 498b8d3f7378e643117582f0b5bda25edbeac9eb (diff) | |
download | mpv-e8bcaf0fca0789a9cf6d7257d6c4872ec643ebd0.tar.bz2 mpv-e8bcaf0fca0789a9cf6d7257d6c4872ec643ebd0.tar.xz |
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
-rw-r--r-- | libmpdemux/demux_ts.c | 13 |
1 files 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 <n> { - 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; } } |