• Henrik Boström's avatar
    Remove WebRtcMediaStreamAdapterMap and WebRtcMediaStreamAdapter. · b1877f02
    Henrik Boström authored
    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: default avatarGuido Urdaneta <guidou@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#575212}
    b1877f02
BUILD.gn 89.6 KB