summaryrefslogtreecommitdiffstats
path: root/include/media/stagefright
diff options
context:
space:
mode:
authorSurajit Podder <spodder@codeaurora.org>2015-07-21 15:29:39 +0530
committerSatish Kamuju <skamuj@codeaurora.org>2015-10-06 17:36:01 +0530
commit9953765019ae2243e98e8e74eee327c9893b93d1 (patch)
treea0d21f06540cbdac85dcb6348a27b9eddf3cb68d /include/media/stagefright
parentbd019775a921ae9165e924e4d37bc838a7ef5781 (diff)
downloadframeworks_av-9953765019ae2243e98e8e74eee327c9893b93d1.zip
frameworks_av-9953765019ae2243e98e8e74eee327c9893b93d1.tar.gz
frameworks_av-9953765019ae2243e98e8e74eee327c9893b93d1.tar.bz2
video: Modify classes to support camcorder pause/resume
* Modify MediaRecorder, CameraSource, AudioSource to be extendable. * Add hooks to instantiate extended implementations to implement pause/resume. Change-Id: I847263fc69e4f613c5ea60fb6809c7da176d3a8d
Diffstat (limited to 'include/media/stagefright')
-rw-r--r--include/media/stagefright/AudioSource.h6
-rw-r--r--include/media/stagefright/CameraSource.h4
2 files changed, 7 insertions, 3 deletions
diff --git a/include/media/stagefright/AudioSource.h b/include/media/stagefright/AudioSource.h
index ed523d8..9750bcd 100644
--- a/include/media/stagefright/AudioSource.h
+++ b/include/media/stagefright/AudioSource.h
@@ -46,6 +46,8 @@ struct AudioSource : public MediaSource, public MediaBufferObserver {
virtual status_t stop() { return reset(); }
virtual sp<MetaData> getFormat();
+ virtual status_t pause() { return ERROR_UNSUPPORTED; }
+
// Returns the maximum amplitude since last call.
int16_t getMaxAmplitude();
@@ -58,7 +60,7 @@ struct AudioSource : public MediaSource, public MediaBufferObserver {
protected:
virtual ~AudioSource();
-private:
+protected:
enum {
//calculated for max duration 80 msec with 48K sampling rate.
kMaxBufferSize = 30720,
@@ -102,7 +104,7 @@ private:
int32_t startFrame, int32_t rampDurationFrames,
uint8_t *data, size_t bytes);
- void queueInputBuffer_l(MediaBuffer *buffer, int64_t timeUs);
+ virtual void queueInputBuffer_l(MediaBuffer *buffer, int64_t timeUs);
void releaseQueuedFrames_l();
void waitOutstandingEncodingFrames_l();
virtual status_t reset();
diff --git a/include/media/stagefright/CameraSource.h b/include/media/stagefright/CameraSource.h
index 069e897..527ee15 100644
--- a/include/media/stagefright/CameraSource.h
+++ b/include/media/stagefright/CameraSource.h
@@ -92,6 +92,8 @@ public:
virtual status_t read(
MediaBuffer **buffer, const ReadOptions *options = NULL);
+ virtual status_t pause() { return ERROR_UNSUPPORTED; }
+
/**
* Check whether a CameraSource object is properly initialized.
* Must call this method before stop().
@@ -189,7 +191,7 @@ protected:
void releaseCamera();
-private:
+protected:
friend struct CameraSourceListener;
Mutex mLock;