Use VideoDecoder::Configure interface when setting up decoder
Bug: webrtc:13045
Change-Id: I322ff91d96bab8bb7c40f4dea1c9c2b5c7631635
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228420
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34756}
diff --git a/modules/video_coding/video_coding_impl.cc b/modules/video_coding/video_coding_impl.cc
index f19ea51..6f4903e 100644
--- a/modules/video_coding/video_coding_impl.cc
+++ b/modules/video_coding/video_coding_impl.cc
@@ -56,11 +56,25 @@
void Process() override { receiver_.Process(); }
+ bool RegisterReceiveCodec(
+ uint8_t payload_type,
+ const VideoDecoder::Settings& decoder_settings) override {
+ return receiver_.RegisterReceiveCodec(payload_type, decoder_settings);
+ }
+
int32_t RegisterReceiveCodec(uint8_t payload_type,
- const VideoCodec* receiveCodec,
- int32_t numberOfCores) override {
- return receiver_.RegisterReceiveCodec(payload_type, receiveCodec,
- numberOfCores);
+ const VideoCodec* receive_codec,
+ int32_t number_of_cores) override {
+ VideoDecoder::Settings decoder_settings;
+ if (receive_codec != nullptr) {
+ decoder_settings.set_codec_type(receive_codec->codecType);
+ decoder_settings.set_max_render_resolution(
+ {receive_codec->width, receive_codec->height});
+ decoder_settings.set_buffer_pool_size(receive_codec->buffer_pool_size);
+ }
+ decoder_settings.set_number_of_cores(number_of_cores);
+ return receiver_.RegisterReceiveCodec(payload_type, decoder_settings) ? 0
+ : -1;
}
void RegisterExternalDecoder(VideoDecoder* externalDecoder,