am 47ef6eba: Fix erroneous "format unsupported " error in Play Movies
* commit '47ef6eba621fe95575d4bdda278d689fa84849e5': Fix erroneous "format unsupported " error in Play Movies
This commit is contained in:
@@ -72,22 +72,26 @@ WVMLoadableExtractor *GetInstance(sp<DataSource> dataSource) {
|
||||
}
|
||||
|
||||
bool IsWidevineMedia(const sp<DataSource>& dataSource) {
|
||||
char buffer[64 * 1024];
|
||||
|
||||
String8 uri = dataSource->getUri();
|
||||
if (uri.getPathExtension() == ".m3u8" || uri.find(".m3u8?") != -1) {
|
||||
// can't sniff live streams - check for .m3u8 file extension
|
||||
return true;
|
||||
}
|
||||
|
||||
ssize_t bytesRead = dataSource->readAt(0, buffer, sizeof(buffer));
|
||||
if (bytesRead < (ssize_t)sizeof(buffer)) {
|
||||
ALOGV("IsWidevineMedia - insufficient data: %d", (int)bytesRead);
|
||||
return false;
|
||||
}
|
||||
ssize_t kSniffSize = 128 * 1024;
|
||||
char *buffer = new char[kSniffSize];
|
||||
bool result = false;
|
||||
|
||||
setenv("WV_SILENT", "true", 1);
|
||||
bool result = WV_IsWidevineMedia(buffer, sizeof(buffer));
|
||||
if (buffer) {
|
||||
ssize_t bytesRead = dataSource->readAt(0, buffer, kSniffSize);
|
||||
if (bytesRead < kSniffSize) {
|
||||
ALOGV("IsWidevineMedia - insufficient data: %d", (int)bytesRead);
|
||||
} else {
|
||||
setenv("WV_SILENT", "true", 1);
|
||||
result = WV_IsWidevineMedia(buffer, kSniffSize);
|
||||
}
|
||||
delete[] buffer;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user