diff options
author | ptt <ptt@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2006-10-11 17:25:46 +0000 |
---|---|---|
committer | ptt <ptt@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2006-10-11 17:25:46 +0000 |
commit | 68613bbee71c87fa321fff8827837d7ce4d02581 (patch) | |
tree | 41e05a922e802b55653031e42807be5aacc40082 /libmpdemux/demux_mkv.c | |
parent | d0947a5bb7255ef357c35191260a5f1fc93d61a3 (diff) | |
download | mpv-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.c | 34 |
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", |