Commit 4b5fe847 authored by Antonio Gomes's avatar Antonio Gomes Committed by Commit Bot

Start dismantling blink::MediaStreamCenter

This is the first of 'n' CLs that dismantle both
MediaStreamCenter classes in content and blink.
It is part of phase 4.7 in the design doc [1].

[1] https://docs.google.com/document/d/1rHJGi1U72qZsOGIctIf7GKRaY8d7BgtVW8MaMYumzYY/

As a first step, this CL starts by embedding the blink::MediaStreamCenter
methods used by other blink/renderer/platform/mediastream classes into
their respective callsides.

This steps makes further work easier, since the remaining
users of the blink::MediaStreamCenter APIs are in blink/renderer/modules/.

The methods being moved here are:

- MediaStreamCenter::SetContentHint
- MediaStreamCenter::GetSourceSettings

BUG=704136
R=guidou@chromium.org, haraken@chromium.org

Change-Id: I75a8487c4fca0838f49b92311f5d80ec4e929435
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1726569
Auto-Submit: Antonio Gomes <tonikitoo@igalia.com>
Reviewed-by: default avatarKentaro Hara <haraken@chromium.org>
Reviewed-by: default avatarGuido Urdaneta <guidou@chromium.org>
Commit-Queue: Antonio Gomes <tonikitoo@igalia.com>
Cr-Commit-Position: refs/heads/master@{#682573}
parent 6e09db1c
...@@ -144,14 +144,6 @@ void MediaStreamCenter::DidCloneMediaStreamTrack( ...@@ -144,14 +144,6 @@ void MediaStreamCenter::DidCloneMediaStreamTrack(
} }
} }
void MediaStreamCenter::DidSetContentHint(
const blink::WebMediaStreamTrack& track) {
blink::WebPlatformMediaStreamTrack* native_track =
blink::WebPlatformMediaStreamTrack::GetTrack(track);
if (native_track)
native_track->SetContentHint(track.ContentHint());
}
void MediaStreamCenter::DidEnableMediaStreamTrack( void MediaStreamCenter::DidEnableMediaStreamTrack(
const blink::WebMediaStreamTrack& track) { const blink::WebMediaStreamTrack& track) {
blink::WebPlatformMediaStreamTrack* native_track = blink::WebPlatformMediaStreamTrack* native_track =
...@@ -196,23 +188,4 @@ void MediaStreamCenter::DidStopMediaStreamSource( ...@@ -196,23 +188,4 @@ void MediaStreamCenter::DidStopMediaStreamSource(
source->StopSource(); source->StopSource();
} }
void MediaStreamCenter::GetSourceSettings(
const blink::WebMediaStreamSource& web_source,
blink::WebMediaStreamTrack::Settings& settings) {
blink::MediaStreamAudioSource* const source =
blink::MediaStreamAudioSource::From(web_source);
if (!source)
return;
media::AudioParameters audio_parameters = source->GetAudioParameters();
if (audio_parameters.IsValid()) {
settings.sample_rate = audio_parameters.sample_rate();
settings.channel_count = audio_parameters.channels();
settings.latency = audio_parameters.GetBufferDuration().InSecondsF();
}
// kSampleFormatS16 is the format used for all audio input streams.
settings.sample_size =
media::SampleFormatToBitsPerChannel(media::kSampleFormatS16);
}
} // namespace content } // namespace content
...@@ -31,8 +31,6 @@ class CONTENT_EXPORT MediaStreamCenter : public blink::WebMediaStreamCenter { ...@@ -31,8 +31,6 @@ class CONTENT_EXPORT MediaStreamCenter : public blink::WebMediaStreamCenter {
const blink::WebMediaStreamTrack& original, const blink::WebMediaStreamTrack& original,
const blink::WebMediaStreamTrack& clone) override; const blink::WebMediaStreamTrack& clone) override;
void DidSetContentHint(const blink::WebMediaStreamTrack& track) override;
void DidEnableMediaStreamTrack( void DidEnableMediaStreamTrack(
const blink::WebMediaStreamTrack& track) override; const blink::WebMediaStreamTrack& track) override;
...@@ -46,10 +44,6 @@ class CONTENT_EXPORT MediaStreamCenter : public blink::WebMediaStreamCenter { ...@@ -46,10 +44,6 @@ class CONTENT_EXPORT MediaStreamCenter : public blink::WebMediaStreamCenter {
void DidStopMediaStreamSource( void DidStopMediaStreamSource(
const blink::WebMediaStreamSource& web_source) override; const blink::WebMediaStreamSource& web_source) override;
void GetSourceSettings(
const blink::WebMediaStreamSource& web_source,
blink::WebMediaStreamTrack::Settings& settings) override;
scoped_refptr<base::SingleThreadTaskRunner> task_runner_; scoped_refptr<base::SingleThreadTaskRunner> task_runner_;
DISALLOW_COPY_AND_ASSIGN(MediaStreamCenter); DISALLOW_COPY_AND_ASSIGN(MediaStreamCenter);
......
...@@ -47,14 +47,11 @@ class WebMediaStreamCenter { ...@@ -47,14 +47,11 @@ class WebMediaStreamCenter {
virtual void DidCreateMediaStreamTrack(const WebMediaStreamTrack&) {} virtual void DidCreateMediaStreamTrack(const WebMediaStreamTrack&) {}
virtual void DidCloneMediaStreamTrack(const WebMediaStreamTrack& original, virtual void DidCloneMediaStreamTrack(const WebMediaStreamTrack& original,
const WebMediaStreamTrack& clone) {} const WebMediaStreamTrack& clone) {}
virtual void DidSetContentHint(const WebMediaStreamTrack&) {}
virtual void DidEnableMediaStreamTrack(const WebMediaStreamTrack&) {} virtual void DidEnableMediaStreamTrack(const WebMediaStreamTrack&) {}
virtual void DidDisableMediaStreamTrack(const WebMediaStreamTrack&) {} virtual void DidDisableMediaStreamTrack(const WebMediaStreamTrack&) {}
// Source functionality. // Source functionality.
virtual void DidStopMediaStreamSource(const WebMediaStreamSource&) {} virtual void DidStopMediaStreamSource(const WebMediaStreamSource&) {}
virtual void GetSourceSettings(const WebMediaStreamSource&,
WebMediaStreamTrack::Settings&) {}
// Caller must take the ownership of the returned |WebAudioSourceProvider| // Caller must take the ownership of the returned |WebAudioSourceProvider|
// object. // object.
......
...@@ -90,11 +90,6 @@ void MediaStreamCenter::DidCloneMediaStreamTrack(MediaStreamComponent* original, ...@@ -90,11 +90,6 @@ void MediaStreamCenter::DidCloneMediaStreamTrack(MediaStreamComponent* original,
private_->DidCloneMediaStreamTrack(original, clone); private_->DidCloneMediaStreamTrack(original, clone);
} }
void MediaStreamCenter::DidSetContentHint(MediaStreamComponent* track) {
if (private_)
private_->DidSetContentHint(track);
}
std::unique_ptr<AudioSourceProvider> std::unique_ptr<AudioSourceProvider>
MediaStreamCenter::CreateWebAudioSourceFromMediaStreamTrack( MediaStreamCenter::CreateWebAudioSourceFromMediaStreamTrack(
MediaStreamComponent* track, MediaStreamComponent* track,
...@@ -114,11 +109,4 @@ void MediaStreamCenter::DidStopMediaStreamSource(MediaStreamSource* source) { ...@@ -114,11 +109,4 @@ void MediaStreamCenter::DidStopMediaStreamSource(MediaStreamSource* source) {
private_->DidStopMediaStreamSource(source); private_->DidStopMediaStreamSource(source);
} }
void MediaStreamCenter::GetSourceSettings(
MediaStreamSource* source,
WebMediaStreamTrack::Settings& settings) {
if (private_)
private_->GetSourceSettings(source, settings);
}
} // namespace blink } // namespace blink
...@@ -61,7 +61,6 @@ class PLATFORM_EXPORT MediaStreamCenter { ...@@ -61,7 +61,6 @@ class PLATFORM_EXPORT MediaStreamCenter {
void DidCloneMediaStreamTrack(MediaStreamComponent* original, void DidCloneMediaStreamTrack(MediaStreamComponent* original,
MediaStreamComponent* clone); MediaStreamComponent* clone);
void DidSetMediaStreamTrackEnabled(MediaStreamComponent*); void DidSetMediaStreamTrackEnabled(MediaStreamComponent*);
void DidSetContentHint(MediaStreamComponent*);
std::unique_ptr<AudioSourceProvider> CreateWebAudioSourceFromMediaStreamTrack( std::unique_ptr<AudioSourceProvider> CreateWebAudioSourceFromMediaStreamTrack(
MediaStreamComponent*, MediaStreamComponent*,
int context_sample_rate); int context_sample_rate);
...@@ -70,8 +69,6 @@ class PLATFORM_EXPORT MediaStreamCenter { ...@@ -70,8 +69,6 @@ class PLATFORM_EXPORT MediaStreamCenter {
void DidStopMediaStreamSource(MediaStreamSource*); void DidStopMediaStreamSource(MediaStreamSource*);
void GetSourceSettings(MediaStreamSource*, WebMediaStreamTrack::Settings&);
private: private:
MediaStreamCenter(); MediaStreamCenter();
......
...@@ -35,7 +35,6 @@ ...@@ -35,7 +35,6 @@
#include "third_party/blink/public/platform/web_media_stream_track.h" #include "third_party/blink/public/platform/web_media_stream_track.h"
#include "third_party/blink/renderer/platform/audio/audio_bus.h" #include "third_party/blink/renderer/platform/audio/audio_bus.h"
#include "third_party/blink/renderer/platform/heap/heap.h" #include "third_party/blink/renderer/platform/heap/heap.h"
#include "third_party/blink/renderer/platform/mediastream/media_stream_center.h"
#include "third_party/blink/renderer/platform/mediastream/media_stream_source.h" #include "third_party/blink/renderer/platform/mediastream/media_stream_source.h"
#include "third_party/blink/renderer/platform/wtf/uuid.h" #include "third_party/blink/renderer/platform/wtf/uuid.h"
...@@ -106,7 +105,9 @@ void MediaStreamComponent::SetContentHint( ...@@ -106,7 +105,9 @@ void MediaStreamComponent::SetContentHint(
return; return;
content_hint_ = hint; content_hint_ = hint;
MediaStreamCenter::Instance().DidSetContentHint(this); WebPlatformMediaStreamTrack* native_track = GetPlatformTrack();
if (native_track)
native_track->SetContentHint(ContentHint());
} }
void MediaStreamComponent::AudioSourceProviderImpl::ProvideInput( void MediaStreamComponent::AudioSourceProviderImpl::ProvideInput(
......
...@@ -30,11 +30,33 @@ ...@@ -30,11 +30,33 @@
#include "third_party/blink/renderer/platform/mediastream/media_stream_source.h" #include "third_party/blink/renderer/platform/mediastream/media_stream_source.h"
#include "third_party/blink/renderer/platform/mediastream/media_stream_center.h" #include "third_party/blink/public/platform/modules/mediastream/media_stream_audio_source.h"
#include "third_party/blink/renderer/platform/wtf/assertions.h" #include "third_party/blink/renderer/platform/wtf/assertions.h"
namespace blink { namespace blink {
namespace {
void GetSourceSettings(const blink::WebMediaStreamSource& web_source,
blink::WebMediaStreamTrack::Settings& settings) {
blink::MediaStreamAudioSource* const source =
blink::MediaStreamAudioSource::From(web_source);
if (!source)
return;
media::AudioParameters audio_parameters = source->GetAudioParameters();
if (audio_parameters.IsValid()) {
settings.sample_rate = audio_parameters.sample_rate();
settings.channel_count = audio_parameters.channels();
settings.latency = audio_parameters.GetBufferDuration().InSecondsF();
}
// kSampleFormatS16 is the format used for all audio input streams.
settings.sample_size =
media::SampleFormatToBitsPerChannel(media::kSampleFormatS16);
}
} // namespace
MediaStreamSource::MediaStreamSource(const String& id, MediaStreamSource::MediaStreamSource(const String& id,
StreamType type, StreamType type,
const String& name, const String& name,
...@@ -144,7 +166,7 @@ void MediaStreamSource::GetSettings(WebMediaStreamTrack::Settings& settings) { ...@@ -144,7 +166,7 @@ void MediaStreamSource::GetSettings(WebMediaStreamTrack::Settings& settings) {
if (noise_supression_) if (noise_supression_)
settings.noise_supression = *noise_supression_; settings.noise_supression = *noise_supression_;
MediaStreamCenter::Instance().GetSourceSettings(this, settings); GetSourceSettings(this, settings);
} }
void MediaStreamSource::SetAudioFormat(size_t number_of_channels, void MediaStreamSource::SetAudioFormat(size_t number_of_channels,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment