Skip to content

Commit

Permalink
Fix null termination in codec for the rest of the samples & run the r…
Browse files Browse the repository at this point in the history
…est of the samples in the CI
  • Loading branch information
sirknightj committed Feb 5, 2025
1 parent 0fcf050 commit 5dcbd34
Show file tree
Hide file tree
Showing 5 changed files with 24 additions and 15 deletions.
21 changes: 15 additions & 6 deletions .github/workflows/windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,17 @@ jobs:
$env:Path += ';C:\Strawberry\perl\site\bin;C:\Strawberry\perl\bin;C:\Strawberry\c\bin;C:\Program Files\NASM;D:\a\amazon-kinesis-video-streams-producer-c\amazon-kinesis-video-streams-producer-c\open-source\lib;D:\a\amazon-kinesis-video-streams-producer-c\amazon-kinesis-video-streams-producer-c\open-source\bin'
& "D:\a\amazon-kinesis-video-streams-producer-c\amazon-kinesis-video-streams-producer-c\build\tst\producer_test.exe" --gtest_filter="-ProducerFunctionalityTest.pressure_on_buffer_duration_fail_new_connection_at_token_rotation"
VideoOnlyRealtimeStreamingSample:
sample-checks:
name: ${{ matrix.sample-executable }}
runs-on: windows-2022
strategy:
matrix:
sample-executable:
- kvsAudioOnlyStreamingSample.exe
- kvsAudioVideoStreamingSample.exe
- kvsVideoOnlyOfflineStreamingSample.exe
- kvsVideoOnlyRealtimeStreamingSample.exe
fail-fast: false
env:
AWS_KVS_LOG_LEVEL: 2
KVS_DEBUG_DUMP_DATA_FILE_DIR: D:\debug_output
Expand All @@ -67,7 +76,7 @@ jobs:
role-session-name: ${{ secrets.AWS_ROLE_SESSION_NAME }}
aws-region: ${{ secrets.AWS_REGION }}
role-duration-seconds: 10800
- name: Run tests
- name: Run ${{ matrix.sample }}
working-directory: ./build
run: |
# Equivalent to set -x
Expand All @@ -82,8 +91,8 @@ jobs:
dir
# Stream for 20s (default)
$exePath = Join-Path $PWD "kvsVideoOnlyRealtimeStreamingSample.exe"
& $exePath demo-stream
$exePath = Join-Path $PWD ${{ matrix.sample-executable }}
& $exePath demo-stream-producer-c-windows-ci-${{ matrix.sample-executable }}
- name: Verify MKV dump
working-directory: ./build
Expand All @@ -97,6 +106,6 @@ jobs:
# Run mkvinfo on each MKV file
foreach ($file in $mkvFiles) {
Write-Output "Verifying $($file.FullName) with mkvinfo:"
mkvinfo.exe "$($file.FullName)"
Write-Output "Verifying $($file.FullName) with mkvinfo (verbose and hexdump):"
mkvinfo.exe -v -X "$($file.FullName)"
}
2 changes: 1 addition & 1 deletion CMake/Dependencies/libkvspic-CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ include(ExternalProject)
# clone repo only
ExternalProject_Add(libkvspic-download
GIT_REPOSITORY https://github.com/awslabs/amazon-kinesis-video-streams-pic.git
GIT_TAG file-debug-logs
GIT_TAG v1.2.0
SOURCE_DIR "${CMAKE_CURRENT_BINARY_DIR}/kvspic-src"
BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/kvspic-build"
CMAKE_ARGS
Expand Down
4 changes: 2 additions & 2 deletions samples/KvsAudioOnlyStreamingSample.c
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ INT32 main(INT32 argc, CHAR* argv[])

MEMSET(&data, 0x00, SIZEOF(SampleCustomData));

STRNCPY(audioCodec, AUDIO_CODEC_NAME_AAC, STRLEN(AUDIO_CODEC_NAME_AAC)); // aac audio by default
STRCPY(audioCodec, AUDIO_CODEC_NAME_AAC); // aac audio by default

#ifdef IOT_CORE_ENABLE_CREDENTIALS
PCHAR pIotCoreCredentialEndpoint, pIotCoreCert, pIotCorePrivateKey, pIotCoreRoleAlias, pIotCoreThingName;
Expand All @@ -132,7 +132,7 @@ INT32 main(INT32 argc, CHAR* argv[])

if (argc >= 5) {
if (!STRCMP(argv[2], AUDIO_CODEC_NAME_ALAW)) {
STRNCPY(audioCodec, AUDIO_CODEC_NAME_ALAW, STRLEN(AUDIO_CODEC_NAME_ALAW));
STRCPY(audioCodec, AUDIO_CODEC_NAME_ALAW);
}
}

Expand Down
8 changes: 4 additions & 4 deletions samples/KvsAudioVideoStreamingSample.c
Original file line number Diff line number Diff line change
Expand Up @@ -191,8 +191,8 @@ INT32 main(INT32 argc, CHAR* argv[])

MEMSET(&data, 0x00, SIZEOF(SampleCustomData));

STRNCPY(audioCodec, AUDIO_CODEC_NAME_AAC, STRLEN(AUDIO_CODEC_NAME_AAC)); // aac audio by default
STRNCPY(videoCodec, VIDEO_CODEC_NAME_H264, STRLEN(VIDEO_CODEC_NAME_H264)); // h264 video by default
STRCPY(audioCodec, AUDIO_CODEC_NAME_AAC); // aac audio by default
STRCPY(videoCodec, VIDEO_CODEC_NAME_H264); // h264 video by default

#ifdef IOT_CORE_ENABLE_CREDENTIALS
PCHAR pIotCoreCredentialEndpoint, pIotCoreCert, pIotCorePrivateKey, pIotCoreRoleAlias, pIotCoreThingName;
Expand Down Expand Up @@ -223,10 +223,10 @@ INT32 main(INT32 argc, CHAR* argv[])
}
if (argc >= 6) {
if (!STRCMP(argv[4], AUDIO_CODEC_NAME_ALAW)) {
STRNCPY(audioCodec, AUDIO_CODEC_NAME_ALAW, STRLEN(AUDIO_CODEC_NAME_ALAW));
STRCPY(audioCodec, AUDIO_CODEC_NAME_ALAW);
}
if (!STRCMP(argv[5], VIDEO_CODEC_NAME_H265)) {
STRNCPY(videoCodec, VIDEO_CODEC_NAME_H265, STRLEN(VIDEO_CODEC_NAME_H265));
STRCPY(videoCodec, VIDEO_CODEC_NAME_H265);
videoCodecID = VIDEO_CODEC_ID_H265;
}
}
Expand Down
4 changes: 2 additions & 2 deletions samples/KvsVideoOnlyOfflineStreamingSample.c
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ INT32 main(INT32 argc, CHAR* argv[])
BOOL firstFrame = TRUE;
UINT64 startTime;
CHAR videoCodec[VIDEO_CODEC_NAME_MAX_LENGTH];
STRNCPY(videoCodec, VIDEO_CODEC_NAME_H264, STRLEN(VIDEO_CODEC_NAME_H264)); // h264 video by default
STRCPY(videoCodec, VIDEO_CODEC_NAME_H264); // h264 video by default
VIDEO_CODEC_ID videoCodecID = VIDEO_CODEC_ID_H264;

#ifdef IOT_CORE_ENABLE_CREDENTIALS
Expand Down Expand Up @@ -109,7 +109,7 @@ INT32 main(INT32 argc, CHAR* argv[])

if (argc >= 3) {
if (!STRCMP(argv[2], VIDEO_CODEC_NAME_H265)) {
STRNCPY(videoCodec, VIDEO_CODEC_NAME_H265, STRLEN(VIDEO_CODEC_NAME_H265));
STRCPY(videoCodec, VIDEO_CODEC_NAME_H265);
videoCodecID = VIDEO_CODEC_ID_H265;
}
}
Expand Down

0 comments on commit 5dcbd34

Please sign in to comment.