mirror of
https://github.com/mollyim/webrtc.git
synced 2025-05-13 05:40:42 +01:00
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}
This commit is contained in:
parent
460f53bb86
commit
7eb8e9fd7b
2 changed files with 14 additions and 0 deletions
|
@ -32,6 +32,7 @@ namespace webrtc {
|
|||
|
||||
class Clock;
|
||||
class EncodedImageCallback;
|
||||
class VideoDecoder;
|
||||
class VideoEncoder;
|
||||
struct CodecSpecificInfo;
|
||||
|
||||
|
@ -205,6 +206,14 @@ class VideoCodingModule : public Module {
|
|||
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.
|
||||
|
|
|
@ -163,6 +163,11 @@ class VideoCodingModuleImpl : public VideoCodingModule {
|
|||
requireKeyFrame);
|
||||
}
|
||||
|
||||
void RegisterExternalDecoder(VideoDecoder* externalDecoder,
|
||||
uint8_t payloadType) override {
|
||||
receiver_.RegisterExternalDecoder(externalDecoder, payloadType);
|
||||
}
|
||||
|
||||
int32_t RegisterReceiveCallback(
|
||||
VCMReceiveCallback* receiveCallback) override {
|
||||
RTC_DCHECK(construction_thread_.CalledOnValidThread());
|
||||
|
|
Loading…
Reference in a new issue