diff options
author | mosu <mosu@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2004-08-24 21:37:41 +0000 |
---|---|---|
committer | mosu <mosu@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2004-08-24 21:37:41 +0000 |
commit | 51fe7e4a6a26119d975b3a84b6e8e5f4e9d636bd (patch) | |
tree | b519e3561d6336a9d394b51468da2955e1fb9e99 /libmpdemux/demux_mkv.c | |
parent | 36f2212fe22eef76852133ba3ed65235b97f8d3f (diff) | |
download | mpv-51fe7e4a6a26119d975b3a84b6e8e5f4e9d636bd.tar.bz2 mpv-51fe7e4a6a26119d975b3a84b6e8e5f4e9d636bd.tar.xz |
Display the language code for subtitles from Matroska files.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@13130 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 bdadcd6e2d..611a30afff 100644 --- a/libmpdemux/demux_mkv.c +++ b/libmpdemux/demux_mkv.c @@ -3217,4 +3217,38 @@ demux_mkv_change_subs (demuxer_t *demuxer, int new_num) return track->tnum; } +/** \brief Get the language code for a subtitle track. + + Retrieves the language code for a subtitle 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 subtitle 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_sub_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_SUBTITLE) + num++; + if (num == (track_num + 1)) + { + if ((track->language != NULL) && + strcmp(track->language, "und")) + strncpy(lang, track->language, maxlen); + return; + } + } +} + #endif /* HAVE_MATROSKA */ |