summaryrefslogtreecommitdiffstats
path: root/mplayer.c
diff options
context:
space:
mode:
authorptt <ptt@b3059339-0415-0410-9bf9-f77b7e298cf2>2005-11-09 23:18:38 +0000
committerptt <ptt@b3059339-0415-0410-9bf9-f77b7e298cf2>2005-11-09 23:18:38 +0000
commitd44e5c8765e4c9a8fa6c007269a59457c34822e4 (patch)
tree629409410b30c4b31853c2b70b064ffa37376c0f /mplayer.c
parentde1676178740f692bab47a0443796c7c6822f54d (diff)
downloadmpv-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.c73
1 files changed, 37 insertions, 36 deletions
diff --git a/mplayer.c b/mplayer.c
index 61a37393ef..e514f3d908 100644
--- a/mplayer.c
+++ b/mplayer.c
@@ -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