diff options
Diffstat (limited to 'libavcodec/bsf.c')
-rw-r--r-- | libavcodec/bsf.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/libavcodec/bsf.c b/libavcodec/bsf.c index 8e36861f14..40fc925f0d 100644 --- a/libavcodec/bsf.c +++ b/libavcodec/bsf.c @@ -220,3 +220,19 @@ int ff_bsf_get_packet(AVBSFContext *ctx, AVPacket **pkt) return 0; } + +int ff_bsf_get_packet_ref(AVBSFContext *ctx, AVPacket *pkt) +{ + AVBSFInternal *in = ctx->internal; + + if (in->eof) + return AVERROR_EOF; + + if (!ctx->internal->buffer_pkt->data && + !ctx->internal->buffer_pkt->side_data_elems) + return AVERROR(EAGAIN); + + av_packet_move_ref(pkt, ctx->internal->buffer_pkt); + + return 0; +} |