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(
}
}
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(
const blink::WebMediaStreamTrack& track) {
blink::WebPlatformMediaStreamTrack* native_track =
......@@ -196,23 +188,4 @@ void MediaStreamCenter::DidStopMediaStreamSource(
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
......@@ -31,8 +31,6 @@ class CONTENT_EXPORT MediaStreamCenter : public blink::WebMediaStreamCenter {
const blink::WebMediaStreamTrack& original,
const blink::WebMediaStreamTrack& clone) override;
void DidSetContentHint(const blink::WebMediaStreamTrack& track) override;
void DidEnableMediaStreamTrack(
const blink::WebMediaStreamTrack& track) override;
......@@ -46,10 +44,6 @@ class CONTENT_EXPORT MediaStreamCenter : public blink::WebMediaStreamCenter {
void DidStopMediaStreamSource(
const blink::WebMediaStreamSource& web_source) override;
void GetSourceSettings(
const blink::WebMediaStreamSource& web_source,
blink::WebMediaStreamTrack::Settings& settings) override;
scoped_refptr<base::SingleThreadTaskRunner> task_runner_;
DISALLOW_COPY_AND_ASSIGN(MediaStreamCenter);
......
......@@ -47,14 +47,11 @@ class WebMediaStreamCenter {
virtual void DidCreateMediaStreamTrack(const WebMediaStreamTrack&) {}
virtual void DidCloneMediaStreamTrack(const WebMediaStreamTrack& original,
const WebMediaStreamTrack& clone) {}
virtual void DidSetContentHint(const WebMediaStreamTrack&) {}
virtual void DidEnableMediaStreamTrack(const WebMediaStreamTrack&) {}
virtual void DidDisableMediaStreamTrack(const WebMediaStreamTrack&) {}
// Source functionality.
virtual void DidStopMediaStreamSource(const WebMediaStreamSource&) {}
virtual void GetSourceSettings(const WebMediaStreamSource&,
WebMediaStreamTrack::Settings&) {}
// Caller must take the ownership of the returned |WebAudioSourceProvider|
// object.
......
......@@ -90,11 +90,6 @@ void MediaStreamCenter::DidCloneMediaStreamTrack(MediaStreamComponent* original,
private_->DidCloneMediaStreamTrack(original, clone);
}
void MediaStreamCenter::DidSetContentHint(MediaStreamComponent* track) {
if (private_)
private_->DidSetContentHint(track);
}
std::unique_ptr<AudioSourceProvider>
MediaStreamCenter::CreateWebAudioSourceFromMediaStreamTrack(
MediaStreamComponent* track,
......@@ -114,11 +109,4 @@ void MediaStreamCenter::DidStopMediaStreamSource(MediaStreamSource* source) {
private_->DidStopMediaStreamSource(source);
}
void MediaStreamCenter::GetSourceSettings(
MediaStreamSource* source,
WebMediaStreamTrack::Settings& settings) {
if (private_)
private_->GetSourceSettings(source, settings);
}
} // namespace blink
......@@ -61,7 +61,6 @@ class PLATFORM_EXPORT MediaStreamCenter {
void DidCloneMediaStreamTrack(MediaStreamComponent* original,
MediaStreamComponent* clone);
void DidSetMediaStreamTrackEnabled(MediaStreamComponent*);
void DidSetContentHint(MediaStreamComponent*);
std::unique_ptr<AudioSourceProvider> CreateWebAudioSourceFromMediaStreamTrack(
MediaStreamComponent*,
int context_sample_rate);
......@@ -70,8 +69,6 @@ class PLATFORM_EXPORT MediaStreamCenter {
void DidStopMediaStreamSource(MediaStreamSource*);
void GetSourceSettings(MediaStreamSource*, WebMediaStreamTrack::Settings&);
private:
MediaStreamCenter();
......
......@@ -35,7 +35,6 @@
#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/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/wtf/uuid.h"
......@@ -106,7 +105,9 @@ void MediaStreamComponent::SetContentHint(
return;
content_hint_ = hint;
MediaStreamCenter::Instance().DidSetContentHint(this);
WebPlatformMediaStreamTrack* native_track = GetPlatformTrack();
if (native_track)
native_track->SetContentHint(ContentHint());
}
void MediaStreamComponent::AudioSourceProviderImpl::ProvideInput(
......
......@@ -30,11 +30,33 @@
#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"
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,
StreamType type,
const String& name,
......@@ -144,7 +166,7 @@ void MediaStreamSource::GetSettings(WebMediaStreamTrack::Settings& settings) {
if (noise_supression_)
settings.noise_supression = *noise_supression_;
MediaStreamCenter::Instance().GetSourceSettings(this, settings);
GetSourceSettings(this, settings);
}
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