Use VoiceChannel/VideoChannel directly from RtpSender/RtpReceiver.
This 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-Commit-Position: refs/heads/master@{#13285}
This commit is contained in:
@ -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 @@ class Thread;
|
||||
|
||||
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 @@ class RemoteAudioSource : public Notifier<AudioSourceInterface> {
|
||||
|
||||
// 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 RemoteAudioSource : public Notifier<AudioSourceInterface> {
|
||||
|
||||
class Sink;
|
||||
void OnData(const AudioSinkInterface::Data& audio);
|
||||
void OnAudioProviderGone();
|
||||
void OnAudioChannelGone();
|
||||
|
||||
class MessageHandler;
|
||||
void OnMessage(rtc::Message* msg);
|
||||
|
||||
Reference in New Issue
Block a user