summaryrefslogtreecommitdiffstats
path: root/services/camera/libcameraservice/CameraService.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'services/camera/libcameraservice/CameraService.cpp')
-rw-r--r--services/camera/libcameraservice/CameraService.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/services/camera/libcameraservice/CameraService.cpp b/services/camera/libcameraservice/CameraService.cpp
index 9f7bd27..05e7bcf 100644
--- a/services/camera/libcameraservice/CameraService.cpp
+++ b/services/camera/libcameraservice/CameraService.cpp
@@ -278,9 +278,20 @@ void CameraService::setCameraFree(int cameraId) {
// media players.
static MediaPlayer* newMediaPlayer(const char *file) {
+ // Read the system property to determine if we have need to use the
+ // AUDIO_STREAM_ENFORCED_AUDIBLE type.
+ char value[PROPERTY_VALUE_MAX];
+ property_get("ro.camera.sound.forced", value, "0");
+ int audioStreamType;
+ if (strcmp(value, "0") != 0) {
+ audioStreamType = AUDIO_STREAM_ENFORCED_AUDIBLE;
+ } else {
+ audioStreamType = AUDIO_STREAM_MUSIC;
+ }
+
MediaPlayer* mp = new MediaPlayer();
if (mp->setDataSource(file, NULL) == NO_ERROR) {
- mp->setAudioStreamType(AUDIO_STREAM_ENFORCED_AUDIBLE);
+ mp->setAudioStreamType(audioStreamType);
mp->prepare();
} else {
LOGE("Failed to load CameraService sounds: %s", file);