Mercurial > mplayer.hg
comparison libmpdemux/demux_mkv.c @ 26269:65ad20416dd7
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.
author | eugeni |
---|---|
date | Sun, 30 Mar 2008 16:55:46 +0000 |
parents | 835f8ba52075 |
children | 664b4467564d |
comparison
equal
deleted
inserted
replaced
26268:2f5886f0d307 | 26269:65ad20416dd7 |
---|---|
1847 if(!sh_a) return 1; | 1847 if(!sh_a) return 1; |
1848 mkv_d->audio_tracks[mkv_d->last_aid] = track->tnum; | 1848 mkv_d->audio_tracks[mkv_d->last_aid] = track->tnum; |
1849 | 1849 |
1850 if (track->language && (strcmp(track->language, "und") != 0)) | 1850 if (track->language && (strcmp(track->language, "und") != 0)) |
1851 sh_a->lang = strdup(track->language); | 1851 sh_a->lang = strdup(track->language); |
1852 sh_a->default_track = track->default_track; | |
1852 sh_a->ds = demuxer->audio; | 1853 sh_a->ds = demuxer->audio; |
1853 sh_a->wf = malloc (sizeof (WAVEFORMATEX)); | 1854 sh_a->wf = malloc (sizeof (WAVEFORMATEX)); |
1854 if (track->ms_compat && (track->private_size >= sizeof(WAVEFORMATEX))) | 1855 if (track->ms_compat && (track->private_size >= sizeof(WAVEFORMATEX))) |
1855 { | 1856 { |
1856 WAVEFORMATEX *wf = (WAVEFORMATEX *)track->private_data; | 1857 WAVEFORMATEX *wf = (WAVEFORMATEX *)track->private_data; |
2215 memcpy (sh->extradata, track->private_data, | 2216 memcpy (sh->extradata, track->private_data, |
2216 track->private_size); | 2217 track->private_size); |
2217 sh->extradata_len = track->private_size; | 2218 sh->extradata_len = track->private_size; |
2218 if (track->language && (strcmp(track->language, "und") != 0)) | 2219 if (track->language && (strcmp(track->language, "und") != 0)) |
2219 sh->lang = strdup(track->language); | 2220 sh->lang = strdup(track->language); |
2221 sh->default_track = track->default_track; | |
2220 } | 2222 } |
2221 else | 2223 else |
2222 { | 2224 { |
2223 mp_msg (MSGT_DEMUX, MSGL_ERR, MSGTR_MPDEMUX_MKV_SubtitleTypeNotSupported, | 2225 mp_msg (MSGT_DEMUX, MSGL_ERR, MSGTR_MPDEMUX_MKV_SubtitleTypeNotSupported, |
2224 track->codec_id); | 2226 track->codec_id); |