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

32 Коммитов

Автор SHA1 Сообщение Дата
alwu ac67bcfa81 Bug 1545970 - make sure we only divide or modular TimeUnit on unsigned int32. r=jya
The way we use `operator/` on TimeUnit is usaually to divide 2 for the fuzz or to divide the playback rate, and the rate is always a unsigned int.

The `operator%` should also have same constraint, because there is meaningless to do such a operation on a negative value.

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

--HG--
extra : moz-landing-system : lando
2019-07-12 22:05:06 +00:00
Chris Pearce b64a2d776d 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

--HG--
extra : moz-landing-system : lando
2019-05-08 06:27:03 +00:00
Alastor Wu 5e55c84124 Bug 1544150 - add new operator'%' to handle modular by TimeUnit. r=jya
As operator`%` would need to handle `TimeUnit` as a input as well, we add new operator function.

Also use `int64` as a input parameter for another two operator functions `%` and `/` in order to add assertion to ensure that the input won't overflow.

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

--HG--
extra : moz-landing-system : lando
2019-04-19 13:16:43 +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
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 4552f8d42d Bug 1425246 - Don't round time when negative. r=rillian
MozReview-Commit-ID: 71ef50vJ9R3

--HG--
extra : rebase_source : e70154430eddf21a743c8da72cdc970c2ef19a80
2018-02-23 14:15:21 +01:00
Chun-Min Chang 1a75cd91ef Bug 654787 - part6: Correct the playback position while looping; r=jwwang
MozReview-Commit-ID: 4h2zgtbVBVq

--HG--
extra : rebase_source : 9a91cefd6f081cbdbae6b5ffc7035446f7192ff1
2017-11-24 10:28:42 +08:00
Jean-Yves Avenard ac903423a4 Bug 1397307 - P4. Fix style. r=gerald
MozReview-Commit-ID: 1Q3kwsDlAhI

--HG--
extra : rebase_source : 1de597c71be3793000fc5787e1cd276bb7d2704a
2017-09-12 11:09:15 +02:00
Chris Pearce 4ffa31745b Bug 1392498 - Move TimeIntervals to dom::TimeRanges conversion into TimeRanges class. r=jya
If TimeUnits.h includes mozilla/dom/TimeRanges.h, then the build ends up
pulling in the Gecko DOM bindings, which pulls in a whole lot of JavaScript and
DOM bindings code. That makes it trickier to import GeckoMedia into Servo, and
makes Gecko's build slower, so move the code to convert TimeIntervals into
dom::TimeRanges.

Also remove an extraneous "virtual" and add "const" to some functions in TimeRanges.

MozReview-Commit-ID: BLeehaf9gCE

--HG--
extra : rebase_source : 84ef054cf8fd5b4434dc761a1b0a39803d3231f5
2017-08-21 15:08:25 +12:00
JW Wang d2ca2106c9 Bug 1357983 - remove media::Microseconds. r=gerald
media::TimeUnit can take its place. We don't want 2 things for the same purpose to cause confusion.

MozReview-Commit-ID: 3z6hbgXFsxP

--HG--
extra : rebase_source : 0b472e351abdc48e337aaf645ae8be467e8a300f
extra : intermediate-source : 4e2156ec04fd30af6cf59adfd1390cf67f411d4c
extra : source : bf5b035c7041a892517373dd566d2a7d7ec60c72
2017-04-17 14:34:36 +08:00
JW Wang 464497b945 Bug 1355756. P1 - change the type of MediaData::mDuration to TimeUnit. r=gerald
MozReview-Commit-ID: 3d4bUYtSuMI

--HG--
extra : rebase_source : 94c821b6d381421035e6a12cbe038436055c5822
extra : intermediate-source : 9a06beffc736486f47b9cf05e7f482e726d53068
extra : source : fdbdcd5c1474f04dc1dbde66fcf3a9ecec953053
2017-04-12 17:27:34 +08:00
JW Wang f45fa7374e Bug 1355740 - Change the type of TrackInfo::mDuration to TimeUnit. r=jya
MozReview-Commit-ID: P7aqw4d5Vk

--HG--
extra : rebase_source : f22743fec9c8b70cbb092e3b26e252e7a4cb0b31
extra : source : 2413cd58f073b734a2cb85cec3658942bfd46e08
2017-04-12 16:41:36 +08:00
JW Wang fb7b33fc4f Bug 1351160 - accept only integral types for operator*(). r=gerald
See bug 853398 for the reason to block double multiplier which is slower and
less precise for large values. Also we remove the friend functions of
operator* because it is easy to cause overloading ambiguity when making
them templates.

MozReview-Commit-ID: FhIWSHDd41b

--HG--
extra : rebase_source : e9fec65dfb0b077dd7f962eb20af719c0dc76df8
2017-03-28 14:10:31 +08:00
JW Wang 8b923c809d Bug 1350791 - Add constexpr and some handy functions to TimeUnit. r=gerald
MozReview-Commit-ID: 2UfVSKWSa42

--HG--
extra : rebase_source : 26844d50f6c4c8105f275ce43807b7f4c7832b06
2017-03-27 10:59:56 +08:00
Jean-Yves Avenard f80719a883 Bug 1222866: P1. Round second to closest microseconds. r=gerald.
Due to the internal double representation as per IEEE 754, during conversion the use of ints would have rounded down our value.
2015-11-20 22:59:51 +11:00
Carsten "Tomcat" Book a17d19d02b Backed out changeset 002714e2ccba (bug 1222866) for m2 test failures 2015-11-20 08:28:09 +01:00
Jean-Yves Avenard 7c8d6ceb7d Bug 1222866: P1. Round second to closest microseconds. r=gerald.
Due to the internal double representation as per IEEE 754, during conversion the use of ints would have rounded down our value.
2015-11-20 15:41:13 +11:00
Birunthan Mohanathas a8939590de Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
Jean-Yves Avenard c7b6fa505d Bug 1179094: Use TimeUnit in PlatformDecoderModule. r=cpearce 2015-07-08 10:56:16 +10:00
Jean-Yves Avenard 6565a01978 Bug 1171760: P2. Add TimeUnit operator/= (int). r=mattwoodrow 2015-07-01 11:42:50 +10:00
Bobby Holley 8a626bf7ae Bug 1175768 - Misc changes to Intervals/TimeUnit. r=jya 2015-06-27 01:19:11 -07:00
Ryan VanderMeulen d9ca5de3ed Backed out 8 changesets (bug 1175768) for frequent media test failures.
Backed out changeset a369cfb95b59 (bug 1175768)
Backed out changeset e02dd312d622 (bug 1175768)
Backed out changeset 6776ce74b9e5 (bug 1175768)
Backed out changeset 6aa5fa1d318e (bug 1175768)
Backed out changeset a8bd7a0d2aea (bug 1175768)
Backed out changeset 41ffc9a9ac48 (bug 1175768)
Backed out changeset 2d2cefa397dc (bug 1175768)
Backed out changeset 4e06368496d2 (bug 1175768)

CLOSED TREE
2015-06-23 16:20:15 -04:00
Bobby Holley c53070187f Bug 1175768 - Misc changes to Intervals/TimeUnit. r=jya 2015-06-22 22:53:08 -07:00
Jean-Yves Avenard 75acd77984 Bug 1171330: P3. Add -=, - and * (with integer) operators to TimeUnit. r=mattwoodrow
--HG--
extra : rebase_source : 2e74a69d9ee15e55276ba9e65b3422f415b44efd
2015-06-11 15:49:49 +10:00
Bobby Holley bcb8dfea10 Bug 1160695 - Miscellaneous changes to TimeUnit. r=jww
I contemplated using the mIsValid bit on CheckedInt for nullability, but
eventually decided that it's too much of an overload. typedef-ing a Maybe<>
solves things nicely.

The current clash between the constants makes it impossible to do using
|using namespace mozilla::media;| in most cpp files. It would be nice to
put the constants in mozilla::media, but that requires updating a bunch of
files, so I'm not doing it now.
2015-06-08 09:21:19 -07:00
Jean-Yves Avenard 97f3b3817f Bug 1165819: Part2. Use TimeUnits in SourceBuffer. r=mattwoodrow 2015-06-05 11:53:05 +10:00
Jean-Yves Avenard 8adb944d2f Bug 1166282: Have TimeIntervals and IntervalSet nsTArray_CopyChooser specialization. r=nfroyd 2015-05-25 15:09:16 +10:00
Jean-Yves Avenard 54a681396b Bug 1163445: Part5. Replace dom::TimeRanges with TimeIntervals object. r=mattwoodrow 2015-05-18 16:15:47 +10:00
Jean-Yves Avenard 664088737e Bug 1163445: Part2. Add TimeUnit infinity concept. r=mattwoodrow
We use the value INT64_MAX as meaning infinity. This allows to avoid taking
more storage space than necessary but may result in unpredictable behaviour
when performing calculations.
2015-05-18 16:13:20 +10:00
Jean-Yves Avenard 40e5cc7845 Bug 1159579: Add Interval and IntervalSet objects. r=mattwoodrow
Along with a TimeIntervals class that reimplement all of dom::TimeRanges
features.
2015-05-07 10:24:10 +10:00
Jean-Yves Avenard 3cba2c6e62 Bug 1159578: Add a TimeUnit object. r=mattwoodrow
A TimeUnit describes a point in time, without explicit units (it is not a
microseconds nor a second) though can be converted in one or the other.
2015-05-04 21:16:34 +10:00
Matt Woodrow 1eb445f8ba Bug 1138260 - Add typed Microseconds class and use it for the range removal algorithm. r=jya,kinetik 2015-03-03 17:38:45 +13:00