Commit 02dd178d authored by Anton Khirnov's avatar Anton Khirnov Committed by Michael Niedermayer

avisynth: More av_new_packet changes

These are the remaining av_packet-related bits from 9eac7c43
that didn't get merged at that time.

Changes authored by Anton Khirnov <anton@khirnov.net>, split out
from 9eac7c43 by Stephen Hutchinson <qyot27@gmail.com>
Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parent 5d454100
...@@ -459,17 +459,16 @@ static int avisynth_read_packet_video(AVFormatContext *s, AVPacket *pkt, ...@@ -459,17 +459,16 @@ static int avisynth_read_packet_video(AVFormatContext *s, AVPacket *pkt,
(int64_t)avs->vi->height) * bits) / 8; (int64_t)avs->vi->height) * bits) / 8;
if (!pkt->size) if (!pkt->size)
return AVERROR_UNKNOWN; 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); return AVERROR(ENOMEM);
}
frame = avs_library.avs_get_frame(avs->clip, n); frame = avs_library.avs_get_frame(avs->clip, n);
error = avs_library.avs_clip_get_error(avs->clip); error = avs_library.avs_clip_get_error(avs->clip);
if (error) { if (error) {
av_log(s, AV_LOG_ERROR, "%s\n", error); av_log(s, AV_LOG_ERROR, "%s\n", error);
avs->error = 1; avs->error = 1;
av_freep(&pkt->data); av_packet_unref(pkt);
return AVERROR_UNKNOWN; return AVERROR_UNKNOWN;
} }
...@@ -558,8 +557,8 @@ static int avisynth_read_packet_audio(AVFormatContext *s, AVPacket *pkt, ...@@ -558,8 +557,8 @@ static int avisynth_read_packet_audio(AVFormatContext *s, AVPacket *pkt,
samples * avs->vi->nchannels; samples * avs->vi->nchannels;
if (!pkt->size) if (!pkt->size)
return AVERROR_UNKNOWN; return AVERROR_UNKNOWN;
pkt->data = av_malloc(pkt->size);
if (!pkt->data) if (av_new_packet(pkt, pkt->size) < 0)
return AVERROR(ENOMEM); return AVERROR(ENOMEM);
avs_library.avs_get_audio(avs->clip, pkt->data, n, samples); 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, ...@@ -567,7 +566,7 @@ static int avisynth_read_packet_audio(AVFormatContext *s, AVPacket *pkt,
if (error) { if (error) {
av_log(s, AV_LOG_ERROR, "%s\n", error); av_log(s, AV_LOG_ERROR, "%s\n", error);
avs->error = 1; avs->error = 1;
av_freep(&pkt->data); av_packet_unref(pkt);
return AVERROR_UNKNOWN; return AVERROR_UNKNOWN;
} }
return 0; return 0;
...@@ -600,8 +599,6 @@ static int avisynth_read_packet(AVFormatContext *s, AVPacket *pkt) ...@@ -600,8 +599,6 @@ static int avisynth_read_packet(AVFormatContext *s, AVPacket *pkt)
if (avs->error) if (avs->error)
return AVERROR_UNKNOWN; return AVERROR_UNKNOWN;
av_free_packet(pkt);
/* If either stream reaches EOF, try to read the other one before /* If either stream reaches EOF, try to read the other one before
* giving up. */ * giving up. */
avisynth_next_stream(s, &st, pkt, &discard); avisynth_next_stream(s, &st, pkt, &discard);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment