| Index: Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp
|
| diff --git a/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp b/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp
|
| index 060adfa418e16b994dc45a0c96f4b8d7fb5e0d35..2e14157926044d2809ec3b4882857c1d206d468a 100644
|
| --- a/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp
|
| +++ b/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp
|
| @@ -29,22 +29,24 @@
|
| #if ENABLE(MEDIA_STREAM)
|
|
|
| #include "Event.h"
|
| +#include "MediaStream.h"
|
| #include "MediaStreamCenter.h"
|
| #include "MediaStreamComponent.h"
|
|
|
| namespace WebCore {
|
|
|
| -PassRefPtr<MediaStreamTrack> MediaStreamTrack::create(ScriptExecutionContext* context, MediaStreamComponent* component)
|
| +PassRefPtr<MediaStreamTrack> MediaStreamTrack::create(ScriptExecutionContext* context, MediaStreamComponent* component, MediaStream* stream)
|
| {
|
| - RefPtr<MediaStreamTrack> track = adoptRef(new MediaStreamTrack(context, component));
|
| + RefPtr<MediaStreamTrack> track = adoptRef(new MediaStreamTrack(context, component, stream));
|
| track->suspendIfNeeded();
|
| return track.release();
|
| }
|
|
|
| -MediaStreamTrack::MediaStreamTrack(ScriptExecutionContext* context, MediaStreamComponent* component)
|
| +MediaStreamTrack::MediaStreamTrack(ScriptExecutionContext* context, MediaStreamComponent* component, MediaStream* stream)
|
| : ActiveDOMObject(context)
|
| , m_stopped(false)
|
| , m_component(component)
|
| + , m_stream(stream)
|
| {
|
| m_component->source()->addObserver(this);
|
| }
|
| @@ -135,6 +137,8 @@ void MediaStreamTrack::sourceChangedState()
|
| break;
|
| case MediaStreamSource::ReadyStateEnded:
|
| dispatchEvent(Event::create(eventNames().endedEvent, false, false));
|
| + if (m_stream)
|
| + m_stream->trackEndedNotification();
|
| break;
|
| }
|
| }
|
| @@ -147,6 +151,8 @@ MediaStreamComponent* MediaStreamTrack::component()
|
| void MediaStreamTrack::stop()
|
| {
|
| m_stopped = true;
|
| + if (m_stream)
|
| + m_stream->trackEndedNotification();
|
| }
|
|
|
| const AtomicString& MediaStreamTrack::interfaceName() const
|
|
|