From 29cec6f98ba523025acdd1aea42795985e32306f Mon Sep 17 00:00:00 2001 From: wm4 Date: Sun, 23 Jun 2013 22:16:47 +0200 Subject: sub: prevent subtitle conversion if subs are known UTF-8 Currently this happens only in an obscure case (reading UTF-16 files with the old subreader). --- demux/demux_subreader.c | 1 + demux/stheader.h | 1 + 2 files changed, 2 insertions(+) (limited to 'demux') diff --git a/demux/demux_subreader.c b/demux/demux_subreader.c index c25616fbd7..ca03e73c33 100644 --- a/demux/demux_subreader.c +++ b/demux/demux_subreader.c @@ -1348,6 +1348,7 @@ static int d_check_file(struct demuxer *demuxer) p->sh = new_sh_stream(demuxer, STREAM_SUB); p->sh->codec = sd->codec; p->sh->sub->frame_based = !sd->sub_uses_time; + p->sh->sub->is_utf8 = sr.args.utf16 != 0; // converted from utf-16 -> utf-8 add_sub_data(demuxer, sd); subdata_free(sd); diff --git a/demux/stheader.h b/demux/stheader.h index 37bdbcc568..58caa27dcd 100644 --- a/demux/stheader.h +++ b/demux/stheader.h @@ -164,6 +164,7 @@ typedef struct sh_sub { unsigned char *extradata; // extra header data passed from demuxer int extradata_len; int frame_based; // timestamps are frame-based + bool is_utf8; // if false, subtitle packet charset is unknown struct ass_track *track; // loaded by libass struct dec_sub *dec_sub; // decoder context } sh_sub_t; -- cgit v1.2.3