Demuxer-independent subtitle track selection.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26119 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
eugeni 2008-02-29 17:25:44 +00:00
parent 2c8e65329f
commit 96b0752265
2 changed files with 14 additions and 0 deletions

View File

@ -600,6 +600,18 @@ if(stream->type==STREAMTYPE_DVDNAV){
mencoder_exit(1,NULL);
}
if (dvdsub_id < 0 && dvdsub_lang)
dvdsub_id = demuxer_sub_track_by_lang(demuxer, dvdsub_lang);
for (i = 0; i < MAX_S_STREAMS; i++) {
sh_sub_t *sh = demuxer->s_streams[i];
if (sh && sh->sid == dvdsub_id) {
demuxer->sub->id = i;
demuxer->sub->sh = sh;
break;
}
}
if(dvd_chapter>1) {
float pts;
if (demuxer_seek_chapter(demuxer, dvd_chapter-1, 1, &pts, NULL, NULL) >= 0 && pts > -1.0)

View File

@ -3444,6 +3444,8 @@ if(mpctx->sh_video) {
if (mpctx->global_sub_size) {
// find the best sub to use
int vobsub_index_id = vobsub_get_index_by_id(vo_vobsub, vobsub_id);
if (dvdsub_id < 0 && dvdsub_lang)
dvdsub_id = demuxer_sub_track_by_lang(mpctx->demuxer, dvdsub_lang);
if (vobsub_index_id >= 0) {
// if user asks for a vobsub id, use that first.
mpctx->global_sub_pos = mpctx->global_sub_indices[SUB_SOURCE_VOBSUB] + vobsub_index_id;