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;
|
(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,
|
|||||||
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,
|
|||||||
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)
|
|||||||
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);
|
||||||
|
Reference in New Issue
Block a user