23582 Commits

Author SHA1 Message Date
Karl Tomlinson
c31f234d93 Bug 1414444 add testcase as crashtest r=kinetik
Testcase from Tyson Smith <twsmith@mozilla.com>

Depends on D187170

Differential Revision: https://phabricator.services.mozilla.com/D187171
2023-09-27 05:44:57 +00:00
Narcis Beleuzu
58364b15c1 Backed out 13 changesets (bug 1849392) for bustages on H265.cpp . CLOSED TREE
Backed out changeset ac66e2bcca55 (bug 1849392)
Backed out changeset 5475dec733c8 (bug 1849392)
Backed out changeset 32372b5168bb (bug 1849392)
Backed out changeset 6d63595259a6 (bug 1849392)
Backed out changeset 964525d6e1bc (bug 1849392)
Backed out changeset 01468d397f36 (bug 1849392)
Backed out changeset 96b92ca61513 (bug 1849392)
Backed out changeset be955353ed52 (bug 1849392)
Backed out changeset ec67796e3b7e (bug 1849392)
Backed out changeset 4f300622b67d (bug 1849392)
Backed out changeset b73e017ef519 (bug 1849392)
Backed out changeset 5705cf9fe887 (bug 1849392)
Backed out changeset 41e14e0eadcd (bug 1849392)
2023-09-27 01:33:00 +03:00
Karl Tomlinson
a8b476c700 Bug 1414444 include existing Sample count in Moof::mIndex.SetCapacity() r=kinetik
so that AppendElement() always succeeds, as expected.

A single Moof can parse multiple truns.

The comment is removed because I'd prefer to keep mIndex as a FallibleTArray
to remind anyone changing the code to keep allocations fallible.

Differential Revision: https://phabricator.services.mozilla.com/D187172
2023-09-26 21:27:16 +00:00
alwu
96b773daa1 Bug 1849392 - part13 : HEVC support should only happen on the MFCDM process. r=media-playback-reviewers,padenot
HEVC is a special experimental feature now it's only avaliable in the
MFCDM process. We don't want to incorrectly report hevc support for
other processes, which would cause wrong result for some APIs relying
on that information, eg. media capabilities.

Differential Revision: https://phabricator.services.mozilla.com/D188143
2023-09-26 21:20:15 +00:00
alwu
88d7b2345b Bug 1849392 - part12 : change HVCCConfig members' name in order to match the name in the spec. r=media-playback-reviewers,padenot
Differential Revision: https://phabricator.services.mozilla.com/D187929
2023-09-26 21:20:14 +00:00
alwu
b314f05475 Bug 1849392 - part11 : add HEVC playback test. r=media-playback-reviewers,padenot
As currently we only supports HEVC via the media engine playback,
HEVC can only be played on wmfme (media engine test task). On other
platforms and test tasks, this test will be terminated eariler without
running the playback part.

Differential Revision: https://phabricator.services.mozilla.com/D187815
2023-09-26 21:20:14 +00:00
alwu
b76e98f1ff Bug 1849392 - part10 : add HEVC EME support. r=jolin
Differential Revision: https://phabricator.services.mozilla.com/D187310
2023-09-26 21:20:14 +00:00
alwu
d79cf945eb Bug 1849392 - part9 : support HEVC in MP4Decoder. r=media-playback-reviewers,padenot
This change will make `DecoderTraits::CanHandleContainerType()` add
`video/hevc` into track info. Then we can query this type to see whether
any decoder module supports this type.

By doing so, any API uses that function to query support information
would be able to return correct status for HEVC support.

eg. `HTMLMediaElement::CanPlayType()` and `MediaSource::IsTypeSupprt()`.

Differential Revision: https://phabricator.services.mozilla.com/D187309
2023-09-26 21:20:13 +00:00
alwu
ae47e39689 Bug 1849392 - part8 : add H265 media change monitor to convert samples from HVCC to AnnexB. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D186572
2023-09-26 21:20:13 +00:00
alwu
3b7ef9cb63 Bug 1849392 - part7 : convert HVCC sample into AnnexB format. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D187307
2023-09-26 21:20:12 +00:00
alwu
7217db291c Bug 1849392 - part6 : add HEVC to MediaCodecsSupport. r=azebrowski
Differential Revision: https://phabricator.services.mozilla.com/D186571
2023-09-26 21:20:12 +00:00
alwu
3b9697d12b Bug 1849392 - part5 : fix incorrect span size. r=media-playback-reviewers,padenot
Asan build captured this error [1] when converting extra data into
annexB.

[1] https://treeherder.mozilla.org/logviewer?job_id=429064217&repo=try&lineNumber=12472

Differential Revision: https://phabricator.services.mozilla.com/D188304
2023-09-26 21:20:12 +00:00
alwu
44e0bdbf9c Bug 1849392 - part4 : add HEVC support in the media engine. r=jolin
Differential Revision: https://phabricator.services.mozilla.com/D186570
2023-09-26 21:20:11 +00:00
alwu
bb443aa516 Bug 1849392 - part3 : add method to check whether mime type is HEVC and let Mp4 Demuxer know about that. r=media-playback-reviewers,padenot
Differential Revision: https://phabricator.services.mozilla.com/D186569
2023-09-26 21:20:11 +00:00
alwu
68dfba70a1 Bug 1849392 - part2 : decode H265 SPS from HVCC extradata. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D187159
2023-09-26 21:20:10 +00:00
alwu
7125b62990 Bug 1849392 - part1 : support converting HVCC extradata to AnnexB. r=chunmin
Differential Revision: https://phabricator.services.mozilla.com/D187016
2023-09-26 21:20:10 +00:00
Karl Tomlinson
756c1b879f Bug 1171441 remove unused CancelAllEvents() r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D188938
2023-09-26 21:13:47 +00:00
Dan Baker
48dbdfc3cd Bug 1855213 - Enable ulpfec/red pref for test.r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D189273
2023-09-26 20:54:59 +00:00
Paul Adenot
310f2406b1 Bug 1854224 - Play the media resource explicitly in 1830206.html. r=karlt
"preload"" is 'none' by default on Android, so `"canplay"` doesn't fire. It's
best to call `play()` explicitly.

Differential Revision: https://phabricator.services.mozilla.com/D189134
2023-09-26 11:59:48 +00:00
Karl Tomlinson
7b989ccaef Bug 1414444 skip an invalid complete moof r=kinetik
and don't advance decode time for complete truns in the incomple moof, the
samples of which already did not contribute to mTimeRange and were not
gap-filled.

Differential Revision: https://phabricator.services.mozilla.com/D187170
2023-09-26 09:14:43 +00:00
Mike Hommey
29b09df481 Bug 1853840 - Move sandboxed soundtouch out of libxul and reenable sandbox. r=firefox-build-system-reviewers,shravanrn,media-playback-reviewers,padenot,ahochheiden
Differential Revision: https://phabricator.services.mozilla.com/D188648
2023-09-26 04:08:10 +00:00
Iulian Moraru
db7c8b8cad Backed out changeset 56443a56b418 (bug 1853840) for causing build bustages related to SoundTouch.wasm. CLOSED TREE 2023-09-26 02:44:26 +03:00
Glenn Watson
f10a62a723 Bug 1849680 - Add support for masks on opaque compositor surfaces. r=gfx-reviewers,lsalzman
CLOSED TREE

Differential Revision: https://phabricator.services.mozilla.com/D188155
2023-09-25 23:11:23 +00:00
Cosmin Sabou
1a00bbd859 Backed out changeset d3828ca7337d (bug 1849680) for causing android bustages on underlay.yaml. 2023-09-26 02:04:05 +03:00
Glenn Watson
ba49bf562c Bug 1849680 - Add support for masks on opaque compositor surfaces r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D188155
2023-09-25 21:28:33 +00:00
Mike Hommey
a980e9cd4f Bug 1853840 - Move sandboxed soundtouch out of libxul and reenable sandbox. r=firefox-build-system-reviewers,shravanrn,media-playback-reviewers,padenot,ahochheiden
Differential Revision: https://phabricator.services.mozilla.com/D188648
2023-09-25 20:43:38 +00:00
Iulian Moraru
c8cba7bbad Backed out changeset 0cca5d3b5a43 (bug 1849680) for causing wrench build bustages. CLOSED TREE 2023-09-25 23:38:09 +03:00
Glenn Watson
f0ab8716b3 Bug 1849680 - Add support for masks on opaque compositor surfaces r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D188155
2023-09-25 19:58:48 +00:00
alwu
eb53caaf6c Bug 1848561 - initialize mCDMProxy with nullptr. r=media-playback-reviewers,aosmond
Differential Revision: https://phabricator.services.mozilla.com/D189151
2023-09-25 19:08:05 +00:00
Dan Baker
8752177d4c Bug 1852837 - Removing ULPFEC/RED from answer if no other codecs negotiated.r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D189032
2023-09-25 18:00:21 +00:00
Dan Baker
03c0e1461f Bug 1852837 - Updating tests to support enabling of ulpfec/red for video.r=ng
Depends on D188053

Differential Revision: https://phabricator.services.mozilla.com/D189031
2023-09-25 18:00:21 +00:00
alwu
c11c4aa75d Bug 1854453 - add 'media-gpu' variant to run media tests on the gpu worker. r=ci-and-tooling,jmaher
Differential Revision: https://phabricator.services.mozilla.com/D189026
2023-09-25 16:33:59 +00:00
Michael Froman
690a9e089f Bug 1854463 - prep_repo.sh - use the error message from verify_vendoring.sh r=dbaker DONTBUILD
Depends on D188881

Differential Revision: https://phabricator.services.mozilla.com/D188882
2023-09-25 15:15:02 +00:00
Michael Froman
28b8281d42 Bug 1854463 - verify_vendoring.sh - better detection of last patch-stack update. r=dbaker DONTBUILD
Depends on D188880

Differential Revision: https://phabricator.services.mozilla.com/D188881
2023-09-25 15:15:02 +00:00
Michael Froman
fabfecdc28 Bug 1854463 - loop-ff.sh - skip startup sanity checks when saving patch-stack. r=dbaker DONTBUILD
Depends on D188879

Differential Revision: https://phabricator.services.mozilla.com/D188880
2023-09-25 15:15:01 +00:00
Michael Froman
288b4e1040 Bug 1854463 - save_patch_stack.py - add sanity checks at startup. r=dbaker DONTBUILD
- check for clean mercurial repo
- check for pre-exiting github repo
- make sure the patch-stack passes verify_vendoring.sh
- add flag to skip startup sanity checks for scripts like loop-ff.sh
  that already verify sanity.

Depends on D188878

Differential Revision: https://phabricator.services.mozilla.com/D188879
2023-09-25 15:15:01 +00:00
Michael Froman
87ac36f402 Bug 1854463 - run_operations.py - only print stderr if capture_output is true for run_shell command. r=dbaker DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D188878
2023-09-25 15:15:00 +00:00
Karl Tomlinson
e49259ab16 Bug 1171441 use simple AudioEventTimeline value when it has a suitable single event r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D188944
2023-09-23 08:14:47 +00:00
Karl Tomlinson
ccb194715b Bug 1171441 move end time and value functions to AudioTimelineEvent r=padenot
so that they can be used outside of GetValuesAtTimeHelperInternal() in a
subsequent patch.

Depends on D188942

Differential Revision: https://phabricator.services.mozilla.com/D188943
2023-09-23 01:43:35 +00:00
Karl Tomlinson
c2dd67a3a4 Bug 1171441 use double type for end time of event r=padenot
This retains some double precision from mDuration instead of truncating
mDuration.

Event start times are already rounded to ticks, so perhaps the end time could
be also, but that would require some care with end time out of range of
int64_t.  These uses always have a subsequent event and so the end time would
not be out of range.

Changes in rendering are expected to be minor.

Depends on D188941

Differential Revision: https://phabricator.services.mozilla.com/D188942
2023-09-23 00:25:21 +00:00
Karl Tomlinson
424c488827 Bug 1171441 clarify distinction between start and end time of event r=padenot
Depends on D188940

Differential Revision: https://phabricator.services.mozilla.com/D188941
2023-09-23 00:25:20 +00:00
Karl Tomlinson
bd01b957bb Bug 1171441 unify handling of no next event and ignored next event r=padenot
Depends on D188939

Differential Revision: https://phabricator.services.mozilla.com/D188940
2023-09-22 23:36:23 +00:00
Karl Tomlinson
7952efe638 Bug 1171441 rename AudioEventTimeline::mValue to mDefaultValue r=padenot
mSetValue might be a more accurate name right now, but this will be the
default value when bug 1308435 is fixed.  Its purpose will be to record the
value to return when there are no events, including when events have been
removed.

Differential Revision: https://phabricator.services.mozilla.com/D188939
2023-09-22 23:36:22 +00:00
Tom Marble
a99a113414 Bug 1853244 - convert .ini manifests to .toml: batch 6 {caps,devtools,dom}/**/browser.ini r=jmaher,media-playback-reviewers,devtools-reviewers,profiler-reviewers,alwu,nchevobbe,canaltinova
Differential Revision: https://phabricator.services.mozilla.com/D188856
2023-09-22 20:42:14 +00:00
Byron Campen
e4410798c8 Bug 1850882: Update glean for setParameters. r=jib,webrtc-reviewers
Includes renewing metrics except the ones related to stale transaction
ID warnings, since this is almost never happening in the field. We keep
the metric for stale transaction ID errors, and stop letting this
mistake slide.

Differential Revision: https://phabricator.services.mozilla.com/D187289
2023-09-22 14:51:23 +00:00
Karl Tomlinson
efd7c74970 Bug 1688721 use time of SetTarget start value to determine when to update the value r=padenot
Previously, mSetTargetStartValue may have already been set for a different
event than what it is used with in CleanUpEventsOlderThan().

Differential Revision: https://phabricator.services.mozilla.com/D188575
2023-09-22 00:16:28 +00:00
Andrew Osmond
100e56e28e Bug 1854431 - Extract surface format from GPUVideoImage for VideoFrame. r=media-playback-reviewers,chunmin
This patch allows us to extract a VideoPixelFormat for a VideoFrame when
backed by a GPUVideoImage. This in turn is used by SurfaceFromVideoFrame
for canvas drawing. With a concrete surface format, we can avoid
readbacks with WebGL in particular and dramatically improve performance
in existing demos.

Differential Revision: https://phabricator.services.mozilla.com/D188853
2023-09-21 23:45:16 +00:00
alwu
0df92e43e0 Bug 1853989 - enable MSE tests for wmfme. r=media-playback-reviewers,aosmond
Differential Revision: https://phabricator.services.mozilla.com/D188869
2023-09-21 19:37:38 +00:00
Karl Tomlinson
6317f43bd5 Bug 1688721 introduce AudioTimelineEvent::TimeUnion type r=padenot
This will also be used for a variable in AudioEventTimeline in a subsequent
patch.

Differential Revision: https://phabricator.services.mozilla.com/D188574
2023-09-21 19:23:30 +00:00
Sandor Molnar
1b54d27c73 Backed out changeset f1af22cbe130 (bug 1688721) for causing build bustages on dom/media/webaudio/AudioEventTimeline.h CLOSED TREE 2023-09-21 12:15:08 +03:00