searching for reviewer(bryce)
c52127007a0162c72b87a8d4613400d3741bcd5f: Bug 1560440 - Don't attempt to set sample's duration. r=bryce
Jean-Yves Avenard <jyavenard@mozilla.com> - Thu, 11 Jul 2019 15:50:09 +0000 - rev 482729
Push 36292 by rmaries@mozilla.com at Mon, 15 Jul 2019 09:40:48 +0000
Bug 1560440 - Don't attempt to set sample's duration. r=bryce This is a partial revert of bug 1524890 - P17. When setting the duration, with some videos, on output WMF set nonsensical values. Sometimes the duration read is equal to the timestamp of the previous frame leading to broken A/V sync. In bug 1222874, we will remove the entire concept of video frame's duration. Differential Revision: https://phabricator.services.mozilla.com/D37683
0ddbdbfa87f6bb5ca963f77e6adc86739566fc04: Bug 1014393 - Use undef-after-def pattern in MediaRecorder and related files. r=bryce
Andreas Pehrson <apehrson@mozilla.com> - Fri, 12 Jul 2019 13:42:00 +0000 - rev 482605
Push 36284 by apavel@mozilla.com at Fri, 12 Jul 2019 21:43:58 +0000
Bug 1014393 - Use undef-after-def pattern in MediaRecorder and related files. r=bryce Differential Revision: https://phabricator.services.mozilla.com/D37700
2812ca77d87d46b4489f92b9d8697809f326b25d: Bug 1014393 - Unify MediaRecorder session shutdown paths and fix event timing when stopping per spec. r=bryce
Andreas Pehrson <apehrson@mozilla.com> - Fri, 12 Jul 2019 13:41:32 +0000 - rev 482602
Push 36284 by apavel@mozilla.com at Fri, 12 Jul 2019 21:43:58 +0000
Bug 1014393 - Unify MediaRecorder session shutdown paths and fix event timing when stopping per spec. r=bryce Differential Revision: https://phabricator.services.mozilla.com/D17814
6755ef7b361c1b4270c0ca6f70e40fb07a830211: Bug 1014393 - Remove MediaRecorder::GetParentObject. r=bryce
Andreas Pehrson <apehrson@mozilla.com> - Fri, 12 Jul 2019 13:41:27 +0000 - rev 482601
Push 36284 by apavel@mozilla.com at Fri, 12 Jul 2019 21:43:58 +0000
Bug 1014393 - Remove MediaRecorder::GetParentObject. r=bryce Differential Revision: https://phabricator.services.mozilla.com/D35308
72e545bdcce316b79a577503fe1d460890f5c35d: Bug 1014393 - Remove MediaRecorder::Session::PushBlobRunnable. r=bryce
Andreas Pehrson <apehrson@mozilla.com> - Fri, 12 Jul 2019 13:41:24 +0000 - rev 482600
Push 36284 by apavel@mozilla.com at Fri, 12 Jul 2019 21:43:58 +0000
Bug 1014393 - Remove MediaRecorder::Session::PushBlobRunnable. r=bryce This moves the impl of PushBlobRunnable from a runnable to MozPromise, which let's us more easily modularize it's parts (gather the blob, fire dataavailable) to make individual code paths more explicit. Differential Revision: https://phabricator.services.mozilla.com/D17813
2f030ee55722be637307a0450192cb9504dbf5e1: Bug 1014393 - Add gtests for the standalone muxer. r=bryce
Andreas Pehrson <apehrson@mozilla.com> - Fri, 12 Jul 2019 13:41:15 +0000 - rev 482599
Push 36284 by apavel@mozilla.com at Fri, 12 Jul 2019 21:43:58 +0000
Bug 1014393 - Add gtests for the standalone muxer. r=bryce Differential Revision: https://phabricator.services.mozilla.com/D35307
e9416b50217047c419b0f533c2b80007b3679ab0: Bug 1014393 - Break out muxing and queueing of track data from MediaEncoder to new Muxer class. r=bryce
Andreas Pehrson <apehrson@mozilla.com> - Fri, 12 Jul 2019 13:41:15 +0000 - rev 482598
Push 36284 by apavel@mozilla.com at Fri, 12 Jul 2019 21:43:58 +0000
Bug 1014393 - Break out muxing and queueing of track data from MediaEncoder to new Muxer class. r=bryce This first of all does some refactoring of how metadata is encoded in MediaEncoder. This is now guided by the new Muxer class. If we're ready to pass data to the muxer and it does not have metadata yet, we provide metadata before giving it any media data. This metadata is passed to the muxer in a single call. The metadata provided in this call must stay valid for the entire recording. This removes MediaEncoder::GetEncodedMetadata(). This also removes the ctor argument from the WebMWriter since it can now rely on the single SetMetadata() instead. To comply with the ContainerWriter::SetMetadata() docs, WebMWriter::SetMetadata() will now also sanity check metadata. ContainerWriter instances are updated somewhat, to accommodate these changes. Lastly, and most important, the new Muxer class manages muxing of the (up to) two tracks into a single container, ensuring that timestamps increase monotonically throughout a recording. Differential Revision: https://phabricator.services.mozilla.com/D35306
6c52ecd21b3033b903d1689eecd6134ab28d5aed: Bug 1523563 - Make sense of EbmlComposer. r=bryce
Andreas Pehrson <apehrson@mozilla.com> - Wed, 03 Jul 2019 09:25:03 +0000 - rev 481073
Push 36232 by csabou@mozilla.com at Wed, 03 Jul 2019 16:15:38 +0000
Bug 1523563 - Make sense of EbmlComposer. r=bryce This does two things: - Makes the code for how flushing works actually readable (seriously). - Allows audio-only webms. Differential Revision: https://phabricator.services.mozilla.com/D35173
ab46619fcd019ff310722dcdb6e5aff1e72852c2: Bug 1560215 - Properly handle errors from VP8TrackEncoder::GetEncodedPartitions. r=bryce
Andreas Pehrson <apehrson@mozilla.com> - Mon, 01 Jul 2019 17:47:29 +0000 - rev 480934
Push 36228 by aciure@mozilla.com at Tue, 02 Jul 2019 21:46:04 +0000
Bug 1560215 - Properly handle errors from VP8TrackEncoder::GetEncodedPartitions. r=bryce In the particular case of this bug's crashtest, a dataavailable callback from the track encoder was raised at a point when VP8TrackEncoder::GetEncodedPartitions would not actually return any data. This would make VP8TrackEncoder::GetEncodedTrack propagate the error and set the recorder in an error state, and cancel any ongoing recordings. VP8TrackEncoder::GetEncodedPartitions was changed in bug 1333341 to distinguish end-of-stream from other, real, errors; but callsites were not updated. This patch fixes the callsites. Depends on D36509 Differential Revision: https://phabricator.services.mozilla.com/D36510
05acc2dde7393a3c1924fd5ced0abde1ebe0b580: Bug 1556586 - Update libnestegg to 9d5b774d. r=bryce
Matthew Gregan <kinetik@flim.org> - Tue, 04 Jun 2019 16:30:47 +1200 - rev 476786
Push 36107 by btara@mozilla.com at Tue, 04 Jun 2019 16:06:21 +0000
Bug 1556586 - Update libnestegg to 9d5b774d. r=bryce
3648f6355f7d1a6ec6ce2f9d0b1483e632fd4fce: Bug 1539686 - Update libnestegg to 90521e7f. r=bryce
Matthew Gregan <kinetik@flim.org> - Thu, 30 May 2019 14:05:25 +1200 - rev 476175
Push 36088 by malexandru@mozilla.com at Thu, 30 May 2019 09:45:59 +0000
Bug 1539686 - Update libnestegg to 90521e7f. r=bryce
61543755b7817db42723307f6bcfcdb7fba9ff0c: Bug 1548959: enable media_codec_used in release r=bryce
Nils Ohlmeier [:drno] <drno@ohlmeier.org> - Tue, 07 May 2019 17:08:46 +0000 - rev 472932
Push 35983 by ncsoregi@mozilla.com at Wed, 08 May 2019 03:38:51 +0000
Bug 1548959: enable media_codec_used in release r=bryce Differential Revision: https://phabricator.services.mozilla.com/D29915
5abd778efd7aa8a03be09094bc5d0e852856552f: Bug 1532849 - Prevent arithmetic overflow. r=bryce
Jean-Yves Avenard <jyavenard@mozilla.com> - Wed, 01 May 2019 23:13:34 +0000 - rev 472198
Push 35950 by cbrindusan@mozilla.com at Thu, 02 May 2019 09:52:27 +0000
Bug 1532849 - Prevent arithmetic overflow. r=bryce Differential Revision: https://phabricator.services.mozilla.com/D29461
bcb48454bcae0d274f5b238dfb254d64897b5344: Bug 1534156 - Get around int32_t to float rounding error. r=bryce
Jean-Yves Avenard <jyavenard@mozilla.com> - Wed, 01 May 2019 23:11:56 +0000 - rev 472197
Push 35950 by cbrindusan@mozilla.com at Thu, 02 May 2019 09:52:27 +0000
Bug 1534156 - Get around int32_t to float rounding error. r=bryce float(INT32_MAX); gets compiled into 2.14748365E+9 using clang, which is slightly bigger than INT32_MAX, as such 2.14748365E+9 <= INT32_MAX will return true (as INT32_MAX gets converted to a float) Differential Revision: https://phabricator.services.mozilla.com/D29464
eabc25a9ff765345ca75887af521696951da6694: Bug 1538727 - Move TrackListener and track-PrincipalChangeObserver removal to Stop(). r=bryce
Andreas Pehrson <apehrson@mozilla.com> - Tue, 30 Apr 2019 18:39:21 +0000 - rev 472005
Push 35945 by ccoroiu@mozilla.com at Wed, 01 May 2019 04:21:12 +0000
Bug 1538727 - Move TrackListener and track-PrincipalChangeObserver removal to Stop(). r=bryce These are added in start, and we get into unexpected state if they notify us after Stop() (when MediaEncoder shuts down and internally removes the tracks it is encoding) but before Shutdown() when we remove the listeners. This is not symmetrical. The proper thing to do is to remove these listeners in Stop() as well. Depends on D29080 Differential Revision: https://phabricator.services.mozilla.com/D29081
1fdcbbc79e87fbad2984a6e1f047e71d5cd6c4f8: Bug 1538727 - Add crashtest. r=bryce
Andreas Pehrson <apehrson@mozilla.com> - Tue, 30 Apr 2019 18:39:11 +0000 - rev 472004
Push 35945 by ccoroiu@mozilla.com at Wed, 01 May 2019 04:21:12 +0000
Bug 1538727 - Add crashtest. r=bryce Differential Revision: https://phabricator.services.mozilla.com/D29080
1c7736806fe01eb90372bc9d4fa2ca988d5781ae: Bug 1546324 - use TimeUnit version modular. r=bryce
Alastor Wu <alwu@mozilla.com> - Wed, 24 Apr 2019 17:21:01 +0000 - rev 470700
Push 35910 by cbrindusan@mozilla.com at Wed, 24 Apr 2019 21:51:39 +0000
Bug 1546324 - use TimeUnit version modular. r=bryce The value of `mAudioDecodedDuration` can be larger than `int32`, so we should use the modular function which accepts `TimeUnit`as a input. Differential Revision: https://phabricator.services.mozilla.com/D28536
f159c693907a490bd9fd8eea3a9e7faf83110e4e: Bug 1546506 - Add an assertion to ensure that we won't construct SeekTarget with invalid time. r=bryce
Alastor Wu <alwu@mozilla.com> - Wed, 24 Apr 2019 17:07:40 +0000 - rev 470695
Push 35910 by cbrindusan@mozilla.com at Wed, 24 Apr 2019 21:51:39 +0000
Bug 1546506 - Add an assertion to ensure that we won't construct SeekTarget with invalid time. r=bryce We should only use valid time to construct a `SeekTarget`, because we can't get the value from the invalid time. This can help us to prevent having a crash when request data value from an invalid time. Differential Revision: https://phabricator.services.mozilla.com/D28564
f78de85608eae67e762a0bd0ccc997d1067f4ae9: Bug 1545575 - stop RDD process cleanly if linux sandbox fails to init. r=bryce
Michael Froman <mfroman@mozilla.com> - Wed, 24 Apr 2019 16:55:03 +0000 - rev 470694
Push 35910 by cbrindusan@mozilla.com at Wed, 24 Apr 2019 21:51:39 +0000
Bug 1545575 - stop RDD process cleanly if linux sandbox fails to init. r=bryce Differential Revision: https://phabricator.services.mozilla.com/D28663
32e046bfdeab2df91e89a584c718346c1a09712c: Bug 1542097 - Directly downmix to mono. r=bryce
Jean-Yves Avenard <jyavenard@mozilla.com> - Mon, 22 Apr 2019 13:27:42 +0000 - rev 470352
Push 35903 by opoprus@mozilla.com at Mon, 22 Apr 2019 21:46:44 +0000
Bug 1542097 - Directly downmix to mono. r=bryce No need to first downmix to stereo and then mono. Differential Revision: https://phabricator.services.mozilla.com/D27216
4625c4f69e313fc86899db1a4a3abdc55e105e09: Bug 1515497 - pt 2 - remove assert, but warn if rddOpened is false. r=bryce
Michael Froman <mfroman@mozilla.com> - Fri, 19 Apr 2019 21:11:33 +0000 - rev 470258
Push 35891 by rgurzau@mozilla.com at Sat, 20 Apr 2019 09:35:22 +0000
Bug 1515497 - pt 2 - remove assert, but warn if rddOpened is false. r=bryce Depends on D28204 Differential Revision: https://phabricator.services.mozilla.com/D28205
9af879d2b1ae31c00ecbb54f50f6baed06685971: Bug 1515497 - pt 1 - eliminate fall back to av1 decoding on content process when RDD enabled. r=bryce
Michael Froman <mfroman@mozilla.com> - Fri, 19 Apr 2019 21:11:25 +0000 - rev 470257
Push 35891 by rgurzau@mozilla.com at Sat, 20 Apr 2019 09:35:22 +0000
Bug 1515497 - pt 1 - eliminate fall back to av1 decoding on content process when RDD enabled. r=bryce If the RDD process is enabled and fails to start properly for some reason, make sure we cannot accidentally fall back to decoding AV1 on the content process. Differential Revision: https://phabricator.services.mozilla.com/D28204
3fb8442e64d7d4b20f7b819ae3bcf7703beee0c6: Bug 1540581 - P19. Mark h264 streams as being BT601. r=bryce
Jean-Yves Avenard <jyavenard@mozilla.com> - Thu, 11 Apr 2019 12:39:21 +0000 - rev 469146
Push 35856 by csabou@mozilla.com at Fri, 12 Apr 2019 03:19:48 +0000
Bug 1540581 - P19. Mark h264 streams as being BT601. r=bryce No color space was defined for these videos, making any correct rendering impossible. We modify the h264 stream metadata, by marking it as being bt601. This is done with the ffmpeg command: ffmpeg -i dom/media/test/short.mp4 -codec copy -bsf:v h264_metadata=colour_primaries=6:transfer_characteristics=6:matrix _coefficients=6 -map 0 Differential Revision: https://phabricator.services.mozilla.com/D26871
a0176a275ee5a60ce1bef7bde28055cc49cc2a26: Bug 1540581 - P12. Pass YUV colorspace information with WMF decoder. r=bryce,mattwoodrow.
Jean-Yves Avenard <jyavenard@mozilla.com> - Thu, 11 Apr 2019 12:38:51 +0000 - rev 469140
Push 35856 by csabou@mozilla.com at Fri, 12 Apr 2019 03:19:48 +0000
Bug 1540581 - P12. Pass YUV colorspace information with WMF decoder. r=bryce,mattwoodrow. Differential Revision: https://phabricator.services.mozilla.com/D26467
cf9c8ae660ddbc7711844d943097b7ad53edc2d6: Bug 1540581 - P10. Pass colorspace data with first VP9 frame seen. r=bryce
Jean-Yves Avenard <jyavenard@mozilla.com> - Thu, 11 Apr 2019 12:37:38 +0000 - rev 469138
Push 35856 by csabou@mozilla.com at Fri, 12 Apr 2019 03:19:48 +0000
Bug 1540581 - P10. Pass colorspace data with first VP9 frame seen. r=bryce The info would only be passed after the 2nd keyframe Differential Revision: https://phabricator.services.mozilla.com/D26465
d2b6cc14a04347d2b69015c0dc08bb7718863ba3: Bug 1540581 - P8. Set decoding format back to NV12 and set colorspace. r=bryce
Jean-Yves Avenard <jyavenard@mozilla.com> - Thu, 11 Apr 2019 12:37:16 +0000 - rev 469136
Push 35856 by csabou@mozilla.com at Fri, 12 Apr 2019 03:19:48 +0000
Bug 1540581 - P8. Set decoding format back to NV12 and set colorspace. r=bryce Differential Revision: https://phabricator.services.mozilla.com/D26062
961e937daf7bc23193924e4d16404cc2c11120c9: Bug 1540581 - P3. Add methods to extract color space and color depth from SPS NAL. r=bryce
Jean-Yves Avenard <jyavenard@mozilla.com> - Thu, 11 Apr 2019 12:36:10 +0000 - rev 469131
Push 35856 by csabou@mozilla.com at Fri, 12 Apr 2019 03:19:48 +0000
Bug 1540581 - P3. Add methods to extract color space and color depth from SPS NAL. r=bryce Differential Revision: https://phabricator.services.mozilla.com/D26056
61c265181c16b1e0208bbafb6c6aa7acb6a33216: Bug 1540581 - P2. Add missing VideoInfo members to IPC serializer. r=bryce
Jean-Yves Avenard <jyavenard@mozilla.com> - Thu, 11 Apr 2019 12:36:00 +0000 - rev 469130
Push 35856 by csabou@mozilla.com at Fri, 12 Apr 2019 03:19:48 +0000
Bug 1540581 - P2. Add missing VideoInfo members to IPC serializer. r=bryce Another case where you have to wonder how did this ever worked!? Differential Revision: https://phabricator.services.mozilla.com/D26055
81d979cbbca20d0445cf8251b01b7f36c61f9392: Bug 1493898 - P5. Add Colorspace and YUV range data to VideoInfo. r=bryce
Jean-Yves Avenard <jyavenard@mozilla.com> - Thu, 11 Apr 2019 12:41:23 +0000 - rev 469127
Push 35856 by csabou@mozilla.com at Fri, 12 Apr 2019 03:19:48 +0000
Bug 1493898 - P5. Add Colorspace and YUV range data to VideoInfo. r=bryce And read the info from the VP9 bytestream. Differential Revision: https://phabricator.services.mozilla.com/D25346
a6a750656333e6033ab14c8350705a5950607bca: Bug 1493898 - P3. Don't downsample 10/12 bits AOM images. r=bryce
Jean-Yves Avenard <jyavenard@mozilla.com> - Thu, 11 Apr 2019 12:40:59 +0000 - rev 469125
Push 35856 by csabou@mozilla.com at Fri, 12 Apr 2019 03:19:48 +0000
Bug 1493898 - P3. Don't downsample 10/12 bits AOM images. r=bryce All compositors support 10/12 bits images now. Additionally, add BT2020 support to AOM decoder. Differential Revision: https://phabricator.services.mozilla.com/D25344
a0f4ced9b57c01361ad69f3af5d1a1a1fd93cb40: Bug 1493898 - P2. Add BT2020 support to decoders. r=bryce
Jean-Yves Avenard <jyavenard@mozilla.com> - Thu, 11 Apr 2019 12:40:50 +0000 - rev 469124
Push 35856 by csabou@mozilla.com at Fri, 12 Apr 2019 03:19:48 +0000
Bug 1493898 - P2. Add BT2020 support to decoders. r=bryce Differential Revision: https://phabricator.services.mozilla.com/D25343
994589bf1bfbbfc8c6f5ae77d71aa8b059e69bb9: Bug 1538508 - P3. Add options to scan all frames for SPS/PPS change. r=bryce
Jean-Yves Avenard <jyavenard@mozilla.com> - Wed, 27 Mar 2019 11:03:23 +0000 - rev 466326
Push 35764 by aciure@mozilla.com at Wed, 27 Mar 2019 16:35:35 +0000
Bug 1538508 - P3. Add options to scan all frames for SPS/PPS change. r=bryce While not required in the two examples provided, should those streams change resolution and continue to use the same type of bytstreams we would miss the changes as the keyframe never contains the new SPS/PPS NALs. So we add an option to handle this case, so we can separate the cases where this could be needed without regressing bug 1469257 Differential Revision: https://phabricator.services.mozilla.com/D24854
ea116addae50b8e65e75f4c875b9e583c1c74f34: Bug 1538508 - P2. Don't limit search for SPS/PPS on keyframe only. r=bryce
Jean-Yves Avenard <jyavenard@mozilla.com> - Wed, 27 Mar 2019 11:02:07 +0000 - rev 466325
Push 35764 by aciure@mozilla.com at Wed, 27 Mar 2019 16:35:35 +0000
Bug 1538508 - P2. Don't limit search for SPS/PPS on keyframe only. r=bryce We limited the search for a SPS/PPS change to keyframe only in bug 1469257. However this causes issues if the first frame containing a SPS/PPS isn't a keyframe. We also need to error on content with no SPS/PPS as to inform the caller that something is amiss. Such content was invalid to start with. Differential Revision: https://phabricator.services.mozilla.com/D24853
ee7d1a2f8ebd21eed7ea2083f0cb23149763e118: Bug 1538508 - P1. Reset mError upon success. r=bryce
Jean-Yves Avenard <jyavenard@mozilla.com> - Wed, 27 Mar 2019 11:01:57 +0000 - rev 466324
Push 35764 by aciure@mozilla.com at Wed, 27 Mar 2019 16:35:35 +0000
Bug 1538508 - P1. Reset mError upon success. r=bryce Differential Revision: https://phabricator.services.mozilla.com/D24869
2fc1fe02395752f4fb9dc6e9f30a32306d5455b0: Bug 1538508 - P3. Add options to scan all frames for SPS/PPS change. r=bryce
Jean-Yves Avenard <jyavenard@mozilla.com> - Wed, 27 Mar 2019 02:50:08 +0000 - rev 466284
Push 35764 by aciure@mozilla.com at Wed, 27 Mar 2019 16:35:35 +0000
Bug 1538508 - P3. Add options to scan all frames for SPS/PPS change. r=bryce While not required in the two examples provided, should those streams change resolution and continue to use the same type of bytstreams we would miss the changes as the keyframe never contains the new SPS/PPS NALs. So we add an option to handle this case, so we can separate the cases where this could be needed without regressing bug 1469257 Differential Revision: https://phabricator.services.mozilla.com/D24854
ff707483b5d4b74dc240b81fde8b0ee59d95daff: Bug 1538508 - P2. Don't limit search for SPS/PPS on keyframe only. r=bryce
Jean-Yves Avenard <jyavenard@mozilla.com> - Wed, 27 Mar 2019 02:47:37 +0000 - rev 466283
Push 35764 by aciure@mozilla.com at Wed, 27 Mar 2019 16:35:35 +0000
Bug 1538508 - P2. Don't limit search for SPS/PPS on keyframe only. r=bryce We limited the search for a SPS/PPS change to keyframe only in bug 1469257. However this causes issues if the first frame containing a SPS/PPS isn't a keyframe. We also need to error on content with no SPS/PPS as to inform the caller that something is amiss. Such content was invalid to start with. Differential Revision: https://phabricator.services.mozilla.com/D24853
8a573000a49dc347accd52132014733b8b253e7f: Bug 1538508 - P1. Reset mError upon success. r=bryce
Jean-Yves Avenard <jyavenard@mozilla.com> - Tue, 26 Mar 2019 14:40:51 +0000 - rev 466282
Push 35764 by aciure@mozilla.com at Wed, 27 Mar 2019 16:35:35 +0000
Bug 1538508 - P1. Reset mError upon success. r=bryce Differential Revision: https://phabricator.services.mozilla.com/D24869
bc5d94b2261597748ecd32a10bb944b97c4f7f6f: Bug 1538232 - Handle MediaDecoder seeks and pauses in VideoTrackEncoder. r=bryce
Andreas Pehrson <apehrson@mozilla.com> - Mon, 25 Mar 2019 14:13:52 +0000 - rev 465990
Push 35758 by rgurzau@mozilla.com at Tue, 26 Mar 2019 09:51:47 +0000
Bug 1538232 - Handle MediaDecoder seeks and pauses in VideoTrackEncoder. r=bryce Differential Revision: https://phabricator.services.mozilla.com/D24522
2278142d75e8f5e02dc666b44b367bc2d7e3683c: Bug 1538232 - Add gtests for TestVideoTrackEncoder handling MediaDecoder seek and pause. r=bryce
Andreas Pehrson <apehrson@mozilla.com> - Mon, 25 Mar 2019 14:45:21 +0000 - rev 465989
Push 35758 by rgurzau@mozilla.com at Tue, 26 Mar 2019 09:51:47 +0000
Bug 1538232 - Add gtests for TestVideoTrackEncoder handling MediaDecoder seek and pause. r=bryce With bug 1423253 we need to handle resetting future frames directly, and that bug made the signaling of when to reset a bit more explicit, so a null image is sent when a MediaDecoder is paused, so we don't render frames that were already buffered, but after the pause took effect. And an image where the time stamp is earlier than the previous frame's is sent when a MediaDecoder seeks, as it intends to discard any previously buffered frames and render only the new ones. Note that this hackish way of signaling a MediaDecoder's intention comes from the fact that we have only an append-based API for pushing frames through a track, but the MediaDecoder's behavior is tightly coupled to the ImageContainer API of sending frames to the compositor; SetCurrentFrames. We will be iterating towards a SetCurrentFrames-like API for video tracks in the future, to have a cleaner solution to this problem. Differential Revision: https://phabricator.services.mozilla.com/D24521
946a9c169fb4c366369e37dbd8a372868e6216f7: Bug 1538113 - Fix TestVideoTrackEncoder static-analysis warnings. r=bryce
Andreas Pehrson <apehrson@mozilla.com> - Fri, 22 Mar 2019 16:43:28 +0000 - rev 465985
Push 35758 by rgurzau@mozilla.com at Tue, 26 Mar 2019 09:51:47 +0000
Bug 1538113 - Fix TestVideoTrackEncoder static-analysis warnings. r=bryce Initially indicated by https://phabricator.services.mozilla.com/D22909#inline-140683 Some more found by ./mach static-analysis check dom/media/gtest/TestVideoTrackEncoder.cpp Differential Revision: https://phabricator.services.mozilla.com/D24510
6ca1d074411757bb68d1cebae1f547313e8c62b2: Bug 1528661 - Refactor CDM host file generation. r=bryce
Chris Pearce <cpearce@mozilla.com> - Mon, 18 Feb 2019 18:13:58 +1300 - rev 462084
Push 35635 by rmaries@mozilla.com at Sat, 02 Mar 2019 09:41:56 +0000
Bug 1528661 - Refactor CDM host file generation. r=bryce There's a lot of duplication in the code to generate host files, particularly in the MacOS code. So refactor out the common code into helpers, and make the code higher level and easier to understand. Differential Revision: https://phabricator.services.mozilla.com/D21508
b8397ea9e6b82c9c0ba8bcd02b832d8d131b77a1: Bug 1528661 - Pass paths to i686 xul and plugin-container binaries to CDM in host verification paths. r=bryce
Chris Pearce <cpearce@mozilla.com> - Fri, 15 Feb 2019 21:27:01 +1300 - rev 462083
Push 35635 by rmaries@mozilla.com at Sat, 02 Mar 2019 09:41:56 +0000
Bug 1528661 - Pass paths to i686 xul and plugin-container binaries to CDM in host verification paths. r=bryce On Windows on ARM64 we will run the x86 Widevine DLL in an x86 plugin-container.exe with an x86 xul.dll. We therefore should also pass the paths to these binaries to the CDM in the host files instead of the aarch64 plugin-container.exe. We should still pass the aarch64 xul.dll to the CDM, as that's in use by the aarch64 firefox.exe. Differential Revision: https://phabricator.services.mozilla.com/D21507
1712a35cd239049c186f7da80cdc759885ae81ae: Bug 1530835 - Set frame duration to 0 when out of order frames are seen. r=bryce
Jean-Yves Avenard <jyavenard@mozilla.com> - Fri, 01 Mar 2019 18:56:01 +0000 - rev 462027
Push 35634 by rmaries@mozilla.com at Sat, 02 Mar 2019 09:26:10 +0000
Bug 1530835 - Set frame duration to 0 when out of order frames are seen. r=bryce WebM specify that timestamp must be monotonically increasing. Unfortunately, this is not always the case. WebM doesn't have a concept of frame duration, the duration is calculated as being the delta between the next frame's time and the current one. So non-monotonically increasing timestamps would have caused negative duration. Differential Revision: https://phabricator.services.mozilla.com/D21687
b6ac1853674e3aeddeddc4ffafbd1521d0d6faa1: Bug 1528661 - Pass paths to i686 xul and plugin-container binaries to CDM in host verification paths. r=bryce
Chris Pearce <cpearce@mozilla.com> - Thu, 28 Feb 2019 22:34:45 +0000 - rev 461827
Push 35629 by opoprus@mozilla.com at Fri, 01 Mar 2019 05:20:57 +0000
Bug 1528661 - Pass paths to i686 xul and plugin-container binaries to CDM in host verification paths. r=bryce On Windows on ARM64 we will run the x86 Widevine DLL in an x86 plugin-container.exe with an x86 xul.dll. We therefore should also pass the paths to these binaries to the CDM in the host files instead of the aarch64 plugin-container.exe. We should still pass the aarch64 xul.dll to the CDM, as that's in use by the aarch64 firefox.exe. Differential Revision: https://phabricator.services.mozilla.com/D21507
4e5ac450f2b6dd57e9264fddc97971f6b5d8dc18: Bug 1530234 - P2. Don't recalculate audio sample start time. r=bryce
Jean-Yves Avenard <jyavenard@mozilla.com> - Wed, 27 Feb 2019 14:19:00 +0000 - rev 461552
Push 35625 by csabou@mozilla.com at Thu, 28 Feb 2019 10:55:23 +0000
Bug 1530234 - P2. Don't recalculate audio sample start time. r=bryce The WMF audio decoder recalculated the timestamp of each audio sample according to the number of frames decoded so far. This is incompatible with the trimming mechanism that rely on the timestamps of the audio to be matching what is found in the container. All the other audio decoders do it that way already. Depends on D20969 Differential Revision: https://phabricator.services.mozilla.com/D21305
0bd5d868443675304f64f1d85866338f651f5900: Bug 1530234 - P1. Ignore init segment for audio only buffer if audio content didn't change. r=bryce
Jean-Yves Avenard <jyavenard@mozilla.com> - Wed, 27 Feb 2019 14:34:15 +0000 - rev 461551
Push 35625 by csabou@mozilla.com at Thu, 28 Feb 2019 10:55:23 +0000
Bug 1530234 - P1. Ignore init segment for audio only buffer if audio content didn't change. r=bryce This prevents re-creating a new audio decoder which on Android can take an awful long time. Differential Revision: https://phabricator.services.mozilla.com/D20969
3cbb661802a7496a7045a4ef39f22253a966442a: Bug 1530918 - Use TimeUnit when seeking. r=bryce
Jean-Yves Avenard <jyavenard@mozilla.com> - Wed, 27 Feb 2019 13:12:08 +0000 - rev 461550
Push 35625 by csabou@mozilla.com at Thu, 28 Feb 2019 10:55:23 +0000
Bug 1530918 - Use TimeUnit when seeking. r=bryce Differential Revision: https://phabricator.services.mozilla.com/D21320
754776b7161cd56f78777a531e2e5c344bf6a899: Bug 1222851 - Keep the one dropped frame prior the first one to prime the decoder. r=bryce
Jean-Yves Avenard <jyavenard@mozilla.com> - Fri, 22 Feb 2019 09:58:18 +0000 - rev 460806
Push 35603 by dluca@mozilla.com at Mon, 25 Feb 2019 01:46:40 +0000
Bug 1222851 - Keep the one dropped frame prior the first one to prime the decoder. r=bryce Some audio decoders, such as AAC and Opus have a need for a pre-roll content. As such, in order to be able to fully get the content of the first frame we keep the frame just prior that would have normally been dropped. We set this frame to have a duration of 1us so that it will be dropped later by the decoding pipeline. The starting time of the first frame is adjusted so that we have continuous data, without gap in the buffered range. Differential Revision: https://phabricator.services.mozilla.com/D20322
1b377d3c27c385bd84a9885618102d9937e8176d: Bug 1524890 - P17. Set duration on IMF sample. r=bryce
Jean-Yves Avenard <jyavenard@mozilla.com> - Sat, 23 Feb 2019 09:28:14 +0000 - rev 460805
Push 35603 by dluca@mozilla.com at Mon, 25 Feb 2019 01:46:40 +0000
Bug 1524890 - P17. Set duration on IMF sample. r=bryce We didn't set the duration on the created IMF sample before sending it to the decoder. For audio this isn't a problem as the duration is calculated from the number of frames returned. For video however, the duration appears to have been calculated by WMF as the delta of pts. However, for the last frame, the value returned was set to a value not matching our input. So we set the duration on the IMFSample so it doesn't have to make it up. Setting the duration on the IMFSample isn't sufficient with Windows 7, which still continues to calculate it based on previous samples durations. So we store the last sample duration and set it when draining. Differential Revision: https://phabricator.services.mozilla.com/D20653
fe39e68ee3834076aac3d68c59966c8f896d0cb0: Bug 1524890 - P16. Fix mochitests. r=bryce
Jean-Yves Avenard <jyavenard@mozilla.com> - Fri, 22 Feb 2019 09:21:13 +0000 - rev 460804
Push 35603 by dluca@mozilla.com at Mon, 25 Feb 2019 01:46:40 +0000
Bug 1524890 - P16. Fix mochitests. r=bryce Differential Revision: https://phabricator.services.mozilla.com/D20330