On 12/05/16 15:54, Anton Khirnov wrote:
> The data field does not necessarily point to the beginning of the
> underlying AVBuffer.
> 
> CC: [email protected]
> ---
>  libavcodec/avpacket.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/libavcodec/avpacket.c b/libavcodec/avpacket.c
> index 59fc6f2..04d6244 100644
> --- a/libavcodec/avpacket.c
> +++ b/libavcodec/avpacket.c
> @@ -365,16 +365,19 @@ int av_packet_ref(AVPacket *dst, AVPacket *src)
>          if (ret < 0)
>              goto fail;
>          memcpy(dst->buf->data, src->data, src->size);
> +
> +        dst->data = dst->buf->data;
>      } else {
>          dst->buf = av_buffer_ref(src->buf);
>          if (!dst->buf) {
>              ret = AVERROR(ENOMEM);
>              goto fail;
>          }
> +        dst->data = src->data;
>      }
>  
>      dst->size = src->size;
> -    dst->data = dst->buf->data;
> +
>      return 0;
>  fail:
>      av_packet_free_side_data(dst);
> 

Ok.
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to