summaryrefslogtreecommitdiffstats
path: root/modules/camera
diff options
context:
space:
mode:
authorAlex Ray <aray@google.com>2013-05-29 15:08:29 -0700
committerAlexander Ray <aray@google.com>2013-07-03 18:01:54 +0000
commit2b286dab84b2a0524c1deed67fea92200e598c6e (patch)
treed3169b83ff0f02a88976d6b55062b987e23b3a18 /modules/camera
parent768216ee2c90ecbbc73121b528e60c82ff668eb5 (diff)
downloadhardware_libhardware-2b286dab84b2a0524c1deed67fea92200e598c6e.zip
hardware_libhardware-2b286dab84b2a0524c1deed67fea92200e598c6e.tar.gz
hardware_libhardware-2b286dab84b2a0524c1deed67fea92200e598c6e.tar.bz2
modules: camera: Write back stream parameters
max_buffers and usage are read by the framework inside the struct used to pass the stream configuration parameters; scribble our new calculated values whever they are updated internally. Adds logging to stream creation method (reuse/new). Change-Id: I04e12880820571900f2ae80c27100f8aedcf9d02
Diffstat (limited to 'modules/camera')
-rw-r--r--modules/camera/Camera.cpp7
-rw-r--r--modules/camera/Stream.cpp2
-rw-r--r--modules/camera/Stream.h2
3 files changed, 8 insertions, 3 deletions
diff --git a/modules/camera/Camera.cpp b/modules/camera/Camera.cpp
index 42e5cdb..137c5f6 100644
--- a/modules/camera/Camera.cpp
+++ b/modules/camera/Camera.cpp
@@ -326,10 +326,13 @@ int Camera::configureStreams(camera3_stream_configuration_t *stream_config)
// Fill new stream array with reused streams and new streams
for (unsigned int i = 0; i < stream_config->num_streams; i++) {
astream = stream_config->streams[i];
- if (astream->max_buffers > 0)
+ if (astream->max_buffers > 0) {
+ ALOGV("%s:%d: Reusing stream %d", __func__, mId, i);
newStreams[i] = reuseStream(astream);
- else
+ } else {
+ ALOGV("%s:%d: Creating new stream %d", __func__, mId, i);
newStreams[i] = new Stream(mId, astream);
+ }
if (newStreams[i] == NULL) {
ALOGE("%s:%d: Error processing stream %d", __func__, mId, i);
diff --git a/modules/camera/Stream.cpp b/modules/camera/Stream.cpp
index 31eefcd..aae7adb 100644
--- a/modules/camera/Stream.cpp
+++ b/modules/camera/Stream.cpp
@@ -61,6 +61,7 @@ void Stream::setUsage(uint32_t usage)
pthread_mutex_lock(&mMutex);
if (usage != mUsage) {
mUsage = usage;
+ mStream->usage = usage;
unregisterBuffers_L();
}
pthread_mutex_unlock(&mMutex);
@@ -71,6 +72,7 @@ void Stream::setMaxBuffers(uint32_t max_buffers)
pthread_mutex_lock(&mMutex);
if (max_buffers != mMaxBuffers) {
mMaxBuffers = max_buffers;
+ mStream->max_buffers = max_buffers;
unregisterBuffers_L();
}
pthread_mutex_unlock(&mMutex);
diff --git a/modules/camera/Stream.h b/modules/camera/Stream.h
index 521362e..34abd95 100644
--- a/modules/camera/Stream.h
+++ b/modules/camera/Stream.h
@@ -52,7 +52,7 @@ class Stream {
// The camera device id this stream belongs to
const int mId;
// Handle to framework's stream, used as a cookie for buffers
- const camera3_stream_t *mStream;
+ camera3_stream_t *mStream;
// Stream type: CAMERA3_STREAM_* (see <hardware/camera3.h>)
const int mType;
// Width in pixels of the buffers in this stream