avisynth: More av_new_packet changes
These are the remaining av_packet-related bits from9eac7c4
that didn't get merged at that time. Changes authored by Anton Khirnov <anton@khirnov.net>, split out from9eac7c4
by Stephen Hutchinson <qyot27@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:

committed by
Michael Niedermayer

parent
5d4541007f
commit
02dd178d9d
@@ -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);
|
||||
|
Reference in New Issue
Block a user