Chromium Code Reviews| Index: content/renderer/media/media_stream_center.cc |
| diff --git a/content/renderer/media/media_stream_center.cc b/content/renderer/media/media_stream_center.cc |
| index 29f2363c75efb9eb6be296e98bccb4ebc5f6cb95..d021d618f1e686c84a2bfd7dfee618f4b600d854 100644 |
| --- a/content/renderer/media/media_stream_center.cc |
| +++ b/content/renderer/media/media_stream_center.cc |
| @@ -32,7 +32,6 @@ static webrtc::MediaStreamInterface* GetNativeMediaStream( |
| return extra_data->stream(); |
| } |
| - |
| static webrtc::MediaStreamTrackInterface* GetNativeMediaStreamTrack( |
| const WebKit::WebMediaStream& stream, |
| const WebKit::WebMediaStreamTrack& component) { |
| @@ -99,4 +98,32 @@ void MediaStreamCenter::didCreateMediaStream( |
| rtc_factory_->CreateNativeLocalMediaStream(&stream); |
| } |
| +bool MediaStreamCenter::didAddMediaStreamTrack( |
|
henrika (OOO until Aug 14)
2013/04/09 16:53:43
Why do we return bool here but void for didCreateM
perkj_chrome
2013/04/10 19:58:00
Good question- this is WebKit magic. Normally an e
|
| + const WebKit::WebMediaStream& stream, |
| + const WebKit::WebMediaStreamTrack& track) { |
| + if (!rtc_factory_) { |
|
tommi (sloooow) - chröme
2013/04/09 13:28:49
no {}
perkj_chrome
2013/04/10 19:58:00
Done.
|
| + return false; |
| + } |
| + return rtc_factory_->AddNativeLocalMediaTrack(stream, track); |
|
henrika (OOO until Aug 14)
2013/04/09 16:53:43
Why is the rtc_factory used for didAdd but bot for
perkj_chrome
2013/04/10 19:58:00
make sence. Moved Removed.
|
| +} |
| + |
| +bool MediaStreamCenter::didRemoveMediaStreamTrack( |
| + const WebKit::WebMediaStream& stream, |
| + const WebKit::WebMediaStreamTrack& track) { |
| + webrtc::MediaStreamInterface* native_stream = GetNativeMediaStream(stream); |
| + WebKit::WebMediaStreamSource::Type type = track.source().type(); |
| + std::string track_id = UTF16ToUTF8(track.id()); |
| + if (type == WebKit::WebMediaStreamSource::TypeAudio) { |
|
tommi (sloooow) - chröme
2013/04/09 13:28:49
This looks a bit hard to read and spot the three r
perkj_chrome
2013/04/10 19:58:00
Done.
|
| + webrtc::AudioTrackInterface* audio_track = |
| + native_stream->FindAudioTrack(track_id); |
| + return native_stream->RemoveTrack(audio_track); |
| + } else if (type == WebKit::WebMediaStreamSource::TypeVideo) { |
| + webrtc::VideoTrackInterface* video_track = |
| + native_stream->FindVideoTrack(track_id); |
| + return native_stream->RemoveTrack(video_track); |
| + } |
| + NOTREACHED(); |
| + return false; |
| +} |
| + |
| } // namespace content |