| Index: talk/app/webrtc/peerconnection.cc
|
| diff --git a/talk/app/webrtc/peerconnection.cc b/talk/app/webrtc/peerconnection.cc
|
| index f1ff4e6d36ee5d82ceedca1124ad3dbfa89b078b..459c74cbbe0261239ff42ba357fe037e2ad30c46 100644
|
| --- a/talk/app/webrtc/peerconnection.cc
|
| +++ b/talk/app/webrtc/peerconnection.cc
|
| @@ -39,6 +39,7 @@
|
| #include "talk/app/webrtc/mediastreamproxy.h"
|
| #include "talk/app/webrtc/mediastreamtrackproxy.h"
|
| #include "talk/app/webrtc/remoteaudiosource.h"
|
| +#include "talk/app/webrtc/remoteaudiotrack.h"
|
| #include "talk/app/webrtc/remotevideocapturer.h"
|
| #include "talk/app/webrtc/rtpreceiver.h"
|
| #include "talk/app/webrtc/rtpsender.h"
|
| @@ -449,10 +450,12 @@ class RemoteMediaStreamFactory {
|
| MediaStream::Create(stream_label));
|
| }
|
|
|
| - AudioTrackInterface* AddAudioTrack(webrtc::MediaStreamInterface* stream,
|
| + AudioTrackInterface* AddAudioTrack(uint32_t ssrc,
|
| + AudioProviderInterface* provider,
|
| + webrtc::MediaStreamInterface* stream,
|
| const std::string& track_id) {
|
| - return AddTrack<AudioTrackInterface, AudioTrack, AudioTrackProxy>(
|
| - stream, track_id, RemoteAudioSource::Create().get());
|
| + return AddTrack<AudioTrackInterface, RemoteAudioTrack, AudioTrackProxy>(
|
| + stream, track_id, RemoteAudioSource::Create(ssrc, provider));
|
| }
|
|
|
| VideoTrackInterface* AddVideoTrack(webrtc::MediaStreamInterface* stream,
|
| @@ -468,7 +471,7 @@ class RemoteMediaStreamFactory {
|
| template <typename TI, typename T, typename TP, typename S>
|
| TI* AddTrack(MediaStreamInterface* stream,
|
| const std::string& track_id,
|
| - S* source) {
|
| + const S& source) {
|
| rtc::scoped_refptr<TI> track(
|
| TP::Create(signaling_thread_, T::Create(track_id, source)));
|
| track->set_state(webrtc::MediaStreamTrackInterface::kLive);
|
| @@ -1590,8 +1593,8 @@ void PeerConnection::OnRemoteTrackSeen(const std::string& stream_label,
|
| MediaStreamInterface* stream = remote_streams_->find(stream_label);
|
|
|
| if (media_type == cricket::MEDIA_TYPE_AUDIO) {
|
| - AudioTrackInterface* audio_track =
|
| - remote_stream_factory_->AddAudioTrack(stream, track_id);
|
| + AudioTrackInterface* audio_track = remote_stream_factory_->AddAudioTrack(
|
| + ssrc, session_.get(), stream, track_id);
|
| CreateAudioReceiver(stream, audio_track, ssrc);
|
| } else if (media_type == cricket::MEDIA_TYPE_VIDEO) {
|
| VideoTrackInterface* video_track =
|
|
|