From 9953765019ae2243e98e8e74eee327c9893b93d1 Mon Sep 17 00:00:00 2001 From: Surajit Podder Date: Tue, 21 Jul 2015 15:29:39 +0530 Subject: 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 --- media/libmediaplayerservice/StagefrightRecorder.cpp | 15 +++++++-------- media/libmediaplayerservice/StagefrightRecorder.h | 6 +++--- 2 files changed, 10 insertions(+), 11 deletions(-) (limited to 'media/libmediaplayerservice') diff --git a/media/libmediaplayerservice/StagefrightRecorder.cpp b/media/libmediaplayerservice/StagefrightRecorder.cpp index 4f3e2ea..136e6cf 100644 --- a/media/libmediaplayerservice/StagefrightRecorder.cpp +++ b/media/libmediaplayerservice/StagefrightRecorder.cpp @@ -939,13 +939,12 @@ sp StagefrightRecorder::createAudioSource() { } } - sp audioSource = - new AudioSource( - mAudioSource, - mOpPackageName, - sourceSampleRate, - mAudioChannels, - mSampleRate); + sp audioSource = AVFactory::get()->createAudioSource( + mAudioSource, + mOpPackageName, + sourceSampleRate, + mAudioChannels, + mSampleRate); status_t err = audioSource->initCheck(); @@ -1472,7 +1471,7 @@ status_t StagefrightRecorder::setupCameraSource( mTimeBetweenCaptureUs); *cameraSource = mCameraSourceTimeLapse; } else { - *cameraSource = CameraSource::CreateFromCamera( + *cameraSource = AVFactory::get()->CreateFromCamera( mCamera, mCameraProxy, mCameraId, mClientName, mClientUid, videoSize, mFrameRate, mPreviewSurface); diff --git a/media/libmediaplayerservice/StagefrightRecorder.h b/media/libmediaplayerservice/StagefrightRecorder.h index 6b9bc92..d2ff62d 100644 --- a/media/libmediaplayerservice/StagefrightRecorder.h +++ b/media/libmediaplayerservice/StagefrightRecorder.h @@ -140,7 +140,7 @@ protected: status_t setupRawAudioRecording(); status_t setupRTPRecording(); status_t setupMPEG2TSRecording(); - sp createAudioSource(); + virtual sp createAudioSource(); virtual status_t checkVideoEncoderCapabilities(); status_t checkAudioEncoderCapabilities(); // Generic MediaSource set-up. Returns the appropriate @@ -149,13 +149,13 @@ protected: status_t setupMediaSource(sp *mediaSource); status_t setupCameraSource(sp *cameraSource); status_t setupAudioEncoder(const sp& writer); - status_t setupVideoEncoder(sp cameraSource, sp *source); + virtual status_t setupVideoEncoder(sp cameraSource, sp *source); virtual void setupCustomVideoEncoderParams(sp /*cameraSource*/, sp &/*format*/) {} virtual bool setCustomVideoEncoderMime(const video_encoder videoEncoder, sp format); // Encoding parameter handling utilities - status_t setParameter(const String8 &key, const String8 &value); + virtual status_t setParameter(const String8 &key, const String8 &value); status_t setParamAudioEncodingBitRate(int32_t bitRate); status_t setParamAudioNumberOfChannels(int32_t channles); status_t setParamAudioSamplingRate(int32_t sampleRate); -- cgit v1.1