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(); |
Tommy Widenflycht
2013/04/08 14:01:07
This is a bit overkill because when stop() is call
abarth-chromium
2013/04/08 16:58:41
Yeah.
|
} |
const AtomicString& MediaStreamTrack::interfaceName() const |