On Tue, Sep 02, 2014 at 08:56:12PM +0200, wm4 wrote: > 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); > > /**
Sexy :) LGTM if it works -- Clément B.
pgp3rCiARf3bX.pgp
Description: PGP signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel