From 916d3b4f678cbc99540f28772525b51a5003696d Mon Sep 17 00:00:00 2001
From: Pawit Pornkitprasan
Date: Fri, 13 Dec 2013 21:37:01 +0700
Subject: [PATCH 1/2] AudioMixer: fix artifact on 2 short sounds
On the I9082, when 2 short sounds are played simultaneously, there will be artifact
on the speaker due to the buffer not being cleared.
Change-Id: I8a325175e8e326a638c7f29987ae272ae8af6b66
---
services/audioflinger/AudioMixer.cpp | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/services/audioflinger/AudioMixer.cpp b/services/audioflinger/AudioMixer.cpp
index 95f7381..5f80165 100644
--- a/services/audioflinger/AudioMixer.cpp
+++ b/services/audioflinger/AudioMixer.cpp
@@ -1128,8 +1128,13 @@ void AudioMixer::process__genericNoResampling(state_t* state, int64_t pts)
t.in = t.buffer.raw;
// t.in == NULL can happen if the track was flushed just after having
// been enabled for mixing.
- if (t.in == NULL)
+ if (t.in == NULL) {
enabledTracks &= ~(1<frameCount);
+ }
}
e0 = enabledTracks;
--
1.8.3.4 (Apple Git-47)
From ec6dc5ebee04eb4570f91e02b851c3a223eac0ad Mon Sep 17 00:00:00 2001
From: Pawit Pornkitprasan
Date: Tue, 17 Dec 2013 13:15:52 +0700
Subject: [PATCH 2/2] OMXCodec: set default input buffer size
Broadcom OMX only set the buffer size to 65536 by default which
is not enough for higher bitrate video
Change-Id: I74372f3d821e41feb38b9bc0cca4ef56aa019493
---
media/libstagefright/OMXCodec.cpp | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/media/libstagefright/OMXCodec.cpp b/media/libstagefright/OMXCodec.cpp
index d3be3bc..66d5907 100644
--- a/media/libstagefright/OMXCodec.cpp
+++ b/media/libstagefright/OMXCodec.cpp
@@ -801,6 +801,18 @@ status_t OMXCodec::configureCodec(const sp &meta) {
if (meta->findInt32(kKeyMaxInputSize, &maxInputSize)) {
setMinBufferSize(kPortIndexInput, (OMX_U32)maxInputSize);
}
+// Capri's OMX fail to set a reasonable default size from width and height
+#ifdef CAPRI_HWC
+ else {
+ int32_t width;
+ int32_t height;
+ if (meta->findInt32(kKeyWidth, &width) && meta->findInt32(kKeyHeight, &height)) {
+ setMinBufferSize(kPortIndexInput, (width * height * 3) / 2);
+ } else {
+ ALOGE("Failed to set min buffer size");
+ }
+ }
+#endif
initOutputFormat(meta);
--
1.8.3.4 (Apple Git-47)