Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(518)

Unified Diff: talk/app/webrtc/mediastreamhandler.cc

Issue 1351803002: Exposing RtpSenders and RtpReceivers from PeerConnection. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Adding some stubs so that Chromium build won't break. Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « talk/app/webrtc/mediastreamhandler.h ('k') | talk/app/webrtc/mediastreamhandler_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: talk/app/webrtc/mediastreamhandler.cc
diff --git a/talk/app/webrtc/mediastreamhandler.cc b/talk/app/webrtc/mediastreamhandler.cc
index ded603b12a5da6a684ec84036978d611f8ffc643..be493f14e7213b3ed4043617e5fa12559a711ba8 100644
--- a/talk/app/webrtc/mediastreamhandler.cc
+++ b/talk/app/webrtc/mediastreamhandler.cc
@@ -25,462 +25,5 @@
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#include "talk/app/webrtc/mediastreamhandler.h"
-
-#include "talk/app/webrtc/localaudiosource.h"
-#include "talk/app/webrtc/videosource.h"
-#include "talk/app/webrtc/videosourceinterface.h"
-
-namespace webrtc {
-
-TrackHandler::TrackHandler(MediaStreamTrackInterface* track, uint32 ssrc)
- : track_(track),
- ssrc_(ssrc),
- state_(track->state()),
- enabled_(track->enabled()) {
- track_->RegisterObserver(this);
-}
-
-TrackHandler::~TrackHandler() {
- track_->UnregisterObserver(this);
-}
-
-void TrackHandler::OnChanged() {
- if (state_ != track_->state()) {
- state_ = track_->state();
- OnStateChanged();
- }
- if (enabled_ != track_->enabled()) {
- enabled_ = track_->enabled();
- OnEnabledChanged();
- }
-}
-
-LocalAudioSinkAdapter::LocalAudioSinkAdapter() : sink_(NULL) {}
-
-LocalAudioSinkAdapter::~LocalAudioSinkAdapter() {
- rtc::CritScope lock(&lock_);
- if (sink_)
- sink_->OnClose();
-}
-
-void LocalAudioSinkAdapter::OnData(const void* audio_data,
- int bits_per_sample,
- int sample_rate,
- int number_of_channels,
- size_t number_of_frames) {
- rtc::CritScope lock(&lock_);
- if (sink_) {
- sink_->OnData(audio_data, bits_per_sample, sample_rate,
- number_of_channels, number_of_frames);
- }
-}
-
-void LocalAudioSinkAdapter::SetSink(cricket::AudioRenderer::Sink* sink) {
- rtc::CritScope lock(&lock_);
- ASSERT(!sink || !sink_);
- sink_ = sink;
-}
-
-LocalAudioTrackHandler::LocalAudioTrackHandler(
- AudioTrackInterface* track,
- uint32 ssrc,
- AudioProviderInterface* provider)
- : TrackHandler(track, ssrc),
- audio_track_(track),
- provider_(provider),
- sink_adapter_(new LocalAudioSinkAdapter()) {
- OnEnabledChanged();
- track->AddSink(sink_adapter_.get());
-}
-
-LocalAudioTrackHandler::~LocalAudioTrackHandler() {
-}
-
-void LocalAudioTrackHandler::OnStateChanged() {
- // TODO(perkj): What should happen when the state change?
-}
-
-void LocalAudioTrackHandler::Stop() {
- audio_track_->RemoveSink(sink_adapter_.get());
- cricket::AudioOptions options;
- provider_->SetAudioSend(ssrc(), false, options, NULL);
-}
-
-void LocalAudioTrackHandler::OnEnabledChanged() {
- cricket::AudioOptions options;
- if (audio_track_->enabled() && audio_track_->GetSource()) {
- // TODO(xians): Remove this static_cast since we should be able to connect
- // a remote audio track to peer connection.
- options = static_cast<LocalAudioSource*>(
- audio_track_->GetSource())->options();
- }
-
- // Use the renderer if the audio track has one, otherwise use the sink
- // adapter owned by this class.
- cricket::AudioRenderer* renderer = audio_track_->GetRenderer() ?
- audio_track_->GetRenderer() : sink_adapter_.get();
- ASSERT(renderer != NULL);
- provider_->SetAudioSend(ssrc(), audio_track_->enabled(), options, renderer);
-}
-
-RemoteAudioTrackHandler::RemoteAudioTrackHandler(
- AudioTrackInterface* track,
- uint32 ssrc,
- AudioProviderInterface* provider)
- : TrackHandler(track, ssrc),
- audio_track_(track),
- provider_(provider) {
- track->GetSource()->RegisterAudioObserver(this);
- OnEnabledChanged();
-}
-
-RemoteAudioTrackHandler::~RemoteAudioTrackHandler() {
- audio_track_->GetSource()->UnregisterAudioObserver(this);
-}
-
-void RemoteAudioTrackHandler::Stop() {
- provider_->SetAudioPlayout(ssrc(), false, NULL);
-}
-
-void RemoteAudioTrackHandler::OnStateChanged() {
-}
-
-void RemoteAudioTrackHandler::OnEnabledChanged() {
- provider_->SetAudioPlayout(ssrc(), audio_track_->enabled(),
- audio_track_->GetRenderer());
-}
-
-void RemoteAudioTrackHandler::OnSetVolume(double volume) {
- // When the track is disabled, the volume of the source, which is the
- // corresponding WebRtc Voice Engine channel will be 0. So we do not allow
- // setting the volume to the source when the track is disabled.
- if (audio_track_->enabled())
- provider_->SetAudioPlayoutVolume(ssrc(), volume);
-}
-
-LocalVideoTrackHandler::LocalVideoTrackHandler(
- VideoTrackInterface* track,
- uint32 ssrc,
- VideoProviderInterface* provider)
- : TrackHandler(track, ssrc),
- local_video_track_(track),
- provider_(provider) {
- VideoSourceInterface* source = local_video_track_->GetSource();
- if (source)
- provider_->SetCaptureDevice(ssrc, source->GetVideoCapturer());
- OnEnabledChanged();
-}
-
-LocalVideoTrackHandler::~LocalVideoTrackHandler() {
-}
-
-void LocalVideoTrackHandler::OnStateChanged() {
-}
-
-void LocalVideoTrackHandler::Stop() {
- provider_->SetCaptureDevice(ssrc(), NULL);
- provider_->SetVideoSend(ssrc(), false, NULL);
-}
-
-void LocalVideoTrackHandler::OnEnabledChanged() {
- const cricket::VideoOptions* options = NULL;
- VideoSourceInterface* source = local_video_track_->GetSource();
- if (local_video_track_->enabled() && source) {
- options = source->options();
- }
- provider_->SetVideoSend(ssrc(), local_video_track_->enabled(), options);
-}
-
-RemoteVideoTrackHandler::RemoteVideoTrackHandler(
- VideoTrackInterface* track,
- uint32 ssrc,
- VideoProviderInterface* provider)
- : TrackHandler(track, ssrc),
- remote_video_track_(track),
- provider_(provider) {
- OnEnabledChanged();
- provider_->SetVideoPlayout(ssrc, true,
- remote_video_track_->GetSource()->FrameInput());
-}
-
-RemoteVideoTrackHandler::~RemoteVideoTrackHandler() {
-}
-
-void RemoteVideoTrackHandler::Stop() {
- // Since cricket::VideoRenderer is not reference counted
- // we need to remove the renderer before we are deleted.
- provider_->SetVideoPlayout(ssrc(), false, NULL);
-}
-
-void RemoteVideoTrackHandler::OnStateChanged() {
-}
-
-void RemoteVideoTrackHandler::OnEnabledChanged() {
-}
-
-MediaStreamHandler::MediaStreamHandler(MediaStreamInterface* stream,
- AudioProviderInterface* audio_provider,
- VideoProviderInterface* video_provider)
- : stream_(stream),
- audio_provider_(audio_provider),
- video_provider_(video_provider) {
-}
-
-MediaStreamHandler::~MediaStreamHandler() {
- for (TrackHandlers::iterator it = track_handlers_.begin();
- it != track_handlers_.end(); ++it) {
- delete *it;
- }
-}
-
-void MediaStreamHandler::RemoveTrack(MediaStreamTrackInterface* track) {
- for (TrackHandlers::iterator it = track_handlers_.begin();
- it != track_handlers_.end(); ++it) {
- if ((*it)->track() == track) {
- TrackHandler* track = *it;
- track->Stop();
- delete track;
- track_handlers_.erase(it);
- break;
- }
- }
-}
-
-TrackHandler* MediaStreamHandler::FindTrackHandler(
- MediaStreamTrackInterface* track) {
- TrackHandlers::iterator it = track_handlers_.begin();
- for (; it != track_handlers_.end(); ++it) {
- if ((*it)->track() == track) {
- return *it;
- break;
- }
- }
- return NULL;
-}
-
-MediaStreamInterface* MediaStreamHandler::stream() {
- return stream_.get();
-}
-
-void MediaStreamHandler::OnChanged() {
-}
-
-void MediaStreamHandler::Stop() {
- for (TrackHandlers::const_iterator it = track_handlers_.begin();
- it != track_handlers_.end(); ++it) {
- (*it)->Stop();
- }
-}
-
-LocalMediaStreamHandler::LocalMediaStreamHandler(
- MediaStreamInterface* stream,
- AudioProviderInterface* audio_provider,
- VideoProviderInterface* video_provider)
- : MediaStreamHandler(stream, audio_provider, video_provider) {
-}
-
-LocalMediaStreamHandler::~LocalMediaStreamHandler() {
-}
-
-void LocalMediaStreamHandler::AddAudioTrack(AudioTrackInterface* audio_track,
- uint32 ssrc) {
- ASSERT(!FindTrackHandler(audio_track));
-
- TrackHandler* handler(new LocalAudioTrackHandler(audio_track, ssrc,
- audio_provider_));
- track_handlers_.push_back(handler);
-}
-
-void LocalMediaStreamHandler::AddVideoTrack(VideoTrackInterface* video_track,
- uint32 ssrc) {
- ASSERT(!FindTrackHandler(video_track));
-
- TrackHandler* handler(new LocalVideoTrackHandler(video_track, ssrc,
- video_provider_));
- track_handlers_.push_back(handler);
-}
-
-RemoteMediaStreamHandler::RemoteMediaStreamHandler(
- MediaStreamInterface* stream,
- AudioProviderInterface* audio_provider,
- VideoProviderInterface* video_provider)
- : MediaStreamHandler(stream, audio_provider, video_provider) {
-}
-
-RemoteMediaStreamHandler::~RemoteMediaStreamHandler() {
-}
-
-void RemoteMediaStreamHandler::AddAudioTrack(AudioTrackInterface* audio_track,
- uint32 ssrc) {
- ASSERT(!FindTrackHandler(audio_track));
- TrackHandler* handler(
- new RemoteAudioTrackHandler(audio_track, ssrc, audio_provider_));
- track_handlers_.push_back(handler);
-}
-
-void RemoteMediaStreamHandler::AddVideoTrack(VideoTrackInterface* video_track,
- uint32 ssrc) {
- ASSERT(!FindTrackHandler(video_track));
- TrackHandler* handler(
- new RemoteVideoTrackHandler(video_track, ssrc, video_provider_));
- track_handlers_.push_back(handler);
-}
-
-MediaStreamHandlerContainer::MediaStreamHandlerContainer(
- AudioProviderInterface* audio_provider,
- VideoProviderInterface* video_provider)
- : audio_provider_(audio_provider),
- video_provider_(video_provider) {
-}
-
-MediaStreamHandlerContainer::~MediaStreamHandlerContainer() {
- ASSERT(remote_streams_handlers_.empty());
- ASSERT(local_streams_handlers_.empty());
-}
-
-void MediaStreamHandlerContainer::TearDown() {
- for (StreamHandlerList::iterator it = remote_streams_handlers_.begin();
- it != remote_streams_handlers_.end(); ++it) {
- (*it)->Stop();
- delete *it;
- }
- remote_streams_handlers_.clear();
- for (StreamHandlerList::iterator it = local_streams_handlers_.begin();
- it != local_streams_handlers_.end(); ++it) {
- (*it)->Stop();
- delete *it;
- }
- local_streams_handlers_.clear();
-}
-
-void MediaStreamHandlerContainer::RemoveRemoteStream(
- MediaStreamInterface* stream) {
- DeleteStreamHandler(&remote_streams_handlers_, stream);
-}
-
-void MediaStreamHandlerContainer::AddRemoteAudioTrack(
- MediaStreamInterface* stream,
- AudioTrackInterface* audio_track,
- uint32 ssrc) {
- MediaStreamHandler* handler = FindStreamHandler(remote_streams_handlers_,
- stream);
- if (handler == NULL) {
- handler = CreateRemoteStreamHandler(stream);
- }
- handler->AddAudioTrack(audio_track, ssrc);
-}
-
-void MediaStreamHandlerContainer::AddRemoteVideoTrack(
- MediaStreamInterface* stream,
- VideoTrackInterface* video_track,
- uint32 ssrc) {
- MediaStreamHandler* handler = FindStreamHandler(remote_streams_handlers_,
- stream);
- if (handler == NULL) {
- handler = CreateRemoteStreamHandler(stream);
- }
- handler->AddVideoTrack(video_track, ssrc);
-}
-
-void MediaStreamHandlerContainer::RemoveRemoteTrack(
- MediaStreamInterface* stream,
- MediaStreamTrackInterface* track) {
- MediaStreamHandler* handler = FindStreamHandler(remote_streams_handlers_,
- stream);
- if (!VERIFY(handler != NULL)) {
- LOG(LS_WARNING) << "Local MediaStreamHandler for stream with id "
- << stream->label() << "doesnt't exist.";
- return;
- }
- handler->RemoveTrack(track);
-}
-
-void MediaStreamHandlerContainer::RemoveLocalStream(
- MediaStreamInterface* stream) {
- DeleteStreamHandler(&local_streams_handlers_, stream);
-}
-
-void MediaStreamHandlerContainer::AddLocalAudioTrack(
- MediaStreamInterface* stream,
- AudioTrackInterface* audio_track,
- uint32 ssrc) {
- MediaStreamHandler* handler = FindStreamHandler(local_streams_handlers_,
- stream);
- if (handler == NULL) {
- handler = CreateLocalStreamHandler(stream);
- }
- handler->AddAudioTrack(audio_track, ssrc);
-}
-
-void MediaStreamHandlerContainer::AddLocalVideoTrack(
- MediaStreamInterface* stream,
- VideoTrackInterface* video_track,
- uint32 ssrc) {
- MediaStreamHandler* handler = FindStreamHandler(local_streams_handlers_,
- stream);
- if (handler == NULL) {
- handler = CreateLocalStreamHandler(stream);
- }
- handler->AddVideoTrack(video_track, ssrc);
-}
-
-void MediaStreamHandlerContainer::RemoveLocalTrack(
- MediaStreamInterface* stream,
- MediaStreamTrackInterface* track) {
- MediaStreamHandler* handler = FindStreamHandler(local_streams_handlers_,
- stream);
- if (!VERIFY(handler != NULL)) {
- LOG(LS_WARNING) << "Remote MediaStreamHandler for stream with id "
- << stream->label() << "doesnt't exist.";
- return;
- }
- handler->RemoveTrack(track);
-}
-
-MediaStreamHandler* MediaStreamHandlerContainer::CreateRemoteStreamHandler(
- MediaStreamInterface* stream) {
- ASSERT(!FindStreamHandler(remote_streams_handlers_, stream));
-
- RemoteMediaStreamHandler* handler =
- new RemoteMediaStreamHandler(stream, audio_provider_, video_provider_);
- remote_streams_handlers_.push_back(handler);
- return handler;
-}
-
-MediaStreamHandler* MediaStreamHandlerContainer::CreateLocalStreamHandler(
- MediaStreamInterface* stream) {
- ASSERT(!FindStreamHandler(local_streams_handlers_, stream));
-
- LocalMediaStreamHandler* handler =
- new LocalMediaStreamHandler(stream, audio_provider_, video_provider_);
- local_streams_handlers_.push_back(handler);
- return handler;
-}
-
-MediaStreamHandler* MediaStreamHandlerContainer::FindStreamHandler(
- const StreamHandlerList& handlers,
- MediaStreamInterface* stream) {
- StreamHandlerList::const_iterator it = handlers.begin();
- for (; it != handlers.end(); ++it) {
- if ((*it)->stream() == stream) {
- return *it;
- }
- }
- return NULL;
-}
-
-void MediaStreamHandlerContainer::DeleteStreamHandler(
- StreamHandlerList* streamhandlers, MediaStreamInterface* stream) {
- StreamHandlerList::iterator it = streamhandlers->begin();
- for (; it != streamhandlers->end(); ++it) {
- if ((*it)->stream() == stream) {
- (*it)->Stop();
- delete *it;
- streamhandlers->erase(it);
- break;
- }
- }
-}
-
-} // namespace webrtc
+// TODO(deadbeef): Remove this file once Chrome build files no longer reference
+// it.
« no previous file with comments | « talk/app/webrtc/mediastreamhandler.h ('k') | talk/app/webrtc/mediastreamhandler_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698