Chromium Code Reviews| Index: content/renderer/media/media_stream_track.h |
| diff --git a/content/renderer/media/media_stream_track.h b/content/renderer/media/media_stream_track.h |
| index 9ba3c68b0799680f65652561be02484f34b37ba7..74b2009652768ac1634525aabb1e6e9bf6a12579 100644 |
| --- a/content/renderer/media/media_stream_track.h |
| +++ b/content/renderer/media/media_stream_track.h |
| @@ -8,6 +8,7 @@ |
| #include "base/compiler_specific.h" |
| #include "base/threading/thread_checker.h" |
| #include "content/common/content_export.h" |
| +#include "media/audio/audio_parameters.h" |
| #include "third_party/WebKit/public/platform/WebMediaStreamTrack.h" |
| namespace webrtc { |
| @@ -16,6 +17,8 @@ class AudioTrackInterface; |
| namespace content { |
| +class MediaStreamAudioSink; |
| + |
| // MediaStreamTrack is a Chrome representation of blink::WebMediaStreamTrack. |
| // It is owned by blink::WebMediaStreamTrack as |
| // blink::WebMediaStreamTrack::ExtraData. |
| @@ -31,9 +34,6 @@ class CONTENT_EXPORT MediaStreamTrack |
| virtual void Stop() = 0; |
| - // TODO(tommi, xians): Remove this method. |
| - virtual webrtc::AudioTrackInterface* GetAudioAdapter(); |
| - |
| bool is_local_track() const { return is_local_track_; } |
| protected: |
| @@ -42,9 +42,39 @@ class CONTENT_EXPORT MediaStreamTrack |
| // Used to DCHECK that we are called on Render main Thread. |
| base::ThreadChecker main_render_thread_checker_; |
| + private: |
| DISALLOW_COPY_AND_ASSIGN(MediaStreamTrack); |
| }; |
| +class CONTENT_EXPORT MediaStreamAudioTrack : public MediaStreamTrack { |
|
perkj_chrome
2015/12/11 12:31:38
please move to separate file. See MediaStreamVideo
tommi (sloooow) - chröme
2015/12/11 15:36:51
Done.
|
| + public: |
| + explicit MediaStreamAudioTrack(bool is_local_track); |
| + ~MediaStreamAudioTrack() override; |
| + |
| + static MediaStreamAudioTrack* GetTrack( |
| + const blink::WebMediaStreamTrack& track); |
| + |
| + // Add a sink to the track. This function will trigger a OnSetFormat() |
| + // call on the |sink|. |
| + // Called on the main render thread. |
| + virtual void AddSink(MediaStreamAudioSink* sink) = 0; |
| + |
| + // Remove a sink from the track. |
| + // Called on the main render thread. |
| + virtual void RemoveSink(MediaStreamAudioSink* sink) = 0; |
| + |
| + // TODO(tommi, xians): Remove this method. |
| + virtual webrtc::AudioTrackInterface* GetAudioAdapter(); |
| + |
| + // Returns the output format of the capture source. May return an invalid |
| + // AudioParameters if the format is not yet available. |
| + // Called on the main render thread. |
| + virtual media::AudioParameters GetOutputFormat() const = 0; |
| + |
| + private: |
| + DISALLOW_COPY_AND_ASSIGN(MediaStreamAudioTrack); |
| +}; |
| + |
| } // namespace content |
| #endif // CONTENT_RENDERER_MEDIA_MEDIA_STREAM_TRACK_H_ |