Move ownership of decoders to VCMDecoderDatabase
Bug: webrtc:14497 Change-Id: Idf719a1d1605f19fcf46eff7990c61144f2b9e3b Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/277401 Reviewed-by: Philip Eliasson <philipel@webrtc.org> Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org> Cr-Commit-Position: refs/heads/main@{#38251}
This commit is contained in:
@ -14,6 +14,7 @@
|
||||
#include <stdint.h>
|
||||
|
||||
#include <map>
|
||||
#include <memory>
|
||||
|
||||
#include "absl/types/optional.h"
|
||||
#include "api/sequence_checker.h"
|
||||
@ -32,9 +33,9 @@ class VCMDecoderDatabase {
|
||||
|
||||
// Returns a pointer to the previously registered decoder or nullptr if none
|
||||
// was registered for the `payload_type`.
|
||||
VideoDecoder* DeregisterExternalDecoder(uint8_t payload_type);
|
||||
void DeregisterExternalDecoder(uint8_t payload_type);
|
||||
void RegisterExternalDecoder(uint8_t payload_type,
|
||||
VideoDecoder* external_decoder);
|
||||
std::unique_ptr<VideoDecoder> external_decoder);
|
||||
bool IsExternalDecoderRegistered(uint8_t payload_type) const;
|
||||
|
||||
void RegisterReceiveCodec(uint8_t payload_type,
|
||||
@ -63,7 +64,7 @@ class VCMDecoderDatabase {
|
||||
// Initialization paramaters for decoders keyed by payload type.
|
||||
std::map<uint8_t, VideoDecoder::Settings> decoder_settings_;
|
||||
// Decoders keyed by payload type.
|
||||
std::map<uint8_t, VideoDecoder*> decoders_
|
||||
std::map<uint8_t, std::unique_ptr<VideoDecoder>> decoders_
|
||||
RTC_GUARDED_BY(decoder_sequence_checker_);
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user