Loading include/media/stagefright/CameraSource.h +3 −2 Original line number Diff line number Diff line Loading @@ -219,6 +219,9 @@ protected: virtual void dataCallbackTimestamp(int64_t timestampUs, int32_t msgType, const sp<IMemory> &data); // Process a buffer item received in BufferQueueListener. virtual void processBufferQueueFrame(BufferItem& buffer); void releaseCamera(); private: Loading Loading @@ -260,8 +263,6 @@ private: void releaseQueuedFrames(); void releaseOneRecordingFrame(const sp<IMemory>& frame); // Process a buffer item received in BufferQueueListener. void processBufferQueueFrame(const BufferItem& buffer); status_t init(const sp<ICamera>& camera, const sp<ICameraRecordingProxy>& proxy, int32_t cameraId, const String16& clientName, uid_t clientUid, pid_t clientPid, Loading include/media/stagefright/CameraSourceTimeLapse.h +6 −0 Original line number Diff line number Diff line Loading @@ -137,9 +137,15 @@ private: // In the video camera case calls skipFrameAndModifyTimeStamp() to modify // timestamp and set mSkipCurrentFrame. // Then it calls the base CameraSource::dataCallbackTimestamp() // This will be called in VIDEO_BUFFER_MODE_DATA_CALLBACK_YUV and // VIDEO_BUFFER_MODE_DATA_CALLBACK_METADATA mode. virtual void dataCallbackTimestamp(int64_t timestampUs, int32_t msgType, const sp<IMemory> &data); // Process a buffer item received in CameraSource::BufferQueueListener. // This will be called in VIDEO_BUFFER_MODE_BUFFER_QUEUE mode. virtual void processBufferQueueFrame(BufferItem& buffer); // Convenience function to fill mLastReadBufferCopy from the just read // buffer. void fillLastReadBufferCopy(MediaBuffer& sourceBuffer); Loading media/libstagefright/CameraSource.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -1114,7 +1114,7 @@ bool CameraSource::BufferQueueListener::threadLoop() { return true; } void CameraSource::processBufferQueueFrame(const BufferItem& buffer) { void CameraSource::processBufferQueueFrame(BufferItem& buffer) { Mutex::Autolock autoLock(mLock); int64_t timestampUs = buffer.mTimestamp / 1000; Loading media/libstagefright/CameraSourceTimeLapse.cpp +8 −0 Original line number Diff line number Diff line Loading @@ -308,4 +308,12 @@ void CameraSourceTimeLapse::dataCallbackTimestamp(int64_t timestampUs, int32_t m CameraSource::dataCallbackTimestamp(timestampUs, msgType, data); } void CameraSourceTimeLapse::processBufferQueueFrame(BufferItem& buffer) { ALOGV("processBufferQueueFrame"); int64_t timestampUs = buffer.mTimestamp / 1000; mSkipCurrentFrame = skipFrameAndModifyTimeStamp(×tampUs); buffer.mTimestamp = timestampUs * 1000; CameraSource::processBufferQueueFrame(buffer); } } // namespace android Loading
include/media/stagefright/CameraSource.h +3 −2 Original line number Diff line number Diff line Loading @@ -219,6 +219,9 @@ protected: virtual void dataCallbackTimestamp(int64_t timestampUs, int32_t msgType, const sp<IMemory> &data); // Process a buffer item received in BufferQueueListener. virtual void processBufferQueueFrame(BufferItem& buffer); void releaseCamera(); private: Loading Loading @@ -260,8 +263,6 @@ private: void releaseQueuedFrames(); void releaseOneRecordingFrame(const sp<IMemory>& frame); // Process a buffer item received in BufferQueueListener. void processBufferQueueFrame(const BufferItem& buffer); status_t init(const sp<ICamera>& camera, const sp<ICameraRecordingProxy>& proxy, int32_t cameraId, const String16& clientName, uid_t clientUid, pid_t clientPid, Loading
include/media/stagefright/CameraSourceTimeLapse.h +6 −0 Original line number Diff line number Diff line Loading @@ -137,9 +137,15 @@ private: // In the video camera case calls skipFrameAndModifyTimeStamp() to modify // timestamp and set mSkipCurrentFrame. // Then it calls the base CameraSource::dataCallbackTimestamp() // This will be called in VIDEO_BUFFER_MODE_DATA_CALLBACK_YUV and // VIDEO_BUFFER_MODE_DATA_CALLBACK_METADATA mode. virtual void dataCallbackTimestamp(int64_t timestampUs, int32_t msgType, const sp<IMemory> &data); // Process a buffer item received in CameraSource::BufferQueueListener. // This will be called in VIDEO_BUFFER_MODE_BUFFER_QUEUE mode. virtual void processBufferQueueFrame(BufferItem& buffer); // Convenience function to fill mLastReadBufferCopy from the just read // buffer. void fillLastReadBufferCopy(MediaBuffer& sourceBuffer); Loading
media/libstagefright/CameraSource.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -1114,7 +1114,7 @@ bool CameraSource::BufferQueueListener::threadLoop() { return true; } void CameraSource::processBufferQueueFrame(const BufferItem& buffer) { void CameraSource::processBufferQueueFrame(BufferItem& buffer) { Mutex::Autolock autoLock(mLock); int64_t timestampUs = buffer.mTimestamp / 1000; Loading
media/libstagefright/CameraSourceTimeLapse.cpp +8 −0 Original line number Diff line number Diff line Loading @@ -308,4 +308,12 @@ void CameraSourceTimeLapse::dataCallbackTimestamp(int64_t timestampUs, int32_t m CameraSource::dataCallbackTimestamp(timestampUs, msgType, data); } void CameraSourceTimeLapse::processBufferQueueFrame(BufferItem& buffer) { ALOGV("processBufferQueueFrame"); int64_t timestampUs = buffer.mTimestamp / 1000; mSkipCurrentFrame = skipFrameAndModifyTimeStamp(×tampUs); buffer.mTimestamp = timestampUs * 1000; CameraSource::processBufferQueueFrame(buffer); } } // namespace android