Add RegisterExternalDecoder in VideoCodingModule.
In preparation for landing https://webrtc-review.googlesource.com/c/src/+/72441
a downstream project that uses the VideoCodingModule needs to be able to
inject a decoder object created from the outside, just like how encoders
are possible to inject.
Bug: webrtc:7925
Change-Id: Ibaeffda55f84410436d79f75730e7352e298b9f0
Reviewed-on: https://webrtc-review.googlesource.com/77160
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23297}
diff --git a/modules/video_coding/include/video_coding.h b/modules/video_coding/include/video_coding.h
index 5aeb222..af03f1e 100644
--- a/modules/video_coding/include/video_coding.h
+++ b/modules/video_coding/include/video_coding.h
@@ -32,6 +32,7 @@
class Clock;
class EncodedImageCallback;
+class VideoDecoder;
class VideoEncoder;
struct CodecSpecificInfo;
@@ -205,6 +206,14 @@
int32_t numberOfCores,
bool requireKeyFrame = false) = 0;
+ // Register an external decoder object.
+ //
+ // Input:
+ // - externalDecoder : Decoder object to be used for decoding frames.
+ // - payloadType : The payload type which this decoder is bound to.
+ virtual void RegisterExternalDecoder(VideoDecoder* externalDecoder,
+ uint8_t payloadType) = 0;
+
// Register a receive callback. Will be called whenever there is a new frame
// ready
// for rendering.