Insert frame transformer between Encoded and Packetizer.
Add a new API in RTPSenderInterface, to be called from the browser side to insert a frame transformer between the Encoded and the Packetizer. The frame transformer is passed from RTPSenderInterface through the library to be eventually set in RTPSenderVideo, where the frame transformation will occur in the follow-up CL https://webrtc-review.googlesource.com/c/src/+/169128. Insertable Streams Web API explainer: https://github.com/alvestrand/webrtc-media-streams/blob/master/explainer.md Design doc for WebRTC library changes: http://doc/1eiLkjNUkRy2FssCPLUp6eH08BZuXXoHfbbBP1ZN7EVk Bug: webrtc:11380 Change-Id: I46cd0d8a798c2736c837e90cbf90d8901c7d27fb Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169127 Commit-Queue: Marina Ciocea <marinaciocea@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> Cr-Commit-Position: refs/heads/master@{#30642}
This commit is contained in:
committed by
Commit Bot
parent
c62e4c5dc7
commit
e77912ba8c
@ -20,6 +20,7 @@
|
||||
#include "api/crypto/frame_encryptor_interface.h"
|
||||
#include "api/dtls_transport_interface.h"
|
||||
#include "api/dtmf_sender_interface.h"
|
||||
#include "api/frame_transformer_interface.h"
|
||||
#include "api/media_stream_interface.h"
|
||||
#include "api/media_types.h"
|
||||
#include "api/proxy.h"
|
||||
@ -93,6 +94,9 @@ class RTC_EXPORT RtpSenderInterface : public rtc::RefCountInterface {
|
||||
// user. This can be used to update the state of the object.
|
||||
virtual rtc::scoped_refptr<FrameEncryptorInterface> GetFrameEncryptor() const;
|
||||
|
||||
virtual void SetEncoderToPacketizerFrameTransformer(
|
||||
rtc::scoped_refptr<FrameTransformerInterface> frame_transformer);
|
||||
|
||||
protected:
|
||||
~RtpSenderInterface() override = default;
|
||||
};
|
||||
@ -119,6 +123,9 @@ PROXY_METHOD1(void,
|
||||
PROXY_CONSTMETHOD0(rtc::scoped_refptr<FrameEncryptorInterface>,
|
||||
GetFrameEncryptor)
|
||||
PROXY_METHOD1(void, SetStreams, const std::vector<std::string>&)
|
||||
PROXY_METHOD1(void,
|
||||
SetEncoderToPacketizerFrameTransformer,
|
||||
rtc::scoped_refptr<FrameTransformerInterface>)
|
||||
END_PROXY_MAP()
|
||||
|
||||
} // namespace webrtc
|
||||
|
||||
Reference in New Issue
Block a user