Enable CVO by default through webrtc pipeline.
All RTP packets from sender side will carry the rotation info. (will file a bug to track this) On the receiving side, only packets with marker bit set will be examined. Tests completed: 1. android standalone to android standalone 2. android standalone to chrome (with and without this change) 3. android on chrome BUG=4145 R=glaznev@webrtc.org, mflodman@webrtc.org, perkj@webrtc.org, pthatcher@webrtc.org Committed: https://crrev.com/1b1c15cad16de57053bb6aa8a916079e0534bdae Cr-Commit-Position: refs/heads/master@{#8905} Review URL: https://webrtc-codereview.appspot.com/47399004 Cr-Commit-Position: refs/heads/master@{#8917}
This commit is contained in:
@ -41,6 +41,14 @@ class RTPSenderInterface {
|
||||
RTPSenderInterface() {}
|
||||
virtual ~RTPSenderInterface() {}
|
||||
|
||||
enum CVOMode {
|
||||
kCVONone,
|
||||
kCVOInactive, // CVO rtp header extension is registered but haven't
|
||||
// received any frame with rotation pending.
|
||||
kCVOActivated, // CVO rtp header extension will be present in the rtp
|
||||
// packets.
|
||||
};
|
||||
|
||||
virtual uint32_t SSRC() const = 0;
|
||||
virtual uint32_t Timestamp() const = 0;
|
||||
|
||||
@ -70,6 +78,7 @@ class RTPSenderInterface {
|
||||
const RTPHeader& rtp_header,
|
||||
VideoRotation rotation) const = 0;
|
||||
virtual bool IsRtpHeaderExtensionRegistered(RTPExtensionType type) = 0;
|
||||
virtual CVOMode ActivateCVORtpHeaderExtension() = 0;
|
||||
};
|
||||
|
||||
class RTPSender : public RTPSenderInterface {
|
||||
@ -285,6 +294,7 @@ class RTPSender : public RTPSenderInterface {
|
||||
RtpState GetRtpState() const;
|
||||
void SetRtxRtpState(const RtpState& rtp_state);
|
||||
RtpState GetRtxRtpState() const;
|
||||
CVOMode ActivateCVORtpHeaderExtension() override;
|
||||
|
||||
protected:
|
||||
int32_t CheckPayloadType(int8_t payload_type, RtpVideoCodecTypes* video_type);
|
||||
@ -378,6 +388,7 @@ class RTPSender : public RTPSenderInterface {
|
||||
int32_t transmission_time_offset_;
|
||||
uint32_t absolute_send_time_;
|
||||
VideoRotation rotation_;
|
||||
CVOMode cvo_mode_;
|
||||
uint16_t transport_sequence_number_;
|
||||
|
||||
// NACK
|
||||
|
||||
Reference in New Issue
Block a user