decode: be more explicit about storing the last packet properties
authorAnton Khirnov <anton@khirnov.net>
Wed, 26 Oct 2016 11:41:12 +0000 (13:41 +0200)
committerAnton Khirnov <anton@khirnov.net>
Wed, 14 Dec 2016 08:06:44 +0000 (09:06 +0100)
commit549d0bdca53af7a6e0c612ab4b03baecf3a5878f
treec9b90d376f74d82b8b5bc95e7c06423b14b915e0
parent47e547b321338c73c21fa623789f1efbd80a297a
decode: be more explicit about storing the last packet properties

The current code stores a pointer to the packet passed to the decoder,
which is then used during get_buffer() for timestamps and side data
passthrough. However, since this is a pointer to user data which we do
not own, storing it is potentially dangerous. It is also ill defined for
the new decoding API with split input/output.

Fix this problem by making an explicit internally owned copy of the
packet properties.
libavcodec/decode.c
libavcodec/internal.h
libavcodec/pthread_frame.c
libavcodec/utils.c