[FFmpeg-devel] [PATCH 2/2] avformat/flvenc: refine the flvenc shift_data code
Steven Liu
lingjiujianke at gmail.com
Tue Jan 24 06:32:50 EET 2017
2017-01-23 17:05 GMT+08:00 Steven Liu <lq at chinaffmpeg.org>:
> refine the flvenc shift_data move data option
>
> Signed-off-by: Steven Liu <lq at 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 at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
pushed
More information about the ffmpeg-devel
mailing list