summaryrefslogtreecommitdiffstats
path: root/libmpdemux/demux_mkv.c
diff options
context:
space:
mode:
authorUoti Urpala <uau@mplayer2.org>2011-04-02 22:39:01 +0300
committerUoti Urpala <uau@mplayer2.org>2011-04-02 22:53:18 +0300
commite3631231a1be57cbf854d5897cd9378249ffd865 (patch)
tree13318a93e2ceae5f844e9112c0f72cab8b81c17b /libmpdemux/demux_mkv.c
parent1bda89eabac6414d5f0f34d445793e9745b74e94 (diff)
downloadmpv-e3631231a1be57cbf854d5897cd9378249ffd865.tar.bz2
mpv-e3631231a1be57cbf854d5897cd9378249ffd865.tar.xz
demux_mkv, demux_lavf: don't select initial audio track
Remove code that tries to select audio track during demuxer initialization from demux_mkv and demux_lavf. Just leave audio disabled at that point; the higher-level select_audio() function will call the demuxer to switch track later anyway. Removing this unneeded code also fixes use of these demuxers as the main demuxer with -audiofile. Before the automatic track selection would have enabled an audio track (if the file had any); as the main demuxer was not used for audio the unused packets from this enabled track would accumulate until they reached queue size limits.
Diffstat (limited to 'libmpdemux/demux_mkv.c')
-rw-r--r--libmpdemux/demux_mkv.c29
1 files changed, 1 insertions, 28 deletions
diff --git a/libmpdemux/demux_mkv.c b/libmpdemux/demux_mkv.c
index 78af3a85f1..535c749c48 100644
--- a/libmpdemux/demux_mkv.c
+++ b/libmpdemux/demux_mkv.c
@@ -1711,34 +1711,7 @@ static int demux_mkv_open(demuxer_t *demuxer)
demuxer->video->id = -2;
}
- /* select audio track */
- track = NULL;
- if (track == NULL)
- /* search for an audio track that has the 'default' flag set */
- for (i = 0; i < mkv_d->num_tracks; i++)
- if (mkv_d->tracks[i]->type == MATROSKA_TRACK_AUDIO
- && mkv_d->tracks[i]->default_track) {
- track = mkv_d->tracks[i];
- break;
- }
-
- if (track == NULL)
- /* no track has the 'default' flag set */
- /* let's take the first audio track */
- for (i = 0; i < mkv_d->num_tracks; i++)
- if (mkv_d->tracks[i]->type == MATROSKA_TRACK_AUDIO
- && mkv_d->tracks[i]->id >= 0) {
- track = mkv_d->tracks[i];
- break;
- }
-
- if (track && demuxer->a_streams[track->id]) {
- demuxer->audio->id = track->id;
- demuxer->audio->sh = demuxer->a_streams[track->id];
- } else {
- mp_tmsg(MSGT_DEMUX, MSGL_INFO, "[mkv] No audio track found/wanted.\n");
- demuxer->audio->id = -2;
- }
+ demuxer->audio->id = -2; // wait for higher-level code to select track
if (s->end_pos == 0)
demuxer->seekable = 0;