Reland 2 of: Use VoiceChannel/VideoChannel directly from RtpSender/RtpReceiver.
Relanding again after fixing issue with RTC_DCHECKs.
This CL eliminates the need for the extra layer of indirection provided by
mediastreamprovider.h. It will thus make it easier to implement new
functionality in RtpSender/RtpReceiver.
It also brings us one step closer to the end goal of combining "senders"
and "send streams". Currently the sender still needs to go through the
BaseChannel and MediaChannel, using an SSRC as a key.
R=pthatcher@webrtc.org
Review URL: https://codereview.webrtc.org/2046173002 .
Cr-Original-Commit-Position: refs/heads/master@{#13305}
Cr-Mirrored-From: https://chromium.googlesource.com/external/webrtc
Cr-Mirrored-Commit: ba29c6aac7fd351eb76db2444ccacfb5355ff037
diff --git a/api/remoteaudiosource.h b/api/remoteaudiosource.h
index abb55f6..4cc68f8 100644
--- a/api/remoteaudiosource.h
+++ b/api/remoteaudiosource.h
@@ -14,10 +14,10 @@
#include <list>
#include <string>
-#include "webrtc/api/mediastreaminterface.h"
#include "webrtc/api/notifier.h"
#include "webrtc/audio_sink.h"
#include "webrtc/base/criticalsection.h"
+#include "webrtc/pc/channel.h"
namespace rtc {
struct Message;
@@ -26,15 +26,13 @@
namespace webrtc {
-class AudioProviderInterface;
-
// This class implements the audio source used by the remote audio track.
class RemoteAudioSource : public Notifier<AudioSourceInterface> {
public:
// Creates an instance of RemoteAudioSource.
static rtc::scoped_refptr<RemoteAudioSource> Create(
uint32_t ssrc,
- AudioProviderInterface* provider);
+ cricket::VoiceChannel* channel);
// MediaSourceInterface implementation.
MediaSourceInterface::SourceState state() const override;
@@ -49,7 +47,7 @@
// Post construction initialize where we can do things like save a reference
// to ourselves (need to be fully constructed).
- void Initialize(uint32_t ssrc, AudioProviderInterface* provider);
+ void Initialize(uint32_t ssrc, cricket::VoiceChannel* channel);
private:
typedef std::list<AudioObserver*> AudioObserverList;
@@ -61,7 +59,7 @@
class Sink;
void OnData(const AudioSinkInterface::Data& audio);
- void OnAudioProviderGone();
+ void OnAudioChannelGone();
class MessageHandler;
void OnMessage(rtc::Message* msg);