summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAman Gupta <aman@tmm1.net>2018-03-06 13:14:51 -0800
committerAman Gupta <aman@tmm1.net>2018-03-07 16:22:50 -0800
commit823a758543e2b1052cdcff22d02d396f4e0792f9 (patch)
tree7c95c70fb1a5a598290661dab80a0e737812a5e2
parent2a0eb8685728ccb260e42f60e1dbefe47ababbc3 (diff)
downloadffmpeg-streaming-823a758543e2b1052cdcff22d02d396f4e0792f9.zip
ffmpeg-streaming-823a758543e2b1052cdcff22d02d396f4e0792f9.tar.gz
avcodec/mediacodecdec: add more trace logging of input/output buffers
Signed-off-by: Aman Gupta <aman@tmm1.net> Signed-off-by: Matthieu Bouron <matthieu.bouron@gmail.com>
-rw-r--r--libavcodec/mediacodec.c3
-rw-r--r--libavcodec/mediacodecdec_common.c8
-rw-r--r--libavcodec/mediacodecdec_common.h1
3 files changed, 10 insertions, 2 deletions
diff --git a/libavcodec/mediacodec.c b/libavcodec/mediacodec.c
index bf1b747..3ddd303 100644
--- a/libavcodec/mediacodec.c
+++ b/libavcodec/mediacodec.c
@@ -92,6 +92,9 @@ int av_mediacodec_release_buffer(AVMediaCodecBuffer *buffer, int render)
int released = atomic_fetch_add(&buffer->released, 1);
if (!released && (ctx->delay_flush || buffer->serial == atomic_load(&ctx->serial))) {
+ av_log(ctx->avctx, AV_LOG_TRACE,
+ "Releasing output buffer %zd ts=%"PRId64" render=%d\n",
+ buffer->index, buffer->pts, render);
return ff_AMediaCodec_releaseOutputBuffer(ctx->codec, buffer->index, render);
}
diff --git a/libavcodec/mediacodecdec_common.c b/libavcodec/mediacodecdec_common.c
index 693524a..5064809 100644
--- a/libavcodec/mediacodecdec_common.c
+++ b/libavcodec/mediacodecdec_common.c
@@ -452,6 +452,7 @@ int ff_mediacodec_dec_init(AVCodecContext *avctx, MediaCodecDecContext *s,
AV_PIX_FMT_NONE,
};
+ s->avctx = avctx;
atomic_init(&s->refcount, 1);
atomic_init(&s->serial, 1);
@@ -598,8 +599,8 @@ int ff_mediacodec_dec_send(AVCodecContext *avctx, MediaCodecDecContext *s,
return AVERROR_EXTERNAL;
}
- av_log(avctx, AV_LOG_TRACE, "Queued input buffer %zd"
- " size=%zd ts=%" PRIi64 "\n", index, size, pts);
+ av_log(avctx, AV_LOG_TRACE,
+ "Queued input buffer %zd size=%zd ts=%"PRIi64"\n", index, size, pts);
s->draining = 1;
break;
@@ -619,6 +620,9 @@ int ff_mediacodec_dec_send(AVCodecContext *avctx, MediaCodecDecContext *s,
av_log(avctx, AV_LOG_ERROR, "Failed to queue input buffer (status = %d)\n", status);
return AVERROR_EXTERNAL;
}
+
+ av_log(avctx, AV_LOG_TRACE,
+ "Queued input buffer %zd size=%zd ts=%"PRIi64"\n", index, size, pts);
}
}
diff --git a/libavcodec/mediacodecdec_common.h b/libavcodec/mediacodecdec_common.h
index afb98ff..3fd2412 100644
--- a/libavcodec/mediacodecdec_common.h
+++ b/libavcodec/mediacodecdec_common.h
@@ -36,6 +36,7 @@
typedef struct MediaCodecDecContext {
+ AVCodecContext *avctx;
atomic_int refcount;
char *codec_name;
OpenPOWER on IntegriCloud