[FFmpeg-devel] [PATCH 1/2] avisynth: More av_new_packet changes
Stephen Hutchinson
qyot27 at gmail.com
Wed Jan 8 06:37:56 CET 2014
From: Anton Khirnov <anton at khirnov.net>
These are the remaining av_packet-related bits from 9eac7c4
that didn't get merged at that time.
Changes authored by Anton Khirnov <anton at khirnov.net>, split out
from 9eac7c4 by Stephen Hutchinson <qyot27 at gmail.com>
---
libavformat/avisynth.c | 15 ++++++---------
1 file changed, 6 insertions(+), 9 deletions(-)
diff --git a/libavformat/avisynth.c b/libavformat/avisynth.c
index 2f438d9..66f85ec 100644
--- a/libavformat/avisynth.c
+++ b/libavformat/avisynth.c
@@ -459,17 +459,16 @@ static int avisynth_read_packet_video(AVFormatContext *s, AVPacket *pkt,
(int64_t)avs->vi->height) * bits) / 8;
if (!pkt->size)
return AVERROR_UNKNOWN;
- if (av_new_packet(pkt, (int)pkt->size) < 0) {
- av_free(pkt);
+
+ if (av_new_packet(pkt, pkt->size) < 0)
return AVERROR(ENOMEM);
- }
frame = avs_library.avs_get_frame(avs->clip, n);
error = avs_library.avs_clip_get_error(avs->clip);
if (error) {
av_log(s, AV_LOG_ERROR, "%s\n", error);
avs->error = 1;
- av_freep(&pkt->data);
+ av_packet_unref(pkt);
return AVERROR_UNKNOWN;
}
@@ -558,8 +557,8 @@ static int avisynth_read_packet_audio(AVFormatContext *s, AVPacket *pkt,
samples * avs->vi->nchannels;
if (!pkt->size)
return AVERROR_UNKNOWN;
- pkt->data = av_malloc(pkt->size);
- if (!pkt->data)
+
+ if (av_new_packet(pkt, pkt->size) < 0)
return AVERROR(ENOMEM);
avs_library.avs_get_audio(avs->clip, pkt->data, n, samples);
@@ -567,7 +566,7 @@ static int avisynth_read_packet_audio(AVFormatContext *s, AVPacket *pkt,
if (error) {
av_log(s, AV_LOG_ERROR, "%s\n", error);
avs->error = 1;
- av_freep(&pkt->data);
+ av_packet_unref(pkt);
return AVERROR_UNKNOWN;
}
return 0;
@@ -600,8 +599,6 @@ static int avisynth_read_packet(AVFormatContext *s, AVPacket *pkt)
if (avs->error)
return AVERROR_UNKNOWN;
- av_free_packet(pkt);
-
/* If either stream reaches EOF, try to read the other one before
* giving up. */
avisynth_next_stream(s, &st, pkt, &discard);
--
1.8.3.2
More information about the ffmpeg-devel
mailing list