summaryrefslogtreecommitdiff
path: root/libavformat/avisynth.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavformat/avisynth.c')
-rw-r--r--libavformat/avisynth.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/libavformat/avisynth.c b/libavformat/avisynth.c
index e35306b6a5..670f9d64d5 100644
--- a/libavformat/avisynth.c
+++ b/libavformat/avisynth.c
@@ -466,9 +466,11 @@ static int avisynth_read_packet_video(AVFormatContext *s, AVPacket *pkt,
(int64_t)avs->vi->height) * bits) / 8;
if (!pkt->size)
return AVERROR_UNKNOWN;
- pkt->data = av_malloc(pkt->size);
- if (!pkt->data)
+ av_new_packet(pkt, (int)pkt->size);
+ if (av_new_packet(pkt, (int)pkt->size) < 0) {
+ av_free(pkt);
return AVERROR(ENOMEM);
+ }
frame = avs_library->avs_get_frame(avs->clip, n);
error = avs_library->avs_clip_get_error(avs->clip);
@@ -606,7 +608,7 @@ static int avisynth_read_packet(AVFormatContext *s, AVPacket *pkt)
if (avs->error)
return AVERROR_UNKNOWN;
- pkt->destruct = av_destruct_packet;
+ av_free_packet(pkt);
/* If either stream reaches EOF, try to read the other one before
* giving up. */