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 4c2f046dfc64994e0b207df63c6dcbed8411b2af..b31f8771d395e1ba3cbb7cd04c4c9fd132c72093 100644 |
--- a/content/renderer/media/media_stream_dependency_factory.cc |
+++ b/content/renderer/media/media_stream_dependency_factory.cc |
@@ -12,6 +12,7 @@ |
#include "content/public/common/content_switches.h" |
#include "content/renderer/media/media_stream_source_extra_data.h" |
#include "content/renderer/media/media_stream_track_extra_data.h" |
+#include "content/renderer/media/media_stream_video_track.h" |
#include "content/renderer/media/peer_connection_identity_service.h" |
#include "content/renderer/media/rtc_media_constraints.h" |
#include "content/renderer/media/rtc_peer_connection_handler.h" |
@@ -914,7 +915,13 @@ 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) { |
+ track.setExtraData(new MediaStreamVideoTrack( |
+ static_cast<webrtc::VideoTrackInterface*>(native_track))); |
+ } else { |
+ track.setExtraData(new MediaStreamTrackExtraData(native_track)); |
+ } |
} |
webrtc::MediaStreamInterface* |