Remove WebRtcMediaStreamAdapterMap and WebRtcMediaStreamAdapter.
These classes were used to create and map blink-layer representations of media streams with webrtc-layer representations of media streams. The life-cycle of these streams were for some time complicated, ownership was shared through reference counting between legacy stream sets, senders and receivers. "GetOrCreate" was necessary in case the stream already existed due to legacy APIs and threading restrictions were different depending on if the stream was local or remote, with destructor having to run on a different thread than it was created. Because of the threading restrictions, ownership passing was made explicit with "AdapterRef" classes, std::unique_ptr<>s and ShallowCopy(). This is not very conventional or pretty. The multi-thread usage required mutexes and this class has been responsible for a couple of deadlock bugs and flaky tests due to thread jumps in the destructor. As of recently, stream objects only exist in the blink layer, and the content/webrtc layer's notion of streams are just the stream IDs. CLs listed prior in the referenced bugs have replaced function calls to third_party/webrtc to use the "std::string stream_id"-versions. With these classes no longer needed, we happily delete them. For the time being, WebRtcMediaStreamTrackAdapter[Map] is still needed, but this can likely be simplified during the Onion Souping. TBR=pfeldman@chromium.org Bug: 777617, 756436 Change-Id: I629597181fcd4eca286887cf1ff1ebbb3f08c64e Reviewed-on: https://chromium-review.googlesource.com/1131499 Commit-Queue: Henrik Boström <hbos@chromium.org> Reviewed-by:Guido Urdaneta <guidou@chromium.org> Cr-Commit-Position: refs/heads/master@{#575212}
Showing
This diff is collapsed.
This diff is collapsed.
Please register or sign in to comment