diff --git a/include/media/stagefright/CameraSource.h b/include/media/stagefright/CameraSource.h index 3afa598b70432..42d6634c6d9c3 100644 --- a/include/media/stagefright/CameraSource.h +++ b/include/media/stagefright/CameraSource.h @@ -28,7 +28,6 @@ namespace android { class ICamera; class IMemory; -class ISurface; class Camera; class CameraSource : public MediaSource { @@ -38,8 +37,6 @@ public: virtual ~CameraSource(); - void setPreviewSurface(const sp &surface); - virtual status_t start(MetaData *params = NULL); virtual status_t stop(); @@ -52,7 +49,6 @@ private: friend class CameraSourceListener; sp mCamera; - sp mPreviewSurface; Mutex mLock; Condition mFrameAvailableCondition; diff --git a/media/libmediaplayerservice/StagefrightRecorder.cpp b/media/libmediaplayerservice/StagefrightRecorder.cpp index 12e8fe67626c4..e41a7165cd50e 100644 --- a/media/libmediaplayerservice/StagefrightRecorder.cpp +++ b/media/libmediaplayerservice/StagefrightRecorder.cpp @@ -585,13 +585,13 @@ status_t StagefrightRecorder::startMPEG4Recording() { return UNKNOWN_ERROR; } + CHECK_EQ(OK, mCamera->setPreviewDisplay(mPreviewSurface)); + sp cameraSource = CameraSource::CreateFromCamera(mCamera); CHECK(cameraSource != NULL); - cameraSource->setPreviewSurface(mPreviewSurface); - sp enc_meta = new MetaData; enc_meta->setInt32(kKeyBitRate, mVideoBitRate); enc_meta->setInt32(kKeySampleRate, mFrameRate); // XXX: kKeySampleRate? diff --git a/media/libstagefright/CameraSource.cpp b/media/libstagefright/CameraSource.cpp index 3a1e3bc9c3f35..cd26e6bee194d 100644 --- a/media/libstagefright/CameraSource.cpp +++ b/media/libstagefright/CameraSource.cpp @@ -27,42 +27,10 @@ #include #include #include -#include -#include -#include #include namespace android { -struct DummySurface : public BnSurface { - DummySurface() {} - - virtual sp requestBuffer(int bufferIdx, int usage) { - return NULL; - } - virtual status_t setBufferCount(int bufferCount) { - return INVALID_OPERATION; - } - - virtual status_t registerBuffers(const BufferHeap &buffers) { - return OK; - } - - virtual void postBuffer(ssize_t offset) {} - virtual void unregisterBuffers() {} - - virtual sp createOverlay( - uint32_t w, uint32_t h, int32_t format, int32_t orientation) { - return NULL; - } - -protected: - virtual ~DummySurface() {} - - DummySurface(const DummySurface &); - DummySurface &operator=(const DummySurface &); -}; - struct CameraSourceListener : public CameraListener { CameraSourceListener(const sp &source); @@ -150,23 +118,12 @@ CameraSource::~CameraSource() { } } -void CameraSource::setPreviewSurface(const sp &surface) { - mPreviewSurface = surface; -} - status_t CameraSource::start(MetaData *) { LOGV("start"); CHECK(!mStarted); mCamera->setListener(new CameraSourceListener(this)); - - status_t err = - mCamera->setPreviewDisplay( - mPreviewSurface != NULL ? mPreviewSurface : new DummySurface); - CHECK_EQ(err, OK); - - err = mCamera->startRecording(); - CHECK_EQ(err, OK); + CHECK_EQ(OK, mCamera->startRecording()); mStarted = true;