Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(172)

Unified Diff: content/renderer/media/rtc_peer_connection_handler.cc

Issue 2902733003: RemoteMediaStreamImpl using WebRtcMediaStreamTrackMap. (Closed)
Patch Set: "Must be invoked on the main thread." Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/renderer/media/rtc_peer_connection_handler.cc
diff --git a/content/renderer/media/rtc_peer_connection_handler.cc b/content/renderer/media/rtc_peer_connection_handler.cc
index 84cd1bb1f3022a66c9856d0c787129672205a192..d8367430148e14dc9cdde5d13729e80c2ea15732 100644
--- a/content/renderer/media/rtc_peer_connection_handler.cc
+++ b/content/renderer/media/rtc_peer_connection_handler.cc
@@ -990,7 +990,11 @@ class RTCPeerConnectionHandler::Observer
public PeerConnectionObserver {
public:
Observer(const base::WeakPtr<RTCPeerConnectionHandler>& handler)
- : handler_(handler), main_thread_(base::ThreadTaskRunnerHandle::Get()) {}
+ : handler_(handler),
+ main_thread_(base::ThreadTaskRunnerHandle::Get()),
+ track_adapter_map_(handler_->track_adapter_map_) {
+ DCHECK(track_adapter_map_);
+ }
protected:
friend class base::RefCountedThreadSafe<RTCPeerConnectionHandler::Observer>;
@@ -1010,7 +1014,7 @@ class RTCPeerConnectionHandler::Observer
void OnAddStream(rtc::scoped_refptr<MediaStreamInterface> stream) override {
DCHECK(stream);
std::unique_ptr<RemoteMediaStreamImpl> remote_stream(
- new RemoteMediaStreamImpl(main_thread_, stream));
+ new RemoteMediaStreamImpl(main_thread_, track_adapter_map_, stream));
// The webkit object owned by RemoteMediaStreamImpl, will be initialized
// asynchronously and the posted task will execude after that initialization
@@ -1111,6 +1115,7 @@ class RTCPeerConnectionHandler::Observer
private:
const base::WeakPtr<RTCPeerConnectionHandler> handler_;
const scoped_refptr<base::SingleThreadTaskRunner> main_thread_;
+ const scoped_refptr<WebRtcMediaStreamTrackAdapterMap> track_adapter_map_;
};
RTCPeerConnectionHandler::RTCPeerConnectionHandler(
@@ -1119,9 +1124,8 @@ RTCPeerConnectionHandler::RTCPeerConnectionHandler(
: client_(client),
is_closed_(false),
dependency_factory_(dependency_factory),
- track_adapter_map_(new WebRtcMediaStreamTrackAdapterMap(
- dependency_factory_,
- base::ThreadTaskRunnerHandle::Get())),
+ track_adapter_map_(
+ new WebRtcMediaStreamTrackAdapterMap(dependency_factory_)),
weak_factory_(this) {
CHECK(client_);
GetPeerConnectionHandlers()->insert(this);

Powered by Google App Engine
This is Rietveld 408576698