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

1181 Коммитов

Автор SHA1 Сообщение Дата
Jan-Ivar Bruaroey 4dc294148a Bug 1487431 - Fix typo in mediasource test_FrameSelection_mp4.html to make last two tests work. r=bryce
Differential Revision: https://phabricator.services.mozilla.com/D4798

--HG--
extra : moz-landing-system : lando
2018-08-31 20:38:59 +00:00
Jean-Yves Avenard b66c9b2ac1 Bug 1481166 - Enable SourceBuffer.changeType by default. r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D2770
2018-08-07 22:46:14 +02:00
Jean-Yves Avenard 5e17996c2a Bug 1481397 - P1. Properly recalculate highest start timestamp when samples are removed. r=bryce
Summary: When removing frames from the trackbuffer we may remove frames outside the original removal interval as we must remove all frames depending on the removed frames.

Differential Revision: https://phabricator.services.mozilla.com/D2837
2018-08-07 22:46:14 +02:00
Jean-Yves Avenard d7eb320e7a Bug 1476975 - P3. Fix canPlayType/isTypeSupported for AV1 content. r=dminor
AV1 support is behind a pref, as such, the result of canPlayType should depends on the value of that pref.

Additionally to this change we remove AOMDecoder::IsSupportedCodec as it implied confusion on what a codec mimetype is. There are two type of codec mimetype: the one describing the container content ("av1") and the one describing the codec itself "video/av1")
AOMDecoder shouldn't know anything about containers (e.g. mp4 or webm)

--HG--
extra : rebase_source : 72ebe662f76fb6c9d8be1f753890601aac440061
2018-07-20 10:24:56 +02:00
Noemi Erli 76fe049448 Backed out 3 changesets (bug 1476975) for mochitest failures on test_can_play_type_webm.html
Backed out changeset 91585d095420 (bug 1476975)
Backed out changeset 798f4894ffd5 (bug 1476975)
Backed out changeset b5377ceef34f (bug 1476975)
2018-07-20 21:27:01 +03:00
Jean-Yves Avenard 4d4b32ccf8 Bug 1476975 - P3. Fix canPlayType/isTypeSupported for AV1 content. r=dminor
AV1 support is behind a pref, as such, the result of canPlayType should depends on the value of that pref.

Additionally to this change we remove AOMDecoder::IsSupportedCodec as it implied confusion on what a codec mimetype is. There are two type of codec mimetype: the one describing the container content ("av1") and the one describing the codec itself "video/av1")
AOMDecoder shouldn't know anything about containers (e.g. mp4 or webm)
2018-07-20 19:04:46 +02:00
Jean-Yves Avenard a867c82f1e Bug 1409664 - P27. Don't disable webm container for MSE::isTypeSupported when MediaCapabilities is enabled. r=bryce
Summary:
MediaCapabilities provide a finer detail on VP9 being supported or not. YouTube will use that information to determine which resolutions to support when using VP9

Depends on D1772

Reviewers: bryce

Tags: #secure-revision

Bug #: 1409664

Differential Revision: https://phabricator.services.mozilla.com/D1794
2018-07-03 11:45:27 -07:00
Jean-Yves Avenard d586f6f943 Bug 1409664 - P9. Remove AutoTaskQueue and its use r=bryce
Summary:
TaskQueue no longer requires an explicit call to BeginShutdown() as such we no longer have a need for AutoTaskQueue.

Depends on D1621

Tags: #secure-revision

Bug #: 1409664

Differential Revision: https://phabricator.services.mozilla.com/D1622
2018-07-03 11:45:19 -07:00
Bryce Van Dyk 7928956283 Bug 1450952 - If TrackBuffersManager is sent the same init segment, reuse same StreamID. r=jya
Some MSE streams will resend the same init segment. In these cases we can treat
the following data as belonging to the already existing stream. We do this by
reusing the same stream id. This stops us tearing down and restarting decoders
in these cases.  This has the benefit of stopping us introducing gaps to audio
and/or video.

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

--HG--
extra : moz-landing-system : lando
2018-06-29 07:33:23 +00:00
Jeff Gilbert 5b753da289 Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot
MozReview-Commit-ID: JtTcLL5OPF0
2018-06-26 17:05:01 -07:00
Jean-Yves Avenard 507a82e41c Bug 1470944 - Don't attempt to create a new demuxer upon changeType call r=bryce
Re-creating a new demuxer is fine, provided that the SourceBufferResource exists. However, a resource is only created upon receiving an init segment.

The segment following a call to changeType() must be an init segment, will let the demuxer creation occurs there.

Differential Revision: https://phabricator.services.mozilla.com/D1812
2018-06-25 19:13:13 +00:00
Jean-Yves Avenard 9ae6b235d5 Bug 1470814 - Update SourceBuffer.changeType behaviour. r=bryce
Follow current WICG https://github.com/WICG/media-source/tree/codec-switching as of revision f2ed457

The difference with the current spec can be seen with:
https://services.w3.org/htmldiff?doc1=https%3A%2F%2Fraw.githubusercontent.com%2FWICG%2Fmedia-source%2F9bb87ae9566f0db3d646b648e7370bdac97349ae%2Findex.html&doc2=https%3A%2F%2Fraw.githubusercontent.com%2FWICG%2Fmedia-source%2Fcodec-switching%2Findex.html

Differential Revision: https://phabricator.services.mozilla.com/D1810
2018-06-25 19:07:16 +00:00
Jean-Yves Avenard 1597386a00 Bug 1466606 - P2. Re-use code to determine NextGetSample index. r=bryce
Previous commit added SetNextGetSampleIndexIfNeeded, let's re-use it for GetSample.
We continue to have an exception code as it caters for the most common code path, which is we retrieve one sample after the other.

MozReview-Commit-ID: HOQ53qwZj7w

--HG--
extra : rebase_source : cc9bc0b41a7085d28554f7ed764a18decfea327d
2018-06-06 21:47:52 +02:00
Jean-Yves Avenard 3da25ab8e6 Bug 1466606 - P1. Calculate the current GetSample index when needed. r=bryce
The assumption that when calling GetNextRandomAccessPoint the next GetSample index would always be known was incorrect. It assumed that the call to GetNextRandomAccessPoint would always be preceded by a call to GetSample.
This is not always how the MediaSourceDemuxer called it.

MozReview-Commit-ID: H1MyPpDEytk

--HG--
extra : rebase_source : 07f70ee87ae5084016a094c564382090a3045e94
2018-06-06 15:14:24 +02:00
Jean-Yves Avenard b48f26ad93 Bug 1466606 - Revert "Add diagnostic code.". r=bryce
This reverts commit 4c1f90791492fc441cc600f66ff2d36c7910e905

MozReview-Commit-ID: KbMWKE08vT8

--HG--
extra : rebase_source : c3db78ddf82684475a63acd75de0180a9c66b6cb
2018-06-06 14:12:25 +02:00
Jan-Ivar Bruaroey 9d549a104e Bug 1467018 - Remove callback argument from fetchWithXHR() and once() helpers. r=bryce
MozReview-Commit-ID: DJDqKN9Opn3

--HG--
extra : rebase_source : c5dd2175398c3f5c9e5a3d6c8fb3e8868be4ce19
2018-05-25 11:25:45 -04:00
Jean-Yves Avenard 37ecd2740d Bug 1466606 - Add diagnostic code. r=bryce
Temporary diagnostic code to help determine what the problem might be.

MozReview-Commit-ID: D5Dm32aZ1Ia

--HG--
extra : rebase_source : ba0955c2b880823986277919f05a32e9095b14fa
2018-06-05 13:48:59 +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
Bryce Van Dyk c9d6056854 Bug 1465409 - Change lint rules for mediasource tests to prefer no spaces for array notation. r=jya
Change rules so we enforce ["foo", "bar"] rather than [ "foo", "bar" ].

MozReview-Commit-ID: KX6wJd8jmeJ

--HG--
extra : rebase_source : 6800cf4e701a33f246418e0deb35a206af8104f4
2018-05-30 08:18:54 -04:00
Jan-Ivar Bruaroey 4439872dc0 Bug 1462990 - Use async/await in mediasource mochitests r=bryce
MozReview-Commit-ID: AIr8CLyuGb7

--HG--
extra : rebase_source : 2136b7faccc24da6b163b0edf908a198136a7638
2018-05-21 16:40:13 -04:00
Jan-Ivar Bruaroey 5017b2c432 Bug 1462990 - Use async/await in mediasource/test/mediasource.js r=bryce,jya
MozReview-Commit-ID: BnQ30DnY4mB

--HG--
extra : rebase_source : fd89494f1f5946a9b8505456ab9761d3cc1914fa
2018-05-18 10:26:11 -04:00
Jean-Yves Avenard aa3feebecc Bug 1451149 - P2. Don't fire the "stalled" event when using MSE. r=bryce
When using a media element with a Media Source, the resource fetching algorithm is to be called in "local" mode:
https://www.w3.org/TR/media-source/#mediasource-attach
"Continue the resource fetch algorithm by running the remaining "Otherwise (mode is local)" steps, with these clarifications"

https://html.spec.whatwg.org/multipage/media.html#concept-media-load-resource
Under the local mode, the steps that would cause the element to fire suspend, stalled or progress can never occur.
We only prevent the stalled event to be fired, many websites rely on the progress event to be fired (such as when the init segment has been parsed). The HTML5 media spec will be amended to clearly indicate that progress is to be fired even with mediasource

MozReview-Commit-ID: DkoQzoV0JzO

--HG--
extra : rebase_source : 1e916eee50c9935f168797bb5a92052191cda59d
2018-05-14 11:32:09 +02:00
Bryce Van Dyk d74241d1f7 Bug 1461785 - Update dom/media/mediasource/test to abide eslint rules, add .eslintrc.js. r=jya,standard8
Add .eslintrc.js to configure globals from mediasource.js and to add extra
rules to encourage use of let and const over var.

Linting changes:
- Prefer const and let to var. This provides tighter scoping and avoids
  reassignment.
- Mozilla rules do not allow for shadowing of variables, so several tests have
  had promise lists renamed to avoid this.
- Numerous minor fixes to formatting including using double quotes, spacing,
  missing semicolons.
- Remove some unused variables.
- Arrays have spaces after opening braces and before closing braces, e.g.
  [ "foo" ], this is to be consistent with our clang-format rules.
- Fix naming of resourcePathSeen in test_MediaSource_memory_reporting.html.

MozReview-Commit-ID: 5q6oS7EWLTk

--HG--
extra : rebase_source : 9b67b294f338ca9205b52fded3af63e6c3ac9a5a
2018-05-14 10:08:59 -04:00
Jean-Yves Avenard 559fa1a1f2 Bug 1280613 - P3. Mochitests. r=bryce
MozReview-Commit-ID: 5FIe9qfNZWd

--HG--
extra : rebase_source : b8f0a01abeba4dc4356f933a29ed0595fc9884c4
2018-05-11 09:01:25 +02:00
Jean-Yves Avenard 756284d1ab Bug 1280613 - P2. Add experimental SourceBuffer.removeAsync. r=bz
The aim of those changes is to be incubated in the WICG.

MozReview-Commit-ID: K93xiTod6tw

--HG--
extra : rebase_source : 788122a69b6cab96bab9c2ae6e8cdf7c61d4ed07
2018-05-11 04:07:24 +02:00
Jean-Yves Avenard 6039ae5766 Bug 1280613 - P1. Add experimental SourceBuffer.appendBufferAsync. r=bz
The aim of those changes is to be incubated in the WICG.

MozReview-Commit-ID: 5wEUnWz8i7kBug 1280613

--HG--
extra : rebase_source : 4360d2c34025bf3c87fff49f0e2aa01975fff15b
2018-05-11 03:56:50 +02:00
Jean-Yves Avenard 97cad9b3dd Bug 1456743 - P4. Actual implementation of SourceBuffer.changeType. r=bryce
Currently, the new init segment provided following a call to changeType() must contain the same number of audio and video tracks as previously.

The Chrome team has indicated concerns in regards to this restriction. TBD.

MozReview-Commit-ID: 3S6YVtQILF9

--HG--
extra : rebase_source : 59574301d8d4b6f04fc40a97a0917222f1d42fe4
2018-04-30 19:16:31 +02:00
Jean-Yves Avenard 5616b876de Bug 1456743 - P3. Add SourceBuffer.changeType experimental method. r=bryce,bz
Non functional code.

SourceBuffer.changeType allows to reconfigure a sourceBuffer so that a new codec type or new container format can be fed later.

The new code is placed behind the media.mediasource.experimental.enabled pref.

MozReview-Commit-ID: 5wj6J4uzLbA

--HG--
extra : rebase_source : b6f57246e0a4c856f6365bb0c8ec8d759a770105
2018-04-30 19:13:15 +02:00
Jean-Yves Avenard e3a0fefdd0 Bug 1456743 - P1. Create mochitest for new SourceBuffer::changeType. r=bryce
MozReview-Commit-ID: 6X8rVMhVY98

--HG--
extra : rebase_source : 52acce9508ce98c43eef6a7500355fa2465c5fe7
2018-04-30 18:59:34 +02:00
Nicholas Nethercote 51f2b494ea Bug 1448222 - Remove MediaPrefs. r=jya
This patch converts all the prefs in MediaPrefs to the new StaticPrefs system.

Note that the "media.wmf.skip-blacklist" pref was present in both MediaPrefs
and gfxPrefs. The copy in MediaPrefs was never used; this explains why this
patch does not add an entry for it to StaticPrefList.h.

Note also that the patch removes themedia.rust.mp4parser pref, because it's
unused.

MozReview-Commit-ID: IfHP37NbIjY

--HG--
extra : rebase_source : df84ea813b7c366d7be663c696891325610149c8
2018-03-20 09:48:56 +11:00
Videet 01ad0f3438 Bug 547707: replaced hardcoded strings by definitions in nsMimeTypes.h r=gerald
MozReview-Commit-ID: 6f85pRUe8Tg

--HG--
extra : rebase_source : f41797530bf9211f3fe875a5da860132f5bd2c7c
2018-03-06 17:43:57 +01:00
Miko Mynttinen 280cf13e36 Bug 1441779 - Part 1: Change nsTArray<SourceBufferTask> to nsTArray<RefPtr<SourceBufferTask>> r=gerald
MozReview-Commit-ID: 8lV4Pp9p7Ch

--HG--
extra : rebase_source : b149b6ed15f88b9ee8af8ec553a57a8ccec3dafd
2018-03-01 11:55:18 +01: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
Jean-Yves Avenard b8cd152890 Bug 1425904 - Make the monitor refcounted. r=gerald
To prevent another heap allocation, we re-use the TaskQueue internal monitor.
As a TaskQueue is refcounted, and the MozPromise::Then() holds a reference to the taskqueue, it ensures that the monitor isn't immediately destroyed when Await() execution unwinds.
Instead it will live until either the lambda or Await() completes, whichever comes last.

MozReview-Commit-ID: EeG6LLAiiyp

--HG--
extra : rebase_source : c5872733c0444737682632dd10d8844c44c4d429
2017-12-19 11:11:23 +01:00
Jean-Yves Avenard 998881b06e Bug 1404997 - P24. Make AutoTaskQueue deliver runnables to nsIEventTarget. r=gerald
Similar to bug 1300118 for TaskQueue.

MozReview-Commit-ID: 8jIifvs2r4U

--HG--
extra : rebase_source : f1c8ab791fa853c4d69cfb8791a418654a5d4142
2017-12-15 18:14:02 +01:00
Jean-Yves Avenard ec469fdddc Bug 1425608 - Don't delete AutoTaskQueue::mTaskQueue on the main thread. r=gerald
MozReview-Commit-ID: I2R4OYB0Jyc

--HG--
extra : rebase_source : 1b8c1caffef91b5888b04b336bd20a74df6711a1
2017-12-16 00:46:49 +01:00
JW Wang 4b584fc48b Bug 1424973. P2 - remove unused MediaDecoder::IsLiveStream() and friends. r=bechen,gerald
MozReview-Commit-ID: Hf3QAFoq97x

--HG--
extra : rebase_source : 0cbfaaec37dea3ab0ab4ad0622bae8056e383ec0
extra : intermediate-source : b591e2e854d0c480f889aa6ebe87f4892ffc0cdc
extra : source : 13db1fcd03825077382e41235c02d1f8ecc5edf2
2017-12-06 16:24:31 +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
Sylvestre Ledru 9bfe27d903 Bug 1394734 - Replace CONFIG['GNU_C*'] by CONFIG['CC_TYPE'] r=glandium
MozReview-Commit-ID: 7duJk2gSd4m

--HG--
extra : rebase_source : 7312fe276e561e8c034a5f6749774ae812727f9c
2017-12-07 22:09:15 +01: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
Chris Pearce fb207e4f8a Bug 1422662 - Move BaseMediaResource::Close() into MediaResource class. r=jwwang
For the project to export Gecko's media stack and import it into Servo,
I need a way to shutdown an abstract MediaResource. So I'd like to move
BaseMediaResource::Close() up into MediaResource class.

MozReview-Commit-ID: 9JmxJPs02PN

--HG--
extra : rebase_source : e61cc1a3a79b3e4ca7e9fa86a602e6e26044e247
2017-12-04 16:29:35 +13: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
Fernando Jimenez 29f504c683 Bug 1421343 - MediaSourceDecoder uses SourceBuffer without including its header. r=cpearce
MozReview-Commit-ID: 3hnmMwzp1xH

--HG--
extra : rebase_source : 98dbebb34f84bb6922efc729411dc52e8584abb1
2017-11-29 09:00:53 +01:00
Margareta Eliza Balazs 112b2cef30 Merge mozilla-central to mozilla-autoland. r=merge a=merge CLOSED TREE 2017-11-20 11:47:28 +02:00
Fernando Jimenez Moreno 4fa89640c0 Bug 1418244 - Add missing headers to MSE SourceBufferResource and TrackBuffersManager. r=cpearce 2017-11-19 15:30:30 -05:00
Alfredo.Yang be0c9536ec Bug 1417795 - remove mp4_demuxer namespace part5. r=kinetik
MozReview-Commit-ID: Fo5p3kPyxAR

--HG--
rename : dom/media/mp4/Stream.h => dom/media/mp4/ByteStream.h
rename : dom/media/mp4/Interval.h => dom/media/mp4/MP4Interval.h
extra : rebase_source : b937a231ef0280ad03195cf98b15ecd080a20f49
2017-11-17 14:30:09 +08:00
Alfredo.Yang d6a0eb9d74 Bug 1417795 - remove mp4_demuxer namespace part3. r=kinetik
MozReview-Commit-ID: 9fM2VjY4Ckk

--HG--
extra : rebase_source : 24d971d44e1d9bd8b1589b4b542d792f75df376d
2017-11-17 08:53:25 +08:00