// 42f6113daff3eebf06d809a073c99651867c42ea // Generated by the value-object.rb DO NOT EDIT!! #import "SCManagedVideoCapturerOutputSettings.h" #import #import @implementation SCManagedVideoCapturerOutputSettings static ptrdiff_t sSCManagedVideoCapturerOutputSettingsOffsets[0]; static BOOL sSCManagedVideoCapturerOutputSettingsHasOffsets; - (instancetype)initWithWidth:(CGFloat)width height:(CGFloat)height videoBitRate:(CGFloat)videoBitRate audioBitRate:(CGFloat)audioBitRate keyFrameInterval:(NSUInteger)keyFrameInterval outputType:(SCManagedVideoCapturerOutputType)outputType { self = [super init]; if (self) { _width = width; _height = height; _videoBitRate = videoBitRate; _audioBitRate = audioBitRate; _keyFrameInterval = keyFrameInterval; _outputType = outputType; } return self; } #pragma mark - NSCopying - (instancetype)copyWithZone:(NSZone *)zone { // Immutable object, bypass copy return self; } #pragma mark - NSCoding - (instancetype)initWithCoder:(NSCoder *)aDecoder { self = [super init]; if (self) { _width = [aDecoder decodeFloatForKey:@"width"]; _height = [aDecoder decodeFloatForKey:@"height"]; _videoBitRate = [aDecoder decodeFloatForKey:@"videoBitRate"]; _audioBitRate = [aDecoder decodeFloatForKey:@"audioBitRate"]; _keyFrameInterval = [[aDecoder decodeObjectForKey:@"keyFrameInterval"] unsignedIntegerValue]; _outputType = (SCManagedVideoCapturerOutputType)[aDecoder decodeIntegerForKey:@"outputType"]; } return self; } - (void)encodeWithCoder:(NSCoder *)aCoder { [aCoder encodeFloat:_width forKey:@"width"]; [aCoder encodeFloat:_height forKey:@"height"]; [aCoder encodeFloat:_videoBitRate forKey:@"videoBitRate"]; [aCoder encodeFloat:_audioBitRate forKey:@"audioBitRate"]; [aCoder encodeObject:@(_keyFrameInterval) forKey:@"keyFrameInterval"]; [aCoder encodeInteger:(NSInteger)_outputType forKey:@"outputType"]; } #pragma mark - FasterCoding - (BOOL)preferFasterCoding { return YES; } - (void)encodeWithFasterCoder:(id)fasterCoder { [fasterCoder encodeFloat64:_audioBitRate]; [fasterCoder encodeFloat64:_height]; [fasterCoder encodeUInt64:_keyFrameInterval]; [fasterCoder encodeSInt32:_outputType]; [fasterCoder encodeFloat64:_videoBitRate]; [fasterCoder encodeFloat64:_width]; } - (void)decodeWithFasterDecoder:(id)fasterDecoder { _audioBitRate = (CGFloat)[fasterDecoder decodeFloat64]; _height = (CGFloat)[fasterDecoder decodeFloat64]; _keyFrameInterval = (NSUInteger)[fasterDecoder decodeUInt64]; _outputType = (SCManagedVideoCapturerOutputType)[fasterDecoder decodeSInt32]; _videoBitRate = (CGFloat)[fasterDecoder decodeFloat64]; _width = (CGFloat)[fasterDecoder decodeFloat64]; } - (void)setSInt32:(int32_t)val forUInt64Key:(uint64_t)key { switch (key) { case 54425104364133881ULL: _outputType = (SCManagedVideoCapturerOutputType)val; break; } } - (void)setUInt64:(uint64_t)val forUInt64Key:(uint64_t)key { switch (key) { case 47327990652274883ULL: _keyFrameInterval = (NSUInteger)val; break; } } - (void)setFloat64:(double)val forUInt64Key:(uint64_t)key { switch (key) { case 50995534680662654ULL: _audioBitRate = (CGFloat)val; break; case 11656660716170763ULL: _height = (CGFloat)val; break; case 29034524155663716ULL: _videoBitRate = (CGFloat)val; break; case 30689178641753681ULL: _width = (CGFloat)val; break; } } + (uint64_t)fasterCodingVersion { return 14709152111692666517ULL; } + (uint64_t *)fasterCodingKeys { static uint64_t keys[] = { 6 /* Total */, FC_ENCODE_KEY_TYPE(50995534680662654, FCEncodeTypeFloat64), FC_ENCODE_KEY_TYPE(11656660716170763, FCEncodeTypeFloat64), FC_ENCODE_KEY_TYPE(47327990652274883, FCEncodeTypeUInt64), FC_ENCODE_KEY_TYPE(54425104364133881, FCEncodeTypeSInt32), FC_ENCODE_KEY_TYPE(29034524155663716, FCEncodeTypeFloat64), FC_ENCODE_KEY_TYPE(30689178641753681, FCEncodeTypeFloat64), }; return keys; } #pragma mark - isEqual - (BOOL)isEqual:(id)object { if (!SCObjectsIsEqual(self, object, &sSCManagedVideoCapturerOutputSettingsHasOffsets, sSCManagedVideoCapturerOutputSettingsOffsets, 6, 0)) { return NO; } SCManagedVideoCapturerOutputSettings *other = (SCManagedVideoCapturerOutputSettings *)object; if (other->_width != _width) { return NO; } if (other->_height != _height) { return NO; } if (other->_videoBitRate != _videoBitRate) { return NO; } if (other->_audioBitRate != _audioBitRate) { return NO; } if (other->_keyFrameInterval != _keyFrameInterval) { return NO; } if (other->_outputType != _outputType) { return NO; } return YES; } - (NSUInteger)hash { NSUInteger subhashes[] = {(NSUInteger)_width, (NSUInteger)_height, (NSUInteger)_videoBitRate, (NSUInteger)_audioBitRate, (NSUInteger)_keyFrameInterval, (NSUInteger)_outputType}; NSUInteger result = subhashes[0]; for (int i = 1; i < 6; i++) { unsigned long long base = (((unsigned long long)result) << 32 | subhashes[i]); base = (~base) + (base << 18); base ^= (base >> 31); base *= 21; base ^= (base >> 11); base += (base << 6); base ^= (base >> 22); result = (NSUInteger)base; } return result; } #pragma mark - Print description in console: lldb> po #{variable name} - (NSString *)description { NSMutableString *desc = [NSMutableString string]; [desc appendString:@"{\n"]; [desc appendFormat:@"\twidth:%@\n", [@(_width) description]]; [desc appendFormat:@"\theight:%@\n", [@(_height) description]]; [desc appendFormat:@"\tvideoBitRate:%@\n", [@(_videoBitRate) description]]; [desc appendFormat:@"\taudioBitRate:%@\n", [@(_audioBitRate) description]]; [desc appendFormat:@"\tkeyFrameInterval:%@\n", [@(_keyFrameInterval) description]]; [desc appendFormat:@"\toutputType:%@\n", [@(_outputType) description]]; [desc appendString:@"}\n"]; return [desc copy]; } @end