diff options
author | Egor Pomozov <epomozov@aquantia.com> | 2019-10-04 08:40:53 -0700 |
---|---|---|
committer | Egor Pomozov <epomozov@aquantia.com> | 2019-10-04 08:40:53 -0700 |
commit | 0b962154408e3879adf73c16cff19629e4db3a88 (patch) | |
tree | aabfd97e0229575d0bc107990b92f7758b7dfdad | |
parent | 9010b364d1667be22fb2c9694bf775c320e33b7f (diff) | |
parent | c225346c3c61c29647f3ca0c0ad0347ea917abbb (diff) | |
download | Open-AVB-0b962154408e3879adf73c16cff19629e4db3a88.tar.gz |
Merge commit 'c225346c3c61c29647f3ca0c0ad0347ea917abbb' into aq_atl_hw_support
* commit 'c225346c3c61c29647f3ca0c0ad0347ea917abbb':
fix building on Xcode 10
Add h264_timestamp size into the H264 data length, remove it from the AVTP header (IEEE 1722-2016 8.5.3.1 h264_timestamp). The stream data length of AVTP header stands for the size of h264 timestamp + h264 payload.
5 files changed, 53 insertions, 17 deletions
diff --git a/examples/osx/avb_viewer/AVB Viewer.xcodeproj/project.pbxproj b/examples/osx/avb_viewer/AVB Viewer.xcodeproj/project.pbxproj index d3cf8070..8692488a 100644 --- a/examples/osx/avb_viewer/AVB Viewer.xcodeproj/project.pbxproj +++ b/examples/osx/avb_viewer/AVB Viewer.xcodeproj/project.pbxproj @@ -22,7 +22,6 @@ 674AB0081820126E00234149 /* AvbDevice.m in Sources */ = {isa = PBXBuildFile; fileRef = 674AB0071820126E00234149 /* AvbDevice.m */; }; 674AB00A1820162600234149 /* AudioVideoBridging.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 674AB0091820162600234149 /* AudioVideoBridging.framework */; }; 674AB00D1820436500234149 /* Brick-Icons.icns in Resources */ = {isa = PBXBuildFile; fileRef = 674AB00C1820436500234149 /* Brick-Icons.icns */; }; - 674AB00F1820824300234149 /* Brick-Icons.icns in Resources */ = {isa = PBXBuildFile; fileRef = 674AB00E1820824300234149 /* Brick-Icons.icns */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -220,7 +219,7 @@ 674AAFC4182011BB00234149 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0500; + LastUpgradeCheck = 1010; ORGANIZATIONNAME = AVB.io; TargetAttributes = { 674AAFCB182011BB00234149 = { @@ -351,18 +350,32 @@ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; COPY_PHASE_STRIP = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; GCC_ENABLE_OBJC_EXCEPTIONS = YES; + GCC_NO_COMMON_BLOCKS = YES; GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( "DEBUG=1", @@ -388,19 +401,32 @@ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; COPY_PHASE_STRIP = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_ENABLE_OBJC_EXCEPTIONS = YES; + GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_UNDECLARED_SELECTOR = YES; @@ -421,6 +447,7 @@ GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "AVB Viewer/AVB Viewer-Prefix.pch"; INFOPLIST_FILE = "AVB Viewer/AVB Viewer-Info.plist"; + PRODUCT_BUNDLE_IDENTIFIER = "avbio.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME)"; WRAPPER_EXTENSION = app; }; @@ -435,6 +462,7 @@ GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "AVB Viewer/AVB Viewer-Prefix.pch"; INFOPLIST_FILE = "AVB Viewer/AVB Viewer-Info.plist"; + PRODUCT_BUNDLE_IDENTIFIER = "avbio.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME)"; WRAPPER_EXTENSION = app; }; @@ -456,6 +484,7 @@ "$(inherited)", ); INFOPLIST_FILE = "AVB ViewerTests/AVB ViewerTests-Info.plist"; + PRODUCT_BUNDLE_IDENTIFIER = "avbio.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME)"; TEST_HOST = "$(BUNDLE_LOADER)"; WRAPPER_EXTENSION = xctest; @@ -474,6 +503,7 @@ GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "AVB Viewer/AVB Viewer-Prefix.pch"; INFOPLIST_FILE = "AVB ViewerTests/AVB ViewerTests-Info.plist"; + PRODUCT_BUNDLE_IDENTIFIER = "avbio.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME)"; TEST_HOST = "$(BUNDLE_LOADER)"; WRAPPER_EXTENSION = xctest; diff --git a/examples/osx/avb_viewer/AVB Viewer/AVB Viewer-Info.plist b/examples/osx/avb_viewer/AVB Viewer/AVB Viewer-Info.plist index c37d80d6..ceb1006e 100644 --- a/examples/osx/avb_viewer/AVB Viewer/AVB Viewer-Info.plist +++ b/examples/osx/avb_viewer/AVB Viewer/AVB Viewer-Info.plist @@ -2,13 +2,6 @@ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> - <key>resourceUsage</key> - <dict> - <key>iokit.user-client</key> - <array> - <string>IOAVB17221EntityDiscoveryUserClient</string> - </array> - </dict> <key>CFBundleDevelopmentRegion</key> <string>en</string> <key>CFBundleExecutable</key> @@ -16,7 +9,7 @@ <key>CFBundleIconFile</key> <string>Brick-Icons</string> <key>CFBundleIdentifier</key> - <string>avbio.${PRODUCT_NAME:rfc1034identifier}</string> + <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> <key>CFBundleInfoDictionaryVersion</key> <string>6.0</string> <key>CFBundleName</key> @@ -39,5 +32,12 @@ <string>MainMenu</string> <key>NSPrincipalClass</key> <string>NSApplication</string> + <key>resourceUsage</key> + <dict> + <key>iokit.user-client</key> + <array> + <string>IOAVB17221EntityDiscoveryUserClient</string> + </array> + </dict> </dict> </plist> diff --git a/examples/osx/avb_viewer/AVB Viewer/OutlineViewController.m b/examples/osx/avb_viewer/AVB Viewer/OutlineViewController.m index 6dd0d227..ab1b26a1 100644 --- a/examples/osx/avb_viewer/AVB Viewer/OutlineViewController.m +++ b/examples/osx/avb_viewer/AVB Viewer/OutlineViewController.m @@ -10,10 +10,12 @@ #define kIconImageSize 16.0 -@implementation OutlineViewController +static NSString *avbDevicesChanged = @"AVBCHANGED"; -NSString *avbDevicesChanged = @"AVBCHANGED"; -NSString *interfaceName; +@implementation OutlineViewController +{ + NSString *interfaceName; +} - (id)init { self = [super init]; @@ -25,7 +27,7 @@ NSString *interfaceName; //[newDevice addChild:[[AvbDevice alloc] initWithId: @"Test Talker"]]; //[self.avbDevices addObject:newDevice]; - [self getLocalInterface]; + interfaceName = [self getLocalInterface]; //[self createLocalEntity]; Not used yet [self resetDiscovery]; } @@ -105,7 +107,7 @@ NSString *interfaceName; [entity setTalkerStreamSources:1]; [entity setEntityID:666666]; [entity setLocalEntity:YES]; - AVB17221ACMPInterface *acmp = [[AVB17221ACMPInterface alloc] init]; + AVB17221ACMPInterface *acmp = [AVB17221ACMPInterface new]; return acmp; } diff --git a/examples/osx/avb_viewer/AVB ViewerTests/AVB ViewerTests-Info.plist b/examples/osx/avb_viewer/AVB ViewerTests/AVB ViewerTests-Info.plist index cad13dc2..169b6f71 100644 --- a/examples/osx/avb_viewer/AVB ViewerTests/AVB ViewerTests-Info.plist +++ b/examples/osx/avb_viewer/AVB ViewerTests/AVB ViewerTests-Info.plist @@ -7,7 +7,7 @@ <key>CFBundleExecutable</key> <string>${EXECUTABLE_NAME}</string> <key>CFBundleIdentifier</key> - <string>avbio.${PRODUCT_NAME:rfc1034identifier}</string> + <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> <key>CFBundleInfoDictionaryVersion</key> <string>6.0</string> <key>CFBundlePackageType</key> diff --git a/lib/avtp_pipeline/map_h264/openavb_map_h264.c b/lib/avtp_pipeline/map_h264/openavb_map_h264.c index 6c2557f7..70c9a846 100644 --- a/lib/avtp_pipeline/map_h264/openavb_map_h264.c +++ b/lib/avtp_pipeline/map_h264/openavb_map_h264.c @@ -112,6 +112,9 @@ https://github.com/benhoyt/inih/commit/74d2ca064fb293bc60a77b0bd068075b293cf175. // - 4 bytes h264_timestamp #define HIDX_H264_TIMESTAMP32 24 +// - 4 bytes h264_timestamp size +#define HIDX_H264_TIMESTAMP_SIZE 4 + typedef struct { ///////////// // Config data @@ -314,7 +317,8 @@ tx_cb_ret_t openavbMapH264TxCB(media_q_t *pMediaQ, U8 *pData, U32 *dataLen) // Copy the h264 rtp payload into the outgoing avtp packet. memcpy(pPayload, pMediaQItem->pPubData, pMediaQItem->dataLen); - *(U16 *)(&pHdr[HIDX_STREAM_DATA_LEN16]) = htons(pMediaQItem->dataLen); + // Add h264_timestamp size into the H264 data length + *(U16 *)(&pHdr[HIDX_STREAM_DATA_LEN16]) = htons(pMediaQItem->dataLen + HIDX_H264_TIMESTAMP_SIZE); // Set out bound data length (entire packet length) *dataLen = pMediaQItem->dataLen + TOTAL_HEADER_SIZE; |