[FFmpeg-devel] [PATCH] lavc/decode: do not use a context variable for function-local data
Anton Khirnov
anton at khirnov.net
Fri May 22 19:56:42 EEST 2020
---
libavcodec/decode.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/libavcodec/decode.c b/libavcodec/decode.c
index f3327d74af..dbecdf3f46 100644
--- a/libavcodec/decode.c
+++ b/libavcodec/decode.c
@@ -586,6 +586,7 @@ static int decode_receive_frame_internal(AVCodecContext *avctx, AVFrame *frame)
int attribute_align_arg avcodec_send_packet(AVCodecContext *avctx, const AVPacket *avpkt)
{
AVCodecInternal *avci = avctx->internal;
+ AVPacket buffer_pkt = { NULL };
int ret;
if (!avcodec_is_open(avctx) || !av_codec_is_decoder(avctx->codec))
@@ -597,16 +598,15 @@ int attribute_align_arg avcodec_send_packet(AVCodecContext *avctx, const AVPacke
if (avpkt && !avpkt->size && avpkt->data)
return AVERROR(EINVAL);
- av_packet_unref(avci->buffer_pkt);
if (avpkt && (avpkt->data || avpkt->side_data_elems)) {
- ret = av_packet_ref(avci->buffer_pkt, avpkt);
+ ret = av_packet_ref(&buffer_pkt, avpkt);
if (ret < 0)
return ret;
}
- ret = av_bsf_send_packet(avci->bsf, avci->buffer_pkt);
+ ret = av_bsf_send_packet(avci->bsf, &buffer_pkt);
if (ret < 0) {
- av_packet_unref(avci->buffer_pkt);
+ av_packet_unref(&buffer_pkt);
return ret;
}
--
2.26.2
More information about the ffmpeg-devel
mailing list