searching for reviewer(jya)
a42883570179df05abcb02a686bc21ff0fbfa0b5: Bug 1550633 - part15 : return error when we failed to create channel. r=jya
alwu <alwu@mozilla.com> - Wed, 22 May 2019 22:22:54 +0000 - rev 475148
Push 113193 by dvarga@mozilla.com at Thu, 23 May 2019 16:04:39 +0000
Bug 1550633 - part15 : return error when we failed to create channel. r=jya The channel might not be created correctly if we pass invaild url (eg. "invalid://url"), we should handle this error. Differential Revision: https://phabricator.services.mozilla.com/D32038
97f61668f78c8fdbc31555413d8794c2a305033a: Bug 1550633 - part13.6 - refactor tests. r=jya
alwu <alwu@mozilla.com> - Thu, 23 May 2019 00:13:12 +0000 - rev 475146
Push 113193 by dvarga@mozilla.com at Thu, 23 May 2019 16:04:39 +0000
Bug 1550633 - part13.6 - refactor tests. r=jya Refactor those tests' structure in order to make them more readable, and add the comment to show what the test purpose is for each test. Differential Revision: https://phabricator.services.mozilla.com/D31914
e22ef6f848aae7358645b4f51f3de4e68175255f: Bug 1550633 - part13.5 - wait text track element's 'load' event. r=jya
alwu <alwu@mozilla.com> - Tue, 21 May 2019 13:42:20 +0000 - rev 475145
Push 113193 by dvarga@mozilla.com at Thu, 23 May 2019 16:04:39 +0000
Bug 1550633 - part13.5 - wait text track element's 'load' event. r=jya This patch do two things in order to trigger loading for track element and wait for correct event to check track's and cues' status after loading finished. (1) listen track element's load event There are some tests listening video's loadedmetadata, but it's wrong. The loading process of media element and track element are completely non-related. If you would like to check track element's status, you should wait for track element's load event. (2) enable track explictly If the text track which has default attribute is added to the media element before the media element starts running automatic track selection [1], then it would be enable by the media element. Otherwise, you have to enable track explicitly by changing its track mode. [1] https://html.spec.whatwg.org/multipage/media.html#sourcing-out-of-band-text-tracks:text-track-7 Differential Revision: https://phabricator.services.mozilla.com/D31913
22213d6f047c9ad832129eab2058d9522181ce42: Bug 1550633 - part13.4 : don't use anonymous function. r=jya
alwu <alwu@mozilla.com> - Tue, 21 May 2019 13:40:55 +0000 - rev 475144
Push 113193 by dvarga@mozilla.com at Thu, 23 May 2019 16:04:39 +0000
Bug 1550633 - part13.4 : don't use anonymous function. r=jya Use named function for callback to reduce the indentation. Differential Revision: https://phabricator.services.mozilla.com/D31912
27e03b1957181eccc4792349b89b347e2d5b8644: Bug 1550633 - part13.3 - create elements in HTML, not in JS. r=jya
alwu <alwu@mozilla.com> - Tue, 21 May 2019 13:40:51 +0000 - rev 475143
Push 113193 by dvarga@mozilla.com at Thu, 23 May 2019 16:04:39 +0000
Bug 1550633 - part13.3 - create elements in HTML, not in JS. r=jya Create test elements in HTML beforehand, which can remove unnecessary JS code and make test cleaner. Differential Revision: https://phabricator.services.mozilla.com/D31911
9a5e3e6b8c2134b7c4909410f77669aba19d7c12: Bug 1550633 - part13.2 - no need to set pref "media.webvtt.regions.enabled". r=jya
alwu <alwu@mozilla.com> - Tue, 21 May 2019 13:40:44 +0000 - rev 475142
Push 113193 by dvarga@mozilla.com at Thu, 23 May 2019 16:04:39 +0000
Bug 1550633 - part13.2 - no need to set pref "media.webvtt.regions.enabled". r=jya These tests didn't use region at all, so we have no need to set the pref. Differential Revision: https://phabricator.services.mozilla.com/D31910
d338d667dcbd5131117a9a93bcbf804e873184a4: Bug 1550633 - part13.1 - remove unnecessary elements. r=jya
alwu <alwu@mozilla.com> - Tue, 21 May 2019 13:37:54 +0000 - rev 475141
Push 113193 by dvarga@mozilla.com at Thu, 23 May 2019 16:04:39 +0000
Bug 1550633 - part13.1 - remove unnecessary elements. r=jya These elemenets are useless and we can run tests without them. Differential Revision: https://phabricator.services.mozilla.com/D31909
abc099f50543d4549a559fe38b91b3ca6ee0e461: Bug 1550633 - part12 : enable wpts. r=jya
alwu <alwu@mozilla.com> - Thu, 23 May 2019 05:31:29 +0000 - rev 475140
Push 113193 by dvarga@mozilla.com at Thu, 23 May 2019 16:04:39 +0000
Bug 1550633 - part12 : enable wpts. r=jya Differential Revision: https://phabricator.services.mozilla.com/D31561
ed0f76cca0d9305e748ca30f3f31600ba39f332e: Bug 1550633 - part11.1 - modify 'track-element-src-change-error.html'. r=jya
alwu <alwu@mozilla.com> - Wed, 22 May 2019 22:23:50 +0000 - rev 475139
Push 113193 by dvarga@mozilla.com at Thu, 23 May 2019 16:04:39 +0000
Bug 1550633 - part11.1 - modify 'track-element-src-change-error.html'. r=jya According to spec [1], if the track URL changes so that it is no longer equal to URL while fetching is ongoing, we need to change the text track readiness state to`failed to load` and dispatch `error`. So we now only fire `error` if `src` is removed during loading, but if the track element has finished loading before removing `src`, we won't dispatch `error` for it. [1] https://html.spec.whatwg.org/multipage/media.html#sourcing-out-of-band-text-tracks:text-track-failed-to-load-3 Differential Revision: https://phabricator.services.mozilla.com/D31915
4b193e156faa8010b9c4385a6bff6ebf1be5e3e0: Bug 1550633 - part11 : modify wpt 'track-element-src-change.html' and 'track-element-src-change-error.html'. r=jya
alwu <alwu@mozilla.com> - Tue, 21 May 2019 00:25:41 +0000 - rev 475138
Push 113193 by dvarga@mozilla.com at Thu, 23 May 2019 16:04:39 +0000
Bug 1550633 - part11 : modify wpt 'track-element-src-change.html' and 'track-element-src-change-error.html'. r=jya According to the spec [1], the text track list of cues is initially empty. It is dynamically modified when the referenced file is parsed. Therefore, after reset the track element's url, the number of cues of the text track should be zero, until we start parsing resource and add cue into the list. [1] https://html.spec.whatwg.org/multipage/media.html#sourcing-out-of-band-text-tracks:text-track-list-of-cues https://html.spec.whatwg.org/multipage/media.html#sourcing-out-of-band-text-tracks:text-track-list-of-cues-3 Differential Revision: https://phabricator.services.mozilla.com/D31560
fefc8d667b9cd366d055bcf54fd28b2ef8b6f76e: Bug 1550633 - part10 : automatically capture and print the address of track element in debug log and add new log. r=jya
alwu <alwu@mozilla.com> - Mon, 20 May 2019 09:38:08 +0000 - rev 475137
Push 113193 by dvarga@mozilla.com at Thu, 23 May 2019 16:04:39 +0000
Bug 1550633 - part10 : automatically capture and print the address of track element in debug log and add new log. r=jya To reduce non-neccesary input, we can always capture `this` and print the address in the log, and use same log level for all of them. Differential Revision: https://phabricator.services.mozilla.com/D31559
e4128df1406b6bf3e08ab91ddebba11f05f95dd9: Bug 1550633 - part9 : capture 'this' in lambda. r=jya
alwu <alwu@mozilla.com> - Mon, 20 May 2019 09:37:44 +0000 - rev 475136
Push 113193 by dvarga@mozilla.com at Thu, 23 May 2019 16:04:39 +0000
Bug 1550633 - part9 : capture 'this' in lambda. r=jya There are too many `self` used in the lambda, we can just capture `this` to remove redudant `self`. Differential Revision: https://phabricator.services.mozilla.com/D31558
9ad7d7b5ef6d872401b87d18c478cd9346500765: Bug 1550633 - part8 : no need to reload if the new url is the same. r=jya
alwu <alwu@mozilla.com> - Wed, 22 May 2019 01:49:35 +0000 - rev 475135
Push 113193 by dvarga@mozilla.com at Thu, 23 May 2019 16:04:39 +0000
Bug 1550633 - part8 : no need to reload if the new url is the same. r=jya Accoding to spec [1], after loading finished, the start the track processing model would stop at step12 and wait until the track URL changes to the URL which is not equal to the URL we have loaded before. That means, if we change track URL to the same URL we loaded before, we won't have to reload the resource. [1] https://html.spec.whatwg.org/multipage/media.html#sourcing-out-of-band-text-tracks:track-url-5 Differential Revision: https://phabricator.services.mozilla.com/D31557
d8fdfd9505bf75d033f22644f70a5de98314c018: Bug 1550633 - part7 : change ready state to 'FAILED_TO_LOAD' and dispatch 'error' event when we have no 'src' or have an empty url. r=jya
alwu <alwu@mozilla.com> - Tue, 21 May 2019 13:37:15 +0000 - rev 475134
Push 113193 by dvarga@mozilla.com at Thu, 23 May 2019 16:04:39 +0000
Bug 1550633 - part7 : change ready state to 'FAILED_TO_LOAD' and dispatch 'error' event when we have no 'src' or have an empty url. r=jya `Failed to load` [1] indicates that the text track was enabled, but when the user agent attempted to obtain it, this failed in some way. According to the spec [2], if fetching fails for any reason (network error, the server returns an error code, CORS fails, etc), or if URL is the empty string, then queue a task to first change the text track readiness state to `failed to load` and then fire an event named `error` at the track element. And spec [3] also mention that, if the track URL changes so that it is no longer equal to URL while fetching is ongoing, we also need to change the text track readiness state to`failed to load` and dispatch `error`. [1] https://html.spec.whatwg.org/multipage/media.html#text-track-readiness-state [2] https://html.spec.whatwg.org/multipage/media.html#sourcing-out-of-band-text-tracks:text-track-failed-to-load [3] https://html.spec.whatwg.org/multipage/media.html#sourcing-out-of-band-text-tracks:text-track-failed-to-load-3 Differential Revision: https://phabricator.services.mozilla.com/D31556
679ce0bdbf18780f08e6481f6aa3b8a9d1c082c1: Bug 1550633 - part6 : clear track's cues list whenever track element's src attribute set, changed or removed. r=jya,baku
alwu <alwu@mozilla.com> - Tue, 21 May 2019 09:21:16 +0000 - rev 475133
Push 113193 by dvarga@mozilla.com at Thu, 23 May 2019 16:04:39 +0000
Bug 1550633 - part6 : clear track's cues list whenever track element's src attribute set, changed or removed. r=jya,baku According to the spec [1], we should empty track's cue list whenever a track element has its src attribute set, changed, or removed. [1] https://html.spec.whatwg.org/multipage/media.html#sourcing-out-of-band-text-tracks:attr-track-src Differential Revision: https://phabricator.services.mozilla.com/D31552
f75c225dc273d5cb7469483e00e2bd4852bb0d7e: Bug 1550633 - part5 : modify and enable test 'track-mode-not-changed-by-new-track.html'. r=jya
alwu <alwu@mozilla.com> - Mon, 20 May 2019 09:33:13 +0000 - rev 475132
Push 113193 by dvarga@mozilla.com at Thu, 23 May 2019 16:04:39 +0000
Bug 1550633 - part5 : modify and enable test 'track-mode-not-changed-by-new-track.html'. r=jya In `honor user preferences for automatic text track selection` [1], we would set `did-perform-automatic-track-selection` flag to true [2], and then we won't execute automatic track selection anymore [3]. It means that we would only do automatic track selection one time, and then user has to enable newly added track explicitly by changing its mode. In this test, we have done the automatic track selection when we added the `metadata` track to media element's text track list, so we won't run it again, even if the newly added track has `default` attribute. Therefore, we have to enable the `caption` track explicitly. In addition, add the missing `event` parameter for the function `trackAdded()`. [1] https://html.spec.whatwg.org/multipage/media.html#honor-user-preferences-for-automatic-text-track-selection [2] https://html.spec.whatwg.org/multipage/media.html#sourcing-out-of-band-text-tracks:did-perform-automatic-track-selection-2 [3] https://html.spec.whatwg.org/multipage/media.html#sourcing-out-of-band-text-tracks:did-perform-automatic-track-selection Differential Revision: https://phabricator.services.mozilla.com/D31375
4c8fd0720cc266faa5c9b0e4150edaec964c09d4: Bug 1550633 - part3 : add debug log to show track's kind. r=jya
alwu <alwu@mozilla.com> - Mon, 20 May 2019 09:30:19 +0000 - rev 475130
Push 113193 by dvarga@mozilla.com at Thu, 23 May 2019 16:04:39 +0000
Bug 1550633 - part3 : add debug log to show track's kind. r=jya Showing track's kind in debug log is helpful. Differential Revision: https://phabricator.services.mozilla.com/D31373
81545b2c0b5894d25d840ea126f930296f1c6aa7: Bug 1550633 - part2 : maybe start loading resource when the track's mode changes. r=jya
alwu <alwu@mozilla.com> - Mon, 20 May 2019 09:30:01 +0000 - rev 475129
Push 113193 by dvarga@mozilla.com at Thu, 23 May 2019 16:04:39 +0000
Bug 1550633 - part2 : maybe start loading resource when the track's mode changes. r=jya According to the spec [1], the user agent must start the track processing model when text track has its text track mode changed. [1] https://html.spec.whatwg.org/multipage/media.html#sourcing-out-of-band-text-tracks:start-the-track-processing-model Differential Revision: https://phabricator.services.mozilla.com/D31372
12fc5abcd066818a5c02368ebe6b4ed27adae35f: Bug 1550633 - part1 : HTMLTrackElement should not load resource when its text track is disable. r=jya
alwu <alwu@mozilla.com> - Mon, 20 May 2019 09:29:38 +0000 - rev 475128
Push 113193 by dvarga@mozilla.com at Thu, 23 May 2019 16:04:39 +0000
Bug 1550633 - part1 : HTMLTrackElement should not load resource when its text track is disable. r=jya According to the spec step2 [1], we should not load resource for the track element which text track is disabled. [1] https://html.spec.whatwg.org/multipage/media.html#start-the-track-processing-model Differential Revision: https://phabricator.services.mozilla.com/D31371
cc3a8d21e2cb0833ee94305ae875d1f4095b06d0: Bug 1553555 - Release RemoteDecoderChild on manager thread in the case of an InitIPDL error. r=jya
Michael Froman <mfroman@mozilla.com> - Wed, 22 May 2019 22:20:27 +0000 - rev 475118
Push 113193 by dvarga@mozilla.com at Thu, 23 May 2019 16:04:39 +0000
Bug 1553555 - Release RemoteDecoderChild on manager thread in the case of an InitIPDL error. r=jya Differential Revision: https://phabricator.services.mozilla.com/D32178
cb68d12e0c5d75d9054c5d54481169875a400c60: Bug 1552354 - resolve video promise when we finish playing the last frame. r=jya
Alastor Wu <alwu@mozilla.com> - Wed, 22 May 2019 22:21:56 +0000 - rev 475089
Push 113193 by dvarga@mozilla.com at Thu, 23 May 2019 16:04:39 +0000
Bug 1552354 - resolve video promise when we finish playing the last frame. r=jya We should resolve video playing promise when we finish playing the last frame. Otherwise, it would cause playback to be ended earlier than its original duration. Differential Revision: https://phabricator.services.mozilla.com/D32051
96306b575252ae9f2914a5ca3c92f84356031a94: Bug 1552712 - Reserve upper bound for capacity of IntervalSet::Intersection(). r=jya
Chris Pearce <cpearce@mozilla.com> - Tue, 21 May 2019 17:09:53 +0000 - rev 474813
Push 113171 by aiakab@mozilla.com at Tue, 21 May 2019 21:56:33 +0000
Bug 1552712 - Reserve upper bound for capacity of IntervalSet::Intersection(). r=jya Previous patch in Bug 1552712 actually didn't set the correct upper bound; it failed to set the upper bound in cases like: intersect({[0,10]}, {[0,1], [2,3], [4,5]}) That's clearly the maximum of the lengths of the array, not the minimum. Differential Revision: https://phabricator.services.mozilla.com/D31946
6d2b52f066bf543dbbcbc3299de5147332392d82: Bug 1552530 - Make the wav dumper in AudioStream.cpp reusable. r=jya
Paul Adenot <paul@paul.cx> - Tue, 21 May 2019 10:10:04 +0000 - rev 474708
Push 113168 by rmaries@mozilla.com at Tue, 21 May 2019 16:39:23 +0000
Bug 1552530 - Make the wav dumper in AudioStream.cpp reusable. r=jya Differential Revision: https://phabricator.services.mozilla.com/D31648
c4045738b0cdb76f1ff2c492c390751147bce62c: Bug 1552530 - Templatize ByteWriter.h to allow writing big or little endian, and fix call sites. r=jya
Paul Adenot <paul@paul.cx> - Tue, 21 May 2019 10:10:04 +0000 - rev 474707
Push 113168 by rmaries@mozilla.com at Tue, 21 May 2019 16:39:23 +0000
Bug 1552530 - Templatize ByteWriter.h to allow writing big or little endian, and fix call sites. r=jya Differential Revision: https://phabricator.services.mozilla.com/D31766
40b9b95aa0e0a199a5510b71c955b0d8ebfdbd58: Bug 1552712 - Reserve capacity in IntervalSet::Intersection(). r=jya
Chris Pearce <cpearce@mozilla.com> - Tue, 21 May 2019 02:09:18 +0000 - rev 474669
Push 113166 by rmaries@mozilla.com at Tue, 21 May 2019 09:53:37 +0000
Bug 1552712 - Reserve capacity in IntervalSet::Intersection(). r=jya Profiling shows we can spend a lot of time in IntervalSet::Intersection(). Much of this time is spent appending elements to a temporary buffer as we loop over the two IntervalSets' arrays comparing them. As we append, the storage of the temporary array is reallocated as the storage must grow to hold more elements. These reallocations are expensive, as we must copy the old elements to the new storage. So before starting the loop, reserve enough capacity to store the upper bound; the minimum of the two IntervalSets' lengths. This may waste memory, but will be faster, as expensive reallocations are avoided. Differential Revision: https://phabricator.services.mozilla.com/D31744
ca560ff55451aafb3dae3f679d09206b120b38eb: Bug 1533625 - Replace assert with early return for mp4 missing IV data. r=jya
Bryce Van Dyk <bvandyk@mozilla.com> - Thu, 16 May 2019 06:40:17 +0000 - rev 474663
Push 113165 by dvarga@mozilla.com at Tue, 21 May 2019 04:23:23 +0000
Bug 1533625 - Replace assert with early return for mp4 missing IV data. r=jya This assert could be triggered with malformed files, so replace it with an early return. Differential Revision: https://phabricator.services.mozilla.com/D30027
b86f55e872014493b2b0534e7d8dd87eeb32acba: Bug 1533625 - Add crashtest for MP4 with missing cenc aux info. r=jya
Bryce Van Dyk <bvandyk@mozilla.com> - Thu, 16 May 2019 05:08:12 +0000 - rev 474662
Push 113165 by dvarga@mozilla.com at Tue, 21 May 2019 04:23:23 +0000
Bug 1533625 - Add crashtest for MP4 with missing cenc aux info. r=jya Mp4s using the 'cenc' encryption scheme should contain auxiliary information containing the initialization vector to be used to decode that sample. However, it's possible for malformed mp4s to contain other relevant crypto information, but to omit this aux info. This adds such a file to our crashtests. Differential Revision: https://phabricator.services.mozilla.com/D30025
7b72fa29c64be23ef4ac7f2373e5622adb48b337: Bug 1552081 - part2. Modify test 'test_webvtt_update_display_after_adding_or_removing_cue.html'. r=jya
Alastor Wu <alwu@mozilla.com> - Fri, 17 May 2019 00:56:27 +0000 - rev 474282
Push 113144 by shindli@mozilla.com at Fri, 17 May 2019 16:44:55 +0000
Bug 1552081 - part2. Modify test 'test_webvtt_update_display_after_adding_or_removing_cue.html'. r=jya Now adding or removing cue would trigger processing cues only when media element's `show-poster` flag is false, so we have to modify the test to reset the flag in order to test the correct behavior. Differential Revision: https://phabricator.services.mozilla.com/D31511
95ccc685eb11f356e7b8c8be9ed2bea601585a4e: Bug 1552081 - part1. Sometimes we should run 'TimeMarchesOn' only when the media element's show poster flag is false. r=jya
Alastor Wu <alwu@mozilla.com> - Fri, 17 May 2019 01:59:34 +0000 - rev 474281
Push 113144 by shindli@mozilla.com at Fri, 17 May 2019 16:44:55 +0000
Bug 1552081 - part1. Sometimes we should run 'TimeMarchesOn' only when the media element's show poster flag is false. r=jya In the following situations, we should only run `TimeMarchesOn` when the media element's `show-poster` flag is false. - add cue : https://html.spec.whatwg.org/multipage/media.html#playing-the-media-resource:time-marches-on-2 - remove cue : https://html.spec.whatwg.org/multipage/media.html#playing-the-media-resource:time-marches-on-3 - track mode changes : https://html.spec.whatwg.org/multipage/media.html#text-track-model:time-marches-on - cue's startTime changes : https://html.spec.whatwg.org/multipage/media.html#text-track-api:time-marches-on - cue's endTime changes : https://html.spec.whatwg.org/multipage/media.html#text-track-api:time-marches-on-2 Differential Revision: https://phabricator.services.mozilla.com/D31376
45d495a1a3a97f659451ce077d17d8e23fba7fb4: Bug 1550585 - no need to check whether media is playing when dispatching 'TimeMarchesOn' and 'UpdateCueDisplay'. r=jya
Alastor Wu <alwu@mozilla.com> - Fri, 17 May 2019 01:12:37 +0000 - rev 474280
Push 113144 by shindli@mozilla.com at Fri, 17 May 2019 16:44:55 +0000
Bug 1550585 - no need to check whether media is playing when dispatching 'TimeMarchesOn' and 'UpdateCueDisplay'. r=jya The spec [1] doesn't mention that we should run `TimeMarchesOn` or `UpdateCueDisplay` only after media starts playing. Removing the checking can help us to render the cue correctly no matter media starts or not. [1] https://html.spec.whatwg.org/multipage/media.html#time-marches-on Differential Revision: https://phabricator.services.mozilla.com/D31504
5ba6d20ec80ad5dcabead733c7bd77df18aa05d7: Bug 1550737 - When shutdown is finished use only a reference of the child. r=jya
Alex Chronopoulos <achronop@gmail.com> - Thu, 16 May 2019 12:59:37 +0000 - rev 474139
Push 113134 by ncsoregi@mozilla.com at Thu, 16 May 2019 22:01:33 +0000
Bug 1550737 - When shutdown is finished use only a reference of the child. r=jya When `RemoteMediaDataDecoder::Shutdown` is finished it is not necessary to hold a reference of the `self` any more. Keep the `mChild` alive, which is the only one needed to destroy the IPDL. In addition to that, deleting the IPDL and destroying the child will be happening at the task queue similar to what was happening before Bug 1545416. Differential Revision: https://phabricator.services.mozilla.com/D31261
d4bbc018fe902044fb90f08b6dc2c0a0d172423d: Bug 1550737 - Make sure we keed strong reference until the end of the method. r=jya.
Alex Chronopoulos <achronop@gmail.com> - Thu, 16 May 2019 14:07:42 +0000 - rev 474138
Push 113134 by ncsoregi@mozilla.com at Thu, 16 May 2019 22:01:33 +0000
Bug 1550737 - Make sure we keed strong reference until the end of the method. r=jya. Instead of deleteing a RefPtr directly copy it in a local variable in order to ensure that the pointer will be alive till the end of the method. In addition to that, on RemoteMediaDataDecpder::Shutdown promise use a reference of the child object instead of the whole `self` object since this is the only one needed. Finally, one style change. Differential Revision: https://phabricator.services.mozilla.com/D30637
126a59b083f619859b308f023bc5c8df49686b3d: Bug 1532495 - part2 : add test 'test_background_video_resume_looping_video_without_audio.html' r=jya
alwu <alwu@mozilla.com> - Thu, 09 May 2019 23:09:44 +0000 - rev 473339
Push 113073 by apavel@mozilla.com at Fri, 10 May 2019 10:12:05 +0000
Bug 1532495 - part2 : add test 'test_background_video_resume_looping_video_without_audio.html' r=jya Add test to to ensure that the looping video (without audio track) which has been suspended can continute to playback correctly after we resume video decoding. Differential Revision: https://phabricator.services.mozilla.com/D30419
5567ad616234db69e9c4aff10805eca281c839ab: Bug 1532495 - part1 : only skip the 'completed' state during seamless looping mode. r=jya
alwu <alwu@mozilla.com> - Thu, 09 May 2019 17:47:52 +0000 - rev 473338
Push 113073 by apavel@mozilla.com at Fri, 10 May 2019 10:12:05 +0000
Bug 1532495 - part1 : only skip the 'completed' state during seamless looping mode. r=jya The normal looping process is that, goes to `completed` state first, notify playback ended, and finally media element would call seek to the start position in order to start looping again. However, if we're in the seamless looping mode, we can stay in `loopingDecoding` state and repeating the looping without going to other states. Otherwise, we should go to `completed` state if decoding has ended. Differential Revision: https://phabricator.services.mozilla.com/D30307
45c3b589ed49c3aa2dab3baf6f8b3c2a513903ec: Bug 1550308 - remove empty wpt ini files. r=jya
alwu <alwu@mozilla.com> - Thu, 09 May 2019 12:22:22 +0000 - rev 473265
Push 113072 by nbeleuzu@mozilla.com at Fri, 10 May 2019 02:59:17 +0000
Bug 1550308 - remove empty wpt ini files. r=jya These ini files are all empty, which didn't include any extra information for testing, so we should remove them. Differential Revision: https://phabricator.services.mozilla.com/D30437
005917cd9f361ea5bebcd9af1000d5799ef724ac: Bug 1548923 - part5 : run `TimeMarchesOn` in correct order r=jya
alwu <alwu@mozilla.com> - Thu, 09 May 2019 01:34:57 +0000 - rev 473261
Push 113072 by nbeleuzu@mozilla.com at Fri, 10 May 2019 02:59:17 +0000
Bug 1548923 - part5 : run `TimeMarchesOn` in correct order r=jya To run `TimeMarchesOn` in correct spec's steps order. Differential Revision: https://phabricator.services.mozilla.com/D30391
c64974ef15b2e1d1b58c8fa5ed16a641179af213: Bug 1548923 - part4 : prevent run `TimeMarchesOn` before media has any data. r=jya
alwu <alwu@mozilla.com> - Thu, 09 May 2019 01:33:36 +0000 - rev 473260
Push 113072 by nbeleuzu@mozilla.com at Fri, 10 May 2019 02:59:17 +0000
Bug 1548923 - part4 : prevent run `TimeMarchesOn` before media has any data. r=jya In patch2, whenever the media element's readyState is changed back to HAVE_NOTHING, we would reset all cues' active flag and update cue display in order to hide them. It also means that we should not set any cue's flag when media element's readyState is `HAVE_NOTHING`, so we should abort the `TimeMarchesOn` in this situation. Differential Revision: https://phabricator.services.mozilla.com/D30390
1a3bb9e678fe8a4d999dbf399d4c3f4d5a1aa6b5: Bug 1548923 - part3 : add test 'test_webvtt_update_display_after_adding_or_removing_cue.html'. r=jya
alwu <alwu@mozilla.com> - Wed, 08 May 2019 17:46:39 +0000 - rev 473259
Push 113072 by nbeleuzu@mozilla.com at Fri, 10 May 2019 02:59:17 +0000
Bug 1548923 - part3 : add test 'test_webvtt_update_display_after_adding_or_removing_cue.html'. r=jya Differential Revision: https://phabricator.services.mozilla.com/D29883
894e0713977b72b7045412e8b70898723a9aacde: Bug 1548923 - part2 : reset cues' active flag when media element's ready state becomes 'HAVE_NOTHING' r=jya
alwu <alwu@mozilla.com> - Wed, 08 May 2019 17:46:39 +0000 - rev 473258
Push 113072 by nbeleuzu@mozilla.com at Fri, 10 May 2019 02:59:17 +0000
Bug 1548923 - part2 : reset cues' active flag when media element's ready state becomes 'HAVE_NOTHING' r=jya According to the spec [1], whenever the media element's readyState is changed back to `HAVE_NOTHING`, we have to reset all cues' active flag and update cue display in order to hide them. [1] https://html.spec.whatwg.org/multipage/media.html#text-track-cue-active-flag Differential Revision: https://phabricator.services.mozilla.com/D30110
667010d35e3418a9b9b2a21086dd411cb931d6e9: Bug 1548923 - part1 : abort 'TimeMarchesOn' algorithm during seeking. r=jya
alwu <alwu@mozilla.com> - Wed, 08 May 2019 17:33:36 +0000 - rev 473257
Push 113072 by nbeleuzu@mozilla.com at Fri, 10 May 2019 02:59:17 +0000
Bug 1548923 - part1 : abort 'TimeMarchesOn' algorithm during seeking. r=jya In the spec [1], it doesn't mention that we should only run `TimeMarchesOn` after media has started. Therefore, we should remove this return condition in order to update cue's state correctly no matter the media starts or not. In addition, according to the spec [2], `TimeMarchesOn` should be executed after seeking completed, we shouldn't not run it during seeking. [1] https://html.spec.whatwg.org/multipage/media.html#time-marches-on [2] https://html.spec.whatwg.org/multipage/media.html#seeking:time-marches-on Differential Revision: https://phabricator.services.mozilla.com/D29882
175f567cd163eb70fd015e585bb0ae74f60c2cfe: Bug 1549642 - handle cue with negative duration. r=jya
alwu <alwu@mozilla.com> - Wed, 08 May 2019 18:09:56 +0000 - rev 473130
Push 113065 by opoprus@mozilla.com at Thu, 09 May 2019 03:46:59 +0000
Bug 1549642 - handle cue with negative duration. r=jya According to the spec [1], the cue's end time might be negative and be smaller than its start time. In this case, when we reach the cue's start on the media time line, we should treat it as a `missing cue` (which won't be actually displayed, but will receive events) when we run the `TimeMarchesOn`. Therefore, we have to add this kind of cue into `otherCue` and let `TimeMarchesOn` handles it properly, to dispatch `enter` and `exit` event for it. [1] https://html.spec.whatwg.org/multipage/media.html#text-track-cue-end-time Differential Revision: https://phabricator.services.mozilla.com/D30242
98918b9e369c5fb7bc421349862c3ffd09b89c8b: Bug 1538023 - Change MDSM::HasLowBufferedData() to consider data buffered after end of decoded data rather than start. r=jya
Chris Pearce <cpearce@mozilla.com> - Wed, 08 May 2019 04:35:32 +0000 - rev 473016
Push 113060 by dvarga@mozilla.com at Wed, 08 May 2019 11:21:39 +0000
Bug 1538023 - Change MDSM::HasLowBufferedData() to consider data buffered after end of decoded data rather than start. r=jya When under pressure, the MediaCache evicts data before the last read on a stream. We typically have two demuxers reading from different offsets in a stream. So if the MediaCache is under pressure, it may end up evicting data between the two demuxers. The MediaDecoderStateMachine currently goes into buffering state if there's insufficient data available beginning at the start of its queue of decoded samples. However since the MediaCache evicts data behind the streams read cursor, the data after the beginning of the sample queue may have already been evicted by the media cache. This will cause the MediaDecoderStateMachine to enter a buffering state, and if its sample queues are full, there will be no demuxers reading to cause the MediaCache to download the data between the two demuxers, and we'll get stuck in buffering state indefinitely. So change the MediaDecoderStateMachine to instead check whether there's insufficient data available at the end of the decoded sample queues. This means we won't get stuck in buffering state. Note the MediaCache may still evict data which the other demuxer needed, causing us to re-request it, but at least we won't get stuck in buffering state. Differential Revision: https://phabricator.services.mozilla.com/D30310
8e38a89a6d652b199a048628d7d1aa633ae930bd: Bug 1538023 - Add support for -Inf to media::TimeUnits. r=jya
Chris Pearce <cpearce@mozilla.com> - Wed, 08 May 2019 06:27:03 +0000 - rev 473015
Push 113060 by dvarga@mozilla.com at Wed, 08 May 2019 11:21:39 +0000
Bug 1538023 - Add support for -Inf to media::TimeUnits. r=jya TimeUnits with a negative infinity value are used in the next patch. Differential Revision: https://phabricator.services.mozilla.com/D30309
8a577f046a209ccc0d955d171882a8deaa74d5c9: Bug 1549628 - enable wpt 'track-add-track.html'. r=jya
alwu <alwu@mozilla.com> - Tue, 07 May 2019 18:16:27 +0000 - rev 472950
Push 113059 by ncsoregi@mozilla.com at Wed, 08 May 2019 03:43:45 +0000
Bug 1549628 - enable wpt 'track-add-track.html'. r=jya Added missing event parameter for the callback function of `onaddtrack`. Differential Revision: https://phabricator.services.mozilla.com/D30143
90ebd256a92b6abfa5a701dfac54b40e45ca3351: Bug 1540573 - p7. Modify CSP tests to use preload=2 on (emulated) cellular connections. r=jya
Chris Pearce <cpearce@mozilla.com> - Mon, 06 May 2019 22:43:18 +0000 - rev 472826
Push 113048 by shindli@mozilla.com at Tue, 07 May 2019 09:56:38 +0000
Bug 1540573 - p7. Modify CSP tests to use preload=2 on (emulated) cellular connections. r=jya The Content Security Policy tests were handling the smaller android preload values that were #defined on Android by setting media.preload.default=2. Now that we're detecting whether we're on cellular or not, and the android emulators that our tests run on emulate a cellular connection, just setting media.preload.default is no longer enough. So set media.preload.default.cellular=2 in the CSP mochitests instead of media.preload.default, to make the CSP mochitests pass in the Android emulators. Differential Revision: https://phabricator.services.mozilla.com/D29617
0d175912734db128b3f4fc4dab37a10997d17852: Bug 1540573 - P6. Use frugal preloading of media data when on cellular, otherwise aggressive. r=jya
Chris Pearce <cpearce@mozilla.com> - Mon, 06 May 2019 22:43:14 +0000 - rev 472825
Push 113048 by shindli@mozilla.com at Tue, 07 May 2019 09:56:38 +0000
Bug 1540573 - P6. Use frugal preloading of media data when on cellular, otherwise aggressive. r=jya We're allowed to take some liberties as to what the default value and behaviour we assume for the 'preload' attribute on HTMLMediaElement by the spec. On desktop we assumed preload="metadata", while on mobile we assumed the default of preload="none" to save data. On mobile we also assumed that preload="auto" meant preload="metadata". I think it makes sense to instead of always assuming that data on Android is always expensive, we can instead detect if we're running on a cellular connection, and preload frugally then, otherwise aggressively. Differential Revision: https://phabricator.services.mozilla.com/D26235
07c6d54744f70517f1d5d92789c44335631229da: Bug 1540573 - P5. Only "always throttle" media download to the readahead on cellular connections. r=jya
Chris Pearce <cpearce@mozilla.com> - Mon, 06 May 2019 22:43:09 +0000 - rev 472824
Push 113048 by shindli@mozilla.com at Tue, 07 May 2019 09:56:38 +0000
Bug 1540573 - P5. Only "always throttle" media download to the readahead on cellular connections. r=jya Normally when downloading media data we throttle the download only if we're ahead of the read cursor more than the "readahead limit", and if we estimate that the connection is fast enough that we'll be able to download at a rate fast enough to playback in real time if we resume it later. On mobile we additionally override this so that we always throttle the download once we're ahead of the read cursor by the readahead limit. This is to save data. I think we can relax this to only do this override if we're on a cellular connection; if we're on WiFi we can assume data is cheap. Differential Revision: https://phabricator.services.mozilla.com/D26234
bcbb8c779852193d99648b9a109daf5ffe17058a: Bug 1540573 - P4. Use larger MediaCache sizes when on cellular connection. r=jya
Chris Pearce <cpearce@mozilla.com> - Mon, 06 May 2019 23:38:02 +0000 - rev 472823
Push 113048 by shindli@mozilla.com at Tue, 07 May 2019 09:56:38 +0000
Bug 1540573 - P4. Use larger MediaCache sizes when on cellular connection. r=jya Differential Revision: https://phabricator.services.mozilla.com/D26233
f7adce9bf91ca23f8137bb4cf9cf5630b5f75613: Bug 1548935 - enable wpt 'track-add-remove-cue.html'. r=jya
alwu <alwu@mozilla.com> - Mon, 06 May 2019 01:59:12 +0000 - rev 472771
Push 113048 by shindli@mozilla.com at Tue, 07 May 2019 09:56:38 +0000
Bug 1548935 - enable wpt 'track-add-remove-cue.html'. r=jya If we can't get corresponding cue, `getCueById()` will return `null`, not empty object. Therefore, we should use `assert_equals` instead. Differential Revision: https://phabricator.services.mozilla.com/D29888
2a813680dbefc7febb4be0347b8791b8baa82807: Bug 1535847 - add 'fuzzy' for track-cue-rendering-empty-cue.html. r=jya
alwu <alwu@mozilla.com> - Fri, 03 May 2019 08:21:27 +0000 - rev 472537
Push 113025 by malexandru@mozilla.com at Fri, 03 May 2019 22:03:16 +0000
Bug 1535847 - add 'fuzzy' for track-cue-rendering-empty-cue.html. r=jya This can fix the 1 color difference intermittent failure problem, it's small enough to be ignored. Differential Revision: https://phabricator.services.mozilla.com/D29773