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

Avoid using ConvertToBaseOnceCallback in RemoteVideoTrackAdapter

BUG=963574
R=guidou@chromium.org

Change-Id: Ie7e76a2fc0e65ddeb53b6af5b12883a4f2994aca
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1969690
Auto-Submit: Antonio Gomes <tonikitoo@igalia.com>
Commit-Queue: Guido Urdaneta <guidou@chromium.org>
Reviewed-by: default avatarGuido Urdaneta <guidou@chromium.org>
Cr-Commit-Position: refs/heads/master@{#726102}
parent 5c3e2614
...@@ -24,14 +24,10 @@ RemoteVideoTrackAdapter::RemoteVideoTrackAdapter( ...@@ -24,14 +24,10 @@ RemoteVideoTrackAdapter::RemoteVideoTrackAdapter(
std::unique_ptr<TrackObserver> observer( std::unique_ptr<TrackObserver> observer(
new TrackObserver(main_thread, observed_track().get())); new TrackObserver(main_thread, observed_track().get()));
// Here, we use CrossThreadUnretained() to avoid a circular reference. // Here, we use CrossThreadUnretained() to avoid a circular reference.
// web_initialize_ =
// TODO(crbug.com/963574): Remove the use of ConvertToBaseOnceCallback here
// once the file that includes remote_media_stream_track_adapter.h (namely
// webrtc_media_stream_track_adapter.h) is Onion souped.
web_initialize_ = ConvertToBaseOnceCallback(
CrossThreadBindOnce(&RemoteVideoTrackAdapter::InitializeWebVideoTrack, CrossThreadBindOnce(&RemoteVideoTrackAdapter::InitializeWebVideoTrack,
CrossThreadUnretained(this), std::move(observer), CrossThreadUnretained(this), std::move(observer),
observed_track()->enabled())); observed_track()->enabled());
} }
RemoteVideoTrackAdapter::~RemoteVideoTrackAdapter() { RemoteVideoTrackAdapter::~RemoteVideoTrackAdapter() {
...@@ -76,13 +72,9 @@ RemoteAudioTrackAdapter::RemoteAudioTrackAdapter( ...@@ -76,13 +72,9 @@ RemoteAudioTrackAdapter::RemoteAudioTrackAdapter(
// TODO(tommi): Use TrackObserver instead. // TODO(tommi): Use TrackObserver instead.
observed_track()->RegisterObserver(this); observed_track()->RegisterObserver(this);
// Here, we use CrossThreadUnretained() to avoid a circular reference. // Here, we use CrossThreadUnretained() to avoid a circular reference.
// web_initialize_ =
// TODO(crbug.com/963574): Remove the use of ConvertToBaseOnceCallback here
// once the file that includes remote_media_stream_track_adapter.h (namely
// webrtc_media_stream_track_adapter.h) is Onion souped.
web_initialize_ = ConvertToBaseOnceCallback(
CrossThreadBindOnce(&RemoteAudioTrackAdapter::InitializeWebAudioTrack, CrossThreadBindOnce(&RemoteAudioTrackAdapter::InitializeWebAudioTrack,
CrossThreadUnretained(this), main_thread)); CrossThreadUnretained(this), main_thread);
} }
RemoteAudioTrackAdapter::~RemoteAudioTrackAdapter() { RemoteAudioTrackAdapter::~RemoteAudioTrackAdapter() {
......
...@@ -5,12 +5,12 @@ ...@@ -5,12 +5,12 @@
#ifndef THIRD_PARTY_BLINK_RENDERER_MODULES_MEDIASTREAM_REMOTE_MEDIA_STREAM_TRACK_ADAPTER_H_ #ifndef THIRD_PARTY_BLINK_RENDERER_MODULES_MEDIASTREAM_REMOTE_MEDIA_STREAM_TRACK_ADAPTER_H_
#define THIRD_PARTY_BLINK_RENDERER_MODULES_MEDIASTREAM_REMOTE_MEDIA_STREAM_TRACK_ADAPTER_H_ #define THIRD_PARTY_BLINK_RENDERER_MODULES_MEDIASTREAM_REMOTE_MEDIA_STREAM_TRACK_ADAPTER_H_
#include "base/callback.h"
#include "base/logging.h" #include "base/logging.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_string.h" #include "third_party/blink/public/platform/web_string.h"
#include "third_party/blink/renderer/modules/modules_export.h" #include "third_party/blink/renderer/modules/modules_export.h"
#include "third_party/blink/renderer/platform/wtf/functional.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/media_stream_interface.h" #include "third_party/webrtc/api/media_stream_interface.h"
...@@ -84,7 +84,7 @@ class MODULES_EXPORT RemoteMediaStreamTrackAdapter ...@@ -84,7 +84,7 @@ class MODULES_EXPORT RemoteMediaStreamTrackAdapter
// The callback is used by derived classes to bind objects that need to be // The callback is used by derived classes to bind objects that need to be
// instantiated and initialized on the signaling thread but then moved to // instantiated and initialized on the signaling thread but then moved to
// and used on the main thread when initializing the web object(s). // and used on the main thread when initializing the web object(s).
base::OnceClosure web_initialize_; CrossThreadOnceClosure web_initialize_;
private: private:
const scoped_refptr<WebRtcMediaStreamTrackType> webrtc_track_; const scoped_refptr<WebRtcMediaStreamTrackType> webrtc_track_;
......
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