Граф коммитов

611 Коммитов

Автор SHA1 Сообщение Дата
Tarek Ziadé 446d5cdff7 Bug 1542674 - Make Media debug info machine parsable r=padenot,smaug
This patch structurizes the media debug information via webidl dictionaries
that are returned by HTMLMediaElement::GetMozRequestDebugInfo() and
MediaSource::GetMozDebugReaderData().

Differential Revision: https://phabricator.services.mozilla.com/D27893

--HG--
extra : moz-landing-system : lando
2019-05-06 16:39:58 +00:00
Emilio Cobos Álvarez 11ea945833 Bug 1546697 - Use a consistent style for enum classes in layout. r=dholbert
Per the discussion in:

  https://groups.google.com/d/msg/mozilla.dev.platform/P79pwa9z5m8/iPYPAWPHCAAJ

They should be CamelCase, and that's what most of them already do. This converts
the rest, which are a few.

For the ones that already used `e` or `k` prefixes, I've mostly done:

 for file in $(rg Type::e layout | cut -d : -f 1 | sort | uniq); do sed -i 's#Type::e#Type::#g' $file; done

For the ones that used uppercase, I've removed the prefix if it was already in
the type name, and turn them into CamelCase.

Depends on D28680

Differential Revision: https://phabricator.services.mozilla.com/D28681

--HG--
extra : moz-landing-system : lando
2019-04-25 23:03:04 +00:00
Andreas Pehrson 1e4382f9fb Bug 1544650 - Always pre-create MediaStreamTracks for DecodedStream in MediaDecoder. r=padenot
This moves the responsibility for creating MediaStreamTracks from
DecodedStream::Start to MediaDecoder. This let's MediaDecoder create them as
soon as metadata is known. This gives the application guarantees on when tracks
can be expected to exist, and aligns with the spec that says they should be
created when metadata is known.

Differential Revision: https://phabricator.services.mozilla.com/D28473

--HG--
extra : moz-landing-system : lando
2019-04-23 16:46:30 +00:00
Mike Conley 44acc929a5 Bug 1521964 - Don't suspend the video decoder when cloning a video visually. r=jya
Differential Revision: https://phabricator.services.mozilla.com/D20674

--HG--
extra : moz-landing-system : lando
2019-03-01 22:36:53 +00:00
Jean-Yves Avenard 66ba3c52f7 Bug 1530918 - Use TimeUnit when seeking. r=bryce
Differential Revision: https://phabricator.services.mozilla.com/D21320

--HG--
extra : moz-landing-system : lando
2019-02-27 13:12:08 +00:00
Ehsan Akhgari e5e885ae31 Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre
# ignore-this-changeset

--HG--
extra : amend_source : 7221c8d15a765df71171099468e7c7faa648f37c
extra : histedit_source : a0cce6015636202bff09e35a13f72e03257a7695
2019-01-18 10:16:18 +01:00
Emilio Cobos Álvarez d2ed260822 Bug 1517241 - Rename nsIDocument to mozilla::dom::Document. r=smaug
Summary: Really sorry for the size of the patch. It's mostly automatic
s/nsIDocument/Document/ but I had to fix up in a bunch of places manually to
add the right namespacing and such.

Overall it's not a very interesting patch I think.

nsDocument.cpp turns into Document.cpp, nsIDocument.h into Document.h and
nsIDocumentInlines.h into DocumentInlines.h.

I also changed a bunch of nsCOMPtr usage to RefPtr, but not all of it.

While fixing up some of the bits I also removed some unneeded OwnerDoc() null
checks and such, but I didn't do anything riskier than that.
2019-01-03 17:48:33 +01:00
alwu 16fe01f1fd Bug 1511235 - part2 : add test. r=jya,baku
Add new webidl method for testing only and a test.

Differential Revision: https://phabricator.services.mozilla.com/D13805

--HG--
extra : moz-landing-system : lando
2018-12-20 20:01:46 +00:00
alwu 41df7a6715 Bug 1511235 - part1 : suspend video decoding for video whose visibility state is UNTRACK. r=jya
If video has not been within the potential visible range (which is larger than viewport) yet, its visibility state won't
be updated and would stay in 'UNTRACK'. As those kinds of video are still invisible to users, we don't need to decode
any video frames, we can suspend their video decoding until they're going to be visible.

Differential Revision: https://phabricator.services.mozilla.com/D13804

--HG--
extra : moz-landing-system : lando
2018-12-20 20:02:24 +00:00
John Lin 9abf52aa0f Bug 1511607 - don't suspend background video decoding for unseekable media. r=jya
Differential Revision: https://phabricator.services.mozilla.com/D14821

--HG--
extra : moz-landing-system : lando
2018-12-18 19:46:16 +00:00
Jean-Yves Avenard 1eaf0bea3e Bug 1443429 - P4. Ensure MediaShutdownManager is initialized outside stable state. r=pehrsons
Differential Revision: https://phabricator.services.mozilla.com/D14283

--HG--
extra : moz-landing-system : lando
2018-12-13 20:06:03 +00:00
Cosmin Sabou 0bedc24aae Backed out 2 changesets (bug 1511235) for causing bugs 1513454, 1513456 as alwu requested on irc. a=backout
Backed out changeset 4c9f874d6868 (bug 1511235)
Backed out changeset 3432e8bee7f1 (bug 1511235)
2018-12-13 03:43:36 +02:00
alwu aba79e9edc Bug 1511235 - part2 : add test. r=jya,baku
Add new webidl method for testing only and a test.

Differential Revision: https://phabricator.services.mozilla.com/D13805

--HG--
extra : moz-landing-system : lando
2018-12-12 02:16:55 +00:00
alwu 7b4432b505 Bug 1511235 - part1 : suspend video decoding for video whose visibility state is UNTRACK. r=jya
If video has not been within the potential visible range (which is larger than viewport) yet, its visibility state won't
be updated and would stay in 'UNTRACK'. As those kinds of video are still invisible to users, we don't need to decode
any video frames, we can suspend their video decoding until they're going to be visible.

Differential Revision: https://phabricator.services.mozilla.com/D13804

--HG--
extra : moz-landing-system : lando
2018-12-10 18:21:13 +00:00
Sylvestre Ledru 265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Andreas Pehrson 4213b7db86 Bug 1423241 - Refactor DecodedStream. r=jya
This removes DecodedStream's use of MediaStreamListener in favor of
MediaStreamTrackListener. This change has however rippled through to a lot
more cleanup, per below.

This moves the MediaStreamTrack lifetime ownership for captured
HTMLMediaElements from the media element to DecodedStream, where the
MediaStreamGraph-side tracks are already created and ended today.

This makes MediaStreamTrack creation explicit across the entire codebase and
lets us remove the MediaStreamTrackSourceGetter class and the infrastructure
of adding MediaStreamTracks after they've already been created in the graph
from DOMMediaStream.

With track ownership, and thus TrackID allocation ownership, happening
exclusively in DecodedStream for its output tracks, we also stop throwing
away and recreating the SourceMediaStream to which we feed data on seek.
This is one step closer to fixing bug 1172394 and spec compliance of
HTMLMediaElement.captureStream().

Differential Revision: https://phabricator.services.mozilla.com/D12273

--HG--
extra : moz-landing-system : lando
2018-11-23 15:02:03 +00:00
alwu ff3d8a3510 Bug 1499903 - part3 : change 'mLogicallySeeking' to Watchable r=chunmin
Nobody is mirroring to 'mLogicallySeeking', so we can just use Watchable instead.

Differential Revision: https://phabricator.services.mozilla.com/D9642

--HG--
extra : moz-landing-system : lando
2018-11-23 05:07:45 +00:00
alwu 42c302ff20 Bug 1499903 - part1 : correct the events order when we're in the seamless looping. r=chunmin
When the media which has `loop` attribute is playing to the end, the spec mentions that media should do seek to the start position [1].

During seeking, the dispatched events order [2] for MediaElement should be
1. seeking
2. timeupdate
3. seeked

[1] https://html.spec.whatwg.org/multipage/media.html#playing-the-media-resource:attr-media-loop-2
[2] https://html.spec.whatwg.org/multipage/media.html#seeking:dom-media-seek

Differential Revision: https://phabricator.services.mozilla.com/D9324

--HG--
extra : moz-landing-system : lando
2018-11-23 05:23:48 +00:00
Nathan Froyd b0bda317b7 Bug 1507922 - make ownership of MetadataTags more clear in the ogg code; r=gerald,jya
Use UniquePtr for return types, so it's obvious who has ownership.
2018-11-20 10:10:31 -05:00
Tarek Ziadé 63637ef222 Bug 1497124 - Added some memory info in the performance counters - r=jya,jonco
Add some memory usage information to the Performance counters and make everything asynchronous.

Differential Revision: https://phabricator.services.mozilla.com/D7984

--HG--
extra : moz-landing-system : lando
2018-11-19 22:51:12 +00:00
Sylvestre Ledru 804b8b8883 Bug 1204606 - Reformat of dom/media r=jya
# skip-blame

Differential Revision: https://phabricator.services.mozilla.com/D12251

--HG--
extra : moz-landing-system : lando
2018-11-19 13:25:37 +00:00
Jean-Yves Avenard 5f69f9479d Bug 1507093 - P2. Ensure that when returning from NotifyXPCOMShutdown we don't UAF. r=gerald
Differential Revision: https://phabricator.services.mozilla.com/D11858

--HG--
extra : moz-landing-system : lando
2018-11-15 12:48:02 +00:00
Dorel Luca 0a1112ab71 Backed out 3 changesets (bug 1499903) for frequently asserting at dom/media/MediaDecoderStateMachine.cpp
Backed out changeset 634b4c2dad35 (bug 1499903)
Backed out changeset 1a77eb131a2b (bug 1499903)
Backed out changeset ed4236eceb1a (bug 1499903)
2018-11-07 05:40:07 +02:00
alwu 20219eb9f9 Bug 1499903 - part3 : change 'mLogicallySeeking' to Watchable r=chunmin
Nobody is mirroring to 'mLogicallySeeking', so we can just use Watchable instead.

Differential Revision: https://phabricator.services.mozilla.com/D9642

--HG--
extra : moz-landing-system : lando
2018-11-06 22:00:11 +00:00
alwu 0c4634255b Bug 1499903 - part1 : correct the events order when we're in the seamless looping. r=chunmin
When the media which has `loop` attribute is playing to the end, the spec mentions that media should do seek to the start position [1].

During seeking, the dispatched events order [2] for MediaElement should be
1. seeking
2. timeupdate
3. seeked

[1] https://html.spec.whatwg.org/multipage/media.html#playing-the-media-resource:attr-media-loop-2
[2] https://html.spec.whatwg.org/multipage/media.html#seeking:dom-media-seek

Differential Revision: https://phabricator.services.mozilla.com/D9324

--HG--
extra : moz-landing-system : lando
2018-11-06 16:55:38 +00:00
Bogdan Tara 4119f6ad2e Backed out 3 changesets (bug 1499903) for causing bug 1502637 CLOSED TREE
Backed out changeset 3c7165875616 (bug 1499903)
Backed out changeset 106752b77131 (bug 1499903)
Backed out changeset 3f6d3c425b42 (bug 1499903)
2018-10-29 23:32:50 +02:00
alwu e9771aeaa5 Bug 1499903 - part3 : change 'mLogicallySeeking' to Watchable r=chunmin
Nobody is mirroring to 'mLogicallySeeking', so we can just use Watchable instead.

Differential Revision: https://phabricator.services.mozilla.com/D9642

--HG--
extra : moz-landing-system : lando
2018-10-25 17:44:38 +00:00
alwu b0a8a872f6 Bug 1499903 - part1 : correct the events order when we're in the seamless looping. r=chunmin
When the media which has `loop` attribute is playing to the end, the spec mentions that media should do seek to the start position [1].

During seeking, the dispatched events order [2] for MediaElement should be
1. seeking
2. timeupdate
3. seeked

[1] https://html.spec.whatwg.org/multipage/media.html#playing-the-media-resource:attr-media-loop-2
[2] https://html.spec.whatwg.org/multipage/media.html#seeking:dom-media-seek

Differential Revision: https://phabricator.services.mozilla.com/D9324

--HG--
extra : moz-landing-system : lando
2018-10-26 23:21:00 +00:00
Alex Chronopoulos 6e1c6f8946 Bug 934425 - Implement asynchronous method to switch sink in MediaDecoder. r=pehrsons
Differential Revision: https://phabricator.services.mozilla.com/D5872

--HG--
extra : moz-landing-system : lando
2018-10-12 08:44:47 +00:00
Jean-Yves Avenard 11e8a29e1f Bug 1481176 - P4. Make CanHandleMediaType usable off the main thread. r=bryce
This is done by ensuring that all methods is called are usable off the main thread and creating the required preference accessors.

Differential Revision: https://phabricator.services.mozilla.com/D2790
2018-08-07 19:21:59 +02:00
Andreas Pehrson 6c6e70fcbc Bug 1453127 - Ensure TrackID uniqueness for captured MediaDecoder. r=jya 2018-05-29 10:21:51 +02:00
Emilio Cobos Álvarez fffb25b74f Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj
This was done automatically replacing:

  s/mozilla::Move/std::move/
  s/ Move(/ std::move(/
  s/(Move(/(std::move(/

Removing the 'using mozilla::Move;' lines.

And then with a few manual fixups, see the bug for the split series..

MozReview-Commit-ID: Jxze3adipUh
2018-06-01 10:45:27 +02:00
Jean-Yves Avenard 7c6fc40c1a Bug 1458566 - Make MediaDecoder::Play() return void. r=bryce
MediaDecoder::Play() cannot fail and was always returning NS_OK

MozReview-Commit-ID: 7OgwZQw569Y

--HG--
extra : rebase_source : 907f6304df42640ccd03e8d144fe89cd748eec07
2018-05-02 17:27:27 +02:00
Jean-Yves Avenard 1e4866d526 Bug 1457960 - P1. make MediaDecoder::Seek returns void. r=bryce
MozReview-Commit-ID: 2pbZprnYqcF

--HG--
extra : rebase_source : b6c521f65be5fb17d7d33b7ed86eb044d4cdfa9f
2018-04-30 19:58:11 +02:00
Chris Pearce 1cfc65da51 Bug 1392747 - Backed out changeset 6524c2d721db. r=backout
The logging added in this patch was landed to help debug very rare shutdown
failures on android, but the logging runs on other platforms and is annoying.
No one is looking at fixing the rare shutdown problem on Android. So remove the
logging until fixing the shutdown failure becomes a priority.
2018-02-20 15:54:00 +13:00
JW Wang d201fcefe3 Bug 1427931. P1 - remove MediaDecoder::PinForSeek/UnpinForSeek. r=bechen,gerald
PinForSeek() is called only when playback reaches the end. In other words,
it is not called for most cases of seeking. It should be OK not to call it at
all during seeking.

MozReview-Commit-ID: 1xXX1321bO7

--HG--
extra : rebase_source : df8ba3f59da2a337b456546af4b54abaddfe38a9
extra : intermediate-source : 0a70419f9ce639ac0784a0632db4598d6be511f8
extra : source : bfddad9b922386c91fcfa7657a7ac274991d15f4
2017-12-19 17:56:52 +08:00
JW Wang 79b5f2dd2e Bug 1425996 - fix build error: unused variable 'rv'. r=gerald
MozReview-Commit-ID: 7MhsSWbxB3z

--HG--
extra : rebase_source : 81207a1e5b663314295f2f95afd4b726ffe8f12d
2017-12-21 12:12:42 +08:00
JW Wang bb45ff010e Bug 1424973. P1 - propagate 'IsLiveStream' changes to MDSM in MediaDecoder subclasses. r=bechen,gerald
MozReview-Commit-ID: 8wSZf7pRERP

--HG--
extra : rebase_source : c2bea725064f5ad2e1cd1de1b8b9c19994bad89b
extra : intermediate-source : 54da627350d8a6276f9ad5d14a7191cb05957901
extra : source : dc582401401272df3150fb639bdf0ad05d749a06
2017-12-06 16:00:20 +08:00
Gerald Squelart c5aeab4f69 Bug 1407810 - Use DDMOZ_LOG in media stack - r=jwwang
Mostly-mechanical replacement of MOZ_LOG with DDMOZ_LOG, usually just removing
the class name and `this` pointer (as they are already implicitly recorded).
Some files needed a bit more work when logging was done from helper classes or
static functions.

MozReview-Commit-ID: IeJJmzYqWMQ

--HG--
extra : rebase_source : 94200838dcdaf6c3bda9de30042ce2d307237eef
2017-10-13 16:31:59 +11:00
Gerald Squelart 1b357db99b Bug 1407810 - Use DDLogger in media stack - r=jwwang
Mostly-mechanical additions:
- Log constructions&destructions, usually by just inheriting from
  DecoderDoctorLifeLogger, otherwise with explicit log commands (for internal
  classes for which DecoderDoctorTraits can't be specialized),
- Log links between most objects, e.g.: Media element -> decoder -> state
  machine -> reader -> demuxer -> resource, etc.

And logging some important properties and events (JS events, duration change,
frames being decoded, etc.)

More will be added later on, from just converting MOZ_LOGs, and as needed.

MozReview-Commit-ID: KgNhHSz35t0

--HG--
extra : rebase_source : dd7206e350e32671adc6f3b9e54ebf777251de2c
2017-10-10 17:55:27 +11:00
Gurzau Raul f5f1c3f294 Merge inbound to mozilla-central r=merge a=merge 2017-12-06 11:53:55 +02:00
Chris Pearce 06046a7100 Bug 1423372 - Remove some unnecessary includes and fix unified build problems. r=jwwang
MozReview-Commit-ID: 7DgtGJQvgp7

--HG--
extra : rebase_source : 297baab1fd84e5302a5f90096e2bbe3bd5fbb20f
2017-12-06 11:36:50 +13:00
Chris Pearce 4d4bf4593d Bug 1423372 - Move MediaDecoder::BackgroundVideoDecodingPermissionObserver to its own file. r=jwwang
This class contains a bunch of Gecko DOM specific stuff, and it would make
keeping the copy of MediaDecoder in Servo up to date easier if the Gecko
DOM stuff wasn't in MediaDecoder (and the other classes we import).

MozReview-Commit-ID: 3dP1nrQ7sT3

--HG--
extra : rebase_source : 79040a8d3cff6ac946b20a99d68e57630ec60848
2017-12-06 11:22:36 +13:00
Nicolas Silva 02d0cd83e9 Bug 1419255 - Add a Proxy KnowsCompositor implementation that can be used off the main thread. r=sotaro 2017-12-05 11:56:20 +01:00
JW Wang 2f2083875c Bug 1422677. P2 - remove the side effect of MediaDecoder::CanPlayThrough(). r=bechen,gerald
We calculate 'canplaythrough' in ChannelMediaDecoder::DownloadProgressed() and
send updates to MDSM.

MozReview-Commit-ID: KAeDciPAUKs

--HG--
extra : rebase_source : 64d7705fb5ca6b1003664ac313ad1ae0ab1bbea6
2017-12-01 14:34:58 +08:00
John Lin 33546f8acf Bug 1392747 - add debug message to trace media shutdown process. r=jwwang
MozReview-Commit-ID: LL19lxlSJem

--HG--
extra : rebase_source : 57ace04484fd3c4f9687e0f79745249358edf56b
2017-11-29 16:28:11 +08:00
JW Wang d6c2016780 Bug 1421179. P2 - mPlaybackStatistics should accumulate bytes as playback position progresses. r=bechen,gerald
The original code accumulates bytes as the underlying decoder moves on which is wrong.

MozReview-Commit-ID: 72hTwOHwKRh

--HG--
extra : rebase_source : 68b62543314c7ecc823473a8dbf14e17d2a6eb7b
2017-12-01 11:26:03 +08:00
JW Wang 73e80931ea Bug 1421179. P1 - associate data with playback events published by MDSM. r=bechen,gerald
This is required for we want to associate playback offset with the
PlaybackStarted/PlaybackStopped events.

MozReview-Commit-ID: JkRhC2QE7kr

--HG--
extra : rebase_source : c5f637f2e5849565acb5b91364537f1724ce7d5f
2017-12-01 10:33:44 +08:00
JW Wang 855a4bc6c4 Bug 1421875. P3 - remove MediaDecoder::DownloadProgressed() which is basically a one-line call to GetOwner()->DownloadProgressed(). r=bechen,gerald
Also devirtualize ChannelMediaDecoder::DownloadProgressed() and move it to private.

MozReview-Commit-ID: ITv3ISRbN5t

--HG--
extra : rebase_source : aa75bc11fc1a4af8df15db9224928b1f02267b80
2017-11-30 11:21:14 +08:00
JW Wang 7c3304f247 Bug 1421875. P2 - move MediaDecoder::NotifyDataArrived() down the class hierarchy. r=bechen,gerald
For it is never used by ChannelMediaDecoder.

MozReview-Commit-ID: Jtvlj0iwTm7

--HG--
extra : rebase_source : 8582486e0403cf78366adfdc0c11fab42fedb1c9
2017-11-30 11:07:13 +08:00