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(
std::unique_ptr<TrackObserver> observer(
new TrackObserver(main_thread, observed_track().get()));
// Here, we use CrossThreadUnretained() to avoid a circular reference.
//
// 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(
web_initialize_ =
CrossThreadBindOnce(&RemoteVideoTrackAdapter::InitializeWebVideoTrack,
CrossThreadUnretained(this), std::move(observer),
observed_track()->enabled()));
observed_track()->enabled());
}
RemoteVideoTrackAdapter::~RemoteVideoTrackAdapter() {
......@@ -76,13 +72,9 @@ RemoteAudioTrackAdapter::RemoteAudioTrackAdapter(
// TODO(tommi): Use TrackObserver instead.
observed_track()->RegisterObserver(this);
// Here, we use CrossThreadUnretained() to avoid a circular reference.
//
// 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(
web_initialize_ =
CrossThreadBindOnce(&RemoteAudioTrackAdapter::InitializeWebAudioTrack,
CrossThreadUnretained(this), main_thread));
CrossThreadUnretained(this), main_thread);
}
RemoteAudioTrackAdapter::~RemoteAudioTrackAdapter() {
......
......@@ -5,12 +5,12 @@
#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_
#include "base/callback.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_track.h"
#include "third_party/blink/public/platform/web_string.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/webrtc/api/media_stream_interface.h"
......@@ -84,7 +84,7 @@ class MODULES_EXPORT RemoteMediaStreamTrackAdapter
// 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
// and used on the main thread when initializing the web object(s).
base::OnceClosure web_initialize_;
CrossThreadOnceClosure web_initialize_;
private:
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