Merge "audio: reduce logspam from MMAP mode" into oc-dr1-dev
am: 4dbbda2d8c
Change-Id: I05dc5fc8eed6e3623f01b87df205d009f04cc3f8
diff --git a/OWNERS b/OWNERS
new file mode 100644
index 0000000..8f405e9
--- /dev/null
+++ b/OWNERS
@@ -0,0 +1,4 @@
+elaurent@google.com
+etalvala@google.com
+lajos@google.com
+marcone@google.com
diff --git a/camera/OWNERS b/camera/OWNERS
new file mode 100644
index 0000000..18acfee
--- /dev/null
+++ b/camera/OWNERS
@@ -0,0 +1,6 @@
+cychen@google.com
+epeev@google.com
+etalvala@google.com
+shuzhenwang@google.com
+yinchiayeh@google.com
+zhijunhe@google.com
diff --git a/cmds/OWNERS b/cmds/OWNERS
new file mode 100644
index 0000000..0d32aac
--- /dev/null
+++ b/cmds/OWNERS
@@ -0,0 +1,3 @@
+elaurent@google.com
+lajos@google.com
+marcone@google.com
diff --git a/drm/OWNERS b/drm/OWNERS
new file mode 100644
index 0000000..e788754
--- /dev/null
+++ b/drm/OWNERS
@@ -0,0 +1 @@
+jtinker@google.com
diff --git a/include/OWNERS b/include/OWNERS
new file mode 100644
index 0000000..0ec7529
--- /dev/null
+++ b/include/OWNERS
@@ -0,0 +1,5 @@
+elaurent@google.com
+gkasten@android.com
+hunga@google.com
+lajos@google.com
+marcone@google.com
diff --git a/media/OWNERS b/media/OWNERS
new file mode 100644
index 0000000..cd4afb4
--- /dev/null
+++ b/media/OWNERS
@@ -0,0 +1,5 @@
+hunga@google.com
+lajos@google.com
+marcone@google.com
+robertshih@google.com
+wjia@google.com
diff --git a/media/libaaudio/src/client/IsochronousClockModel.cpp b/media/libaaudio/src/client/IsochronousClockModel.cpp
index 73f4c1d..6ea1172 100644
--- a/media/libaaudio/src/client/IsochronousClockModel.cpp
+++ b/media/libaaudio/src/client/IsochronousClockModel.cpp
@@ -16,7 +16,7 @@
#define LOG_TAG "AAudio"
//#define LOG_NDEBUG 0
-#include <utils/Log.h>
+#include <log/log.h>
#include <stdint.h>
@@ -25,7 +25,6 @@
#define MIN_LATENESS_NANOS (10 * AAUDIO_NANOS_PER_MICROSECOND)
-using namespace android;
using namespace aaudio;
IsochronousClockModel::IsochronousClockModel()
diff --git a/media/libmedia/CharacterEncodingDetector.cpp b/media/libmedia/CharacterEncodingDetector.cpp
index 3020136..808c2b5 100644
--- a/media/libmedia/CharacterEncodingDetector.cpp
+++ b/media/libmedia/CharacterEncodingDetector.cpp
@@ -85,6 +85,8 @@
UErrorCode status = U_ZERO_ERROR;
UCharsetDetector *csd = ucsdet_open(&status);
const UCharsetMatch *ucm;
+ bool goodmatch = true;
+ int highest = 0;
// try combined detection of artist/album/title etc.
char buf[1024];
@@ -116,8 +118,6 @@
ucsdet_setText(csd, buf, strlen(buf), &status);
int32_t matches;
const UCharsetMatch** ucma = ucsdet_detectAll(csd, &matches, &status);
- bool goodmatch = true;
- int highest = 0;
const UCharsetMatch* bestCombinedMatch = getPreferred(buf, strlen(buf),
ucma, matches, &goodmatch, &highest);
@@ -180,8 +180,24 @@
!strcmp(name, "genre") ||
!strcmp(name, "album") ||
!strcmp(name, "title"))) {
- // use encoding determined from the combination of artist/album/title etc.
- enc = combinedenc;
+ if (!goodmatch && highest < 0) {
+ // Give it one more chance if there is no good match.
+ ALOGV("Trying to detect %s separately", name);
+ int32_t matches;
+ bool goodmatchSingle = true;
+ int highestSingle = 0;
+ ucsdet_setText(csd, s, inputLength, &status);
+ const UCharsetMatch** ucma = ucsdet_detectAll(csd, &matches, &status);
+ const UCharsetMatch* bestSingleMatch = getPreferred(s, inputLength,
+ ucma, matches, &goodmatchSingle, &highestSingle);
+ if (goodmatchSingle || highestSingle > highest)
+ enc = ucsdet_getName(bestSingleMatch, &status);
+ else
+ enc = combinedenc;
+ } else {
+ // use encoding determined from the combination of artist/album/title etc.
+ enc = combinedenc;
+ }
} else {
if (isPrintableAscii(s, inputLength)) {
enc = "UTF-8";
diff --git a/media/libmediaplayerservice/MediaPlayerFactory.cpp b/media/libmediaplayerservice/MediaPlayerFactory.cpp
index 0a9f791..6da1ec1 100644
--- a/media/libmediaplayerservice/MediaPlayerFactory.cpp
+++ b/media/libmediaplayerservice/MediaPlayerFactory.cpp
@@ -245,8 +245,12 @@
if (sInitComplete)
return;
- registerFactory_l(new NuPlayerFactory(), NU_PLAYER);
- registerFactory_l(new TestPlayerFactory(), TEST_PLAYER);
+ IFactory* factory = new NuPlayerFactory();
+ if (registerFactory_l(factory, NU_PLAYER) != OK)
+ delete factory;
+ factory = new TestPlayerFactory();
+ if (registerFactory_l(factory, TEST_PLAYER) != OK)
+ delete factory;
sInitComplete = true;
}
diff --git a/media/libstagefright/ACodec.cpp b/media/libstagefright/ACodec.cpp
index 1f98e8d..6491ceb 100644
--- a/media/libstagefright/ACodec.cpp
+++ b/media/libstagefright/ACodec.cpp
@@ -4843,9 +4843,9 @@
rect.nTop < 0 ||
rect.nLeft + rect.nWidth > videoDef->nFrameWidth ||
rect.nTop + rect.nHeight > videoDef->nFrameHeight) {
- ALOGE("Wrong cropped rect (%d, %d) - (%u, %u) vs. frame (%u, %u)",
+ ALOGE("Wrong cropped rect (%d, %d, %u, %u) vs. frame (%u, %u)",
rect.nLeft, rect.nTop,
- rect.nLeft + rect.nWidth, rect.nTop + rect.nHeight,
+ rect.nWidth, rect.nHeight,
videoDef->nFrameWidth, videoDef->nFrameHeight);
return BAD_VALUE;
}
diff --git a/media/libstagefright/MPEG4Extractor.cpp b/media/libstagefright/MPEG4Extractor.cpp
index ecd62b0..941c759 100644
--- a/media/libstagefright/MPEG4Extractor.cpp
+++ b/media/libstagefright/MPEG4Extractor.cpp
@@ -19,6 +19,7 @@
#include <ctype.h>
#include <inttypes.h>
+#include <memory>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
@@ -1770,35 +1771,49 @@
{
*offset += chunk_size;
- // Best case the total data length inside "\xA9xyz" box
- // would be 8, for instance "\xA9xyz" + "\x00\x04\x15\xc7" + "0+0/",
- // where "\x00\x04" is the text string length with value = 4,
- // "\0x15\xc7" is the language code = en, and "0+0" is a
+ // Best case the total data length inside "\xA9xyz" box would
+ // be 9, for instance "\xA9xyz" + "\x00\x05\x15\xc7" + "+0+0/",
+ // where "\x00\x05" is the text string length with value = 5,
+ // "\0x15\xc7" is the language code = en, and "+0+0/" is a
// location (string) value with longitude = 0 and latitude = 0.
- if (chunk_data_size < 8) {
+ // Since some devices encountered in the wild omit the trailing
+ // slash, we'll allow that.
+ if (chunk_data_size < 8) { // 8 instead of 9 to allow for missing /
return ERROR_MALFORMED;
}
- // Worst case the location string length would be 18,
- // for instance +90.0000-180.0000, without the trailing "/" and
- // the string length + language code, and some devices include
- // an additional 8 bytes of altitude, e.g. +007.186
- char buffer[18 + 8];
-
- // Substracting 5 from the data size is because the text string length +
- // language code takes 4 bytes, and the trailing slash "/" takes 1 byte.
- off64_t location_length = chunk_data_size - 5;
- if (location_length >= (off64_t) sizeof(buffer)) {
- return ERROR_MALFORMED;
- }
-
- if (mDataSource->readAt(
- data_offset + 4, buffer, location_length) < location_length) {
+ uint16_t len;
+ if (!mDataSource->getUInt16(data_offset, &len)) {
return ERROR_IO;
}
- buffer[location_length] = '\0';
- mFileMetaData->setCString(kKeyLocation, buffer);
+ // allow "+0+0" without trailing slash
+ if (len < 4 || len > chunk_data_size - 4) {
+ return ERROR_MALFORMED;
+ }
+ // The location string following the language code is formatted
+ // according to ISO 6709:2008 (https://en.wikipedia.org/wiki/ISO_6709).
+ // Allocate 2 extra bytes, in case we need to add a trailing slash,
+ // and to add a terminating 0.
+ std::unique_ptr<char[]> buffer(new (std::nothrow) char[len+2]());
+ if (!buffer) {
+ return NO_MEMORY;
+ }
+
+ if (mDataSource->readAt(
+ data_offset + 4, &buffer[0], len) < len) {
+ return ERROR_IO;
+ }
+
+ len = strlen(&buffer[0]);
+ if (len < 4) {
+ return ERROR_MALFORMED;
+ }
+ // Add a trailing slash if there wasn't one.
+ if (buffer[len - 1] != '/') {
+ buffer[len] = '/';
+ }
+ mFileMetaData->setCString(kKeyLocation, &buffer[0]);
break;
}
@@ -5194,6 +5209,7 @@
FOURCC('3', 'g', 'p', '4'),
FOURCC('m', 'p', '4', '1'),
FOURCC('m', 'p', '4', '2'),
+ FOURCC('d', 'a', 's', 'h'),
// Won't promise that the following file types can be played.
// Just give these file types a chance.
diff --git a/radio/OWNERS b/radio/OWNERS
new file mode 100644
index 0000000..4b38a35
--- /dev/null
+++ b/radio/OWNERS
@@ -0,0 +1,2 @@
+elaurent@google.com
+twasilczyk@google.com
diff --git a/services/OWNERS b/services/OWNERS
new file mode 100644
index 0000000..d500dce
--- /dev/null
+++ b/services/OWNERS
@@ -0,0 +1,4 @@
+elaurent@google.com
+etalvala@google.com
+gkasten@android.com
+hunga@google.com
diff --git a/services/camera/OWNERS b/services/camera/OWNERS
new file mode 100644
index 0000000..18acfee
--- /dev/null
+++ b/services/camera/OWNERS
@@ -0,0 +1,6 @@
+cychen@google.com
+epeev@google.com
+etalvala@google.com
+shuzhenwang@google.com
+yinchiayeh@google.com
+zhijunhe@google.com
diff --git a/services/mediacodec/OWNERS b/services/mediacodec/OWNERS
new file mode 100644
index 0000000..c716cce
--- /dev/null
+++ b/services/mediacodec/OWNERS
@@ -0,0 +1,2 @@
+jeffv@google.com
+marcone@google.com
diff --git a/services/mediadrm/OWNERS b/services/mediadrm/OWNERS
new file mode 100644
index 0000000..6d3b533
--- /dev/null
+++ b/services/mediadrm/OWNERS
@@ -0,0 +1,2 @@
+jtinker@google.com
+marcone@google.com
diff --git a/services/mediaextractor/OWNERS b/services/mediaextractor/OWNERS
new file mode 100644
index 0000000..c716cce
--- /dev/null
+++ b/services/mediaextractor/OWNERS
@@ -0,0 +1,2 @@
+jeffv@google.com
+marcone@google.com
diff --git a/services/medialog/OWNERS b/services/medialog/OWNERS
new file mode 100644
index 0000000..fb8b8ee
--- /dev/null
+++ b/services/medialog/OWNERS
@@ -0,0 +1,3 @@
+elaurent@google.com
+gkasten@android.com
+hunga@google.com
diff --git a/services/mediaresourcemanager/OWNERS b/services/mediaresourcemanager/OWNERS
new file mode 100644
index 0000000..82abf8f
--- /dev/null
+++ b/services/mediaresourcemanager/OWNERS
@@ -0,0 +1 @@
+dwkang@google.com
diff --git a/services/oboeservice/SharedMemoryProxy.cpp b/services/oboeservice/SharedMemoryProxy.cpp
index fc4532c..c31557e 100644
--- a/services/oboeservice/SharedMemoryProxy.cpp
+++ b/services/oboeservice/SharedMemoryProxy.cpp
@@ -16,12 +16,11 @@
#define LOG_TAG "AAudioService"
//#define LOG_NDEBUG 0
-#include <utils/Log.h>
+#include <log/log.h>
#include <aaudio/AAudio.h>
#include "SharedMemoryProxy.h"
-using namespace android;
using namespace aaudio;
SharedMemoryProxy::~SharedMemoryProxy()
diff --git a/services/radio/OWNERS b/services/radio/OWNERS
new file mode 100644
index 0000000..eb9549a
--- /dev/null
+++ b/services/radio/OWNERS
@@ -0,0 +1,3 @@
+elaurent@google.com
+hunga@google.com
+twasilczyk@google.com
diff --git a/services/soundtrigger/OWNERS b/services/soundtrigger/OWNERS
new file mode 100644
index 0000000..e83f6b9
--- /dev/null
+++ b/services/soundtrigger/OWNERS
@@ -0,0 +1,2 @@
+elaurent@google.com
+thorntonc@google.com
diff --git a/soundtrigger/OWNERS b/soundtrigger/OWNERS
new file mode 100644
index 0000000..e83f6b9
--- /dev/null
+++ b/soundtrigger/OWNERS
@@ -0,0 +1,2 @@
+elaurent@google.com
+thorntonc@google.com
diff --git a/tools/OWNERS b/tools/OWNERS
new file mode 100644
index 0000000..6dcb035
--- /dev/null
+++ b/tools/OWNERS
@@ -0,0 +1 @@
+gkasten@android.com