summaryrefslogtreecommitdiffstats
path: root/demux
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2015-12-15 21:03:34 +0100
committerwm4 <wm4@nowhere>2015-12-15 21:05:48 +0100
commit29226e6a994e829c637f04cfd7f3574f0699885c (patch)
tree446aa2cb4af5cf131b52f5cf5cfe946f3a63bbb5 /demux
parentd0fd68f6dfeac03d07a005f230cdec0756636075 (diff)
downloadmpv-29226e6a994e829c637f04cfd7f3574f0699885c.tar.bz2
mpv-29226e6a994e829c637f04cfd7f3574f0699885c.tar.xz
sub: remove sd_movtext.c
libavcodec's movtext-to-ass converter does the same and has more features. On Libav, this commit disables mp4 subtitle display.
Diffstat (limited to 'demux')
-rw-r--r--demux/demux_lavf.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/demux/demux_lavf.c b/demux/demux_lavf.c
index 2d12f5cfa2..9aa71fcaf1 100644
--- a/demux/demux_lavf.c
+++ b/demux/demux_lavf.c
@@ -109,6 +109,7 @@ struct format_hack {
bool use_stream_ids : 1; // export the native stream IDs
bool fully_read : 1; // set demuxer.fully_read flag
bool image_format : 1; // expected to contain exactly 1 frame
+ bool utf8_subs : 1; // subtitles are (mostly) guaranteed UTF-8
// Do not confuse player's position estimation (position is into external
// segment, with e.g. HLS, player knows about the playlist main file only).
bool clear_filepos : 1;
@@ -116,6 +117,7 @@ struct format_hack {
#define BLACKLIST(fmt) {fmt, .ignore = true}
#define TEXTSUB(fmt) {fmt, .fully_read = true}
+#define TEXTSUB_UTF8(fmt) {fmt, .fully_read = true, .utf8_subs = true}
#define IMAGEFMT(fmt) {fmt, .image_format = true}
static const struct format_hack format_hacks[] = {
@@ -135,10 +137,17 @@ static const struct format_hack format_hacks[] = {
{"h264", .if_flags = AVFMT_NOTIMESTAMPS },
{"hevc", .if_flags = AVFMT_NOTIMESTAMPS },
- TEXTSUB("aqtitle"), TEXTSUB("ass"), TEXTSUB("jacosub"), TEXTSUB("microdvd"),
+ TEXTSUB("aqtitle"), TEXTSUB("jacosub"), TEXTSUB("microdvd"),
TEXTSUB("mpl2"), TEXTSUB("mpsub"), TEXTSUB("pjs"), TEXTSUB("realtext"),
TEXTSUB("sami"), TEXTSUB("srt"), TEXTSUB("stl"), TEXTSUB("subviewer"),
- TEXTSUB("subviewer1"), TEXTSUB("vplayer"), TEXTSUB("webvtt"),
+ TEXTSUB("subviewer1"), TEXTSUB("vplayer"),
+
+ TEXTSUB_UTF8("webvtt"),
+ TEXTSUB_UTF8("ass"),
+
+ // Formats which support muxed subtitles, and always use UTF-8 for them.
+ {"mov", .utf8_subs = true},
+ {"mkv", .utf8_subs = true},
// Useless non-sense, sometimes breaks MLP2 subreader.c fallback
BLACKLIST("tty"),
@@ -613,8 +622,7 @@ static void handle_stream(demuxer_t *demuxer, int i)
}
}
- if (matches_avinputformat_name(priv, "ass"))
- sh_sub->is_utf8 = true;
+ sh_sub->is_utf8 = priv->format_hack.utf8_subs;
break;
}