diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/camera/camera2/CaptureRequest.h | 1 | ||||
-rw-r--r-- | include/camera/camera2/ICameraDeviceUser.h | 13 | ||||
-rw-r--r-- | include/media/AudioRecord.h | 15 | ||||
-rw-r--r-- | include/media/mediametadataretriever.h | 1 | ||||
-rw-r--r-- | include/media/stagefright/MetaData.h | 3 |
5 files changed, 31 insertions, 2 deletions
diff --git a/include/camera/camera2/CaptureRequest.h b/include/camera/camera2/CaptureRequest.h index e56d61f..eeab217 100644 --- a/include/camera/camera2/CaptureRequest.h +++ b/include/camera/camera2/CaptureRequest.h @@ -30,6 +30,7 @@ public: CameraMetadata mMetadata; Vector<sp<Surface> > mSurfaceList; + bool mIsReprocess; /** * Keep impl up-to-date with CaptureRequest.java in frameworks/base diff --git a/include/camera/camera2/ICameraDeviceUser.h b/include/camera/camera2/ICameraDeviceUser.h index e9f1f5a..c850924 100644 --- a/include/camera/camera2/ICameraDeviceUser.h +++ b/include/camera/camera2/ICameraDeviceUser.h @@ -103,6 +103,19 @@ public: virtual status_t createStream(const OutputConfiguration& outputConfiguration) = 0; + /** + * Create an input stream of width, height, and format (one of + * HAL_PIXEL_FORMAT_*) + * + * Return stream ID if it's a non-negative value. status_t if it's a + * negative value. + */ + virtual status_t createInputStream(int width, int height, int format) = 0; + + // get the buffer producer of the input stream + virtual status_t getInputBufferProducer( + sp<IGraphicBufferProducer> *producer) = 0; + // Create a request object from a template. virtual status_t createDefaultRequest(int templateId, /*out*/ diff --git a/include/media/AudioRecord.h b/include/media/AudioRecord.h index 7be2c3e..dbe2788 100644 --- a/include/media/AudioRecord.h +++ b/include/media/AudioRecord.h @@ -335,6 +335,13 @@ public: * After draining these frames of data, the caller should release them with releaseBuffer(). * If the track buffer is not empty, obtainBuffer() returns as many contiguous * full frames as are available immediately. + * + * If nonContig is non-NULL, it is an output parameter that will be set to the number of + * additional non-contiguous frames that are predicted to be available immediately, + * if the client were to release the first frames and then call obtainBuffer() again. + * This value is only a prediction, and needs to be confirmed. + * It will be set to zero for an error return. + * * If the track buffer is empty and track is stopped, obtainBuffer() returns WOULD_BLOCK * regardless of the value of waitCount. * If the track buffer is empty and track is not stopped, obtainBuffer() blocks with a @@ -364,11 +371,15 @@ public: * raw pointer to the buffer */ - status_t obtainBuffer(Buffer* audioBuffer, int32_t waitCount); + status_t obtainBuffer(Buffer* audioBuffer, int32_t waitCount, + size_t *nonContig = NULL); private: /* If nonContig is non-NULL, it is an output parameter that will be set to the number of - * additional non-contiguous frames that are available immediately. + * additional non-contiguous frames that are predicted to be available immediately, + * if the client were to release the first frames and then call obtainBuffer() again. + * This value is only a prediction, and needs to be confirmed. + * It will be set to zero for an error return. * FIXME We could pass an array of Buffers instead of only one Buffer to obtainBuffer(), * in case the requested amount of frames is in two or more non-contiguous regions. * FIXME requested and elapsed are both relative times. Consider changing to absolute time. diff --git a/include/media/mediametadataretriever.h b/include/media/mediametadataretriever.h index b35cf32..7191965 100644 --- a/include/media/mediametadataretriever.h +++ b/include/media/mediametadataretriever.h @@ -57,6 +57,7 @@ enum { METADATA_KEY_IS_DRM = 22, METADATA_KEY_LOCATION = 23, METADATA_KEY_VIDEO_ROTATION = 24, + METADATA_KEY_CAPTURE_FRAMERATE = 25, // Add more here... }; diff --git a/include/media/stagefright/MetaData.h b/include/media/stagefright/MetaData.h index 087d016..8bdebf6 100644 --- a/include/media/stagefright/MetaData.h +++ b/include/media/stagefright/MetaData.h @@ -75,6 +75,8 @@ enum { kKeyDecoderComponent = 'decC', // cstring kKeyBufferID = 'bfID', kKeyMaxInputSize = 'inpS', + kKeyMaxWidth = 'maxW', + kKeyMaxHeight = 'maxH', kKeyThumbnailTime = 'thbT', // int64_t (usecs) kKeyTrackID = 'trID', kKeyIsDRM = 'idrm', // int32_t (bool) @@ -98,6 +100,7 @@ enum { kKeyCompilation = 'cpil', // cstring kKeyLocation = 'loc ', // cstring kKeyTimeScale = 'tmsl', // int32_t + kKeyCaptureFramerate = 'capF', // float (capture fps) // video profile and level kKeyVideoProfile = 'vprf', // int32_t |