Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions applications/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,12 @@
add_holohub_application(adv_networking_bench DEPENDS
OPERATORS advanced_network)

add_holohub_application(adv_networking_media_player DEPENDS
OPERATORS advanced_network advanced_network_media_rx)

add_holohub_application(adv_networking_media_sender DEPENDS
OPERATORS advanced_network advanced_network_media_tx)

add_holohub_application(aja_video_capture DEPENDS
OPERATORS aja_source)

Expand Down
20 changes: 20 additions & 0 deletions applications/adv_networking_media_player/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# SPDX-FileCopyrightText: Copyright (c) 2025, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# Add subdirectories
add_subdirectory(cpp)
if(HOLOHUB_BUILD_PYTHON)
add_subdirectory(python)
endif()
484 changes: 484 additions & 0 deletions applications/adv_networking_media_player/README.md

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
%YAML 1.2
# SPDX-FileCopyrightText: Copyright (c) 2025, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
---
scheduler:
check_recession_period_ms: 0
worker_thread_number: 8
stop_on_deadlock: true
stop_on_deadlock_timeout: 500

advanced_network:
cfg:
version: 1
manager: "rivermax"
master_core: 6 # Master CPU core
debug: 1
log_level: "error"

memory_regions:
- name: "Data_RX_CPU"
kind: "host"
affinity: 0
access:
- local
num_bufs: 432000
buf_size: 20
- name: "Data_RX_GPU"
kind: "device"
affinity: 0
access:
- local
num_bufs: 432000
buf_size: 1440
interfaces:
- name: data1
address: cc:00.1
rx:
queues:
- name: "Data"
id: 0
cpu_core: "12"
batch_size: 4320
output_port: "bench_rx_out_1"
memory_regions:
- "Data_RX_CPU"
- "Data_RX_GPU"
rivermax_rx_settings:
settings_type: "ipo_receiver"
memory_registration: true
#allocator_type: "huge_page_2mb"
verbose: true
max_path_diff_us: 10000
ext_seq_num: true
sleep_between_operations_us: 0
local_ip_addresses:
- 2.1.0.12
source_ip_addresses:
- 2.1.0.12
destination_ip_addresses:
- 224.1.1.2
destination_ports:
- 50001
stats_report_interval_ms: 3000
send_packet_ext_info: true

advanced_network_media_rx:
interface_name: cc:00.1
queue_id: 0
video_format: RGB888
frame_width: 1920
frame_height: 1080
bit_depth: 8
hds: true
output_format: tensor
memory_location: device

media_player_config:
write_to_file: false
visualize: true
input_format: "rgb888"

frames_writer: # applied only to cpp
num_of_frames_to_record: 1000
file_path: "/tmp/output.bin"

holoviz:
width: 1280
height: 720

44 changes: 44 additions & 0 deletions applications/adv_networking_media_player/cpp/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# SPDX-FileCopyrightText: Copyright (c) 2025, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

cmake_minimum_required(VERSION 3.20)
project(adv_networking_media_player CXX)

# Dependencies
find_package(holoscan 2.6 REQUIRED CONFIG
PATHS "/opt/nvidia/holoscan" "/workspace/holoscan-sdk/install")

# Global variables
set(CMAKE_CUDA_ARCHITECTURES "70;80;90")

# Create the executable
add_executable(${PROJECT_NAME}
adv_networking_media_player.cpp
)

target_link_libraries(${PROJECT_NAME}
PRIVATE
holoscan::core
holoscan::advanced_network
holoscan::ops::advanced_network_media_rx
holoscan::ops::holoviz
)

# Copy config file
add_custom_target(adv_networking_media_player_yaml
COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/../adv_networking_media_player.yaml" ${CMAKE_CURRENT_BINARY_DIR}
DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/../adv_networking_media_player.yaml"
)
add_dependencies(${PROJECT_NAME} adv_networking_media_player_yaml)
Loading