OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "modules/mediacapturefromelement/CanvasCaptureMediaStreamTrack.h" | 5 #include "modules/mediacapturefromelement/CanvasCaptureMediaStreamTrack.h" |
6 | 6 |
7 #include "core/html/HTMLCanvasElement.h" | 7 #include "core/html/HTMLCanvasElement.h" |
8 #include "modules/mediacapturefromelement/AutoCanvasDrawListener.h" | 8 #include "modules/mediacapturefromelement/AutoCanvasDrawListener.h" |
| 9 #include "modules/mediacapturefromelement/TimedCanvasDrawListener.h" |
9 #include "platform/NotImplemented.h" | 10 #include "platform/NotImplemented.h" |
10 #include "platform/mediastream/MediaStreamCenter.h" | 11 #include "platform/mediastream/MediaStreamCenter.h" |
11 | 12 |
12 namespace blink { | 13 namespace blink { |
13 | 14 |
14 CanvasCaptureMediaStreamTrack* CanvasCaptureMediaStreamTrack::create(MediaStream
Component* component, PassRefPtrWillBeRawPtr<HTMLCanvasElement> element, const P
assOwnPtr<WebCanvasCaptureHandler> handler) | 15 CanvasCaptureMediaStreamTrack* CanvasCaptureMediaStreamTrack::create(MediaStream
Component* component, PassRefPtrWillBeRawPtr<HTMLCanvasElement> element, const P
assOwnPtr<WebCanvasCaptureHandler> handler) |
15 { | 16 { |
16 return new CanvasCaptureMediaStreamTrack(component, element, handler); | 17 return new CanvasCaptureMediaStreamTrack(component, element, handler); |
17 } | 18 } |
18 | 19 |
| 20 CanvasCaptureMediaStreamTrack* CanvasCaptureMediaStreamTrack::create(MediaStream
Component* component, PassRefPtrWillBeRawPtr<HTMLCanvasElement> element, const P
assOwnPtr<WebCanvasCaptureHandler> handler, double frameRate) |
| 21 { |
| 22 return new CanvasCaptureMediaStreamTrack(component, element, handler, frameR
ate); |
| 23 } |
| 24 |
19 HTMLCanvasElement* CanvasCaptureMediaStreamTrack::canvas() const | 25 HTMLCanvasElement* CanvasCaptureMediaStreamTrack::canvas() const |
20 { | 26 { |
21 return m_canvasElement.get(); | 27 return m_canvasElement.get(); |
22 } | 28 } |
23 | 29 |
24 void CanvasCaptureMediaStreamTrack::requestFrame() | 30 void CanvasCaptureMediaStreamTrack::requestFrame() |
25 { | 31 { |
26 notImplemented(); | 32 notImplemented(); |
27 return; | 33 return; |
28 } | 34 } |
(...skipping 24 matching lines...) Expand all Loading... |
53 | 59 |
54 CanvasCaptureMediaStreamTrack::CanvasCaptureMediaStreamTrack(MediaStreamComponen
t* component, PassRefPtrWillBeRawPtr<HTMLCanvasElement> element, const PassOwnPt
r<WebCanvasCaptureHandler> handler) | 60 CanvasCaptureMediaStreamTrack::CanvasCaptureMediaStreamTrack(MediaStreamComponen
t* component, PassRefPtrWillBeRawPtr<HTMLCanvasElement> element, const PassOwnPt
r<WebCanvasCaptureHandler> handler) |
55 : MediaStreamTrack(element->executionContext(), component) | 61 : MediaStreamTrack(element->executionContext(), component) |
56 , m_canvasElement(element) | 62 , m_canvasElement(element) |
57 { | 63 { |
58 suspendIfNeeded(); | 64 suspendIfNeeded(); |
59 m_drawListener = AutoCanvasDrawListener::create(handler); | 65 m_drawListener = AutoCanvasDrawListener::create(handler); |
60 m_canvasElement->addListener(m_drawListener.get()); | 66 m_canvasElement->addListener(m_drawListener.get()); |
61 } | 67 } |
62 | 68 |
| 69 CanvasCaptureMediaStreamTrack::CanvasCaptureMediaStreamTrack(MediaStreamComponen
t* component, PassRefPtrWillBeRawPtr<HTMLCanvasElement> element, const PassOwnPt
r<WebCanvasCaptureHandler> handler, double frameRate) |
| 70 : MediaStreamTrack(element->executionContext(), component) |
| 71 , m_canvasElement(element) |
| 72 { |
| 73 suspendIfNeeded(); |
| 74 TimedCanvasDrawListener* listener = TimedCanvasDrawListener::create(handler,
frameRate); |
| 75 m_drawListener = listener; |
| 76 m_canvasElement->addListener(m_drawListener.get()); |
| 77 listener->requestNewFrame(); |
| 78 } |
| 79 |
63 } // namespace blink | 80 } // namespace blink |
OLD | NEW |