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

16 Коммитов

Автор SHA1 Сообщение Дата
Phil Ringnalda c9fdc270b6 Merge m-c to autoland
--HG--
rename : dom/media/webaudio/compiledtest/TestAudioEventTimeline.cpp => dom/media/webaudio/gtest/TestAudioEventTimeline.cpp
2016-11-03 20:02:24 -07:00
Dan Minor 98715f6438 Bug 1313058 - Fix SetValueCurveAtTime interpolation; r=padenot
This interpolates over aCurveLength - 1 steps rather than over
aCurveLength steps as was done before.

Previously we would reach the final value on the curve before
the end of the specified duration. For example, on the curve
[1.0, 0.0] with duration 1000, we would interpolate from 1.0 to
0.0 by time 500 rather than time 1000. With these changes, we
don't reach 0.0 until time 1000, as expected.

This also updates TestSpecExample in TestAudioEventTimeline.cpp
to match the curve in the latest spec.

MozReview-Commit-ID: Cgs8csbRUMh

--HG--
extra : rebase_source : 1960128558ae9174933cd5be3c1fbfcb79f5ba1d
2016-10-26 10:33:20 -04:00
Nicholas Nethercote 2af130581e Bug 1314556 - Convert TestAudioEventTimeline.cpp to a gtest. r=padenot.
This required moving template function ValidateEvent into the .h file to avoid
linking problems in xul-gtest.

--HG--
rename : dom/media/webaudio/compiledtest/TestAudioEventTimeline.cpp => dom/media/webaudio/gtest/TestAudioEventTimeline.cpp
rename : dom/media/webaudio/compiledtest/moz.build => dom/media/webaudio/gtest/moz.build
extra : rebase_source : 1a8917fc0e75e9c264bc88aec5565d9fff085c12
2016-11-03 13:39:26 +11:00
Dan Minor 50b4412911 Bug 1265401 - Perform linear interpolation when computing the SetValueCurveAtTime events; r=padenot
MozReview-Commit-ID: IOiyq5a4P2A

--HG--
extra : rebase_source : b3d225348d6b8c9dd8b4b20eb11e8ec65413a52e
2016-10-24 13:07:32 -04:00
Dan Minor 4b0ae91ea2 Bug 1308427 - Allow a setTargetAtTime TimeConstant to be 0; r=padenot
MozReview-Commit-ID: 86YSuJDdks8

--HG--
extra : rebase_source : f7bcee3652446e21a7379371e424c5137c3d9391
2016-10-20 11:10:19 -04:00
Dan Minor 3de6cf478f Bug 1281382 - Fix setTargetAtTime using incorrect starting value when earlier event is skipped; r=karlt
This updates mLastComputedValue when removing events during the call to
CleanupEventsOlderThan.

MozReview-Commit-ID: 1Veyv8kLIna

--HG--
extra : rebase_source : 9ee9aeb458b60316f93616e3310ad26f9e85e79c
2016-08-12 14:57:19 -04:00
Dan Minor 37a83aa8e1 Bug 1113634 - Update mLastComputedValue in AudioEventTimeline when skipping events of same time; r=karlt
We need to update mLastComputedValue while processing events that occur at the
same time rather than just skipping over them.

MozReview-Commit-ID: LuxSK6PHFHv

--HG--
extra : rebase_source : be323da2a50ea32838aef322267115d153a14c3d
2016-08-08 16:00:35 -04:00
Sebastian Hengst 8c139b8da8 Backed out changeset 74b1d84ac6aa (bug 1113634) for failing Cpp unit test TestAudioEventTimeline. r=backout 2016-08-11 17:30:54 +02:00
Dan Minor 540fbdb6bd Bug 1113634 - Update mLastComputedValue in AudioEventTimeline when skipping events of same time; r=karlt
MozReview-Commit-ID: LuxSK6PHFHv

--HG--
extra : rebase_source : 2f0a906e747f30a83aa7237850245c056e932bd6
2016-08-08 16:00:35 -04:00
Paul Adenot f754b752be Bug 1273009 - Prune AudioParam events in the main thread when inserting new events. r=karlt
Running the test-case in the bug, and profiling under OSX using Instruments'
time profiler, the time spent in `AudioEventTimeline::ValidateEvent` was the
highest Web Audio API-related function. This patch makes it disappear from the
profile. We already use the same technique on the MSG thread to keep the number
of events low.

MozReview-Commit-ID: GJLPRWBh7nQ
2016-06-29 10:25:58 +02:00
Karl Tomlinson 8f6ffacf7d bug 1213313 set mComputedValue for each tick so that SetTarget values are calculated correctly r=padenot
from mLastComputedValue.

MozReview-Commit-ID: 28lYzlarp8U

--HG--
extra : rebase_source : fc8aca3718d9857b75cd835ffac1940d20e9d943
2016-06-21 18:02:06 +12:00
Karl Tomlinson 470d8c9d1d bug 1257718 replace bailOut variable with more descriptive timeMatchesEventIndex r=padenot
with the new variable matching the loop exit status of interest.

MozReview-Commit-ID: 8xy5ipo4trp

--HG--
extra : rebase_source : e951177af0699a550a4fb56a6192720207e74cb2
2016-06-21 17:48:31 +12:00
Karl Tomlinson 5d244c17fc bug 1257718 look for new events as time advances r=padenot
|bailout| is reset for each aTime, so that the appropriate events for that
time can be found.

The |eventIndex| loop is adjusted so that, when it is re-entered, it keeps
the current set of events if they are appropriate (instead of advancing
every time it is entered).

|previous| and |next| are now advanced even when passing the last event,
removing the special case when past all events.

MozReview-Commit-ID: 8ZSIzKKGQbd

--HG--
extra : rebase_source : bfc899287abaf12d5cdbfbc1b22d6626ab2299dd
2016-06-21 17:01:18 +12:00
Karl Tomlinson b92cb079fc bug 1257718 introduce function-scope TimeOf() to simplify templated event time getter calls r=padenot
MozReview-Commit-ID: 7uKqlT2BpcS

--HG--
extra : rebase_source : 2670536946bde0e1a6911bacbaa68d1c636e6455
2016-06-17 10:54:54 +12:00
Karl Tomlinson fc997c1ba1 bug 1257718 rename lastEventId to eventIndex r=padenot
This is not necessarily related to the last event and it is not the
previous event.

MozReview-Commit-ID: 6hhv184BHfg

--HG--
extra : rebase_source : 8013606e27a159bb2598217db40df926539227c6
2016-06-17 09:36:24 +12:00
Karl Tomlinson 9d3453793f bug 1257718 don't export implementation of complex timeline methods r=padenot
This limits recompilation required when modifying the methods, and
makes the public interface easier to read.

MozReview-Commit-ID: Lo2f7xmIdGu

--HG--
rename : dom/media/webaudio/AudioEventTimeline.h => dom/media/webaudio/AudioEventTimeline.cpp
extra : rebase_source : 75586bb320dd2e5606e691919b1c6a7c48c2065f
2016-06-17 05:26:13 +12:00