diff options
author | ptt <ptt@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2005-11-09 23:18:38 +0000 |
---|---|---|
committer | ptt <ptt@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2005-11-09 23:18:38 +0000 |
commit | d44e5c8765e4c9a8fa6c007269a59457c34822e4 (patch) | |
tree | 629409410b30c4b31853c2b70b064ffa37376c0f /mplayer.c | |
parent | de1676178740f692bab47a0443796c7c6822f54d (diff) | |
download | mpv-d44e5c8765e4c9a8fa6c007269a59457c34822e4.tar.bz2 mpv-d44e5c8765e4c9a8fa6c007269a59457c34822e4.tar.xz |
reordered subtitles language OSD display, since it worked bad for ogm...
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@16956 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'mplayer.c')
-rw-r--r-- | mplayer.c | 73 |
1 files changed, 37 insertions, 36 deletions
@@ -4131,44 +4131,45 @@ if ((user_muted | edl_muted) != mixer.muted) mixer_mute(&mixer); } else if (osd_show_vobsub_changed) { snprintf(osd_text_tmp, 63, MSGTR_OSDSubtitlesOff); - if (vo_vobsub && vobsub_id >= 0) { - const char *language = MSGTR_OSDnone; - language = vobsub_get_id(vo_vobsub, (unsigned int) vobsub_id); - snprintf(osd_text_tmp, 63, MSGTR_OSDSubtitlesLanguage, vobsub_id, language ? language : MSGTR_OSDunknown); - } -#ifdef HAVE_OGGVORBIS - if (d_dvdsub && demuxer->type == DEMUXER_TYPE_OGG) { - if (dvdsub_id >= 0) { - char *lang = demux_ogg_sub_lang(demuxer, dvdsub_id); - if (!lang) lang = MSGTR_OSDunknown; - snprintf(osd_text_tmp, 63, MSGTR_OSDSubtitlesLanguage, dvdsub_id, lang); - } - } -#endif -#ifdef USE_DVDREAD - if (vo_spudec && (demuxer->type != DEMUXER_TYPE_MATROSKA)) { - if (dvdsub_id >= 0) { - char lang[3] = "\0\0\0"; - int code = 0; - code = dvd_lang_from_sid(stream, dvdsub_id); - if (code) { - lang[0] = code >> 8; - lang[1] = code; - } - snprintf(osd_text_tmp, 63, MSGTR_OSDSubtitlesLanguage, dvdsub_id, code ? lang : MSGTR_OSDnone); - } - } -#endif + switch (demuxer->type) { #ifdef HAVE_MATROSKA - if (demuxer->type == DEMUXER_TYPE_MATROSKA) { - char lang[40] = MSGTR_OSDunknown; - if (dvdsub_id >= 0) { - demux_mkv_get_sub_lang(demuxer, dvdsub_id, lang, 39); - lang[39] = 0; - snprintf(osd_text_tmp, 63, MSGTR_OSDSubtitlesLanguage, dvdsub_id, lang); - } - } + case DEMUXER_TYPE_MATROSKA: + if (dvdsub_id >= 0) { + char lang[40] = MSGTR_OSDunknown; + demux_mkv_get_sub_lang(demuxer, dvdsub_id, lang, 39); + lang[39] = 0; + snprintf(osd_text_tmp, 63, MSGTR_OSDSubtitlesLanguage, dvdsub_id, lang); + } + break; #endif +#ifdef HAVE_OGGVORBIS + case DEMUXER_TYPE_OGG: + if (d_dvdsub && dvdsub_id >= 0) { + char *lang = demux_ogg_sub_lang(demuxer, dvdsub_id); + snprintf(osd_text_tmp, 63, MSGTR_OSDSubtitlesLanguage, dvdsub_id, lang ? lang : MSGTR_OSDunknown); + } + break; +#endif + default: + if (vo_vobsub && vobsub_id >= 0) { + char *language = MSGTR_OSDnone; + language = vobsub_get_id(vo_vobsub, (unsigned int) vobsub_id); + snprintf(osd_text_tmp, 63, MSGTR_OSDSubtitlesLanguage, vobsub_id, language ? language : MSGTR_OSDunknown); + } +#ifdef USE_DVDREAD + if (vo_spudec && dvdsub_id >= 0) { + char lang[3] = "\0\0\0"; + int code = 0; + code = dvd_lang_from_sid(stream, dvdsub_id); + if (code) { + lang[0] = code >> 8; + lang[1] = code; + } + snprintf(osd_text_tmp, 63, MSGTR_OSDSubtitlesLanguage, dvdsub_id, code ? lang : MSGTR_OSDnone); + } +#endif + break; + } osd_show_vobsub_changed--; } else #ifdef USE_SUB |