Commit 265ec559 authored by James Almer's avatar James Almer

avcodec/bsf: use av_packet_make_refcounted to ensure packets are ref counted

Simplifies code.
Signed-off-by: 's avatarJames Almer <jamrial@gmail.com>
parent 38fa61b9
...@@ -174,6 +174,8 @@ int av_bsf_init(AVBSFContext *ctx) ...@@ -174,6 +174,8 @@ int av_bsf_init(AVBSFContext *ctx)
int av_bsf_send_packet(AVBSFContext *ctx, AVPacket *pkt) int av_bsf_send_packet(AVBSFContext *ctx, AVPacket *pkt)
{ {
int ret;
if (!pkt || (!pkt->data && !pkt->side_data_elems)) { if (!pkt || (!pkt->data && !pkt->side_data_elems)) {
ctx->internal->eof = 1; ctx->internal->eof = 1;
return 0; return 0;
...@@ -188,15 +190,10 @@ int av_bsf_send_packet(AVBSFContext *ctx, AVPacket *pkt) ...@@ -188,15 +190,10 @@ int av_bsf_send_packet(AVBSFContext *ctx, AVPacket *pkt)
ctx->internal->buffer_pkt->side_data_elems) ctx->internal->buffer_pkt->side_data_elems)
return AVERROR(EAGAIN); return AVERROR(EAGAIN);
if (pkt->buf) { ret = av_packet_make_refcounted(pkt);
av_packet_move_ref(ctx->internal->buffer_pkt, pkt); if (ret < 0)
} else { return ret;
int ret = av_packet_ref(ctx->internal->buffer_pkt, pkt); av_packet_move_ref(ctx->internal->buffer_pkt, pkt);
if (ret < 0)
return ret;
av_packet_unref(pkt);
}
return 0; return 0;
} }
......
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