mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-09 03:15:11 +00:00
Bug 1314533: [MSE] P4. Reject invalid webm block. r=gerald
An invalid webm block at this stage is either a non init segment or non media segment. MozReview-Commit-ID: 46NrhCwqas1 --HG-- extra : rebase_source : b5be124fc0789cfe0fe757c5fb83f18a769a8bd4
This commit is contained in:
parent
5c340b140f
commit
a7ef8c33da
@ -140,12 +140,14 @@ public:
|
||||
// 0x1654ae6b // -> One or more Tracks
|
||||
|
||||
// 0x1a45dfa3 // EBML
|
||||
if (aData->Length() >= 4 &&
|
||||
(*aData)[0] == 0x1a && (*aData)[1] == 0x45 && (*aData)[2] == 0xdf &&
|
||||
if (aData->Length() < 4) {
|
||||
return NS_ERROR_NOT_AVAILABLE;
|
||||
}
|
||||
if ((*aData)[0] == 0x1a && (*aData)[1] == 0x45 && (*aData)[2] == 0xdf &&
|
||||
(*aData)[3] == 0xa3) {
|
||||
return NS_OK;
|
||||
}
|
||||
return NS_ERROR_NOT_AVAILABLE;
|
||||
return MediaResult(NS_ERROR_FAILURE, RESULT_DETAIL("Invalid webm content"));
|
||||
}
|
||||
|
||||
MediaResult IsMediaSegmentPresent(MediaByteBuffer* aData) override
|
||||
@ -163,18 +165,19 @@ public:
|
||||
// 0x1654ae6b // -> One or more Tracks
|
||||
|
||||
// 0x1f43b675 // Cluster
|
||||
if (aData->Length() >= 4 &&
|
||||
(*aData)[0] == 0x1f && (*aData)[1] == 0x43 && (*aData)[2] == 0xb6 &&
|
||||
if (aData->Length() < 4) {
|
||||
return NS_ERROR_NOT_AVAILABLE;
|
||||
}
|
||||
if ((*aData)[0] == 0x1f && (*aData)[1] == 0x43 && (*aData)[2] == 0xb6 &&
|
||||
(*aData)[3] == 0x75) {
|
||||
return NS_OK;
|
||||
}
|
||||
// 0x1c53bb6b // Cues
|
||||
if (aData->Length() >= 4 &&
|
||||
(*aData)[0] == 0x1c && (*aData)[1] == 0x53 && (*aData)[2] == 0xbb &&
|
||||
if ((*aData)[0] == 0x1c && (*aData)[1] == 0x53 && (*aData)[2] == 0xbb &&
|
||||
(*aData)[3] == 0x6b) {
|
||||
return NS_OK;
|
||||
}
|
||||
return NS_ERROR_NOT_AVAILABLE;
|
||||
return MediaResult(NS_ERROR_FAILURE, RESULT_DETAIL("Invalid webm content"));
|
||||
}
|
||||
|
||||
bool ParseStartAndEndTimestamps(MediaByteBuffer* aData,
|
||||
|
Loading…
Reference in New Issue
Block a user