Mercurial > mplayer.hg
diff libmpdemux/demux_mkv.c @ 26083:19fa7a56ed04
Fill sh_audio_t.lang in lavf and mkv demuxers. Use it for printing audio track
language when available.
author | eugeni |
---|---|
date | Fri, 29 Feb 2008 17:25:37 +0000 |
parents | 1318e956c092 |
children | ec5749eb6f5f |
line wrap: on
line diff
--- a/libmpdemux/demux_mkv.c Fri Feb 29 17:25:33 2008 +0000 +++ b/libmpdemux/demux_mkv.c Fri Feb 29 17:25:37 2008 +0000 @@ -1873,6 +1873,8 @@ if(!sh_a) return 1; mkv_d->audio_tracks[mkv_d->last_aid] = track->tnum; + if (track->language && (strcmp(track->language, "und") != 0)) + sh_a->lang = strdup(track->language); sh_a->ds = demuxer->audio; sh_a->wf = malloc (sizeof (WAVEFORMATEX)); if (track->ms_compat && (track->private_size >= sizeof(WAVEFORMATEX))) @@ -3502,27 +3504,6 @@ av_strlcpy(lang, track->language, maxlen); } -/** \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 = demux_mkv_find_track_by_num (mkv_d, track_num, MATROSKA_TRACK_AUDIO); - if (track && track->language && strcmp(track->language, "und")) - av_strlcpy(lang, track->language, maxlen); -} - - const demuxer_desc_t demuxer_desc_matroska = { "Matroska demuxer", "mkv",