Descriptioncontent::RTCRtpSenders/Receivers using track adapter references.
Because senders and receivers can live independently of streams, they
should have their own track adapter references to ensure the glue
between blink and webrtc tracks holds for as long as they are alive.
In this CL, senders and receivers are still bound to tracks that are
part of streams, but with this change there is nothing that prevents
a sender or receiver to have a track that is not bound to any stream.
This will unblock addTrack, removeTrack and replaceTrack work.
Additionally, RTCPeerConnection's maps of senders and receivers is
changed to use WeakMember. This simplifies things, the maps are
cleaned up by themselves and we don't need to concern ourselves with
for what duration a sender or receiver is considered "active".
This will unblock having transceivers and allows the possibility for
senders and receivers to be re-used after becoming "inactive" as they
should according to spec.
BUG=700916, 705901
Review-Url: https://codereview.chromium.org/2946663003
Cr-Commit-Position: refs/heads/master@{#480800}
Committed: https://chromium.googlesource.com/chromium/src/+/ea1bc97d4c563ab5383913096697b679f0a37b63
Patch Set 1 #
Total comments: 9
Patch Set 2 : const scoped_refptr<> ref #Patch Set 3 : Rebase #Patch Set 4 : scoped_refptr and std::move #
Total comments: 3
Messages
Total messages: 31 (18 generated)
|