mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-28 07:13:20 +00:00
Bug 1398102 - canPlayType should return 'maybe' if the codec parameter is empty. r=gerald
MozReview-Commit-ID: BmzIUOuaTj9 --HG-- extra : rebase_source : 530b713cf259920b65181d9459323f5f14bae39e
This commit is contained in:
parent
650dd7945a
commit
ae3bc947af
@ -4647,6 +4647,17 @@ HTMLMediaElement::GetCanPlay(const nsAString& aType,
|
||||
// demuxer can handle VP9 in fragmented MP4.
|
||||
return CANPLAY_NO;
|
||||
}
|
||||
if (status == CANPLAY_YES &&
|
||||
(*containerType).ExtendedType().Codecs().IsEmpty()) {
|
||||
// Per spec: 'Generally, a user agent should never return "probably" for a
|
||||
// type that allows the `codecs` parameter if that parameter is not present.'
|
||||
// As all our currently-supported types allow for `codecs`, we can do this
|
||||
// check here.
|
||||
// TODO: Instead, missing `codecs` should be checked in each decoder's
|
||||
// `IsSupportedType` call from `CanHandleCodecsType()`.
|
||||
// See bug 1399023.
|
||||
return CANPLAY_MAYBE;
|
||||
}
|
||||
return status;
|
||||
}
|
||||
|
||||
@ -4664,10 +4675,12 @@ HTMLMediaElement::CanPlayType(const nsAString& aType, nsAString& aResult)
|
||||
case CANPLAY_YES:
|
||||
aResult.AssignLiteral("probably");
|
||||
break;
|
||||
default:
|
||||
case CANPLAY_MAYBE:
|
||||
aResult.AssignLiteral("maybe");
|
||||
break;
|
||||
default:
|
||||
MOZ_ASSERT_UNREACHABLE("Unexpected case.");
|
||||
break;
|
||||
}
|
||||
|
||||
LOG(LogLevel::Debug, ("%p CanPlayType(%s) = \"%s\"", this,
|
||||
|
@ -1,10 +1,5 @@
|
||||
[canPlayType.html]
|
||||
type: testharness
|
||||
[audio/mp4 (optional)]
|
||||
expected:
|
||||
if not debug and (os == "win") and (version == "5.1.2600") and (processor == "x86") and (bits == 32): FAIL
|
||||
if debug and (os == "win") and (version == "5.1.2600") and (processor == "x86") and (bits == 32): FAIL
|
||||
|
||||
[audio/mp4; codecs="mp4a.40.2" (optional)]
|
||||
expected:
|
||||
if not debug and (os == "win") and (version == "5.1.2600") and (processor == "x86") and (bits == 32): FAIL
|
||||
@ -19,11 +14,6 @@
|
||||
[video/3gpp; codecs="mp4v.20.8" (optional)]
|
||||
expected: FAIL
|
||||
|
||||
[video/mp4 (optional)]
|
||||
expected:
|
||||
if not debug and (os == "win") and (version == "5.1.2600") and (processor == "x86") and (bits == 32): FAIL
|
||||
if debug and (os == "win") and (version == "5.1.2600") and (processor == "x86") and (bits == 32): FAIL
|
||||
|
||||
[video/mp4; codecs="mp4a.40.2" (optional)]
|
||||
expected:
|
||||
if not debug and (os == "win") and (version == "5.1.2600") and (processor == "x86") and (bits == 32): FAIL
|
||||
|
Loading…
Reference in New Issue
Block a user