diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/camera/CameraParameters.h | 18 | ||||
-rw-r--r-- | include/media/IRemoteDisplay.h | 6 | ||||
-rw-r--r-- | include/media/IRemoteDisplayClient.h | 7 | ||||
-rw-r--r-- | include/media/MediaPlayerInterface.h | 8 | ||||
-rw-r--r-- | include/media/stagefright/ACodec.h | 5 | ||||
-rw-r--r-- | include/media/stagefright/MediaCodec.h | 3 | ||||
-rw-r--r-- | include/media/stagefright/SurfaceMediaSource.h | 6 |
7 files changed, 40 insertions, 13 deletions
diff --git a/include/camera/CameraParameters.h b/include/camera/CameraParameters.h index 4d5aa36..d521543 100644 --- a/include/camera/CameraParameters.h +++ b/include/camera/CameraParameters.h @@ -298,7 +298,7 @@ public: // Example value: "42.5". Read only. static const char KEY_VERTICAL_VIEW_ANGLE[]; // Exposure compensation index. 0 means exposure is not adjusted. - // Example value: "0" or "5". Read/write. + // Example value: "-5" or "5". Read/write. static const char KEY_EXPOSURE_COMPENSATION[]; // The maximum exposure compensation index (>=0). // Example value: "6". Read only. @@ -307,7 +307,7 @@ public: // Example value: "-6". Read only. static const char KEY_MIN_EXPOSURE_COMPENSATION[]; // The exposure compensation step. Exposure compensation index multiply by - // step eqals to EV. Ex: if exposure compensation index is 6 and step is + // step eqals to EV. Ex: if exposure compensation index is -6 and step is // 0.3333, EV is -2. // Example value: "0.333333333" or "0.5". Read only. static const char KEY_EXPOSURE_COMPENSATION_STEP[]; @@ -525,6 +525,10 @@ public: // stream and record stabilized videos. static const char KEY_VIDEO_STABILIZATION_SUPPORTED[]; + // Supported modes for special effects with light. + // Example values: "lowlight,hdr". + static const char KEY_LIGHTFX[]; + // Value for KEY_ZOOM_SUPPORTED or KEY_SMOOTH_ZOOM_SUPPORTED. static const char TRUE[]; static const char FALSE[]; @@ -593,6 +597,10 @@ public: // Applications are looking for a barcode. Camera driver will be optimized // for barcode reading. static const char SCENE_MODE_BARCODE[]; + // A high-dynamic range mode. In this mode, the HAL module will use a + // capture strategy that extends the dynamic range of the captured + // image in some fashion. Only the final image is returned. + static const char SCENE_MODE_HDR[]; // Pixel color formats for KEY_PREVIEW_FORMAT, KEY_PICTURE_FORMAT, // and KEY_VIDEO_FRAME_FORMAT @@ -660,6 +668,12 @@ public: // other modes. static const char FOCUS_MODE_CONTINUOUS_PICTURE[]; + // Values for light special effects + // Low-light enhancement mode + static const char LIGHTFX_LOWLIGHT[]; + // High-dynamic range mode + static const char LIGHTFX_HDR[]; + private: DefaultKeyedVector<String8,String8> mMap; }; diff --git a/include/media/IRemoteDisplay.h b/include/media/IRemoteDisplay.h index f39286e..a61704e 100644 --- a/include/media/IRemoteDisplay.h +++ b/include/media/IRemoteDisplay.h @@ -39,10 +39,8 @@ class IRemoteDisplay : public IInterface public: DECLARE_META_INTERFACE(RemoteDisplay); - // Disconnects the remote display. - // The remote display should respond back to the IRemoteDisplayClient with an - // onDisplayDisconnected() event when the disconnection is complete. - virtual status_t disconnect() = 0; + // Disconnects the remote display and stops listening for new connections. + virtual status_t dispose() = 0; }; diff --git a/include/media/IRemoteDisplayClient.h b/include/media/IRemoteDisplayClient.h index 38a0c9a..553ad36 100644 --- a/include/media/IRemoteDisplayClient.h +++ b/include/media/IRemoteDisplayClient.h @@ -40,9 +40,9 @@ public: enum { // Error: An unknown / generic error occurred. - kErrorUnknown = 0, + kDisplayErrorUnknown = 1, // Error: The connection was dropped unexpectedly. - kErrorConnectionDropped = 1, + kDisplayErrorConnectionDropped = 2, }; // Indicates that the remote display has been connected successfully. @@ -52,7 +52,8 @@ public: uint32_t width, uint32_t height, uint32_t flags) = 0; // one-way // Indicates that the remote display has been disconnected normally. - // This method should only be called once the client has called 'disconnect()'. + // This method should only be called once the client has called 'dispose()' + // on the IRemoteDisplay. // It is currently an error for the display to disconnect for any other reason. virtual void onDisplayDisconnected() = 0; // one-way diff --git a/include/media/MediaPlayerInterface.h b/include/media/MediaPlayerInterface.h index 518948c..b7bee3f 100644 --- a/include/media/MediaPlayerInterface.h +++ b/include/media/MediaPlayerInterface.h @@ -150,16 +150,16 @@ public: virtual status_t setParameter(int key, const Parcel &request) = 0; virtual status_t getParameter(int key, Parcel *reply) = 0; - // Right now, only the AAX TX player supports this functionality. For now, - // provide default implementations which indicate a lack of support for this - // functionality to make life easier for all of the other media player - // maintainers out there. + // default no-op implementation of optional extensions virtual status_t setRetransmitEndpoint(const struct sockaddr_in* endpoint) { return INVALID_OPERATION; } virtual status_t getRetransmitEndpoint(struct sockaddr_in* endpoint) { return INVALID_OPERATION; } + virtual status_t setNextPlayer(const sp<MediaPlayerBase>& next) { + return OK; + } // Invoke a generic method on the player by using opaque parcels // for the request and reply. diff --git a/include/media/stagefright/ACodec.h b/include/media/stagefright/ACodec.h index 500dde6..d27f463 100644 --- a/include/media/stagefright/ACodec.h +++ b/include/media/stagefright/ACodec.h @@ -58,6 +58,8 @@ struct ACodec : public AHierarchicalStateMachine { void initiateConfigureComponent(const sp<AMessage> &msg); void initiateStart(); + void signalRequestIDRFrame(); + struct PortDescription : public RefBase { size_t countBuffers(); IOMX::buffer_id bufferIDAt(size_t index) const; @@ -102,6 +104,7 @@ private: kWhatAllocateComponent = 'allo', kWhatConfigureComponent = 'conf', kWhatStart = 'star', + kWhatRequestIDRFrame = 'ridr', }; enum { @@ -262,6 +265,8 @@ private: OMX_ERRORTYPE error = OMX_ErrorUndefined, status_t internalError = UNKNOWN_ERROR); + status_t requestIDRFrame(); + DISALLOW_EVIL_CONSTRUCTORS(ACodec); }; diff --git a/include/media/stagefright/MediaCodec.h b/include/media/stagefright/MediaCodec.h index e46e8e9..8c612d4 100644 --- a/include/media/stagefright/MediaCodec.h +++ b/include/media/stagefright/MediaCodec.h @@ -106,6 +106,8 @@ struct MediaCodec : public AHandler { status_t getInputBuffers(Vector<sp<ABuffer> > *buffers) const; status_t getOutputBuffers(Vector<sp<ABuffer> > *buffers) const; + status_t requestIDRFrame(); + protected: virtual ~MediaCodec(); virtual void onMessageReceived(const sp<AMessage> &msg); @@ -145,6 +147,7 @@ private: kWhatDequeueInputTimedOut = 'dITO', kWhatDequeueOutputTimedOut = 'dOTO', kWhatCodecNotify = 'codc', + kWhatRequestIDRFrame = 'ridr', }; enum { diff --git a/include/media/stagefright/SurfaceMediaSource.h b/include/media/stagefright/SurfaceMediaSource.h index 840b4aa..9e07ea4 100644 --- a/include/media/stagefright/SurfaceMediaSource.h +++ b/include/media/stagefright/SurfaceMediaSource.h @@ -167,6 +167,8 @@ private: // this list in signalBufferReturned Vector<sp<GraphicBuffer> > mCurrentBuffers; + size_t mNumPendingBuffers; + // mCurrentTimestamp is the timestamp for the current texture. It // gets set to mLastQueuedTimestamp each time updateTexImage is called. int64_t mCurrentTimestamp; @@ -202,10 +204,14 @@ private: // offset timestamps. int64_t mStartTimeNs; + size_t mMaxAcquiredBufferCount; + // mFrameAvailableCondition condition used to indicate whether there // is a frame available for dequeuing Condition mFrameAvailableCondition; + Condition mMediaBuffersAvailableCondition; + // Avoid copying and equating and default constructor DISALLOW_IMPLICIT_CONSTRUCTORS(SurfaceMediaSource); }; |