Index: talk/app/webrtc/peerconnection.h |
diff --git a/talk/app/webrtc/peerconnection.h b/talk/app/webrtc/peerconnection.h |
index 12f8d1bd4b73b993625c8a97ee1e3ad71d25edb0..3423f850a6f7ce5b91a1ffbe02e1f666cdfa4205 100644 |
--- a/talk/app/webrtc/peerconnection.h |
+++ b/talk/app/webrtc/peerconnection.h |
@@ -42,6 +42,7 @@ |
namespace webrtc { |
+class MediaStreamObserver; |
class RemoteMediaStreamFactory; |
typedef std::vector<PortAllocatorFactoryInterface::StunConfiguration> |
@@ -201,6 +202,16 @@ class PeerConnection : public PeerConnectionInterface, |
void OnSessionStateChange(WebRtcSession* session, WebRtcSession::State state); |
void ChangeSignalingState(SignalingState signaling_state); |
+ // Signals from MediaStreamObserver. |
+ void OnAudioTrackAdded(AudioTrackInterface* track, |
+ MediaStreamInterface* stream); |
+ void OnAudioTrackRemoved(AudioTrackInterface* track, |
+ MediaStreamInterface* stream); |
+ void OnVideoTrackAdded(VideoTrackInterface* track, |
+ MediaStreamInterface* stream); |
+ void OnVideoTrackRemoved(VideoTrackInterface* track, |
+ MediaStreamInterface* stream); |
+ |
rtc::Thread* signaling_thread() const { |
return factory_->signaling_thread(); |
} |
@@ -364,6 +375,8 @@ class PeerConnection : public PeerConnectionInterface, |
// Streams created as a result of SetRemoteDescription. |
rtc::scoped_refptr<StreamCollection> remote_streams_; |
+ std::vector<rtc::scoped_ptr<MediaStreamObserver>> stream_observers_; |
+ |
// These lists store track info seen in local/remote descriptions. |
TrackInfos remote_audio_tracks_; |
TrackInfos remote_video_tracks_; |