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) {
|
bool IsWidevineMedia(const sp<DataSource>& dataSource) {
|
||||||
char buffer[64 * 1024];
|
|
||||||
|
|
||||||
String8 uri = dataSource->getUri();
|
String8 uri = dataSource->getUri();
|
||||||
if (uri.getPathExtension() == ".m3u8" || uri.find(".m3u8?") != -1) {
|
if (uri.getPathExtension() == ".m3u8" || uri.find(".m3u8?") != -1) {
|
||||||
// can't sniff live streams - check for .m3u8 file extension
|
// can't sniff live streams - check for .m3u8 file extension
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
ssize_t bytesRead = dataSource->readAt(0, buffer, sizeof(buffer));
|
ssize_t kSniffSize = 128 * 1024;
|
||||||
if (bytesRead < (ssize_t)sizeof(buffer)) {
|
char *buffer = new char[kSniffSize];
|
||||||
ALOGV("IsWidevineMedia - insufficient data: %d", (int)bytesRead);
|
bool result = false;
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
setenv("WV_SILENT", "true", 1);
|
if (buffer) {
|
||||||
bool result = WV_IsWidevineMedia(buffer, sizeof(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;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user