mirror of
https://github.com/mollyim/webrtc.git
synced 2025-05-16 07:10:38 +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 Clock;
|
||||||
class EncodedImageCallback;
|
class EncodedImageCallback;
|
||||||
|
class VideoDecoder;
|
||||||
class VideoEncoder;
|
class VideoEncoder;
|
||||||
struct CodecSpecificInfo;
|
struct CodecSpecificInfo;
|
||||||
|
|
||||||
|
@ -205,6 +206,14 @@ class VideoCodingModule : public Module {
|
||||||
int32_t numberOfCores,
|
int32_t numberOfCores,
|
||||||
bool requireKeyFrame = false) = 0;
|
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
|
// Register a receive callback. Will be called whenever there is a new frame
|
||||||
// ready
|
// ready
|
||||||
// for rendering.
|
// for rendering.
|
||||||
|
|
|
@ -163,6 +163,11 @@ class VideoCodingModuleImpl : public VideoCodingModule {
|
||||||
requireKeyFrame);
|
requireKeyFrame);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void RegisterExternalDecoder(VideoDecoder* externalDecoder,
|
||||||
|
uint8_t payloadType) override {
|
||||||
|
receiver_.RegisterExternalDecoder(externalDecoder, payloadType);
|
||||||
|
}
|
||||||
|
|
||||||
int32_t RegisterReceiveCallback(
|
int32_t RegisterReceiveCallback(
|
||||||
VCMReceiveCallback* receiveCallback) override {
|
VCMReceiveCallback* receiveCallback) override {
|
||||||
RTC_DCHECK(construction_thread_.CalledOnValidThread());
|
RTC_DCHECK(construction_thread_.CalledOnValidThread());
|
||||||
|
|
Loading…
Reference in a new issue