Also remove ff_smil_extract_next_chunk - this was the last user of it. --- libavformat/realtextdec.c | 17 ++++++++++------- libavformat/subtitles.c | 9 --------- libavformat/subtitles.h | 5 ----- 3 files changed, 10 insertions(+), 21 deletions(-)
diff --git a/libavformat/realtextdec.c b/libavformat/realtextdec.c index e1225d5..19af108 100644 --- a/libavformat/realtextdec.c +++ b/libavformat/realtextdec.c @@ -37,11 +37,12 @@ typedef struct { static int realtext_probe(AVProbeData *p) { - const unsigned char *ptr = p->buf; + char buf[7]; + FFTextReader tr; + ff_text_init_buf(&tr, p->buf, p->buf_size); + ff_text_read(&tr, buf, sizeof(buf)); - if (AV_RB24(ptr) == 0xEFBBBF) - ptr += 3; /* skip UTF-8 BOM */ - return !av_strncasecmp(ptr, "<window", 7) ? AVPROBE_SCORE_EXTENSION : 0; + return !av_strncasecmp(buf, "<window", 7) ? AVPROBE_SCORE_EXTENSION : 0; } static int read_ts(const char *s) @@ -63,6 +64,8 @@ static int realtext_read_header(AVFormatContext *s) AVBPrint buf; char c = 0; int res = 0, duration = read_ts("60"); // default duration is 60 seconds + FFTextReader tr; + ff_text_init_avio(&tr, s->pb); if (!st) return AVERROR(ENOMEM); @@ -72,10 +75,10 @@ static int realtext_read_header(AVFormatContext *s) av_bprint_init(&buf, 0, AV_BPRINT_SIZE_UNLIMITED); - while (!avio_feof(s->pb)) { + while (!ff_text_eof(&tr)) { AVPacket *sub; - const int64_t pos = avio_tell(s->pb) - (c != 0); - int n = ff_smil_extract_next_chunk(s->pb, &buf, &c); + const int64_t pos = ff_text_pos(&tr) - (c != 0); + int n = ff_smil_extract_next_text_chunk(&tr, &buf, &c); if (n == 0) break; diff --git a/libavformat/subtitles.c b/libavformat/subtitles.c index b8b680e..c481ce9 100644 --- a/libavformat/subtitles.c +++ b/libavformat/subtitles.c @@ -295,15 +295,6 @@ int ff_smil_extract_next_text_chunk(FFTextReader *tr, AVBPrint *buf, char *c) return i; } -int ff_smil_extract_next_chunk(AVIOContext *pb, AVBPrint *buf, char *c) -{ - FFTextReader tr; - tr.buf_pos = tr.buf_len = 0; - tr.type = 0; - tr.pb = pb; - return ff_smil_extract_next_text_chunk(&tr, buf, c); -} - const char *ff_smil_get_attr_ptr(const char *s, const char *attr) { int in_quotes = 0; diff --git a/libavformat/subtitles.h b/libavformat/subtitles.h index 33dd0d0..28a10f6 100644 --- a/libavformat/subtitles.h +++ b/libavformat/subtitles.h @@ -140,11 +140,6 @@ void ff_subtitles_queue_clean(FFDemuxSubtitlesQueue *q); * * @param c cached character, to avoid a backward seek */ -int ff_smil_extract_next_chunk(AVIOContext *pb, AVBPrint *buf, char *c); - -/** - * As ff_smil_extract_next_chunk(), but with FFTextReader. - */ int ff_smil_extract_next_text_chunk(FFTextReader *tr, AVBPrint *buf, char *c); /** -- 2.1.0 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel