summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice/MediaRecorderClient.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'media/libmediaplayerservice/MediaRecorderClient.cpp')
-rw-r--r--media/libmediaplayerservice/MediaRecorderClient.cpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/media/libmediaplayerservice/MediaRecorderClient.cpp b/media/libmediaplayerservice/MediaRecorderClient.cpp
index 95ee3e4..2ea7cc3 100644
--- a/media/libmediaplayerservice/MediaRecorderClient.cpp
+++ b/media/libmediaplayerservice/MediaRecorderClient.cpp
@@ -24,6 +24,7 @@
#include <unistd.h>
#include <string.h>
#include <cutils/atomic.h>
+#include <cutils/properties.h> // for property_get
#include <android_runtime/ActivityManager.h>
#include <binder/IPCThreadState.h>
#include <binder/IServiceManager.h>
@@ -37,6 +38,8 @@
#include "MediaRecorderClient.h"
#include "MediaPlayerService.h"
+#include "StagefrightRecorder.h"
+
namespace android {
const char* cameraPermission = "android.permission.CAMERA";
@@ -286,7 +289,18 @@ MediaRecorderClient::MediaRecorderClient(const sp<MediaPlayerService>& service,
{
LOGV("Client constructor");
mPid = pid;
- mRecorder = new PVMediaRecorder();
+
+#if BUILD_WITH_FULL_STAGEFRIGHT
+ char value[PROPERTY_VALUE_MAX];
+ if (property_get("media.stagefright.enable-record", value, NULL)
+ && (!strcmp(value, "1") || !strcasecmp(value, "true"))) {
+ mRecorder = new StagefrightRecorder;
+ } else
+#endif
+ {
+ mRecorder = new PVMediaRecorder();
+ }
+
mMediaPlayerService = service;
}