summaryrefslogtreecommitdiffstats
path: root/include/media/mediascanner.h
diff options
context:
space:
mode:
authorMarco Nelissen <marcone@google.com>2013-11-13 14:18:21 -0800
committerMarco Nelissen <marcone@google.com>2013-12-11 10:28:44 -0800
commit544ad2be674423238c47650d2c8588ba7dfc9ed2 (patch)
tree1167d14b0e345cd7ad6c2a415a7134c915507b86 /include/media/mediascanner.h
parent35a9e7d49ff5ff99fedb0bf2a35c39f7ea5a2f9e (diff)
downloadframeworks_av-544ad2be674423238c47650d2c8588ba7dfc9ed2.zip
frameworks_av-544ad2be674423238c47650d2c8588ba7dfc9ed2.tar.gz
frameworks_av-544ad2be674423238c47650d2c8588ba7dfc9ed2.tar.bz2
Better character set encoding detection
Id3 tags are supposed to be ISO-8859-1 or unicode, but often aren't. To better detect the real encoding we now use ICU to detect possible encodings for a given byte sequence, then apply additional heuristics to determine the most likely one. b/5564857 Change-Id: I53bc83b006433da5c2f2ccfcd770ddb3a26b64d0
Diffstat (limited to 'include/media/mediascanner.h')
-rw-r--r--include/media/mediascanner.h14
1 files changed, 5 insertions, 9 deletions
diff --git a/include/media/mediascanner.h b/include/media/mediascanner.h
index a73403b..4537679 100644
--- a/include/media/mediascanner.h
+++ b/include/media/mediascanner.h
@@ -21,6 +21,7 @@
#include <utils/threads.h>
#include <utils/List.h>
#include <utils/Errors.h>
+#include <utils/String8.h>
#include <pthread.h>
struct dirent;
@@ -29,6 +30,7 @@ namespace android {
class MediaScannerClient;
class StringArray;
+class CharacterEncodingDetector;
enum MediaScanResult {
// This file or directory was scanned successfully.
@@ -94,15 +96,9 @@ public:
virtual status_t setMimeType(const char* mimeType) = 0;
protected:
- void convertValues(uint32_t encoding);
-
-protected:
- // cached name and value strings, for native encoding support.
- StringArray* mNames;
- StringArray* mValues;
-
- // default encoding based on MediaScanner::mLocale string
- uint32_t mLocaleEncoding;
+ // default encoding from MediaScanner::mLocale
+ String8 mLocale;
+ CharacterEncodingDetector *mEncodingDetector;
};
}; // namespace android