Index: content/renderer/media/media_stream_dependency_factory.cc |
diff --git a/content/renderer/media/media_stream_dependency_factory.cc b/content/renderer/media/media_stream_dependency_factory.cc |
index a156d2ebee62a421be8dca6870198e2917714745..6fce0ea2edacb045c1281b673e355bb65c9cc54b 100644 |
--- a/content/renderer/media/media_stream_dependency_factory.cc |
+++ b/content/renderer/media/media_stream_dependency_factory.cc |
@@ -19,6 +19,7 @@ |
#include "content/renderer/media/rtc_video_decoder_factory.h" |
#include "content/renderer/media/rtc_video_encoder_factory.h" |
#include "content/renderer/media/video_capture_impl_manager.h" |
+#include "content/renderer/media/video_track.h" |
#include "content/renderer/media/webaudio_capturer_source.h" |
#include "content/renderer/media/webrtc_audio_device_impl.h" |
#include "content/renderer/media/webrtc_local_audio_track.h" |
@@ -864,7 +865,16 @@ void MediaStreamDependencyFactory::AddNativeTrackToBlinkTrack( |
const blink::WebMediaStreamTrack& webkit_track) { |
DCHECK(!webkit_track.isNull() && !webkit_track.extraData()); |
blink::WebMediaStreamTrack track = webkit_track; |
- track.setExtraData(new MediaStreamTrackExtraData(native_track)); |
+ |
+ if (track.source().type() == blink::WebMediaStreamSource::TypeVideo) { |
+ // TODO(perkj): Is it better to have multiple implementations of |
+ // AddNativeTrackToBlinkTrack with different types of |native_track|? |
+ DCHECK(native_track->kind() == "video"); |
+ track.setExtraData(new VideoTrack( |
+ static_cast<webrtc::VideoTrackInterface*> (native_track))); |
+ } else { |
+ track.setExtraData(new MediaStreamTrackExtraData(native_track)); |
+ } |
} |
webrtc::MediaStreamInterface* |