On 3/1/2021 10:43 AM, Anton Khirnov wrote:
Quoting James Almer (2021-02-24 15:01:03)
On 2/24/2021 7:03 AM, Anton Khirnov wrote:
The encoder may keep a reference to frames that were sent to it, so the
caller cannot modify them without checking first.
---
   tests/api/api-flac-test.c | 4 ++++
   1 file changed, 4 insertions(+)

diff --git a/tests/api/api-flac-test.c b/tests/api/api-flac-test.c
index 3fea3258f3..7c96a4d99e 100644
--- a/tests/api/api-flac-test.c
+++ b/tests/api/api-flac-test.c
@@ -154,6 +154,10 @@ static int run_test(AVCodec *enc, AVCodec *dec, 
AVCodecContext *enc_ctx,
           enc_pkt.data = NULL;
           enc_pkt.size = 0;
+ result = av_frame_make_writable(in_frame);

This is going to make a copy of the existing frame data, only for the
code below to completely replace it. It will also make copies (not
references) of side data, if any.
Maybe instead unref it, set nb_samples, format and channel_layout again,
then call av_frame_get_buffer() (Factoring the existing relevant code
into its own function).

LGTM either way.

Watches pelcome. I'd rather not spend more effort on this code than
strictly necessary.

Sure, apply this and i'll change it later.
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to