| Index: talk/app/webrtc/audiotrack.h
|
| diff --git a/talk/app/webrtc/audiotrack.h b/talk/app/webrtc/audiotrack.h
|
| index 750f272ba2b79c8dcd4ccc14de83b55ca43d4ec4..55f48377145ef044942b397357c6dc41c5bf97d5 100644
|
| --- a/talk/app/webrtc/audiotrack.h
|
| +++ b/talk/app/webrtc/audiotrack.h
|
| @@ -28,40 +28,47 @@
|
| #ifndef TALK_APP_WEBRTC_AUDIOTRACK_H_
|
| #define TALK_APP_WEBRTC_AUDIOTRACK_H_
|
|
|
| +#include <string>
|
| +
|
| #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/scoped_ref_ptr.h"
|
| +#include "webrtc/base/thread_checker.h"
|
|
|
| namespace webrtc {
|
|
|
| -class AudioTrack : public MediaStreamTrack<AudioTrackInterface> {
|
| +class AudioTrack : public MediaStreamTrack<AudioTrackInterface>,
|
| + public ObserverInterface {
|
| + protected:
|
| + // Protected ctor to force use of factory method.
|
| + AudioTrack(const std::string& label,
|
| + const rtc::scoped_refptr<AudioSourceInterface>& source);
|
| + ~AudioTrack() override;
|
| +
|
| public:
|
| static rtc::scoped_refptr<AudioTrack> Create(
|
| - const std::string& id, AudioSourceInterface* source);
|
| -
|
| - // 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; }
|
| + const std::string& id,
|
| + const rtc::scoped_refptr<AudioSourceInterface>& source);
|
|
|
| + private:
|
| // MediaStreamTrack implementation.
|
| std::string kind() const override;
|
|
|
| - protected:
|
| - AudioTrack(const std::string& label, AudioSourceInterface* audio_source);
|
| + // AudioTrackInterface implementation.
|
| + AudioSourceInterface* GetSource() const override;
|
| +
|
| + void AddSink(AudioTrackSinkInterface* sink) override;
|
| + void RemoveSink(AudioTrackSinkInterface* sink) override;
|
| +
|
| + // ObserverInterface implementation.
|
| + void OnChanged() override;
|
|
|
| private:
|
| - rtc::scoped_refptr<AudioSourceInterface> audio_source_;
|
| + const rtc::scoped_refptr<AudioSourceInterface> audio_source_;
|
| + rtc::ThreadChecker thread_checker_;
|
| + RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(AudioTrack);
|
| };
|
|
|
| } // namespace webrtc
|
|
|