summaryrefslogtreecommitdiffstats
path: root/libmpdemux/demux_mkv.c
diff options
context:
space:
mode:
authorptt <ptt@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-10-11 17:25:46 +0000
committerptt <ptt@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-10-11 17:25:46 +0000
commit68613bbee71c87fa321fff8827837d7ce4d02581 (patch)
tree41e05a922e802b55653031e42807be5aacc40082 /libmpdemux/demux_mkv.c
parentd0947a5bb7255ef357c35191260a5f1fc93d61a3 (diff)
downloadmpv-68613bbee71c87fa321fff8827837d7ce4d02581.tar.bz2
mpv-68613bbee71c87fa321fff8827837d7ce4d02581.tar.xz
added OSD audio switching visualization
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20162 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux/demux_mkv.c')
-rw-r--r--libmpdemux/demux_mkv.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/libmpdemux/demux_mkv.c b/libmpdemux/demux_mkv.c
index cc25d712f3..4ebc707b1e 100644
--- a/libmpdemux/demux_mkv.c
+++ b/libmpdemux/demux_mkv.c
@@ -3954,6 +3954,40 @@ demux_mkv_get_sub_lang(demuxer_t *demuxer, int track_num, char *lang,
}
}
+/** \brief Get the language code for an audio track.
+
+ Retrieves the language code for an audio track if it is known.
+ If the language code is "und" then do not copy it ("und" = "undefined").
+
+ \param demuxer The demuxer to work on
+ \param track_num The n'th audio track to get the language from
+ \param lang Store the language here
+ \param maxlen The maximum number of characters to copy into lang
+*/
+void
+demux_mkv_get_audio_lang(demuxer_t *demuxer, int track_num, char *lang,
+ int maxlen)
+{
+ mkv_demuxer_t *mkv_d = (mkv_demuxer_t *) demuxer->priv;
+ mkv_track_t *track;
+ int i, num;
+
+ num = 0;
+ for (i = 0; i < mkv_d->num_tracks; i++)
+ {
+ track = mkv_d->tracks[i];
+ if (track->type == MATROSKA_TRACK_AUDIO)
+ num++;
+ if (num == (track_num + 1))
+ {
+ if ((track->language != NULL) &&
+ strcmp(track->language, "und"))
+ strlcpy(lang, track->language, maxlen);
+ return;
+ }
+ }
+}
+
demuxer_desc_t demuxer_desc_matroska = {
"Matroska demuxer",