Skip to content

Commit 64d2656

Browse files
committed
Initial commit
0 parents  commit 64d2656

File tree

246 files changed

+80952
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

246 files changed

+80952
-0
lines changed

.gitmodules

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
[submodule "AVnu/igb_avb"]
2+
path = deps/igb_avb
3+
url = https://github.com/AVnu/igb_avb.git
4+
branch = master
5+
[submodule "AVnu/gptp"]
6+
path = deps/gptp
7+
url = https://github.com/AVnu/gptp.git
8+
branch = master
9+
[submodule "intel/AVB-AudioModules"]
10+
path = deps/audio/common
11+
url = https://github.com/intel/AVB-AudioModules.git
12+
branch = master

BullseyeCoverageExclusions

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
exclude folder ../../../audio/
2+
exclude folder ../../../media_transport/avb_streamhandler/private/tst/

CMakeLists.avb_clockdriver.txt

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#
2+
# Copyright (C) 2018 Intel Corporation. All rights reserved.
3+
#
4+
# SPDX-License-Identifier: BSD-3-Clause
5+
#
6+
7+
#------------------------------------------------------------------
8+
# Build the IVI BRD2 Clock Driver library
9+
#------------------------------------------------------------------
10+
11+
add_library( ias-media_transport-avb_clockdriver SHARED
12+
private/src/avb_clockdriver/IasBrd2ClockDriver.cpp
13+
)
14+
15+
if (${IAS_IS_HOST_BUILD})
16+
target_compile_options(ias-media_transport-avb_config_base PUBLIC -DIAS_HOST_BUILD=1)
17+
endif()

CMakeLists.avb_configuration.txt

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
#
2+
# Copyright (C) 2018 Intel Corporation. All rights reserved.
3+
#
4+
# SPDX-License-Identifier: BSD-3-Clause
5+
#
6+
7+
#------------------------------------------------------------------
8+
# Build the Configuration Base library
9+
#------------------------------------------------------------------
10+
11+
add_library( ias-media_transport-avb_config_base STATIC
12+
private/src/avb_configuration/IasAvbConfigurationBase.cpp
13+
)
14+
15+
target_link_libraries( ias-media_transport-avb_config_base ${DLT_LDFLAGS} )
16+
target_compile_options( ias-media_transport-avb_config_base PUBLIC ${DLT_CFLAGS_OTHER})
17+
target_include_directories( ias-media_transport-avb_config_base PUBLIC ${DLT_INCLUDE_DIRS})
18+
19+
target_compile_options( ias-media_transport-avb_config_base PUBLIC -fPIC )
20+
21+
if (${IAS_PREPRODUCTION_SW})
22+
target_compile_options( ias-media_transport-avb_config_base PUBLIC -DIAS_PREPRODUCTION_SW=1 )
23+
endif()
24+
25+
if (${IAS_IS_HOST_BUILD})
26+
target_compile_options(ias-media_transport-avb_config_base PUBLIC -DIAS_HOST_BUILD=1)
27+
endif()
+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
#
2+
# Copyright (C) 2018 Intel Corporation. All rights reserved.
3+
#
4+
# SPDX-License-Identifier: BSD-3-Clause
5+
#
6+
7+
#------------------------------------------------------------------
8+
# Build an example configuration plugin for the streamhandler
9+
#------------------------------------------------------------------
10+
11+
add_library( ias-media_transport-avb_configuration_example MODULE
12+
private/src/avb_configuration_reference/IasAvbConfigExample.cpp
13+
)
14+
15+
target_link_libraries( ias-media_transport-avb_configuration_example ias-media_transport-avb_config_base )
16+
17+
set_target_properties(ias-media_transport-avb_configuration_example PROPERTIES PREFIX "")
18+
set_target_properties(ias-media_transport-avb_configuration_example PROPERTIES OUTPUT_NAME "pluginias-media_transport-avb_configuration_example")
19+
20+
if (${IAS_IS_HOST_BUILD})
21+
target_compile_options(ias-media_transport-avb_config_base PUBLIC -DIAS_HOST_BUILD=1)
22+
endif()
+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
#
2+
# Copyright (C) 2018 Intel Corporation. All rights reserved.
3+
#
4+
# SPDX-License-Identifier: BSD-3-Clause
5+
#
6+
7+
#------------------------------------------------------------------
8+
# Build the default configuration plugin for the streamhandler
9+
#------------------------------------------------------------------
10+
11+
add_library( ias-media_transport-avb_configuration_reference MODULE
12+
private/src/avb_configuration_reference/IasAvbConfigReference.cpp
13+
)
14+
15+
target_link_libraries( ias-media_transport-avb_configuration_reference ias-media_transport-avb_config_base )
16+
17+
set_target_properties(ias-media_transport-avb_configuration_reference PROPERTIES PREFIX "")
18+
set_target_properties(ias-media_transport-avb_configuration_reference PROPERTIES OUTPUT_NAME "pluginias-media_transport-avb_configuration_reference")
19+
20+
if (${IAS_IS_HOST_BUILD})
21+
target_compile_options(ias-media_transport-avb_config_base PUBLIC -DIAS_HOST_BUILD=1)
22+
endif()

CMakeLists.avb_helper.txt

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
#
2+
# Copyright (C) 2018 Intel Corporation. All rights reserved.
3+
#
4+
# SPDX-License-Identifier: BSD-3-Clause
5+
#
6+
7+
#------------------------------------------------------------------
8+
# Build the AVB Streamhandler Library
9+
#------------------------------------------------------------------
10+
add_library( ias-media_transport-avb_helper STATIC
11+
private/src/avb_helper/IasSignal.cpp
12+
private/src/avb_helper/IasIRunnable.cpp
13+
private/src/avb_helper/IasThread.cpp
14+
private/src/avb_helper/IasResult.cpp
15+
private/src/avb_helper/ias_safe.c
16+
)
17+
18+
target_link_libraries( ias-media_transport-avb_helper ${DLT_LDFLAGS} )
19+
target_compile_options( ias-media_transport-avb_helper PUBLIC ${DLT_CFLAGS_OTHER})
20+
target_include_directories( ias-media_transport-avb_helper PUBLIC ${DLT_INCLUDE_DIRS})
21+
22+
target_compile_options( ias-media_transport-avb_helper PUBLIC -fPIC )
23+
24+
find_path( IGB_INCLUDE "igb.h" PATHS "${CMAKE_CURRENT_SOURCE_DIR}/deps/igb_avb/lib")
25+
26+
include_directories( ${IGB_INCLUDE} )

CMakeLists.avb_streamhandler.txt

+91
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
#
2+
# Copyright (C) 2018 Intel Corporation. All rights reserved.
3+
#
4+
# SPDX-License-Identifier: BSD-3-Clause
5+
#
6+
7+
#------------------------------------------------------------------
8+
# Build the AVB Streamhandler Library
9+
#------------------------------------------------------------------
10+
add_library( ias-media_transport-avb_streamhandler SHARED
11+
private/src/avb_streamhandler/IasAvbStreamHandlerTypes.cpp
12+
private/src/avb_streamhandler/IasAvbAudioStream.cpp
13+
private/src/avb_streamhandler/IasAvbClockController.cpp
14+
private/src/avb_streamhandler/IasAvbClockDomain.cpp
15+
private/src/avb_streamhandler/IasAvbClockReferenceStream.cpp
16+
private/src/avb_streamhandler/IasAvbHwCaptureClockDomain.cpp
17+
private/src/avb_streamhandler/IasAlsaClockDomain.cpp
18+
private/src/avb_streamhandler/IasAvbPacket.cpp
19+
private/src/avb_streamhandler/IasAvbPacketPool.cpp
20+
private/src/avb_streamhandler/IasAvbPtpClockDomain.cpp
21+
private/src/avb_streamhandler/IasAvbRawClockDomain.cpp
22+
private/src/avb_streamhandler/IasAvbReceiveEngine.cpp
23+
private/src/avb_streamhandler/IasAvbRxStreamClockDomain.cpp
24+
private/src/avb_streamhandler/IasAvbStream.cpp
25+
private/src/avb_streamhandler/IasAvbStreamId.cpp
26+
private/src/avb_streamhandler/IasAvbStreamHandler.cpp
27+
private/src/avb_streamhandler/IasAvbStreamHandlerEnvironment.cpp
28+
private/src/avb_streamhandler/IasAvbSwClockDomain.cpp
29+
private/src/avb_streamhandler/IasAvbTransmitEngine.cpp
30+
private/src/avb_streamhandler/IasAvbTransmitSequencer.cpp
31+
private/src/avb_streamhandler/IasAvbTSpec.cpp
32+
private/src/avb_streamhandler/IasAvbVideoStream.cpp
33+
private/src/avb_streamhandler/IasTestToneStream.cpp
34+
private/src/avb_streamhandler/IasLocalAudioBuffer.cpp
35+
private/src/avb_streamhandler/IasLocalAudioStream.cpp
36+
private/src/avb_streamhandler/IasLocalVideoStream.cpp
37+
private/src/avb_streamhandler/IasLocalVideoBuffer.cpp
38+
private/src/avb_streamhandler/IasAlsaVirtualDeviceStream.cpp
39+
private/src/avb_streamhandler/IasAlsaHwDeviceHandler.cpp
40+
private/src/avb_streamhandler/IasAlsaEngine.cpp
41+
private/src/avb_streamhandler/IasAlsaWorkerThread.cpp
42+
private/src/avb_streamhandler/IasAlsaHandlerWorkerThread.cpp
43+
private/src/avb_streamhandler/IasAvbAudioShmProvider.cpp
44+
private/src/avb_streamhandler/IasDiaLogger.cpp
45+
private/src/avb_streamhandler/IasAvbDiagnosticPacket.cpp
46+
private/src/avb_streamhandler/IasLocalAudioBufferDesc.cpp
47+
private/src/avb_video_common/IasAvbVideoShmConnection.cpp
48+
private/src/avb_video_common/IasAvbVideoRingBuffer.cpp
49+
private/src/avb_video_common/IasAvbVideoRingBufferFactory.cpp
50+
private/src/avb_video_common/IasAvbVideoRingBufferShm.cpp
51+
private/src/avb_video_common/IasAvbVideoStreaming.cpp
52+
private/src/avb_streamhandler/IasVideoStreamInterface.cpp
53+
private/src/avb_streamhandler/IasLocalVideoInStream.cpp
54+
private/src/avb_streamhandler/IasLocalVideoOutStream.cpp
55+
)
56+
57+
if(${SANITIZERS_ON})
58+
target_compile_options( ias-media_transport-avb_streamhandler PUBLIC -fsanitize=address,undefined )
59+
target_link_libraries( ias-media_transport-avb_streamhandler asan )
60+
target_link_libraries( ias-media_transport-avb_streamhandler ubsan )
61+
endif()
62+
63+
if (${DIRECT_RX_DMA})
64+
target_compile_options( ias-media_transport-avb_streamhandler PUBLIC -DDIRECT_RX_DMA=1 )
65+
endif()
66+
67+
if (${IAS_PREPRODUCTION_SW})
68+
target_compile_options( ias-media_transport-avb_streamhandler PUBLIC -DIAS_PREPRODUCTION_SW=1 )
69+
endif()
70+
71+
if (${PERFORMANCE_MEASUREMENT})
72+
target_compile_options( ias-media_transport-avb_streamhandler PUBLIC -DPERFORMANCE_MEASUREMENT=1 )
73+
endif()
74+
75+
target_link_libraries( ias-media_transport-avb_streamhandler ${DLT_LDFLAGS} )
76+
target_compile_options( ias-media_transport-avb_streamhandler PUBLIC ${DLT_CFLAGS_OTHER})
77+
target_include_directories( ias-media_transport-avb_streamhandler PUBLIC ${DLT_INCLUDE_DIRS})
78+
79+
target_compile_options( ias-media_transport-avb_streamhandler PUBLIC -msse )
80+
target_compile_options( ias-media_transport-avb_streamhandler PUBLIC -msse2 )
81+
target_compile_options( ias-media_transport-avb_streamhandler PUBLIC -O3 )
82+
83+
include_directories(${AUDIO_COMMON_INCLUDE_DIRS})
84+
85+
#find_library( AUDIO_COMMON_LIB "libias-audio-common.so" PATHS "${PKG_CONFIG_SYSROOT_DIR}/opt/audio/lib" )
86+
87+
set_target_properties( ias-media_transport-avb_streamhandler PROPERTIES VERSION ${MEDIA_TRANSPORT_AVB_STREAMHANDLER_VERSION_STRING} SOVERSION ${MEDIA_TRANSPORT_AVB_STREAMHANDLER_VERSION_STRING} )
88+
89+
target_link_libraries( ias-media_transport-avb_streamhandler ias-audio-common )
90+
target_link_libraries( ias-media_transport-avb_streamhandler ias-media_transport-lib_ptp_daemon )
91+
target_link_libraries( ias-media_transport-avb_streamhandler ias-media_transport-avb_helper )

CMakeLists.avb_streamhandler_app_socket.txt

Whitespace-only changes.

CMakeLists.avb_streamhandler_demo.txt

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
#
2+
# Copyright (C) 2018 Intel Corporation. All rights reserved.
3+
#
4+
# SPDX-License-Identifier: BSD-3-Clause
5+
#
6+
7+
#------------------------------------------------------------------
8+
# Build the Stream Handler demo executable
9+
#------------------------------------------------------------------
10+
11+
add_executable( avb_streamhandler_demo
12+
private/src/avb_streamhandler_demo/main.cpp
13+
)
14+
15+
# for version header
16+
include_directories(${CMAKE_CURRENT_BINARY_DIR})
17+
18+
#find_package(PkgConfig)
19+
#pkg_check_modules(DLT REQUIRED automotive-dlt)
20+
#pkg_check_modules(DLT REQUIRED automotive-dlt-c++)
21+
22+
target_link_libraries( avb_streamhandler_demo dlt )
23+
target_link_libraries( avb_streamhandler_demo ias-media_transport-avb_streamhandler )
24+
25+
# set capabilities if building for Linux host execution
26+
if (${IAS_IS_HOST_BUILD})
27+
add_custom_command(TARGET avb_streamhandler_demo POST_BUILD
28+
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/setcap.sh $<TARGET_FILE:avb_streamhandler_demo>
29+
)
30+
endif()

CMakeLists.avb_tests.txt

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#
2+
# Copyright (C) 2018 Intel Corporation. All rights reserved.
3+
#
4+
# SPDX-License-Identifier: BSD-3-Clause
5+
#
6+
7+
#------------------------------------------------------------------
8+
# Tests
9+
#------------------------------------------------------------------
10+
include( private/tst/avb_streamhandler/CMakeLists.txt )
11+
include( private/tst/avb_helper/CMakeLists.txt )
12+
13+
#------------------------------------------------------------------
14+
# set capabilities for executables under test
15+
#------------------------------------------------------------------
16+
add_custom_command(TARGET avb_streamhandler_demo POST_BUILD
17+
COMMAND setcap_tool $<TARGET_FILE:avb_streamhandler_demo>
18+
)
19+

CMakeLists.avb_video_bridge.txt

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
#
2+
# Copyright (C) 2018 Intel Corporation. All rights reserved.
3+
#
4+
# SPDX-License-Identifier: BSD-3-Clause
5+
#
6+
7+
#------------------------------------------------------------------
8+
# Build the AVB Video Bridge library
9+
#------------------------------------------------------------------
10+
11+
add_library( ias-media_transport-avb_video_bridge STATIC
12+
private/src/avb_video_bridge/IasAvbVideoBridge.cpp
13+
private/src/avb_video_bridge/IasAvbVideoSender.cpp
14+
private/src/avb_video_bridge/IasAvbVideoReceiver.cpp
15+
private/src/avb_video_common/IasAvbVideoShmConnection.cpp
16+
private/src/avb_video_common/IasAvbVideoRingBuffer.cpp
17+
private/src/avb_video_common/IasAvbVideoRingBufferShm.cpp
18+
private/src/avb_video_common/IasAvbVideoRingBufferFactory.cpp
19+
)
20+
21+
target_link_libraries( ias-media_transport-avb_video_bridge ias-media_transport-avb_helper )
22+
target_link_libraries( ias-media_transport-avb_video_bridge ias-audio-common )
23+
target_link_libraries( ias-media_transport-avb_video_bridge dlt )
24+
25+
if (${IAS_IS_HOST_BUILD})
26+
target_compile_options(ias-media_transport-avb_video_bridge PUBLIC -DIAS_HOST_BUILD=1)
27+
endif()

CMakeLists.avb_video_debug_app.txt

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#
2+
# Copyright (C) 2018 Intel Corporation. All rights reserved.
3+
#
4+
# SPDX-License-Identifier: BSD-3-Clause
5+
#
6+
7+
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c11")
8+
add_executable( avb_video_debug_app
9+
private/src/avb_video_debug_app/main.cpp
10+
)
11+
12+
target_compile_options( avb_video_debug_app PUBLIC --std=c++11 )
13+
14+
target_link_libraries( avb_video_debug_app ias-media_transport-avb_video_bridge -lpthread )
15+
target_link_libraries( avb_video_debug_app dlt )
16+

CMakeLists.lib_ptp_daemon.txt

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
#
2+
# Copyright (C) 2018 Intel Corporation. All rights reserved.
3+
#
4+
# SPDX-License-Identifier: BSD-3-Clause
5+
#
6+
7+
#------------------------------------------------------------------
8+
# Build the PTP library
9+
#------------------------------------------------------------------
10+
add_library( ias-media_transport-lib_ptp_daemon STATIC
11+
private/src/lib_ptp_daemon/IasLibPtpDaemon.cpp
12+
)
13+
14+
target_link_libraries( ias-media_transport-lib_ptp_daemon ${DLT_LDFLAGS} )
15+
target_compile_options( ias-media_transport-lib_ptp_daemon PUBLIC ${DLT_CFLAGS_OTHER})
16+
target_include_directories( ias-media_transport-lib_ptp_daemon PUBLIC ${DLT_INCLUDE_DIRS})
17+
18+
include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/private/inc )
19+
include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/public/inc )
20+
21+
find_path( PTP_INCLUDE_COMMON "ipcdef.hpp" PATHS "${CMAKE_CURRENT_SOURCE_DIR}/deps/gptp/common")
22+
find_path( PTP_INCLUDE_COMMON "ptptypes.hpp" PATHS "${CMAKE_CURRENT_SOURCE_DIR}/deps/gptp/common")
23+
find_path( PTP_INCLUDE_LINUX "linux_ipc.hpp" PATHS "${CMAKE_CURRENT_SOURCE_DIR}/deps/gptp/linux/src")
24+
find_path( IGB_INCLUDE "igb.h" PATHS "${CMAKE_CURRENT_SOURCE_DIR}/deps/igb_avb/lib")
25+
26+
include_directories( ${PTP_INCLUDE_LINUX} )
27+
include_directories( ${PTP_INCLUDE_COMMON} )
28+
include_directories( ${IGB_INCLUDE} )
29+
30+
find_library( IGB_LIB "libigb.a" PATHS "${CMAKE_CURRENT_SOURCE_DIR}/deps/igb_avb/lib")
31+
32+
target_link_libraries( ias-media_transport-lib_ptp_daemon ${IGB_LIB} )
33+
34+
target_compile_options( ias-media_transport-lib_ptp_daemon PUBLIC -fPIC )

CMakeLists.setcap_tool.txt

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
#
2+
# Copyright (C) 2018 Intel Corporation. All rights reserved.
3+
#
4+
# SPDX-License-Identifier: BSD-3-Clause
5+
#
6+
7+
add_executable( setcap_tool
8+
private/src/setcap_tool/IasSetcapTool.c
9+
)
10+
11+
target_link_libraries( setcap_tool cap )

CMakeLists.setsched_tool.txt

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#
2+
# Copyright (C) 2018 Intel Corporation. All rights reserved.
3+
#
4+
# SPDX-License-Identifier: BSD-3-Clause
5+
#
6+
7+
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c11")
8+
add_executable( setsched_tool
9+
private/src/setsched_tool/IasSetSchedTool.c
10+
)

0 commit comments

Comments
 (0)