summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/AwesomePlayer.cpp
diff options
context:
space:
mode:
authorJames Dong <jdong@google.com>2012-06-12 17:18:37 -0700
committerJames Dong <jdong@google.com>2012-06-12 18:48:36 -0700
commitce3d3ef78d6512cc272d469e236fba4fca1189b0 (patch)
treedccc705bd4276553fb1f2fe661bde9732fb40d29 /media/libstagefright/AwesomePlayer.cpp
parent958f463c4cddba6437c86d5bfef68167f767ee66 (diff)
downloadframeworks_av-ce3d3ef78d6512cc272d469e236fba4fca1189b0.zip
frameworks_av-ce3d3ef78d6512cc272d469e236fba4fca1189b0.tar.gz
frameworks_av-ce3d3ef78d6512cc272d469e236fba4fca1189b0.tar.bz2
Fix one of the potential ANR issues from AwesomePlayer
Change-Id: I8ac7bbb5fe219f65bdbdd223538fbac0575e2957 related-to-bug: 6565826
Diffstat (limited to 'media/libstagefright/AwesomePlayer.cpp')
-rw-r--r--media/libstagefright/AwesomePlayer.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/media/libstagefright/AwesomePlayer.cpp b/media/libstagefright/AwesomePlayer.cpp
index 0749254..d7f721f 100644
--- a/media/libstagefright/AwesomePlayer.cpp
+++ b/media/libstagefright/AwesomePlayer.cpp
@@ -2120,7 +2120,13 @@ status_t AwesomePlayer::finishSetDataSource_l() {
String8 mimeType;
float confidence;
sp<AMessage> dummy;
- bool success = SniffWVM(dataSource, &mimeType, &confidence, &dummy);
+ bool success;
+
+ // SniffWVM is potentially blocking since it may require network access.
+ // Do not call it with mLock held.
+ mLock.unlock();
+ success = SniffWVM(dataSource, &mimeType, &confidence, &dummy);
+ mLock.lock();
if (!success
|| strcasecmp(