Module: libav Branch: release/11 Commit: ee75dfc9f159cb6968ed7ec4a710bca090437e65
Author: Anton Khirnov <[email protected]> Committer: Anton Khirnov <[email protected]> Date: Thu May 12 15:34:58 2016 +0200 avpacket: fix setting AVPacket.data in av_packet_ref() The data field does not necessarily point to the beginning of the underlying AVBuffer. CC: [email protected] (cherry picked from commit 8996515b137f962e3a8691241c285c96437b6c53) Signed-off-by: Anton Khirnov <[email protected]> --- libavcodec/avpacket.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libavcodec/avpacket.c b/libavcodec/avpacket.c index 557258d..cad8047 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); _______________________________________________ libav-commits mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-commits
