Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
68 commits
Select commit Hold shift + click to select a range
79b05cb
Update for develop (#740)
jdelapla Sep 1, 2021
2cc3231
updated cmake verison from 2.8 to 3.6.3
niyatim23 Sep 2, 2021
a83f372
Fix bug that leads to losing initial frames
disa6302 Oct 28, 2021
8a5eeae
Update to top of producer C commit
disa6302 Oct 29, 2021
1944966
Untie stream-name and thing-name (#785)
clogwog Nov 12, 2021
c921389
update docs for iot-thing-name usage
Nov 13, 2021
571a3ec
Expose file logging jni develop (#770)
niyatim23 Dec 28, 2021
b3b80df
GitHub actions setup (#815)
niyatim23 Feb 16, 2022
f98a85f
Fix OIDC for GitHub Actions (#824)
niyatim23 Feb 17, 2022
5cee852
Add ARM build to GA, log4cplus host name fix for cross compilation (#…
niyatim23 Mar 10, 2022
9d54bfb
fix config file path (#835)
niyatim23 Mar 14, 2022
e2a9384
expose streaming flags in java with jni (#849)
niyatim23 Apr 28, 2022
9040fc0
Elaborated on how to work with IoT credentials. (#851)
byongwu Apr 29, 2022
e1df705
Add storePressurePolicy call to JNI (#859)
niyatim23 May 19, 2022
fffaba9
set flag in pClientInfo (#863)
niyatim23 May 20, 2022
3dd4d31
Allow using CPP SDK as a dependency (#905)
disa6302 Sep 16, 2022
45bdb44
Fix static build (#910)
gregbreen Oct 4, 2022
8d8f2ff
create new sample that uses kvssink and increase timeout for CI tests…
benwkim Oct 24, 2022
24d204e
Fix GHA CI (#944)
niyatim23 Feb 8, 2023
28072f6
Fix CI for forked branches (#946)
niyatim23 Feb 9, 2023
13351f1
Add support for milliseconds in the file upload sample (#947)
sirknightj Feb 9, 2023
487ce3f
Add gstreamer debug instructions for mac (#948)
sirknightj Feb 9, 2023
7c5093e
Pass parameter by reference to avoid copy constructor (#949)
sirknightj Feb 10, 2023
c9d8525
Update openssl version (#950)
disa6302 Feb 14, 2023
4abb7cd
Replace pull_request_target with pull_request (#955)
niyatim23 Feb 16, 2023
9923075
Kvssink canary producer cpp (#984)
NikunjSarda Mar 23, 2023
551874f
Uncomment windows (#990)
sirknightj Mar 24, 2023
c55c47c
Signals in develop (#957)
disa6302 Mar 28, 2023
85476f5
Timeouts setup (#992)
disa6302 Apr 4, 2023
e586c99
fix warnings (#994)
disa6302 Apr 5, 2023
70b3d6c
Disable caching by default (#995)
disa6302 Apr 5, 2023
e609e6d
Update CMakeLists.txt (#997)
benwkim Apr 11, 2023
63537aa
fix timestamp bug (#999)
disa6302 Apr 12, 2023
494b2c1
Enable caching by default (#1020)
disa6302 Jun 9, 2023
f197610
Invoke stopSync in NULL state transition (#1023)
disa6302 Jun 13, 2023
316cad3
Version user agent string from kvssink (#1033)
disa6302 Jul 31, 2023
1d01bbd
Use permalinks in buffering.md (#1038)
yuma-m Jul 31, 2023
4c4afff
Auth segfault fix (#1046)
disa6302 Aug 16, 2023
446499b
Update raspberry-pi.md (#1048)
sirknightj Aug 24, 2023
5ceb51a
fix(kvs/sink_gstreamer_sample): Use videotestsrc and add additional d…
sirknightj Aug 24, 2023
57975a0
Fix readme link to kvs_log_configuration and build badge (#1061)
stefankiesz Sep 12, 2023
859546a
add support for CN region (#934)
codingspirit Jan 18, 2023
7f579ad
Formatting of src/DefaultCallbackProvider.cpp
sirknightj Sep 18, 2023
be5c1e5
Add HLS URL to kvssink usage
sirknightj Sep 21, 2023
49515f2
Alpine stackoverflow fix (#1084)
jdelapla Oct 11, 2023
c8e868a
add libcproducer.dylib and libgstkvssink.so to install (#1087)
niyatim23 Oct 19, 2023
2d2dac6
Remove '$' from ReadMe commands (#1083)
stefankiesz Oct 20, 2023
6a41789
README update for DLOGS (#1092)
disa6302 Oct 23, 2023
486cb35
GitHub Actions CI enhancements (#1063)
niyatim23 Oct 24, 2023
24fdc52
Fix GCC and Windows CI Tests (#1105)
stefankiesz Nov 29, 2023
8002fdf
Introduce M1 build in the CI (#1108)
niyatim23 Nov 29, 2023
22f365e
Check system for cproducer before doing git clone (#1115)
hassanctech Dec 5, 2023
86d1ef7
[PR #721] Install some files (#1118)
niyatim23 Dec 6, 2023
9f28a4c
Verifying versioned libs (#1116)
jdelapla Dec 6, 2023
6af9a7a
Update README.md (#1107)
sirknightj Dec 6, 2023
e7ebd3e
Fix KVSSINK State Transition Deadlock (#1113)
stefankiesz Dec 7, 2023
be5d85b
Default to Release build (#1126)
disa6302 Jan 17, 2024
96115db
Ensure region for kvssink is set either through env or property (#1125)
disa6302 Jan 18, 2024
f13b42f
Region fix (#1128)
disa6302 Jan 18, 2024
bd3530d
Make clone command a code block for copy button (#1141)
stefankiesz Feb 21, 2024
c0b9d52
PutFrame to Return Status Rather than Bool
stefankiesz Feb 29, 2024
63d87bd
Fix Windows CI (#1149)
stefankiesz Mar 5, 2024
bb8c5d0
remove unnecessary things from build (#1151)
hassanctech Mar 8, 2024
8771b94
CollectPadsStop to before parent state transition (#1131)
stefankiesz Mar 9, 2024
eeb392f
Add PR description lint (#1144)
disa6302 Mar 9, 2024
40b544b
update producer c reference to latest release v1.5.2
hassanctech Mar 12, 2024
f82e982
Merge branch 'master' into v3.4.2-rc
hassanctech Mar 12, 2024
0994dc9
remove redundant target from incorrect merge
hassanctech Mar 12, 2024
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
9 changes: 7 additions & 2 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
*Issue #, if available:*

*Description of changes:*
*What was changed?*

*Why was it changed?*

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
*How was it changed?*

*What testing was done for the changes?*

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
65 changes: 50 additions & 15 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
name: Producer CPP SDK CI

on:
push:
branches:
Expand All @@ -12,9 +11,11 @@ on:

jobs:
mac-os-build-clang:
runs-on: macos-11
runs-on: macos-12
env:
AWS_KVS_LOG_LEVEL: 2
CC: /usr/bin/clang
CXX: /usr/bin/clang++
permissions:
id-token: write
contents: read
Expand All @@ -23,12 +24,12 @@ jobs:
uses: actions/checkout@v3
- name: Install dependencies
run: |
brew install pkg-config openssl cmake gstreamer log4cplus
brew install pkg-config cmake gstreamer
brew unlink openssl
- name: Build repository
run: |
mkdir build && cd build
sh -c 'cmake .. -DBUILD_TEST=TRUE -DCOMPILER_WARNINGS=TRUE;cmake .. -DBUILD_TEST=TRUE -DCOMPILER_WARNINGS=TRUE -DCMAKE_INSTALL_PREFIX=.'
cmake .. -DBUILD_TEST=TRUE -DCOMPILER_WARNINGS=TRUE -DCMAKE_INSTALL_PREFIX=.
make
make install
- name: Configure AWS Credentials
Expand All @@ -38,6 +39,37 @@ jobs:
role-session-name: ${{ secrets.AWS_ROLE_SESSION_NAME }}
aws-region: ${{ secrets.AWS_REGION }}
role-duration-seconds: 10800
- name: Run tests
run: |
cd build
./tst/producerTest

mac-os-m1-build-clang:
runs-on: macos-13-xlarge
env:
AWS_KVS_LOG_LEVEL: 2
permissions:
id-token: write
contents: read
steps:
- name: Clone repository
uses: actions/checkout@v3
- name: Install dependencies
run: |
brew install pkg-config openssl cmake gstreamer
brew unlink openssl
- name: Build repository
run: |
mkdir build && cd build
sh -c 'cmake .. -DBUILD_TEST=TRUE -DCOMPILER_WARNINGS=TRUE -DCMAKE_INSTALL_PREFIX=. -DCMAKE_C_COMPILER=$(brew --prefix llvm@15)/bin/clang -DCMAKE_CXX_COMPILER=$(brew --prefix llvm@15)/bin/clang++;cmake .. -DBUILD_TEST=TRUE -DCOMPILER_WARNINGS=TRUE -DCMAKE_INSTALL_PREFIX=. -DCMAKE_C_COMPILER=$(brew --prefix llvm@15)/bin/clang -DCMAKE_CXX_COMPILER=$(brew --prefix llvm@15)/bin/clang++'
make install
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v1-node16
with:
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
role-session-name: ${{ secrets.AWS_ROLE_SESSION_NAME }}
aws-region: ${{ secrets.AWS_REGION }}
role-duration-seconds: 10800
- name: Run tests
run: |
cd build
Expand All @@ -49,8 +81,8 @@ jobs:
id-token: write
contents: read
env:
CC: gcc
CXX: g++
CC: /usr/local/bin/gcc-13
CXX: /usr/local/bin/g++-13
AWS_KVS_LOG_LEVEL: 2
steps:
- name: Clone repository
Expand Down Expand Up @@ -189,7 +221,7 @@ jobs:
timeout --signal=SIGABRT 60m ./tst/producerTest

# memory-sanitizer:
# runs-on: ubuntu-20.04
# runs-on: ubuntu-20.04
# permissions:
# id-token: write
# contents: read
Expand Down Expand Up @@ -244,8 +276,6 @@ jobs:
runs-on: ubuntu-20.04
env:
AWS_KVS_LOG_LEVEL: 2
CC: gcc
CXX: g++
permissions:
id-token: write
contents: read
Expand Down Expand Up @@ -286,16 +316,21 @@ jobs:
steps:
- name: Clone repository
uses: actions/checkout@v3
- name: Move cloned repo # to shorten path length for Windows OS
run: |
git config --system core.longpaths true
mkdir C:\amazon-kinesis-video-streams-producer-sdk-cpp
Move-Item -Path "D:\a\amazon-kinesis-video-streams-producer-sdk-cpp\amazon-kinesis-video-streams-producer-sdk-cpp\*" -Destination "C:\amazon-kinesis-video-streams-producer-sdk-cpp"
- name: Install dependencies
run: |
choco install nasm strawberryperl
choco install gstreamer --version=1.16.2
choco install gstreamer-devel --version=1.16.2
choco install gstreamer-devel --version=1.16.2
- name: Build repository
run: |
$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-sdk-cpp\amazon-kinesis-video-streams-producer-sdk-cpp\open-source\local\lib;D:\a\amazon-kinesis-video-streams-producer-sdk-cpp\amazon-kinesis-video-streams-producer-sdk-cpp\open-source\local\bin'
git config --system core.longpaths true
.github/build_windows.bat
$env:Path += ";C:\Strawberry\perl\site\bin;C:\Strawberry\perl\bin;C:\Strawberry\c\bin;C:\Program Files\NASM;C:\amazon-kinesis-video-streams-producer-sdk-cpp\open-source\local\lib;C:\amazon-kinesis-video-streams-producer-sdk-cpp\open-source\local\bin"
cd C:\amazon-kinesis-video-streams-producer-sdk-cpp
.github\build_windows.bat
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v1-node16
with:
Expand All @@ -305,8 +340,8 @@ jobs:
role-duration-seconds: 10800
- name: Run tests
run: |
$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-sdk-cpp\amazon-kinesis-video-streams-producer-sdk-cpp\open-source\local\lib;D:\a\amazon-kinesis-video-streams-producer-sdk-cpp\amazon-kinesis-video-streams-producer-sdk-cpp\open-source\local\bin'
& "D:\a\amazon-kinesis-video-streams-producer-sdk-cpp\amazon-kinesis-video-streams-producer-sdk-cpp\build\tst\producerTest.exe"
$env:Path += ';C:\Strawberry\perl\site\bin;C:\Strawberry\perl\bin;C:\Strawberry\c\bin;C:\Program Files\NASM;C:\amazon-kinesis-video-streams-producer-sdk-cpp\open-source\local\lib;C:\amazon-kinesis-video-streams-producer-sdk-cpp\open-source\local\bin'
& "C:\amazon-kinesis-video-streams-producer-sdk-cpp\build\tst\producerTest.exe"

arm64-cross-compilation:
runs-on: ubuntu-20.04
Expand Down
55 changes: 55 additions & 0 deletions .github/workflows/pr-desc-lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: PR Description Check

on:
pull_request:
branches:
- develop
- master
types:
- opened
- synchronize
- reopened
- edited

jobs:
check-description:
runs-on: macos-latest
steps:
- name: Install GitHub CLI
run: |
brew install gh

- name: Check PR Description
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
pr_description=$(gh pr view https://github.com/${GITHUB_REPOSITORY}/pull/${{ github.event.pull_request.number }} --json body -q ".body")
error_occurred=0
# Define minimum character count for each section
MIN_CHARS=25

# Extract contents
what_changed=$(echo "$pr_description" | sed -n -e '/\*What was changed?\*/,/\*/p' | sed '$d' | sed '1d')
why_changed=$(echo "$pr_description" | sed -n -e '/\*Why was it changed?\*/,/\*/p' | sed '$d' | sed '1d')
how_changed=$(echo "$pr_description" | sed -n -e '/\*How was it changed?\*/,/\*/p' | sed '$d' | sed '1d')
testing_done=$(echo "$pr_description" | sed -n -e '/\*What testing was done for the changes?\*/,/\*/p' | sed '$d' | sed '1d')

if [[ ${#what_changed} -lt $MIN_CHARS ]]; then
echo "PR description for what changed section is either missing or too short."
error_occurred=1
fi
if [[ ${#why_changed} -lt $MIN_CHARS ]]; then
echo "PR description for why it changed section is either missing or too short."
error_occurred=1
fi
if [[ ${#how_changed} -lt $MIN_CHARS ]]; then
echo "PR description for how was it changed section is either missing or too short."
error_occurred=1
fi
if [[ ${#testing_done} -lt $MIN_CHARS ]]; then
echo "PR description for testing section are either missing or too short."
error_occurred=1
fi
if [[ $error_occurred -eq 1 ]]; then
exit 1
fi
11 changes: 2 additions & 9 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,9 @@ build
cmake-build-debug/
cmake-build-release/
doc/
open-source/libgtest
open-source/libjsmn
open-source/libopenssl
open-source/libsrtp
open-source/libusrsctp
open-source/libwebsockets
open-source/local
open-source/libautoconf
open-source/
outputs
tags
dependency
.vs

.vs
16 changes: 0 additions & 16 deletions CMake/Dependencies/libautoconf-CMakeLists.txt

This file was deleted.

16 changes: 0 additions & 16 deletions CMake/Dependencies/libautomake-CMakeLists.txt

This file was deleted.

2 changes: 1 addition & 1 deletion CMake/Dependencies/libgtest-CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.6.3)

project(libgtest-download NONE)
project(libgtest-download LANGUAGES CXX)

include(ExternalProject)

Expand Down
14 changes: 0 additions & 14 deletions CMake/Dependencies/libjsmn-CMakeLists.txt

This file was deleted.

17 changes: 0 additions & 17 deletions CMake/Dependencies/libjsmn-add-cmakelists.patch

This file was deleted.

5 changes: 3 additions & 2 deletions CMake/Dependencies/libkvscproducer-CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
cmake_minimum_required(VERSION 3.6.3)

project(libkvscproducer-download NONE)
project(libkvscproducer-download LANGUAGES CXX)

include(ExternalProject)

# clone repo only
ExternalProject_Add(libkvscproducer-download
GIT_REPOSITORY https://github.com/awslabs/amazon-kinesis-video-streams-producer-c.git
GIT_TAG 178109a5dbfc5288ba5cf7fab1dc1afd5e2e182b
GIT_TAG v1.5.2
SOURCE_DIR "${CMAKE_CURRENT_BINARY_DIR}/kvscproducer-src"
BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/kvscproducer-build"
CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
CONFIGURE_COMMAND ""
BUILD_COMMAND ""
INSTALL_COMMAND ""
Expand Down
23 changes: 12 additions & 11 deletions CMake/Dependencies/liblog4cplus-CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
cmake_minimum_required(VERSION 3.6.3)
find_program(MAKE_EXE NAMES make)

project(log4cplus-download NONE)
project(log4cplus-download LANGUAGES CXX)

set(BUILD_SHARED_LIBS 1)
if (BUILD_STATIC)
Expand All @@ -19,26 +19,27 @@ if (DEFINED CMAKE_OSX_SYSROOT AND NOT CMAKE_OSX_SYSROOT STREQUAL "")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -isysroot${CMAKE_OSX_SYSROOT}")
endif()

if (CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
SET(CONFIGURE_COMMAND ${CONFIGURE_STATIC})
endif()

include(ExternalProject)

if (WIN32)
ExternalProject_Add(project_log4cplus
GIT_REPOSITORY https://github.com/log4cplus/log4cplus
GIT_TAG REL_2_0_1
GIT_TAG REL_2_0_7
PREFIX ${CMAKE_CURRENT_BINARY_DIR}/build
TEST_COMMAND ""
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${OPEN_SRC_INSTALL_PREFIX} -DLOG4CPLUS_BUILD_TESTING=0 -DLOG4CPLUS_BUILD_LOGGINGSERVER=0 -DUNICODE=0 -DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS}
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${OPEN_SRC_INSTALL_PREFIX} -DLOG4CPLUS_ENABLE_THREAD_POOL=OFF -DLOG4CPLUS_BUILD_TESTING=0 -DLOG4CPLUS_BUILD_LOGGINGSERVER=0 -DUNICODE=0 -DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
)
else()
ExternalProject_Add(project_log4cplus
GIT_REPOSITORY https://github.com/log4cplus/log4cplus
GIT_TAG REL_2_0_1
PREFIX ${CMAKE_CURRENT_BINARY_DIR}/build
CONFIGURE_COMMAND ${CONFIGURE_COMMAND}
BUILD_COMMAND ${MAKE_EXE}
BUILD_IN_SOURCE TRUE
INSTALL_COMMAND ${MAKE_EXE} install
TEST_COMMAND ""
GIT_REPOSITORY https://github.com/log4cplus/log4cplus
GIT_TAG REL_2_0_7 # Fixes the CATCH_REQUIRE related build errors encountered in MacOS M1
PREFIX ${CMAKE_CURRENT_BINARY_DIR}/build
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${OPEN_SRC_INSTALL_PREFIX} -DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
BUILD_ALWAYS TRUE
TEST_COMMAND ""
)
endif()
Loading