Delay creation of decoders until they are needed
Before this CL, WebRTC created a decoder for each negotiated codec profile. This quickly consumed all available HW decoder resources on some platforms. This CL adds a field trial, WebRTC-PreStreamDecoders, that makes it possible to set how many decoders that should be created up front, from 0 to ALL. If the field trial is set to 1, we only create a decoder for the preferred codec. The other decoders are only created when they are needed (i.e., if we receive the corresponding payload type). Bug: webrtc:12462 Change-Id: I087571b540f6796d32d34923f9c7f8e89b0959c5 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/208284 Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> Commit-Queue: Johannes Kron <kron@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33300}
This commit is contained in:

committed by
Commit Bot

parent
c9b9930c97
commit
16359f65c4
@ -44,6 +44,7 @@ class VCMDecoderDataBase {
|
||||
bool DeregisterExternalDecoder(uint8_t payload_type);
|
||||
void RegisterExternalDecoder(VideoDecoder* external_decoder,
|
||||
uint8_t payload_type);
|
||||
bool IsExternalDecoderRegistered(uint8_t payload_type) const;
|
||||
|
||||
bool RegisterReceiveCodec(uint8_t payload_type,
|
||||
const VideoCodec* receive_codec,
|
||||
|
Reference in New Issue
Block a user