Index: talk/app/webrtc/mediastreamhandler.h |
diff --git a/talk/app/webrtc/mediastreamhandler.h b/talk/app/webrtc/mediastreamhandler.h |
index 1782f26e73f5ec5b16390af76fc1cb58d256762c..be493f14e7213b3ed4043617e5fa12559a711ba8 100644 |
--- a/talk/app/webrtc/mediastreamhandler.h |
+++ b/talk/app/webrtc/mediastreamhandler.h |
@@ -25,269 +25,5 @@ |
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
*/ |
-// This file contains classes for listening on changes on MediaStreams and |
-// MediaTracks that are connected to a certain PeerConnection. |
-// Example: If a user sets a rendererer on a remote video track the renderer is |
-// connected to the appropriate remote video stream. |
- |
-#ifndef TALK_APP_WEBRTC_MEDIASTREAMHANDLER_H_ |
-#define TALK_APP_WEBRTC_MEDIASTREAMHANDLER_H_ |
- |
-#include <list> |
-#include <vector> |
- |
-#include "talk/app/webrtc/mediastreaminterface.h" |
-#include "talk/app/webrtc/mediastreamprovider.h" |
-#include "talk/app/webrtc/peerconnectioninterface.h" |
-#include "talk/media/base/audiorenderer.h" |
-#include "webrtc/base/thread.h" |
- |
-namespace webrtc { |
- |
-// TrackHandler listen to events on a MediaStreamTrackInterface that is |
-// connected to a certain PeerConnection. |
-class TrackHandler : public ObserverInterface { |
- public: |
- TrackHandler(MediaStreamTrackInterface* track, uint32 ssrc); |
- virtual ~TrackHandler(); |
- virtual void OnChanged(); |
- // Stop using |track_| on this PeerConnection. |
- virtual void Stop() = 0; |
- |
- MediaStreamTrackInterface* track() { return track_; } |
- uint32 ssrc() const { return ssrc_; } |
- |
- protected: |
- virtual void OnStateChanged() = 0; |
- virtual void OnEnabledChanged() = 0; |
- |
- private: |
- rtc::scoped_refptr<MediaStreamTrackInterface> track_; |
- uint32 ssrc_; |
- MediaStreamTrackInterface::TrackState state_; |
- bool enabled_; |
-}; |
- |
-// LocalAudioSinkAdapter receives data callback as a sink to the local |
-// AudioTrack, and passes the data to the sink of AudioRenderer. |
-class LocalAudioSinkAdapter : public AudioTrackSinkInterface, |
- public cricket::AudioRenderer { |
- public: |
- LocalAudioSinkAdapter(); |
- virtual ~LocalAudioSinkAdapter(); |
- |
- private: |
- // AudioSinkInterface implementation. |
- void OnData(const void* audio_data, |
- int bits_per_sample, |
- int sample_rate, |
- int number_of_channels, |
- size_t number_of_frames) override; |
- |
- // cricket::AudioRenderer implementation. |
- void SetSink(cricket::AudioRenderer::Sink* sink) override; |
- |
- cricket::AudioRenderer::Sink* sink_; |
- // Critical section protecting |sink_|. |
- rtc::CriticalSection lock_; |
-}; |
- |
-// LocalAudioTrackHandler listen to events on a local AudioTrack instance |
-// connected to a PeerConnection and orders the |provider| to executes the |
-// requested change. |
-class LocalAudioTrackHandler : public TrackHandler { |
- public: |
- LocalAudioTrackHandler(AudioTrackInterface* track, |
- uint32 ssrc, |
- AudioProviderInterface* provider); |
- virtual ~LocalAudioTrackHandler(); |
- |
- void Stop() override; |
- |
- protected: |
- void OnStateChanged() override; |
- void OnEnabledChanged() override; |
- |
- private: |
- AudioTrackInterface* audio_track_; |
- AudioProviderInterface* provider_; |
- |
- // Used to pass the data callback from the |audio_track_| to the other |
- // end of cricket::AudioRenderer. |
- rtc::scoped_ptr<LocalAudioSinkAdapter> sink_adapter_; |
-}; |
- |
-// RemoteAudioTrackHandler listen to events on a remote AudioTrack instance |
-// connected to a PeerConnection and orders the |provider| to executes the |
-// requested change. |
-class RemoteAudioTrackHandler : public AudioSourceInterface::AudioObserver, |
- public TrackHandler { |
- public: |
- RemoteAudioTrackHandler(AudioTrackInterface* track, |
- uint32 ssrc, |
- AudioProviderInterface* provider); |
- virtual ~RemoteAudioTrackHandler(); |
- void Stop() override; |
- |
- protected: |
- void OnStateChanged() override; |
- void OnEnabledChanged() override; |
- |
- private: |
- // AudioSourceInterface::AudioObserver implementation. |
- void OnSetVolume(double volume) override; |
- |
- AudioTrackInterface* audio_track_; |
- AudioProviderInterface* provider_; |
-}; |
- |
-// LocalVideoTrackHandler listen to events on a local VideoTrack instance |
-// connected to a PeerConnection and orders the |provider| to executes the |
-// requested change. |
-class LocalVideoTrackHandler : public TrackHandler { |
- public: |
- LocalVideoTrackHandler(VideoTrackInterface* track, |
- uint32 ssrc, |
- VideoProviderInterface* provider); |
- virtual ~LocalVideoTrackHandler(); |
- void Stop() override; |
- |
- protected: |
- void OnStateChanged() override; |
- void OnEnabledChanged() override; |
- |
- private: |
- VideoTrackInterface* local_video_track_; |
- VideoProviderInterface* provider_; |
-}; |
- |
-// RemoteVideoTrackHandler listen to events on a remote VideoTrack instance |
-// connected to a PeerConnection and orders the |provider| to execute |
-// requested changes. |
-class RemoteVideoTrackHandler : public TrackHandler { |
- public: |
- RemoteVideoTrackHandler(VideoTrackInterface* track, |
- uint32 ssrc, |
- VideoProviderInterface* provider); |
- virtual ~RemoteVideoTrackHandler(); |
- void Stop() override; |
- |
- protected: |
- void OnStateChanged() override; |
- void OnEnabledChanged() override; |
- |
- private: |
- VideoTrackInterface* remote_video_track_; |
- VideoProviderInterface* provider_; |
-}; |
- |
-class MediaStreamHandler : public ObserverInterface { |
- public: |
- MediaStreamHandler(MediaStreamInterface* stream, |
- AudioProviderInterface* audio_provider, |
- VideoProviderInterface* video_provider); |
- ~MediaStreamHandler(); |
- MediaStreamInterface* stream(); |
- void Stop(); |
- |
- virtual void AddAudioTrack(AudioTrackInterface* audio_track, uint32 ssrc) = 0; |
- virtual void AddVideoTrack(VideoTrackInterface* video_track, uint32 ssrc) = 0; |
- |
- virtual void RemoveTrack(MediaStreamTrackInterface* track); |
- void OnChanged() override; |
- |
- protected: |
- TrackHandler* FindTrackHandler(MediaStreamTrackInterface* track); |
- rtc::scoped_refptr<MediaStreamInterface> stream_; |
- AudioProviderInterface* audio_provider_; |
- VideoProviderInterface* video_provider_; |
- typedef std::vector<TrackHandler*> TrackHandlers; |
- TrackHandlers track_handlers_; |
-}; |
- |
-class LocalMediaStreamHandler : public MediaStreamHandler { |
- public: |
- LocalMediaStreamHandler(MediaStreamInterface* stream, |
- AudioProviderInterface* audio_provider, |
- VideoProviderInterface* video_provider); |
- ~LocalMediaStreamHandler(); |
- |
- void AddAudioTrack(AudioTrackInterface* audio_track, uint32 ssrc) override; |
- void AddVideoTrack(VideoTrackInterface* video_track, uint32 ssrc) override; |
-}; |
- |
-class RemoteMediaStreamHandler : public MediaStreamHandler { |
- public: |
- RemoteMediaStreamHandler(MediaStreamInterface* stream, |
- AudioProviderInterface* audio_provider, |
- VideoProviderInterface* video_provider); |
- ~RemoteMediaStreamHandler(); |
- void AddAudioTrack(AudioTrackInterface* audio_track, uint32 ssrc) override; |
- void AddVideoTrack(VideoTrackInterface* video_track, uint32 ssrc) override; |
-}; |
- |
-// Container for MediaStreamHandlers of currently known local and remote |
-// MediaStreams. |
-class MediaStreamHandlerContainer { |
- public: |
- MediaStreamHandlerContainer(AudioProviderInterface* audio_provider, |
- VideoProviderInterface* video_provider); |
- ~MediaStreamHandlerContainer(); |
- |
- // Notify all referenced objects that MediaStreamHandlerContainer will be |
- // destroyed. This method must be called prior to the dtor and prior to the |
- // |audio_provider| and |video_provider| is destroyed. |
- void TearDown(); |
- |
- // Remove all TrackHandlers for tracks in |stream| and make sure |
- // the audio_provider and video_provider is notified that the tracks has been |
- // removed. |
- void RemoveRemoteStream(MediaStreamInterface* stream); |
- |
- // Create a RemoteAudioTrackHandler and associate |audio_track| with |ssrc|. |
- void AddRemoteAudioTrack(MediaStreamInterface* stream, |
- AudioTrackInterface* audio_track, |
- uint32 ssrc); |
- // Create a RemoteVideoTrackHandler and associate |video_track| with |ssrc|. |
- void AddRemoteVideoTrack(MediaStreamInterface* stream, |
- VideoTrackInterface* video_track, |
- uint32 ssrc); |
- // Remove the TrackHandler for |track|. |
- void RemoveRemoteTrack(MediaStreamInterface* stream, |
- MediaStreamTrackInterface* track); |
- |
- // Remove all TrackHandlers for tracks in |stream| and make sure |
- // the audio_provider and video_provider is notified that the tracks has been |
- // removed. |
- void RemoveLocalStream(MediaStreamInterface* stream); |
- |
- // Create a LocalAudioTrackHandler and associate |audio_track| with |ssrc|. |
- void AddLocalAudioTrack(MediaStreamInterface* stream, |
- AudioTrackInterface* audio_track, |
- uint32 ssrc); |
- // Create a LocalVideoTrackHandler and associate |video_track| with |ssrc|. |
- void AddLocalVideoTrack(MediaStreamInterface* stream, |
- VideoTrackInterface* video_track, |
- uint32 ssrc); |
- // Remove the TrackHandler for |track|. |
- void RemoveLocalTrack(MediaStreamInterface* stream, |
- MediaStreamTrackInterface* track); |
- |
- private: |
- typedef std::list<MediaStreamHandler*> StreamHandlerList; |
- MediaStreamHandler* FindStreamHandler(const StreamHandlerList& handlers, |
- MediaStreamInterface* stream); |
- MediaStreamHandler* CreateRemoteStreamHandler(MediaStreamInterface* stream); |
- MediaStreamHandler* CreateLocalStreamHandler(MediaStreamInterface* stream); |
- void DeleteStreamHandler(StreamHandlerList* streamhandlers, |
- MediaStreamInterface* stream); |
- |
- StreamHandlerList local_streams_handlers_; |
- StreamHandlerList remote_streams_handlers_; |
- AudioProviderInterface* audio_provider_; |
- VideoProviderInterface* video_provider_; |
-}; |
- |
-} // namespace webrtc |
- |
-#endif // TALK_APP_WEBRTC_MEDIASTREAMHANDLER_H_ |
+// TODO(deadbeef): Remove this file once Chrome build files no longer reference |
+// it. |