Index: third_party/WebKit/Source/modules/mediacapturefromelement/CanvasCaptureMediaStreamTrack.cpp |
diff --git a/third_party/WebKit/Source/modules/mediacapturefromelement/CanvasCaptureMediaStreamTrack.cpp b/third_party/WebKit/Source/modules/mediacapturefromelement/CanvasCaptureMediaStreamTrack.cpp |
index a8a12892e584146fc2c1a7917173909d933991e4..6b7c7514fff9cc5131711e4441607126f94eae45 100644 |
--- a/third_party/WebKit/Source/modules/mediacapturefromelement/CanvasCaptureMediaStreamTrack.cpp |
+++ b/third_party/WebKit/Source/modules/mediacapturefromelement/CanvasCaptureMediaStreamTrack.cpp |
@@ -7,6 +7,7 @@ |
#include "core/html/HTMLCanvasElement.h" |
#include "modules/mediacapturefromelement/AutoCanvasDrawListener.h" |
+#include "modules/mediacapturefromelement/TimedCanvasDrawListener.h" |
#include "platform/NotImplemented.h" |
#include "platform/mediastream/MediaStreamCenter.h" |
@@ -17,6 +18,11 @@ CanvasCaptureMediaStreamTrack* CanvasCaptureMediaStreamTrack::create(MediaStream |
return new CanvasCaptureMediaStreamTrack(component, element, handler); |
} |
+CanvasCaptureMediaStreamTrack* CanvasCaptureMediaStreamTrack::create(MediaStreamComponent* component, PassRefPtrWillBeRawPtr<HTMLCanvasElement> element, const PassOwnPtr<WebCanvasCaptureHandler> handler, double frameRate) |
+{ |
+ return new CanvasCaptureMediaStreamTrack(component, element, handler, frameRate); |
+} |
+ |
HTMLCanvasElement* CanvasCaptureMediaStreamTrack::canvas() const |
{ |
return m_canvasElement.get(); |
@@ -61,4 +67,15 @@ CanvasCaptureMediaStreamTrack::CanvasCaptureMediaStreamTrack(MediaStreamComponen |
m_canvasElement->addListener(m_drawListener.get()); |
} |
+CanvasCaptureMediaStreamTrack::CanvasCaptureMediaStreamTrack(MediaStreamComponent* component, PassRefPtrWillBeRawPtr<HTMLCanvasElement> element, const PassOwnPtr<WebCanvasCaptureHandler> handler, double frameRate) |
+ : MediaStreamTrack(element->executionContext(), component) |
+ , m_canvasElement(element) |
+{ |
+ suspendIfNeeded(); |
+ TimedCanvasDrawListener* listener = TimedCanvasDrawListener::create(handler, frameRate); |
+ m_drawListener = listener; |
+ m_canvasElement->addListener(m_drawListener.get()); |
+ listener->requestNewFrame(); |
+} |
+ |
} // namespace blink |