On Sat, 20 Sep 2014 18:40:57 +0200 Clément Bœsch <u...@pkh.me> wrote:
> Before this commit, the code was muxing up to the 2nd line after > "[Event]" (assuming it to be the "Format:" line). The remaining are > generally "Comment:" directives which can stay in that place. mkvextract > behaves that way so it seems there is no reason for that extra > complexity. > --- > libavformat/assenc.c | 24 +----------------------- > 1 file changed, 1 insertion(+), 23 deletions(-) > > diff --git a/libavformat/assenc.c b/libavformat/assenc.c > index 2afeef7..96fdb22 100644 > --- a/libavformat/assenc.c > +++ b/libavformat/assenc.c > @@ -30,7 +30,6 @@ typedef struct DialogueLine { > } DialogueLine; > > typedef struct ASSContext{ > - unsigned int extra_index; > int write_ts; // 0: ssa (timing in payload), 1: ass (matroska like) > int expected_readorder; > DialogueLine *dialogue_cache; > @@ -42,7 +41,6 @@ static int write_header(AVFormatContext *s) > { > ASSContext *ass = s->priv_data; > AVCodecContext *avctx= s->streams[0]->codec; > - uint8_t *last= NULL; > > if (s->nb_streams != 1 || (avctx->codec_id != AV_CODEC_ID_SSA && > avctx->codec_id != AV_CODEC_ID_ASS)) { > @@ -51,21 +49,7 @@ static int write_header(AVFormatContext *s) > } > ass->write_ts = avctx->codec_id == AV_CODEC_ID_ASS; > avpriv_set_pts_info(s->streams[0], 64, 1, 100); > - > - while(ass->extra_index < avctx->extradata_size){ > - uint8_t *p = avctx->extradata + ass->extra_index; > - uint8_t *end= strchr(p, '\n'); > - if(!end) end= avctx->extradata + avctx->extradata_size; > - else end++; > - > - avio_write(s->pb, p, end-p); > - ass->extra_index += end-p; > - > - if(last && !memcmp(last, "[Events]", 8)) > - break; > - last=p; > - } > - > + avio_write(s->pb, avctx->extradata, avctx->extradata_size); > avio_flush(s->pb); > > return 0; > @@ -191,13 +175,7 @@ static int write_packet(AVFormatContext *s, AVPacket > *pkt) > > static int write_trailer(AVFormatContext *s) > { > - ASSContext *ass = s->priv_data; > - AVCodecContext *avctx= s->streams[0]->codec; > - > purge_dialogues(s, 1); > - avio_write(s->pb, avctx->extradata + ass->extra_index, > - avctx->extradata_size - ass->extra_index); > - > return 0; > } > LGTM _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel