avcodec/bsf: Use macro for "packet is empty"

Reviewed-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
This commit is contained in:
Andreas Rheinhardt 2020-04-19 21:18:51 +02:00
parent 4e254ec6be
commit ee593bff98

View File

@ -28,6 +28,8 @@
#include "avcodec.h"
#include "bsf.h"
#define IS_EMPTY(pkt) (!(pkt)->data && !(pkt)->side_data_elems)
struct AVBSFInternal {
AVPacket *buffer_pkt;
int eof;
@ -195,7 +197,7 @@ int av_bsf_send_packet(AVBSFContext *ctx, AVPacket *pkt)
AVBSFInternal *bsfi = ctx->internal;
int ret;
if (!pkt || (!pkt->data && !pkt->side_data_elems)) {
if (!pkt || IS_EMPTY(pkt)) {
bsfi->eof = 1;
return 0;
}
@ -205,8 +207,7 @@ int av_bsf_send_packet(AVBSFContext *ctx, AVPacket *pkt)
return AVERROR(EINVAL);
}
if (bsfi->buffer_pkt->data ||
bsfi->buffer_pkt->side_data_elems)
if (!IS_EMPTY(bsfi->buffer_pkt))
return AVERROR(EAGAIN);
ret = av_packet_make_refcounted(pkt);
@ -230,8 +231,7 @@ int ff_bsf_get_packet(AVBSFContext *ctx, AVPacket **pkt)
if (bsfi->eof)
return AVERROR_EOF;
if (!bsfi->buffer_pkt->data &&
!bsfi->buffer_pkt->side_data_elems)
if (IS_EMPTY(bsfi->buffer_pkt))
return AVERROR(EAGAIN);
tmp_pkt = av_packet_alloc();
@ -251,8 +251,7 @@ int ff_bsf_get_packet_ref(AVBSFContext *ctx, AVPacket *pkt)
if (bsfi->eof)
return AVERROR_EOF;
if (!bsfi->buffer_pkt->data &&
!bsfi->buffer_pkt->side_data_elems)
if (IS_EMPTY(bsfi->buffer_pkt))
return AVERROR(EAGAIN);
av_packet_move_ref(pkt, bsfi->buffer_pkt);