summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEgor Pomozov <epomozov@aquantia.com>2019-10-04 08:40:53 -0700
committerEgor Pomozov <epomozov@aquantia.com>2019-10-04 08:40:53 -0700
commit0b962154408e3879adf73c16cff19629e4db3a88 (patch)
treeaabfd97e0229575d0bc107990b92f7758b7dfdad
parent9010b364d1667be22fb2c9694bf775c320e33b7f (diff)
parentc225346c3c61c29647f3ca0c0ad0347ea917abbb (diff)
downloadOpen-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.
-rw-r--r--examples/osx/avb_viewer/AVB Viewer.xcodeproj/project.pbxproj34
-rw-r--r--examples/osx/avb_viewer/AVB Viewer/AVB Viewer-Info.plist16
-rw-r--r--examples/osx/avb_viewer/AVB Viewer/OutlineViewController.m12
-rw-r--r--examples/osx/avb_viewer/AVB ViewerTests/AVB ViewerTests-Info.plist2
-rw-r--r--lib/avtp_pipeline/map_h264/openavb_map_h264.c6
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;