#include "decode.h"
#include "h264_parse.h"
#include "hevc_parse.h"
-#include "hwaccel.h"
+#include "hwconfig.h"
#include "internal.h"
#include "mediacodec_wrapper.h"
#include "mediacodecdec_common.h"
if (ret >= 0) {
s->buffered_pkt.size -= ret;
s->buffered_pkt.data += ret;
- if (s->buffered_pkt.size <= 0)
+ if (s->buffered_pkt.size <= 0) {
av_packet_unref(&s->buffered_pkt);
+ } else {
+ av_log(avctx, AV_LOG_WARNING,
+ "could not send entire packet in single input buffer (%d < %d)\n",
+ ret, s->buffered_pkt.size+ret);
+ }
} else if (ret < 0 && ret != AVERROR(EAGAIN)) {
return ret;
}
ret = ff_mediacodec_dec_send(avctx, s->ctx, &null_pkt, true);
if (ret < 0)
return ret;
+ return ff_mediacodec_dec_receive(avctx, s->ctx, frame, true);
} else if (ret == AVERROR(EAGAIN) && s->ctx->current_input_buffer < 0) {
return ff_mediacodec_dec_receive(avctx, s->ctx, frame, true);
} else if (ret < 0) {
ff_mediacodec_dec_flush(avctx, s->ctx);
}
-static const AVCodecHWConfigInternal *mediacodec_hw_configs[] = {
+static const AVCodecHWConfigInternal *const mediacodec_hw_configs[] = {
&(const AVCodecHWConfigInternal) {
.public = {
.pix_fmt = AV_PIX_FMT_MEDIACODEC,