Commit 96077725 authored by Antonio Gomes's avatar Antonio Gomes Committed by Commit Bot

Onion soup content/renderer/media/stream/webaudio_media_stream_source.cc|h

As part of the process to Onion soup content/renderer/media/stream,
this CL moves webaudio_media_stream_source.cc|h to blink.

Note that for consistency with the other files whose header is
exposed to Chromium in public/platform/modules/mediastream,
the .cc file was place in renderer/platform/exported/mediastream/.

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

Change-Id: I57fb0e3357b91b584149ad36a5e6abeb74d469cf
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1647197
Commit-Queue: Antonio Gomes <tonikitoo@igalia.com>
Reviewed-by: default avatarKentaro Hara <haraken@chromium.org>
Reviewed-by: default avatarGuido Urdaneta <guidou@chromium.org>
Cr-Commit-Position: refs/heads/master@{#667103}
parent 895cba8c
......@@ -240,8 +240,6 @@ target(link_target_type, "renderer") {
"media/stream/user_media_client_impl.h",
"media/stream/user_media_processor.cc",
"media/stream/user_media_processor.h",
"media/stream/webaudio_media_stream_source.cc",
"media/stream/webaudio_media_stream_source.h",
"media/stream/webmediaplayer_ms.cc",
"media/stream/webmediaplayer_ms.h",
"media/stream/webmediaplayer_ms_compositor.cc",
......
......@@ -14,12 +14,12 @@
#include "content/public/common/content_switches.h"
#include "content/public/renderer/render_thread.h"
#include "content/renderer/media/stream/processed_local_audio_source.h"
#include "content/renderer/media/stream/webaudio_media_stream_source.h"
#include "content/renderer/media/webrtc_local_audio_source_provider.h"
#include "media/base/sample_format.h"
#include "third_party/blink/public/platform/modules/mediastream/media_stream_audio_track.h"
#include "third_party/blink/public/platform/modules/mediastream/web_media_stream_audio_sink.h"
#include "third_party/blink/public/platform/modules/mediastream/web_platform_media_stream_source.h"
#include "third_party/blink/public/platform/modules/mediastream/webaudio_media_stream_source.h"
#include "third_party/blink/public/platform/web_media_constraints.h"
#include "third_party/blink/public/platform/web_media_stream.h"
#include "third_party/blink/public/platform/web_media_stream_source.h"
......@@ -52,7 +52,8 @@ void CreateNativeAudioMediaStreamTrack(
// special case code isn't needed here.
if (!media_stream_source && source.RequiresAudioConsumer()) {
DVLOG(1) << "Creating WebAudio media stream source.";
media_stream_source = new WebAudioMediaStreamSource(&source, task_runner);
media_stream_source =
new blink::WebAudioMediaStreamSource(&source, task_runner);
source.SetPlatformSource(
base::WrapUnique(media_stream_source)); // Takes ownership.
......
......@@ -148,6 +148,7 @@ source_set("blink_headers") {
"platform/modules/mediastream/web_media_stream_video_renderer.h",
"platform/modules/mediastream/web_platform_media_stream_source.h",
"platform/modules/mediastream/web_platform_media_stream_track.h",
"platform/modules/mediastream/webaudio_media_stream_source.h",
"platform/modules/mediastream/webrtc_uma_histograms.h",
"platform/modules/push_messaging/web_push_error.h",
"platform/modules/push_messaging/web_push_subscription.h",
......
......@@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CONTENT_RENDERER_MEDIA_STREAM_WEBAUDIO_MEDIA_STREAM_SOURCE_H_
#define CONTENT_RENDERER_MEDIA_STREAM_WEBAUDIO_MEDIA_STREAM_SOURCE_H_
#ifndef THIRD_PARTY_BLINK_PUBLIC_PLATFORM_MODULES_MEDIASTREAM_WEBAUDIO_MEDIA_STREAM_SOURCE_H_
#define THIRD_PARTY_BLINK_PUBLIC_PLATFORM_MODULES_MEDIASTREAM_WEBAUDIO_MEDIA_STREAM_SOURCE_H_
#include <memory>
......@@ -12,21 +12,22 @@
#include "media/base/audio_push_fifo.h"
#include "third_party/blink/public/platform/modules/mediastream/media_stream_audio_source.h"
#include "third_party/blink/public/platform/web_audio_destination_consumer.h"
#include "third_party/blink/public/platform/web_common.h"
#include "third_party/blink/public/platform/web_media_stream_source.h"
#include "third_party/blink/public/platform/web_vector.h"
namespace content {
namespace blink {
// Implements the WebAudioDestinationConsumer interface to provide a source of
// audio data (i.e., the output from a graph of WebAudio nodes) to one or more
// MediaStreamAudioTracks. Audio data is transported directly to the tracks in
// 10 ms chunks.
class WebAudioMediaStreamSource final
: public blink::MediaStreamAudioSource,
public blink::WebAudioDestinationConsumer {
class BLINK_PLATFORM_EXPORT WebAudioMediaStreamSource final
: public MediaStreamAudioSource,
public WebAudioDestinationConsumer {
public:
WebAudioMediaStreamSource(
blink::WebMediaStreamSource* blink_source,
WebMediaStreamSource* blink_source,
scoped_refptr<base::SingleThreadTaskRunner> task_runner);
~WebAudioMediaStreamSource() override;
......@@ -38,7 +39,7 @@ class WebAudioMediaStreamSource final
// concurrently across threads, but these methods could be called on any
// thread.
void SetFormat(size_t number_of_channels, float sample_rate) override;
void ConsumeAudio(const blink::WebVector<const float*>& audio_data,
void ConsumeAudio(const WebVector<const float*>& audio_data,
size_t number_of_frames) override;
// Called by AudioPushFifo zero or more times during the call to
......@@ -72,13 +73,13 @@ class WebAudioMediaStreamSource final
// DeliverRebufferedAudio().
base::TimeTicks current_reference_time_;
// This object registers with a blink::WebMediaStreamSource. We keep track of
// This object registers with a WebMediaStreamSource. We keep track of
// that in order to be able to deregister before stopping this source.
blink::WebMediaStreamSource blink_source_;
WebMediaStreamSource blink_source_;
DISALLOW_COPY_AND_ASSIGN(WebAudioMediaStreamSource);
};
} // namespace content
} // namespace blink
#endif // CONTENT_RENDERER_MEDIA_STREAM_WEBAUDIO_MEDIA_STREAM_SOURCE_H_
#endif // THIRD_PARTY_BLINK_PUBLIC_PLATFORM_MODULES_MEDIASTREAM_WEBAUDIO_MEDIA_STREAM_SOURCE_H_
......@@ -482,6 +482,7 @@ jumbo_component("platform") {
"exported/mediastream/media_stream_audio_track.cc",
"exported/mediastream/web_platform_media_stream_source.cc",
"exported/mediastream/web_platform_media_stream_track.cc",
"exported/mediastream/webaudio_media_stream_source.cc",
"exported/mediastream/webrtc_uma_histograms.cc",
"exported/platform.cc",
"exported/service_registry.cc",
......
......@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "content/renderer/media/stream/webaudio_media_stream_source.h"
#include "third_party/blink/public/platform/modules/mediastream/webaudio_media_stream_source.h"
#include <utility>
......@@ -10,13 +10,12 @@
#include "base/bind_helpers.h"
#include "base/logging.h"
namespace content {
namespace blink {
WebAudioMediaStreamSource::WebAudioMediaStreamSource(
blink::WebMediaStreamSource* blink_source,
WebMediaStreamSource* blink_source,
scoped_refptr<base::SingleThreadTaskRunner> task_runner)
: blink::MediaStreamAudioSource(std::move(task_runner),
false /* is_remote */),
: MediaStreamAudioSource(std::move(task_runner), false /* is_remote */),
is_registered_consumer_(false),
fifo_(base::Bind(&WebAudioMediaStreamSource::DeliverRebufferedAudio,
base::Unretained(this))),
......@@ -53,7 +52,7 @@ void WebAudioMediaStreamSource::SetFormat(size_t number_of_channels,
fifo_.frames_per_buffer());
// Take care of the discrete channel layout case.
params.set_channels_for_discrete(number_of_channels);
blink::MediaStreamAudioSource::SetFormat(params);
MediaStreamAudioSource::SetFormat(params);
if (!wrapper_bus_ || wrapper_bus_->channels() != params.channels())
wrapper_bus_ = media::AudioBus::CreateWrapper(params.channels());
......@@ -84,7 +83,7 @@ void WebAudioMediaStreamSource::EnsureSourceIsStopped() {
}
void WebAudioMediaStreamSource::ConsumeAudio(
const blink::WebVector<const float*>& audio_data,
const WebVector<const float*>& audio_data,
size_t number_of_frames) {
// TODO(miu): Plumbing is needed to determine the actual capture timestamp
// of the audio, instead of just snapshotting TimeTicks::Now(), for proper
......@@ -108,8 +107,8 @@ void WebAudioMediaStreamSource::DeliverRebufferedAudio(
current_reference_time_ +
base::TimeDelta::FromMicroseconds(
frame_delay * base::Time::kMicrosecondsPerSecond /
blink::MediaStreamAudioSource::GetAudioParameters().sample_rate());
blink::MediaStreamAudioSource::DeliverDataToTracks(audio_bus, reference_time);
MediaStreamAudioSource::GetAudioParameters().sample_rate());
MediaStreamAudioSource::DeliverDataToTracks(audio_bus, reference_time);
}
} // namespace content
} // namespace blink
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