From ef9db7d81b0ce1093944b9e3d5efb6ab756f5cbc Mon Sep 17 00:00:00 2001 From: Eino-Ville Talvala Date: Tue, 9 Jun 2015 14:15:15 -0700 Subject: Add more specific consumer names for common buffer queue endpoints. Change-Id: I744bdcba6e60e5efd8865f725b09a9f791d76160 --- media/jni/android_media_ImageReader.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'media/jni') diff --git a/media/jni/android_media_ImageReader.cpp b/media/jni/android_media_ImageReader.cpp index 49614bd..635fa11 100644 --- a/media/jni/android_media_ImageReader.cpp +++ b/media/jni/android_media_ImageReader.cpp @@ -72,6 +72,12 @@ static struct { jmethodID ctor; } gSurfacePlaneClassInfo; +// Get an ID that's unique within this process. +static int32_t createProcessUniqueId() { + static volatile int32_t globalCounter = 0; + return android_atomic_inc(&globalCounter); +} + // ---------------------------------------------------------------------------- class JNIImageReaderContext : public ConsumerBase::FrameAvailableListener @@ -808,6 +814,9 @@ static void ImageReader_init(JNIEnv* env, jobject thiz, jobject weakThiz, sp consumer; sp cpuConsumer; sp opaqueConsumer; + String8 consumerName = String8::format("ImageReader-%dx%df%xm%d-%d-%d", + width, height, format, maxImages, getpid(), + createProcessUniqueId()); if (isFormatOpaque(nativeFormat)) { // Use the SW_READ_NEVER usage to tell producer that this format is not for preview or video // encoding. The only possibility will be ZSL output. @@ -819,6 +828,7 @@ static void ImageReader_init(JNIEnv* env, jobject thiz, jobject weakThiz, return; } ctx->setOpaqueConsumer(opaqueConsumer); + opaqueConsumer->setName(consumerName); consumer = opaqueConsumer; } else { cpuConsumer = new CpuConsumer(gbConsumer, maxImages, /*controlledByApp*/true); @@ -828,6 +838,7 @@ static void ImageReader_init(JNIEnv* env, jobject thiz, jobject weakThiz, return; } ctx->setCpuConsumer(cpuConsumer); + cpuConsumer->setName(consumerName); consumer = cpuConsumer; } -- cgit v1.1