summaryrefslogtreecommitdiffstats
path: root/libmpdemux/demuxer.c
diff options
context:
space:
mode:
authoreugeni <eugeni@b3059339-0415-0410-9bf9-f77b7e298cf2>2008-03-30 16:55:46 +0000
committereugeni <eugeni@b3059339-0415-0410-9bf9-f77b7e298cf2>2008-03-30 16:55:46 +0000
commit7cc46c2e87348423b7d97cf55fdb992404e3a7e8 (patch)
tree23df08556ce4a5ecd03efd357ca82630adc2e661 /libmpdemux/demuxer.c
parent37d20cbc938f4e09bbbd9141d7456c3949aea312 (diff)
downloadmpv-7cc46c2e87348423b7d97cf55fdb992404e3a7e8.tar.bz2
mpv-7cc46c2e87348423b7d97cf55fdb992404e3a7e8.tar.xz
Support 'default' attribute for audio and subtitle tracks.
The first default track is chosen for playback if language-based selection failes. Additionally, for audio tracks, the first one is chosen if there are no default tracks at all. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26301 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux/demuxer.c')
-rw-r--r--libmpdemux/demuxer.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/libmpdemux/demuxer.c b/libmpdemux/demuxer.c
index 857232abdd..591571233e 100644
--- a/libmpdemux/demuxer.c
+++ b/libmpdemux/demuxer.c
@@ -1441,3 +1441,31 @@ int demuxer_sub_track_by_lang(demuxer_t* d, char* lang)
}
return -1;
}
+
+int demuxer_default_audio_track(demuxer_t* d)
+{
+ int i;
+ for (i=0; i < MAX_A_STREAMS; ++i) {
+ sh_audio_t* sh = d->a_streams[i];
+ if (sh && sh->default_track)
+ return sh->aid;
+ }
+ for (i=0; i < MAX_A_STREAMS; ++i) {
+ sh_audio_t* sh = d->a_streams[i];
+ if (sh)
+ return sh->aid;
+ }
+ return -1;
+}
+
+int demuxer_default_sub_track(demuxer_t* d)
+{
+ int i;
+ for (i=0; i < MAX_S_STREAMS; ++i) {
+ sh_sub_t* sh = d->s_streams[i];
+ if (sh && sh->default_track)
+ return sh->sid;
+ }
+ return -1;
+}
+