| Index: talk/app/webrtc/rtpsenderinterface.h
|
| diff --git a/talk/app/webrtc/audiotrack.h b/talk/app/webrtc/rtpsenderinterface.h
|
| similarity index 56%
|
| copy from talk/app/webrtc/audiotrack.h
|
| copy to talk/app/webrtc/rtpsenderinterface.h
|
| index 750f272ba2b79c8dcd4ccc14de83b55ca43d4ec4..fca98f21db5823397d789922bd21cc79b1d433b0 100644
|
| --- a/talk/app/webrtc/audiotrack.h
|
| +++ b/talk/app/webrtc/rtpsenderinterface.h
|
| @@ -1,6 +1,6 @@
|
| /*
|
| * libjingle
|
| - * Copyright 2011 Google Inc.
|
| + * Copyright 2015 Google Inc.
|
| *
|
| * Redistribution and use in source and binary forms, with or without
|
| * modification, are permitted provided that the following conditions are met:
|
| @@ -25,45 +25,46 @@
|
| * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
| */
|
|
|
| -#ifndef TALK_APP_WEBRTC_AUDIOTRACK_H_
|
| -#define TALK_APP_WEBRTC_AUDIOTRACK_H_
|
| +// This file contains interfaces for RtpSenders
|
| +// http://w3c.github.io/webrtc-pc/#rtcrtpsender-interface
|
|
|
| +#ifndef TALK_APP_WEBRTC_RTPSENDERINTERFACE_H_
|
| +#define TALK_APP_WEBRTC_RTPSENDERINTERFACE_H_
|
| +
|
| +#include <string>
|
| +
|
| +#include "talk/app/webrtc/proxy.h"
|
| #include "talk/app/webrtc/mediastreaminterface.h"
|
| -#include "talk/app/webrtc/mediastreamtrack.h"
|
| -#include "talk/app/webrtc/notifier.h"
|
| -#include "webrtc/base/scoped_ptr.h"
|
| +#include "webrtc/base/refcount.h"
|
| #include "webrtc/base/scoped_ref_ptr.h"
|
|
|
| namespace webrtc {
|
|
|
| -class AudioTrack : public MediaStreamTrack<AudioTrackInterface> {
|
| +class RtpSenderInterface : public rtc::RefCountInterface {
|
| public:
|
| - static rtc::scoped_refptr<AudioTrack> Create(
|
| - const std::string& id, AudioSourceInterface* source);
|
| + // Returns true if successful in setting the track.
|
| + // Fails if an audio track is set on a video RtpSender, or vice-versa.
|
| + virtual bool SetTrack(MediaStreamTrackInterface* track) = 0;
|
| + virtual rtc::scoped_refptr<MediaStreamTrackInterface> track() const = 0;
|
|
|
| - // AudioTrackInterface implementation.
|
| - AudioSourceInterface* GetSource() const override {
|
| - return audio_source_.get();
|
| - }
|
| - // TODO(xians): Implement these methods.
|
| - void AddSink(AudioTrackSinkInterface* sink) override {}
|
| - void RemoveSink(AudioTrackSinkInterface* sink) override {}
|
| - bool GetSignalLevel(int* level) override { return false; }
|
| - rtc::scoped_refptr<AudioProcessorInterface> GetAudioProcessor() override {
|
| - return NULL;
|
| - }
|
| - cricket::AudioRenderer* GetRenderer() override { return NULL; }
|
| + // Not to be confused with "mid", this is a field we can temporarily use
|
| + // to uniquely identify a receiver until we implement Unified Plan SDP.
|
| + virtual std::string id() const = 0;
|
|
|
| - // MediaStreamTrack implementation.
|
| - std::string kind() const override;
|
| + virtual void Stop() = 0;
|
|
|
| protected:
|
| - AudioTrack(const std::string& label, AudioSourceInterface* audio_source);
|
| -
|
| - private:
|
| - rtc::scoped_refptr<AudioSourceInterface> audio_source_;
|
| + virtual ~RtpSenderInterface() {}
|
| };
|
|
|
| +// Define proxy for RtpSenderInterface.
|
| +BEGIN_PROXY_MAP(RtpSender)
|
| +PROXY_METHOD1(bool, SetTrack, MediaStreamTrackInterface*)
|
| +PROXY_CONSTMETHOD0(rtc::scoped_refptr<MediaStreamTrackInterface>, track)
|
| +PROXY_CONSTMETHOD0(std::string, id)
|
| +PROXY_METHOD0(void, Stop)
|
| +END_PROXY()
|
| +
|
| } // namespace webrtc
|
|
|
| -#endif // TALK_APP_WEBRTC_AUDIOTRACK_H_
|
| +#endif // TALK_APP_WEBRTC_RTPSENDERINTERFACE_H_
|
|
|