diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCEncodedImage.mm b/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCEncodedImage.mm index 3c39acb38e..1c8a27bf43 100644 --- a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCEncodedImage.mm +++ b/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCEncodedImage.mm @@ -12,6 +12,8 @@ #import "RTCVideoCodec+Private.h" +#include "webrtc/rtc_base/safe_conversions.h" + @implementation RTCEncodedImage @synthesize buffer = _buffer; @@ -35,16 +37,16 @@ _buffer = [NSData dataWithBytesNoCopy:encodedImage._buffer length:encodedImage._length freeWhenDone:NO]; - _encodedWidth = encodedImage._encodedWidth; - _encodedHeight = encodedImage._encodedHeight; + _encodedWidth = rtc::dchecked_cast(encodedImage._encodedWidth); + _encodedHeight = rtc::dchecked_cast(encodedImage._encodedHeight); _timeStamp = encodedImage._timeStamp; _captureTimeMs = encodedImage.capture_time_ms_; _ntpTimeMs = encodedImage.ntp_time_ms_; _flags = encodedImage.timing_.flags; _encodeStartMs = encodedImage.timing_.encode_start_ms; _encodeFinishMs = encodedImage.timing_.encode_finish_ms; - _frameType = (RTCFrameType)encodedImage._frameType; - _rotation = encodedImage.rotation_; + _frameType = static_cast(encodedImage._frameType); + _rotation = static_cast(encodedImage.rotation_); _completeFrame = encodedImage._completeFrame; _qp = encodedImage.qp_ == -1 ? nil : @(encodedImage.qp_); _contentType = (encodedImage.content_type_ == webrtc::VideoContentType::SCREENSHARE) ? @@ -59,8 +61,8 @@ // Return the pointer without copying. webrtc::EncodedImage encodedImage( (uint8_t *)_buffer.bytes, (size_t)_buffer.length, (size_t)_buffer.length); - encodedImage._encodedWidth = _encodedWidth; - encodedImage._encodedHeight = _encodedHeight; + encodedImage._encodedWidth = rtc::dchecked_cast(_encodedWidth); + encodedImage._encodedHeight = rtc::dchecked_cast(_encodedHeight); encodedImage._timeStamp = _timeStamp; encodedImage.capture_time_ms_ = _captureTimeMs; encodedImage.ntp_time_ms_ = _ntpTimeMs; diff --git a/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoCodec.h b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoCodec.h index 657ec0ca6a..2f287ddb45 100644 --- a/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoCodec.h +++ b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoCodec.h @@ -11,8 +11,7 @@ #import #import - -@class RTCVideoFrame; +#import NS_ASSUME_NONNULL_BEGIN @@ -35,16 +34,16 @@ RTC_EXPORT @interface RTCEncodedImage : NSObject @property(nonatomic, strong) NSData *buffer; -@property(nonatomic, assign) int encodedWidth; -@property(nonatomic, assign) int encodedHeight; +@property(nonatomic, assign) int32_t encodedWidth; +@property(nonatomic, assign) int32_t encodedHeight; @property(nonatomic, assign) uint32_t timeStamp; -@property(nonatomic, assign) long captureTimeMs; -@property(nonatomic, assign) long ntpTimeMs; +@property(nonatomic, assign) int64_t captureTimeMs; +@property(nonatomic, assign) int64_t ntpTimeMs; @property(nonatomic, assign) uint8_t flags; -@property(nonatomic, assign) long encodeStartMs; -@property(nonatomic, assign) long encodeFinishMs; +@property(nonatomic, assign) int64_t encodeStartMs; +@property(nonatomic, assign) int64_t encodeFinishMs; @property(nonatomic, assign) RTCFrameType frameType; -@property(nonatomic, assign) int rotation; +@property(nonatomic, assign) RTCVideoRotation rotation; @property(nonatomic, assign) BOOL completeFrame; @property(nonatomic, strong) NSNumber *qp; @property(nonatomic, assign) RTCVideoContentType contentType;