Commit 7d1bdf08 authored by Antonio Gomes's avatar Antonio Gomes Committed by Commit Bot

Replace uses of WebRTCDTMFSenderHandler by RtcDtmfSenderHandler

The public API is not needed any more now that the WebRTC/Peerconnection
implementation resides solely in Blink.
Hence, this CL uses RtcDtmfSenderHandler directly.

BUG=787254, 919392
R=guidou@chromium.org, haraken@chromium.org

Change-Id: I7a41b1b03c328bad7f900f30f49a2a236f232318
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1899792
Commit-Queue: Antonio Gomes <tonikitoo@igalia.com>
Reviewed-by: default avatarKentaro Hara <haraken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#712996}
parent abb9f10d
...@@ -267,7 +267,6 @@ source_set("blink_headers") { ...@@ -267,7 +267,6 @@ source_set("blink_headers") {
"platform/web_resource_timing_info.h", "platform/web_resource_timing_info.h",
"platform/web_rtc_api_name.h", "platform/web_rtc_api_name.h",
"platform/web_rtc_data_channel_init.h", "platform/web_rtc_data_channel_init.h",
"platform/web_rtc_dtmf_sender_handler.h",
"platform/web_rtc_dtmf_sender_handler_client.h", "platform/web_rtc_dtmf_sender_handler_client.h",
"platform/web_rtc_ice_candidate.h", "platform/web_rtc_ice_candidate.h",
"platform/web_rtc_legacy_stats.h", "platform/web_rtc_legacy_stats.h",
......
/*
* Copyright (C) 2013 Google Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY GOOGLE INC. ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GOOGLE INC. OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef THIRD_PARTY_BLINK_PUBLIC_PLATFORM_WEB_RTC_DTMF_SENDER_HANDLER_H_
#define THIRD_PARTY_BLINK_PUBLIC_PLATFORM_WEB_RTC_DTMF_SENDER_HANDLER_H_
#include "third_party/blink/public/platform/web_common.h"
#include "third_party/blink/public/platform/web_string.h"
namespace base {
class SingleThreadTaskRunner;
}
namespace webrtc {
class DtmfSenderInterface;
}
namespace blink {
class WebRTCDTMFSenderHandlerClient;
class WebRTCDTMFSenderHandler {
public:
virtual ~WebRTCDTMFSenderHandler() = default;
virtual void SetClient(WebRTCDTMFSenderHandlerClient*) = 0;
virtual WebString CurrentToneBuffer() = 0;
virtual bool CanInsertDTMF() = 0;
virtual bool InsertDTMF(const WebString& tones,
int duration,
int inter_tone_gap) = 0;
};
BLINK_PLATFORM_EXPORT std::unique_ptr<WebRTCDTMFSenderHandler>
CreateRTCDTMFSenderHandler(
scoped_refptr<base::SingleThreadTaskRunner> main_thread,
webrtc::DtmfSenderInterface* dtmf_sender);
} // namespace blink
#endif // THIRD_PARTY_BLINK_PUBLIC_PLATFORM_WEB_RTC_DTMF_SENDER_HANDLER_H_
...@@ -18,7 +18,7 @@ namespace blink { ...@@ -18,7 +18,7 @@ namespace blink {
class RTCVoidRequest; class RTCVoidRequest;
class WebMediaStreamTrack; class WebMediaStreamTrack;
class WebRTCDTMFSenderHandler; class RtcDtmfSenderHandler;
// Implementations of this interface keep the corresponding WebRTC-layer sender // Implementations of this interface keep the corresponding WebRTC-layer sender
// alive through reference counting. Multiple |WebRTCRtpSender|s could reference // alive through reference counting. Multiple |WebRTCRtpSender|s could reference
...@@ -44,7 +44,7 @@ class BLINK_PLATFORM_EXPORT WebRTCRtpSender { ...@@ -44,7 +44,7 @@ class BLINK_PLATFORM_EXPORT WebRTCRtpSender {
// on RTCError, as to surface both exception type and error message. // on RTCError, as to surface both exception type and error message.
// https://crbug.com/790007 // https://crbug.com/790007
virtual void ReplaceTrack(WebMediaStreamTrack, RTCVoidRequest*) = 0; virtual void ReplaceTrack(WebMediaStreamTrack, RTCVoidRequest*) = 0;
virtual std::unique_ptr<WebRTCDTMFSenderHandler> GetDtmfSender() const = 0; virtual std::unique_ptr<RtcDtmfSenderHandler> GetDtmfSender() const = 0;
virtual std::unique_ptr<webrtc::RtpParameters> GetParameters() const = 0; virtual std::unique_ptr<webrtc::RtpParameters> GetParameters() const = 0;
virtual void SetParameters(blink::WebVector<webrtc::RtpEncodingParameters>, virtual void SetParameters(blink::WebVector<webrtc::RtpEncodingParameters>,
webrtc::DegradationPreference, webrtc::DegradationPreference,
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#include <utility> #include <utility>
#include "third_party/blink/renderer/modules/peerconnection/fake_rtc_rtp_transceiver_impl.h" #include "third_party/blink/renderer/modules/peerconnection/fake_rtc_rtp_transceiver_impl.h"
#include "third_party/blink/renderer/platform/peerconnection/rtc_dtmf_sender_handler.h"
namespace blink { namespace blink {
...@@ -86,7 +87,7 @@ void FakeRTCRtpSenderImpl::ReplaceTrack(blink::WebMediaStreamTrack with_track, ...@@ -86,7 +87,7 @@ void FakeRTCRtpSenderImpl::ReplaceTrack(blink::WebMediaStreamTrack with_track,
NOTIMPLEMENTED(); NOTIMPLEMENTED();
} }
std::unique_ptr<blink::WebRTCDTMFSenderHandler> std::unique_ptr<blink::RtcDtmfSenderHandler>
FakeRTCRtpSenderImpl::GetDtmfSender() const { FakeRTCRtpSenderImpl::GetDtmfSender() const {
NOTIMPLEMENTED(); NOTIMPLEMENTED();
return nullptr; return nullptr;
......
...@@ -12,12 +12,12 @@ ...@@ -12,12 +12,12 @@
#include "third_party/blink/public/platform/web_media_constraints.h" #include "third_party/blink/public/platform/web_media_constraints.h"
#include "third_party/blink/public/platform/web_media_stream_source.h" #include "third_party/blink/public/platform/web_media_stream_source.h"
#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/public/platform/web_rtc_dtmf_sender_handler.h"
#include "third_party/blink/public/platform/web_rtc_rtp_receiver.h" #include "third_party/blink/public/platform/web_rtc_rtp_receiver.h"
#include "third_party/blink/public/platform/web_rtc_rtp_sender.h" #include "third_party/blink/public/platform/web_rtc_rtp_sender.h"
#include "third_party/blink/public/platform/web_rtc_rtp_source.h" #include "third_party/blink/public/platform/web_rtc_rtp_source.h"
#include "third_party/blink/public/platform/web_rtc_rtp_transceiver.h" #include "third_party/blink/public/platform/web_rtc_rtp_transceiver.h"
#include "third_party/blink/renderer/platform/mediastream/media_stream_audio_source.h" #include "third_party/blink/renderer/platform/mediastream/media_stream_audio_source.h"
#include "third_party/blink/renderer/platform/peerconnection/rtc_dtmf_sender_handler.h"
namespace blink { namespace blink {
...@@ -44,8 +44,7 @@ class FakeRTCRtpSenderImpl : public blink::WebRTCRtpSender { ...@@ -44,8 +44,7 @@ class FakeRTCRtpSenderImpl : public blink::WebRTCRtpSender {
blink::WebVector<blink::WebString> StreamIds() const override; blink::WebVector<blink::WebString> StreamIds() const override;
void ReplaceTrack(blink::WebMediaStreamTrack with_track, void ReplaceTrack(blink::WebMediaStreamTrack with_track,
blink::RTCVoidRequest* request) override; blink::RTCVoidRequest* request) override;
std::unique_ptr<blink::WebRTCDTMFSenderHandler> GetDtmfSender() std::unique_ptr<blink::RtcDtmfSenderHandler> GetDtmfSender() const override;
const override;
std::unique_ptr<webrtc::RtpParameters> GetParameters() const override; std::unique_ptr<webrtc::RtpParameters> GetParameters() const override;
void SetParameters(blink::WebVector<webrtc::RtpEncodingParameters>, void SetParameters(blink::WebVector<webrtc::RtpEncodingParameters>,
webrtc::DegradationPreference, webrtc::DegradationPreference,
......
...@@ -9,12 +9,12 @@ ...@@ -9,12 +9,12 @@
#include "third_party/blink/public/platform/web_media_stream.h" #include "third_party/blink/public/platform/web_media_stream.h"
#include "third_party/blink/public/platform/web_media_stream_source.h" #include "third_party/blink/public/platform/web_media_stream_source.h"
#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/public/platform/web_rtc_dtmf_sender_handler.h"
#include "third_party/blink/public/platform/web_rtc_rtp_source.h" #include "third_party/blink/public/platform/web_rtc_rtp_source.h"
#include "third_party/blink/public/platform/web_rtc_rtp_transceiver.h" #include "third_party/blink/public/platform/web_rtc_rtp_transceiver.h"
#include "third_party/blink/public/platform/web_rtc_session_description.h" #include "third_party/blink/public/platform/web_rtc_session_description.h"
#include "third_party/blink/public/platform/web_rtc_stats.h" #include "third_party/blink/public/platform/web_rtc_stats.h"
#include "third_party/blink/public/platform/web_vector.h" #include "third_party/blink/public/platform/web_vector.h"
#include "third_party/blink/renderer/platform/peerconnection/rtc_dtmf_sender_handler.h"
#include "third_party/blink/renderer/platform/wtf/thread_safe_ref_counted.h" #include "third_party/blink/renderer/platform/wtf/thread_safe_ref_counted.h"
#include "third_party/webrtc/api/stats/rtc_stats.h" #include "third_party/webrtc/api/stats/rtc_stats.h"
...@@ -72,7 +72,7 @@ class DummyWebRTCRtpSender : public WebRTCRtpSender { ...@@ -72,7 +72,7 @@ class DummyWebRTCRtpSender : public WebRTCRtpSender {
return std::vector<WebString>({WebString::FromUTF8("DummyStringId")}); return std::vector<WebString>({WebString::FromUTF8("DummyStringId")});
} }
void ReplaceTrack(WebMediaStreamTrack, RTCVoidRequest*) override {} void ReplaceTrack(WebMediaStreamTrack, RTCVoidRequest*) override {}
std::unique_ptr<WebRTCDTMFSenderHandler> GetDtmfSender() const override { std::unique_ptr<RtcDtmfSenderHandler> GetDtmfSender() const override {
return nullptr; return nullptr;
} }
std::unique_ptr<webrtc::RtpParameters> GetParameters() const override { std::unique_ptr<webrtc::RtpParameters> GetParameters() const override {
......
...@@ -29,12 +29,12 @@ ...@@ -29,12 +29,12 @@
#include "third_party/blink/public/platform/task_type.h" #include "third_party/blink/public/platform/task_type.h"
#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/public/platform/web_rtc_dtmf_sender_handler.h"
#include "third_party/blink/public/platform/web_rtc_peer_connection_handler.h" #include "third_party/blink/public/platform/web_rtc_peer_connection_handler.h"
#include "third_party/blink/renderer/core/execution_context/execution_context.h" #include "third_party/blink/renderer/core/execution_context/execution_context.h"
#include "third_party/blink/renderer/modules/mediastream/media_stream_track.h" #include "third_party/blink/renderer/modules/mediastream/media_stream_track.h"
#include "third_party/blink/renderer/modules/peerconnection/rtc_dtmf_tone_change_event.h" #include "third_party/blink/renderer/modules/peerconnection/rtc_dtmf_tone_change_event.h"
#include "third_party/blink/renderer/platform/bindings/exception_state.h" #include "third_party/blink/renderer/platform/bindings/exception_state.h"
#include "third_party/blink/renderer/platform/peerconnection/rtc_dtmf_sender_handler.h"
#include "third_party/blink/renderer/platform/wtf/functional.h" #include "third_party/blink/renderer/platform/wtf/functional.h"
namespace blink { namespace blink {
...@@ -48,14 +48,14 @@ static const int kDefaultInterToneGapMs = 70; ...@@ -48,14 +48,14 @@ static const int kDefaultInterToneGapMs = 70;
RTCDTMFSender* RTCDTMFSender::Create( RTCDTMFSender* RTCDTMFSender::Create(
ExecutionContext* context, ExecutionContext* context,
std::unique_ptr<WebRTCDTMFSenderHandler> dtmf_sender_handler) { std::unique_ptr<RtcDtmfSenderHandler> dtmf_sender_handler) {
DCHECK(dtmf_sender_handler); DCHECK(dtmf_sender_handler);
return MakeGarbageCollected<RTCDTMFSender>(context, return MakeGarbageCollected<RTCDTMFSender>(context,
std::move(dtmf_sender_handler)); std::move(dtmf_sender_handler));
} }
RTCDTMFSender::RTCDTMFSender(ExecutionContext* context, RTCDTMFSender::RTCDTMFSender(ExecutionContext* context,
std::unique_ptr<WebRTCDTMFSenderHandler> handler) std::unique_ptr<RtcDtmfSenderHandler> handler)
: ContextLifecycleObserver(context), : ContextLifecycleObserver(context),
handler_(std::move(handler)), handler_(std::move(handler)),
stopped_(false) { stopped_(false) {
......
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
namespace blink { namespace blink {
class ExceptionState; class ExceptionState;
class WebRTCDTMFSenderHandler; class RtcDtmfSenderHandler;
class RTCDTMFSender final : public EventTargetWithInlineData, class RTCDTMFSender final : public EventTargetWithInlineData,
public WebRTCDTMFSenderHandlerClient, public WebRTCDTMFSenderHandlerClient,
...@@ -46,9 +46,9 @@ class RTCDTMFSender final : public EventTargetWithInlineData, ...@@ -46,9 +46,9 @@ class RTCDTMFSender final : public EventTargetWithInlineData,
public: public:
static RTCDTMFSender* Create(ExecutionContext*, static RTCDTMFSender* Create(ExecutionContext*,
std::unique_ptr<WebRTCDTMFSenderHandler>); std::unique_ptr<RtcDtmfSenderHandler>);
RTCDTMFSender(ExecutionContext*, std::unique_ptr<WebRTCDTMFSenderHandler>); RTCDTMFSender(ExecutionContext*, std::unique_ptr<RtcDtmfSenderHandler>);
~RTCDTMFSender() override; ~RTCDTMFSender() override;
bool canInsertDTMF() const; bool canInsertDTMF() const;
...@@ -79,7 +79,7 @@ class RTCDTMFSender final : public EventTargetWithInlineData, ...@@ -79,7 +79,7 @@ class RTCDTMFSender final : public EventTargetWithInlineData,
void PlayoutTask(); void PlayoutTask();
void DidPlayTone(const WebString&) override; void DidPlayTone(const WebString&) override;
std::unique_ptr<WebRTCDTMFSenderHandler> handler_; std::unique_ptr<RtcDtmfSenderHandler> handler_;
bool stopped_; bool stopped_;
String tone_buffer_; String tone_buffer_;
......
...@@ -30,7 +30,6 @@ ...@@ -30,7 +30,6 @@
#include "third_party/blink/public/platform/web_media_stream_source.h" #include "third_party/blink/public/platform/web_media_stream_source.h"
#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/public/platform/web_rtc_data_channel_init.h" #include "third_party/blink/public/platform/web_rtc_data_channel_init.h"
#include "third_party/blink/public/platform/web_rtc_dtmf_sender_handler.h"
#include "third_party/blink/public/platform/web_rtc_ice_candidate.h" #include "third_party/blink/public/platform/web_rtc_ice_candidate.h"
#include "third_party/blink/public/platform/web_rtc_peer_connection_handler_client.h" #include "third_party/blink/public/platform/web_rtc_peer_connection_handler_client.h"
#include "third_party/blink/public/platform/web_rtc_rtp_receiver.h" #include "third_party/blink/public/platform/web_rtc_rtp_receiver.h"
...@@ -50,6 +49,7 @@ ...@@ -50,6 +49,7 @@
#include "third_party/blink/renderer/modules/peerconnection/mock_web_rtc_peer_connection_handler_client.h" #include "third_party/blink/renderer/modules/peerconnection/mock_web_rtc_peer_connection_handler_client.h"
#include "third_party/blink/renderer/modules/peerconnection/peer_connection_tracker.h" #include "third_party/blink/renderer/modules/peerconnection/peer_connection_tracker.h"
#include "third_party/blink/renderer/platform/mediastream/media_stream_audio_source.h" #include "third_party/blink/renderer/platform/mediastream/media_stream_audio_source.h"
#include "third_party/blink/renderer/platform/peerconnection/rtc_dtmf_sender_handler.h"
#include "third_party/blink/renderer/platform/peerconnection/rtc_void_request.h" #include "third_party/blink/renderer/platform/peerconnection/rtc_void_request.h"
#include "third_party/webrtc/api/peer_connection_interface.h" #include "third_party/webrtc/api/peer_connection_interface.h"
#include "third_party/webrtc/api/rtp_receiver_interface.h" #include "third_party/webrtc/api/rtp_receiver_interface.h"
......
...@@ -9,7 +9,6 @@ ...@@ -9,7 +9,6 @@
#include <tuple> #include <tuple>
#include <utility> #include <utility>
#include "third_party/blink/public/platform/web_rtc_dtmf_sender_handler.h"
#include "third_party/blink/public/web/modules/peerconnection/peer_connection_dependency_factory.h" #include "third_party/blink/public/web/modules/peerconnection/peer_connection_dependency_factory.h"
#include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h" #include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h"
#include "third_party/blink/renderer/core/dom/dom_exception.h" #include "third_party/blink/renderer/core/dom/dom_exception.h"
...@@ -25,6 +24,7 @@ ...@@ -25,6 +24,7 @@
#include "third_party/blink/renderer/platform/bindings/exception_state.h" #include "third_party/blink/renderer/platform/bindings/exception_state.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/heap/persistent.h" #include "third_party/blink/renderer/platform/heap/persistent.h"
#include "third_party/blink/renderer/platform/peerconnection/rtc_dtmf_sender_handler.h"
#include "third_party/blink/renderer/platform/peerconnection/rtc_void_request.h" #include "third_party/blink/renderer/platform/peerconnection/rtc_void_request.h"
#include "third_party/blink/renderer/platform/wtf/functional.h" #include "third_party/blink/renderer/platform/wtf/functional.h"
#include "third_party/blink/renderer/platform/wtf/math_extras.h" #include "third_party/blink/renderer/platform/wtf/math_extras.h"
......
...@@ -9,8 +9,8 @@ ...@@ -9,8 +9,8 @@
#include "base/bind.h" #include "base/bind.h"
#include "base/logging.h" #include "base/logging.h"
#include "third_party/blink/public/platform/web_rtc_dtmf_sender_handler.h"
#include "third_party/blink/public/platform/web_rtc_stats.h" #include "third_party/blink/public/platform/web_rtc_stats.h"
#include "third_party/blink/renderer/platform/peerconnection/rtc_dtmf_sender_handler.h"
#include "third_party/blink/renderer/platform/peerconnection/rtc_void_request.h" #include "third_party/blink/renderer/platform/peerconnection/rtc_void_request.h"
#include "third_party/blink/renderer/platform/wtf/thread_safe_ref_counted.h" #include "third_party/blink/renderer/platform/wtf/thread_safe_ref_counted.h"
...@@ -209,12 +209,13 @@ class RTCRtpSenderImpl::RTCRtpSenderInternal ...@@ -209,12 +209,13 @@ class RTCRtpSenderImpl::RTCRtpSenderInternal
base::Unretained(webrtc_track), std::move(callback))); base::Unretained(webrtc_track), std::move(callback)));
} }
std::unique_ptr<blink::WebRTCDTMFSenderHandler> GetDtmfSender() const { std::unique_ptr<blink::RtcDtmfSenderHandler> GetDtmfSender() const {
// The webrtc_sender() is a proxy, so this is a blocking call to the // The webrtc_sender() is a proxy, so this is a blocking call to the
// webrtc signalling thread. // webrtc signalling thread.
DCHECK(main_task_runner_->BelongsToCurrentThread()); DCHECK(main_task_runner_->BelongsToCurrentThread());
auto dtmf_sender = webrtc_sender_->GetDtmfSender(); auto dtmf_sender = webrtc_sender_->GetDtmfSender();
return blink::CreateRTCDTMFSenderHandler(main_task_runner_, dtmf_sender); return std::make_unique<RtcDtmfSenderHandler>(main_task_runner_,
dtmf_sender);
} }
std::unique_ptr<webrtc::RtpParameters> GetParameters() { std::unique_ptr<webrtc::RtpParameters> GetParameters() {
...@@ -456,8 +457,8 @@ void RTCRtpSenderImpl::ReplaceTrack(blink::WebMediaStreamTrack with_track, ...@@ -456,8 +457,8 @@ void RTCRtpSenderImpl::ReplaceTrack(blink::WebMediaStreamTrack with_track,
base::BindOnce(&OnReplaceTrackCompleted, request)); base::BindOnce(&OnReplaceTrackCompleted, request));
} }
std::unique_ptr<blink::WebRTCDTMFSenderHandler> std::unique_ptr<blink::RtcDtmfSenderHandler> RTCRtpSenderImpl::GetDtmfSender()
RTCRtpSenderImpl::GetDtmfSender() const { const {
return internal_->GetDtmfSender(); return internal_->GetDtmfSender();
} }
......
...@@ -137,8 +137,7 @@ class MODULES_EXPORT RTCRtpSenderImpl : public blink::WebRTCRtpSender { ...@@ -137,8 +137,7 @@ class MODULES_EXPORT RTCRtpSenderImpl : public blink::WebRTCRtpSender {
blink::WebVector<blink::WebString> StreamIds() const override; blink::WebVector<blink::WebString> StreamIds() const override;
void ReplaceTrack(blink::WebMediaStreamTrack with_track, void ReplaceTrack(blink::WebMediaStreamTrack with_track,
blink::RTCVoidRequest* request) override; blink::RTCVoidRequest* request) override;
std::unique_ptr<blink::WebRTCDTMFSenderHandler> GetDtmfSender() std::unique_ptr<blink::RtcDtmfSenderHandler> GetDtmfSender() const override;
const override;
std::unique_ptr<webrtc::RtpParameters> GetParameters() const override; std::unique_ptr<webrtc::RtpParameters> GetParameters() const override;
void SetParameters(blink::WebVector<webrtc::RtpEncodingParameters>, void SetParameters(blink::WebVector<webrtc::RtpEncodingParameters>,
webrtc::DegradationPreference, webrtc::DegradationPreference,
......
...@@ -14,17 +14,8 @@ ...@@ -14,17 +14,8 @@
#include "third_party/blink/renderer/platform/wtf/cross_thread_functional.h" #include "third_party/blink/renderer/platform/wtf/cross_thread_functional.h"
#include "third_party/blink/renderer/platform/wtf/text/wtf_string.h" #include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
using webrtc::DtmfSenderInterface;
namespace blink { namespace blink {
std::unique_ptr<WebRTCDTMFSenderHandler> CreateRTCDTMFSenderHandler(
scoped_refptr<base::SingleThreadTaskRunner> main_thread,
webrtc::DtmfSenderInterface* dtmf_sender) {
return std::make_unique<RtcDtmfSenderHandler>(std::move(main_thread),
dtmf_sender);
}
class RtcDtmfSenderHandler::Observer class RtcDtmfSenderHandler::Observer
: public base::RefCountedThreadSafe<Observer>, : public base::RefCountedThreadSafe<Observer>,
public webrtc::DtmfSenderObserverInterface { public webrtc::DtmfSenderObserverInterface {
...@@ -58,7 +49,7 @@ class RtcDtmfSenderHandler::Observer ...@@ -58,7 +49,7 @@ class RtcDtmfSenderHandler::Observer
RtcDtmfSenderHandler::RtcDtmfSenderHandler( RtcDtmfSenderHandler::RtcDtmfSenderHandler(
scoped_refptr<base::SingleThreadTaskRunner> main_thread, scoped_refptr<base::SingleThreadTaskRunner> main_thread,
DtmfSenderInterface* dtmf_sender) webrtc::DtmfSenderInterface* dtmf_sender)
: dtmf_sender_(dtmf_sender), webkit_client_(nullptr) { : dtmf_sender_(dtmf_sender), webkit_client_(nullptr) {
DVLOG(1) << "::ctor"; DVLOG(1) << "::ctor";
observer_ = new Observer(std::move(main_thread), weak_factory_.GetWeakPtr()); observer_ = new Observer(std::move(main_thread), weak_factory_.GetWeakPtr());
......
...@@ -10,11 +10,20 @@ ...@@ -10,11 +10,20 @@
#include "base/macros.h" #include "base/macros.h"
#include "base/memory/weak_ptr.h" #include "base/memory/weak_ptr.h"
#include "base/sequence_checker.h" #include "base/sequence_checker.h"
#include "third_party/blink/public/platform/web_rtc_dtmf_sender_handler.h"
#include "third_party/blink/public/platform/web_rtc_dtmf_sender_handler_client.h" #include "third_party/blink/public/platform/web_rtc_dtmf_sender_handler_client.h"
#include "third_party/blink/public/platform/web_string.h" #include "third_party/blink/public/platform/web_string.h"
#include "third_party/blink/renderer/platform/platform_export.h"
#include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
#include "third_party/webrtc/api/dtmf_sender_interface.h" #include "third_party/webrtc/api/dtmf_sender_interface.h"
namespace base {
class SingleThreadTaskRunner;
}
namespace webrtc {
class DtmfSenderInterface;
}
namespace blink { namespace blink {
// RtcDtmfSenderHandler is a delegate for the RTC DTMF Sender API messages // RtcDtmfSenderHandler is a delegate for the RTC DTMF Sender API messages
...@@ -23,19 +32,18 @@ namespace blink { ...@@ -23,19 +32,18 @@ namespace blink {
// WebKit call all of these methods on the main render thread. // WebKit call all of these methods on the main render thread.
// Callbacks to the webrtc::DtmfSenderObserverInterface implementation also // Callbacks to the webrtc::DtmfSenderObserverInterface implementation also
// occur on the main render thread. // occur on the main render thread.
class RtcDtmfSenderHandler : public blink::WebRTCDTMFSenderHandler { class PLATFORM_EXPORT RtcDtmfSenderHandler final {
public: public:
RtcDtmfSenderHandler(scoped_refptr<base::SingleThreadTaskRunner> main_thread, RtcDtmfSenderHandler(scoped_refptr<base::SingleThreadTaskRunner> main_thread,
webrtc::DtmfSenderInterface* dtmf_sender); webrtc::DtmfSenderInterface* dtmf_sender);
~RtcDtmfSenderHandler() override; ~RtcDtmfSenderHandler();
// blink::WebRTCDTMFSenderHandler implementation. void SetClient(blink::WebRTCDTMFSenderHandlerClient* client);
void SetClient(blink::WebRTCDTMFSenderHandlerClient* client) override; blink::WebString CurrentToneBuffer();
blink::WebString CurrentToneBuffer() override; bool CanInsertDTMF();
bool CanInsertDTMF() override;
bool InsertDTMF(const blink::WebString& tones, bool InsertDTMF(const blink::WebString& tones,
int duration, int duration,
int interToneGap) override; int interToneGap);
void OnToneChange(const String& tone); void OnToneChange(const String& tone);
......
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