Message ID | 20170123090530.9180-1-lq@chinaffmpeg.org |
---|---|
State | Accepted |
Commit | 1bb192ef6c1771ee18d1c5ed31d7c0cac8a25ebb |
Headers | show |
2017-01-23 17:05 GMT+08:00 Steven Liu <lq@chinaffmpeg.org>: > refine the flvenc shift_data move data option > > Signed-off-by: Steven Liu <lq@chinaffmpeg.org> > --- > libavformat/flvenc.c | 12 +++++++----- > 1 file changed, 7 insertions(+), 5 deletions(-) > > diff --git a/libavformat/flvenc.c b/libavformat/flvenc.c > index 5714321..d7506c5 100644 > --- a/libavformat/flvenc.c > +++ b/libavformat/flvenc.c > @@ -626,13 +626,15 @@ static int shift_data(AVFormatContext *s) > avio_seek(read_pb, flv->keyframes_info_offset, SEEK_SET); > pos = avio_tell(read_pb); > > - /* shift data by chunk of at most keyframe *filepositions* and > *times* size */ > +#define READ_BLOCK do { > \ > read_size[read_buf_id] = avio_read(read_pb, read_buf[read_buf_id], > metadata_size); \ > - read_buf_id ^= 1; > - do { > + read_buf_id ^= 1; > \ > +} while (0) > > - read_size[read_buf_id] = avio_read(read_pb, > read_buf[read_buf_id], metadata_size); \ > - read_buf_id ^= 1; > + /* shift data by chunk of at most keyframe *filepositions* and > *times* size */ > + READ_BLOCK; > + do { > + READ_BLOCK; > n = read_size[read_buf_id]; > if (n < 0) > break; > -- > 2.10.1 (Apple Git-78) > > > > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel pushed
diff --git a/libavformat/flvenc.c b/libavformat/flvenc.c index 5714321..d7506c5 100644 --- a/libavformat/flvenc.c +++ b/libavformat/flvenc.c @@ -626,13 +626,15 @@ static int shift_data(AVFormatContext *s) avio_seek(read_pb, flv->keyframes_info_offset, SEEK_SET); pos = avio_tell(read_pb); - /* shift data by chunk of at most keyframe *filepositions* and *times* size */ +#define READ_BLOCK do { \ read_size[read_buf_id] = avio_read(read_pb, read_buf[read_buf_id], metadata_size); \ - read_buf_id ^= 1; - do { + read_buf_id ^= 1; \ +} while (0) - read_size[read_buf_id] = avio_read(read_pb, read_buf[read_buf_id], metadata_size); \ - read_buf_id ^= 1; + /* shift data by chunk of at most keyframe *filepositions* and *times* size */ + READ_BLOCK; + do { + READ_BLOCK; n = read_size[read_buf_id]; if (n < 0) break;
refine the flvenc shift_data move data option Signed-off-by: Steven Liu <lq@chinaffmpeg.org> --- libavformat/flvenc.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-)