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/decoder_database.h b/modules/video_coding/decoder_database.h
index e726669..9c573ae 100644
--- a/modules/video_coding/decoder_database.h
+++ b/modules/video_coding/decoder_database.h
@@ -35,8 +35,7 @@
   bool IsExternalDecoderRegistered(uint8_t payload_type) const;
 
   bool RegisterReceiveCodec(uint8_t payload_type,
-                            const VideoCodec& receive_codec,
-                            int number_of_cores);
+                            const VideoDecoder::Settings& settings);
   bool DeregisterReceiveCodec(uint8_t payload_type);
 
   // Returns a decoder specified by frame.PayloadType. The decoded frame
@@ -49,17 +48,12 @@
       VCMDecodedFrameCallback* decoded_frame_callback);
 
  private:
-  struct DecoderSettings {
-    VideoCodec settings;
-    int number_of_cores;
-  };
-
   void CreateAndInitDecoder(const VCMEncodedFrame& frame);
 
   absl::optional<uint8_t> current_payload_type_;
   absl::optional<VCMGenericDecoder> current_decoder_;
   // Initialization paramaters for decoders keyed by payload type.
-  std::map<uint8_t, DecoderSettings> decoder_settings_;
+  std::map<uint8_t, VideoDecoder::Settings> decoder_settings_;
   // Decoders keyed by payload type.
   std::map<uint8_t, VideoDecoder*> decoders_;
 };