|
|
// 42f6113daff3eebf06d809a073c99651867c42ea // Generated by the value-object.rb DO NOT EDIT!!
#import "SCManagedVideoCapturerOutputSettings.h"
#import <SCFoundation/SCValueObjectHelpers.h>
#import <FastCoding/FastCoder.h>
@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<FCFasterCoder>)fasterCoder { [fasterCoder encodeFloat64:_audioBitRate]; [fasterCoder encodeFloat64:_height]; [fasterCoder encodeUInt64:_keyFrameInterval]; [fasterCoder encodeSInt32:_outputType]; [fasterCoder encodeFloat64:_videoBitRate]; [fasterCoder encodeFloat64:_width]; }
- (void)decodeWithFasterDecoder:(id<FCFasterDecoder>)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
|