Index: Source/modules/webaudio/AudioParamTimeline.cpp |
diff --git a/Source/modules/webaudio/AudioParamTimeline.cpp b/Source/modules/webaudio/AudioParamTimeline.cpp |
index 1acd5ee52adbc0fd856408ce727659cab7c6c110..ae6c2ba6a02eb75c24bce7978ce11343d8f7f93e 100644 |
--- a/Source/modules/webaudio/AudioParamTimeline.cpp |
+++ b/Source/modules/webaudio/AudioParamTimeline.cpp |
@@ -193,9 +193,11 @@ void AudioParamTimeline::insertEvent(const ParamEvent& event, ExceptionState& ex |
for (i = 0; i < m_events.size(); ++i) { |
if (event.type() == ParamEvent::SetValueCurve) { |
- // If this event is a SetValueCurve, make sure it doesn't overlap any existing event. |
+ // If this event is a SetValueCurve, make sure it doesn't overlap any existing |
+ // event. It's ok if the SetValueCurve starts at the same time as the end of some other |
+ // duration. |
double endTime = event.time() + event.duration(); |
- if (m_events[i].time() >= event.time() && m_events[i].time() < endTime) { |
+ if (m_events[i].time() > event.time() && m_events[i].time() < endTime) { |
exceptionState.throwDOMException( |
NotSupportedError, |
eventToString(event) + " overlaps " + eventToString(m_events[i])); |