Add a VideoCoding::RegisterReceiveCodec method with payload_type

Intended to ease removal of VideoCodec::plType, separating video
coding from transport.

Bug: None
Change-Id: I0764f2f714eab9ee4c3e55751819cd5915fb37b6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/181075
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31892}
diff --git a/modules/video_coding/decoder_database.cc b/modules/video_coding/decoder_database.cc
index da3a87b..029ae45 100644
--- a/modules/video_coding/decoder_database.cc
+++ b/modules/video_coding/decoder_database.cc
@@ -70,15 +70,16 @@
   dec_external_map_[payload_type] = ext_decoder;
 }
 
-bool VCMDecoderDataBase::RegisterReceiveCodec(const VideoCodec* receive_codec,
+bool VCMDecoderDataBase::RegisterReceiveCodec(uint8_t payload_type,
+                                              const VideoCodec* receive_codec,
                                               int number_of_cores) {
   if (number_of_cores < 0) {
     return false;
   }
   // If payload value already exists, erase old and insert new.
-  DeregisterReceiveCodec(receive_codec->plType);
+  DeregisterReceiveCodec(payload_type);
   VideoCodec* new_receive_codec = new VideoCodec(*receive_codec);
-  dec_map_[receive_codec->plType] =
+  dec_map_[payload_type] =
       new VCMDecoderMapItem(new_receive_codec, number_of_cores);
   return true;
 }