Skip to content

Commit 7a68e3f

Browse files
sirknightjunicornssstefankieszSean-Derdisa6302
authored
Release v1.14.0 (#285)
* JNI missing methods (#203) * JNI missing methods * JNI missing methods for latest cpp - updated versions and for comments * JNI missing methods for latest cpp - updated versions and for comments * Add pull request description check (#208) * Add pull request description check * Use token * Adding CodeQL scanning (#207) * Adding code coverage & report generation (#206) * Squashed commit of the following: commit dc1bbe9 Author: Niyati Maheshwari <niyatim@amazon.com> Date: Wed Dec 6 20:20:07 2023 -0800 try macos instead of ubuntu commit b72370b Author: Niyati Maheshwari <niyatim@amazon.com> Date: Wed Dec 6 20:09:04 2023 -0800 try using .8.11 commit 92e668d Author: Niyati Maheshwari <niyatim@amazon.com> Date: Wed Dec 6 19:31:16 2023 -0800 try mvn clean test instead of verify commit 432acb6 Author: Niyati Maheshwari <niyatim@amazon.com> Date: Wed Dec 6 19:12:19 2023 -0800 jacoco dependency commit ec94a1b Author: Niyati Maheshwari <niyatim@amazon.com> Date: Wed Dec 6 18:14:19 2023 -0800 no cache commit aebe938 Author: Niyati Maheshwari <niyatim@amazon.com> Date: Wed Dec 6 18:12:16 2023 -0800 no cache commit 385d2da Author: Niyati Maheshwari <niyatim@amazon.com> Date: Wed Dec 6 18:00:26 2023 -0800 try java 11 commit 3141099 Author: Niyati Maheshwari <niyatim@amazon.com> Date: Wed Dec 6 17:11:16 2023 -0800 mvn clean verify commit 7b14be3 Author: Niyati Maheshwari <niyatim@amazon.com> Date: Wed Dec 6 16:54:46 2023 -0800 check contents after run commit 2c4937d Author: Niyati Maheshwari <niyatim@amazon.com> Date: Wed Dec 6 16:40:01 2023 -0800 remove dup junit commit 0bbd9a3 Author: Niyati Maheshwari <niyatim@amazon.com> Date: Wed Dec 6 16:38:54 2023 -0800 fix codecov commit 67395e5 Author: Niyati Maheshwari <niyatim@amazon.com> Date: Wed Dec 6 16:25:18 2023 -0800 specify file and directory both commit 209d124 Author: Niyati Maheshwari <niyatim@amazon.com> Date: Wed Dec 6 15:41:31 2023 -0800 fix codecov build by removing matric commit 4207423 Author: Niyati Maheshwari <niyatim@amazon.com> Date: Wed Dec 6 15:24:13 2023 -0800 fix readme commit 701e850 Author: Niyati Maheshwari <niyatim@amazon.com> Date: Wed Dec 6 15:19:08 2023 -0800 update names commit aa14b6c Author: Niyati Maheshwari <niyatim@amazon.com> Date: Wed Dec 6 15:14:03 2023 -0800 add codecov commit d05ba54 Author: Niyati Maheshwari <niyatim@amazon.com> Date: Wed Dec 6 14:56:46 2023 -0800 upload coverage report commit 97b8b60 Author: Niyati Maheshwari <niyatim@amazon.com> Date: Tue Sep 12 13:22:39 2023 -0700 upload to codecov and add a badge * Adding code coverage & report generation * Fixing the argLine merging * Raspian -> Raspbian (#209) * Dual-stack endpoint support, IP filter, unit test enhancements, CI enhancements with JNI generation (#205) * Dual-stack endpoint support, IP filter, unit tests, CI and automated JNI generation * More code coverage * Address comments pt 1 * Address the rest of the comments * Adjust the message * Measure RSS and CPU for the samples (#213) * Adjust PR template and make code coverage job only run in this repo (#214) * Jni migration (#212) * Move everything to CMake drive build Instead of using sh scripts to build drive everything through CMake. This matches our other libraries. * Add MacOS version check in CMake * Build automake/autoconf instead of making user install autoconf/automake isn't widely available at the version we need, instead just bundle with our CMake setup Relates to #427 #426 * Update openssl version to 1.1.1g * Updating CPP producer to latest C producer and PIC (#443) * Support building on Windows Add travis builder * Add a file uploader example * Shorten sample prefix * Build GStreamer in Windows CI * Fix cmake files * update PIC and producer hook. Enable build_denpendencies=OFF * pull c producer and build with add_subdirectory * Replace CMAKE_SOURCE_DIR with CMAKE_CURRENT_SOURCE_DIR (#531) Replace use of CMAKE_SOURCE_DIR with CMAKE_CURRENT_SOURCE_DIR to enable building the SDK in an add_subdirectory() instruction. Resolves #527 Co-authored-by: lummish <harris@automotus.co> * Replace CMAKE_SOURCE_DIR with CMAKE_CURRENT_SOURCE_DIR (#528) Replace use of CMAKE_SOURCE_DIR with CMAKE_CURRENT_SOURCE_DIR to enable building the SDK in an add_subdirectory() instruction. Resolves #527 * update c producer * update c producer to pull in find curl fix for older cmake * Intermittent producer test scenarios (#584) * Intermittent producer test scenarios * Due to timing, removing the checks for the in-order buffering ACK check. This might fail in case of slight timing on a sessions edge * Fixing a build issue with cmake related to Policy CMP0054 * Fixing a build issue with cmake related to Policy CMP0054 * Updating C producer to resolve the CMake compile compatibility issue * Trying to fix windows build * Bug fix: JNI incorrectly is using stopStreamTimeout for createStreamT… (#614) * Bug fix: JNI incorrectly is using stopStreamTimeout for createStreamTimeout param * Bug fix: JNI incorrectly is using stopStreamTimeout for createStreamTimeout param * update producer-c version to support automatic intermittent producer (#640) * update producer-c version to support automatic intermittent producer * fix formatting * make sure to set min client info version, modify test for automatic intermittnet produced both enabled and disabled case * fix test * fix tests * fix timing of tests, mac osx ones were always having issues but went undetected in travis ci due to lack of assert * Updating to the latest C producer (#647) * Rebase latest cproducer (#649) * Rebasing on top of the latest c producer * Rebase on latest c producer * fix producer cpp set correct default for intermittent producer scenar… (#654) * fix producer cpp set correct default for intermittent producer scenario and docs * better logical ordering of ip scenario * formatting * be more explicit about not tearing down SDK pipeline * Updating CProducer to latest. Add constructor overloads. Add test coverage for reset and re-create (#661) * Pull in frame rate changes from PIC and correct documentation * update producer c to include e2e frame latency reduction (#694) * update producer c ref (#726) * Duplicate event fix for master (#838) * Update for develop (#740) * Minor syntax fix .. is required for fetching files from parent dir ... without .. it throws error * Update README and travis.yml to acknowledge develop * Fix typo in readme * add free missing (#746) Co-authored-by: David D <david.desbiens@tentaq.com> * Update readme (#744) * Fix typo in readme * Update Readme Debug section: add solution to cmake error "could not find JNI" Co-authored-by: Hassan Sahibzada <hsahibza@amazon.com> * Add instruction to set offline mode (#741) Co-authored-by: Hassan Sahibzada <hsahibza@amazon.com> Co-authored-by: Ketul shah <ketulshah1993@gmail.com> Co-authored-by: Jeremy Gunawan <jggunawa@amazon.com> Co-authored-by: waikup83 <waikup@hotmail.com> Co-authored-by: David D <david.desbiens@tentaq.com> Co-authored-by: Hassan Sahibzada <hsahibza@amazon.com> Co-authored-by: Divya Sampath Kumar <disa6302@colorado.edu> * updated cmake verison from 2.8 to 3.6.3 * Fix bug that leads to losing initial frames * Update to top of producer C commit * Untie stream-name and thing-name (#785) * untie stream-name and thing-name * fixup spacing Co-authored-by: tom schuring <tschuring@mtdata.com.au> * update docs for iot-thing-name usage * Expose file logging jni develop (#770) * expose addFileLoggerPlatformCallbacksProvider in Java with JNI * updated addFileLoggerPlatformCallbacksProvider to parse file path * added a callback from JNI to a Java function for logging * updated logPrintFunc calback * missed client_handle initialization in constructor * added comments * white space change to trigger travis * Images feature and sample support * GitHub actions setup (#815) * github actions setup; disable travis for develop * fix syntax error: * fix syntax error * fix linux builds * fix linux builds * fix linux builds * add missing packages * add keys to env vars * check env vars * check env vars * fix builds * fix builds on ga * test mac clang on ga * test mac clang on ga * test mac clang on ga * test mac clang on ga * test mac clang on ga * unsetting the token * unsetting the token * test macos clang * test macos clang * stop travis builds on each push * use oidc * fix windows build * fix test instruction * comment failing builds on travis and ga * update gcc and macos versions * update cmake * update cmake * use latest os, update log levels, uncomment travis * update failing build * update failing build * trigger travis * trigger travis * Revert "trigger travis" This reverts commit d511f1510875661d45349dcb4c61f26d66c63691. * update msvc path, add windows to ga, remove from travis * trigger travis * trigger travis w/o passing builds * add cpath and ldflags for mac build * Revert "add cpath and ldflags for mac build" This reverts commit 79ac552c810cd6bc997e6590b6cfcabb5871ac9a. * test ubsan build * fix cmake instruction for mac-gcc * remove travis file * remove travis checks * Update Producer-c to new master * Updated to the ACTUAL master... * Fix OIDC for GitHub Actions (#824) * use oidc right before tests * run ga builds for branch * fix test path * update branches * set creds expiration time * testing re-order tags changes * Updated Producer, now putEventMetadata returns with an error if the first cluster has not been started * updated kvs_gstreamer_sample.cpp to also use the event metadata feature on every key frame * Add ARM build to GA, log4cplus host name fix for cross compilation (#831) * setup arm cross compilation * update the package list * fix in * specify host in log4cplus * specify host in log4cplus * specify host in log4cplus * run all builds with new host config in log4cplus * build with gstreamer and dependencies * build with gstreamer and dependencies * build with gstreamer and dependencies and openssl * build with gstreamer and openssl * specify build and host * specify build and host * specify build host and target * specify same build and host * specify build and host in all cmake files * use a different compiler * use a different compiler * echo compiler * set CC and CXX correctly * set CC and CXX correctly * set openssl platform * set openssl platform * set openssl platform * expose host name for log4cplus * change log4cplus host name * fix cmake syntax error * fix cmke log4plus condition * fix cmake log4plus condition * fix cmake log4plus condition * change var name cmake * change var name in ci * update cmake instruction in ci * check conditions for log4cplus in cmake * check conditions for log4cplus in cmake * use set instead of option in cmake * check messages * fix ci cmake instruction * fix ci cmake instruction * add definition * use env var * use env var * use build args * update readme * remove host-name from qemu arm build * update readme for cross-compile instructions * add aarch64; move log config file * remove qemu * fix config file path (#835) * Duplicate fix, sample cleanup * Test was 'sometimes' triggering. Needed more frames to ensure its success Co-authored-by: Ketul shah <ketulshah1993@gmail.com> Co-authored-by: Jeremy Gunawan <jggunawa@amazon.com> Co-authored-by: waikup83 <waikup@hotmail.com> Co-authored-by: David D <david.desbiens@tentaq.com> Co-authored-by: Hassan Sahibzada <hsahibza@amazon.com> Co-authored-by: Divya Sampath Kumar <disa6302@colorado.edu> Co-authored-by: Niyati Maheshwari <niyatim23@gmail.com> Co-authored-by: clogwog <tomschuring@gmail.com> Co-authored-by: tom schuring <tschuring@mtdata.com.au> * Release 3 3 1 (#865) * expose streaming flags in java with jni (#849) * expose streaming flags in java with jni * fix indentation * Elaborated on how to work with IoT credentials. (#851) It is not a straight-forward process to enable KVS and IoT credentials. It is required to read and follow through https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/how-iot.html. * Add storePressurePolicy call to JNI (#859) * add store pressure policy * update ci to add update * set flag in pClientInfo (#863) Co-authored-by: Niyati Maheshwari <niyatim23@gmail.com> Co-authored-by: Byong-Wu Chong <69205204+byongwu@users.noreply.github.com> * Release 3.4.0 (#1041) * Update for develop (#740) * Minor syntax fix .. is required for fetching files from parent dir ... without .. it throws error * Update README and travis.yml to acknowledge develop * Fix typo in readme * add free missing (#746) Co-authored-by: David D <david.desbiens@tentaq.com> * Update readme (#744) * Fix typo in readme * Update Readme Debug section: add solution to cmake error "could not find JNI" Co-authored-by: Hassan Sahibzada <hsahibza@amazon.com> * Add instruction to set offline mode (#741) Co-authored-by: Hassan Sahibzada <hsahibza@amazon.com> Co-authored-by: Ketul shah <ketulshah1993@gmail.com> Co-authored-by: Jeremy Gunawan <jggunawa@amazon.com> Co-authored-by: waikup83 <waikup@hotmail.com> Co-authored-by: David D <david.desbiens@tentaq.com> Co-authored-by: Hassan Sahibzada <hsahibza@amazon.com> Co-authored-by: Divya Sampath Kumar <disa6302@colorado.edu> * updated cmake verison from 2.8 to 3.6.3 * Fix bug that leads to losing initial frames * Update to top of producer C commit * Untie stream-name and thing-name (#785) * untie stream-name and thing-name * fixup spacing Co-authored-by: tom schuring <tschuring@mtdata.com.au> * update docs for iot-thing-name usage * Expose file logging jni develop (#770) * expose addFileLoggerPlatformCallbacksProvider in Java with JNI * updated addFileLoggerPlatformCallbacksProvider to parse file path * added a callback from JNI to a Java function for logging * updated logPrintFunc calback * missed client_handle initialization in constructor * added comments * white space change to trigger travis * GitHub actions setup (#815) * github actions setup; disable travis for develop * fix syntax error: * fix syntax error * fix linux builds * fix linux builds * fix linux builds * add missing packages * add keys to env vars * check env vars * check env vars * fix builds * fix builds on ga * test mac clang on ga * test mac clang on ga * test mac clang on ga * test mac clang on ga * test mac clang on ga * unsetting the token * unsetting the token * test macos clang * test macos clang * stop travis builds on each push * use oidc * fix windows build * fix test instruction * comment failing builds on travis and ga * update gcc and macos versions * update cmake * update cmake * use latest os, update log levels, uncomment travis * update failing build * update failing build * trigger travis * trigger travis * Revert "trigger travis" This reverts commit d511f1510875661d45349dcb4c61f26d66c63691. * update msvc path, add windows to ga, remove from travis * trigger travis * trigger travis w/o passing builds * add cpath and ldflags for mac build * Revert "add cpath and ldflags for mac build" This reverts commit 79ac552c810cd6bc997e6590b6cfcabb5871ac9a. * test ubsan build * fix cmake instruction for mac-gcc * remove travis file * remove travis checks * Fix OIDC for GitHub Actions (#824) * use oidc right before tests * run ga builds for branch * fix test path * update branches * set creds expiration time * Add ARM build to GA, log4cplus host name fix for cross compilation (#831) * setup arm cross compilation * update the package list * fix in * specify host in log4cplus * specify host in log4cplus * specify host in log4cplus * run all builds with new host config in log4cplus * build with gstreamer and dependencies * build with gstreamer and dependencies * build with gstreamer and dependencies and openssl * build with gstreamer and openssl * specify build and host * specify build and host * specify build host and target * specify same build and host * specify build and host in all cmake files * use a different compiler * use a different compiler * echo compiler * set CC and CXX correctly * set CC and CXX correctly * set openssl platform * set openssl platform * set openssl platform * expose host name for log4cplus * change log4cplus host name * fix cmake syntax error * fix cmke log4plus condition * fix cmake log4plus condition * fix cmake log4plus condition * change var name cmake * change var name in ci * update cmake instruction in ci * check conditions for log4cplus in cmake * check conditions for log4cplus in cmake * use set instead of option in cmake * check messages * fix ci cmake instruction * fix ci cmake instruction * add definition * use env var * use env var * use build args * update readme * remove host-name from qemu arm build * update readme for cross-compile instructions * add aarch64; move log config file * remove qemu * fix config file path (#835) * expose streaming flags in java with jni (#849) * expose streaming flags in java with jni * fix indentation * Elaborated on how to work with IoT credentials. (#851) It is not a straight-forward process to enable KVS and IoT credentials. It is required to read and follow through https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/how-iot.html. * Add storePressurePolicy call to JNI (#859) * add store pressure policy * update ci to add update * set flag in pClientInfo (#863) * Allow using CPP SDK as a dependency (#905) * Allow using CPP SDK as a dependency * Update README * Fix static build (#910) * Add static build to CI * gstkvssink should have static linkage in a static build * log4cplus should be a static lib in a static build * Don't force full static link * Update libkvscproducer-CMakeLists.txt Update Producer C Commit hash Co-authored-by: Hassan Sahibzada <hsahibza@amazon.com> * create new sample that uses kvssink and increase timeout for CI tests (#917) * Fix GHA CI (#944) * fix failing builds + upgrade gtest to 1.12 * install missing package * change os and gcc versions * exclude windows build * use event triggers * Fix CI for forked branches (#946) * fix ci for fork * blank space change to trigger CI * Add support for milliseconds in the file upload sample (#947) * Minor syntax fix .. is required for fetching files from parent dir ... without .. it throws error * Fix typo in readme * add free missing (#746) Co-authored-by: David D <david.desbiens@tentaq.com> * Update readme (#744) * Fix typo in readme * Update Readme Debug section: add solution to cmake error "could not find JNI" Co-authored-by: Hassan Sahibzada <hsahibza@amazon.com> * Add instruction to set offline mode (#741) Co-authored-by: Hassan Sahibzada <hsahibza@amazon.com> * Update README and travis.yml to acknowledge develop (#739) Co-authored-by: Hassan Sahibzada <hsahibza@amazon.com> * Gstreamer RTSP Docs Update (#712) Hoping this help others avoid hours of frustration. As noted in the helpful but well hidden issue comment awslabs/amazon-kinesis-video-streams-producer-sdk-cpp#193 (comment), the Gstreamer examples for RTSP do not run at all. I'm no Gstreamer expert but using `h264parse` works perfectly, while `video/x-h264, format=avc,alignment=au` just causes the pipeline to hang. * free missing property (#767) Co-authored-by: David D <david.desbiens@tentaq.com> * Update gstkvssink.cpp * Added millisecond support to kvs_gstreamer_file_upload_sample + gstkvssink --------- Co-authored-by: Ketul shah <ketulshah1993@gmail.com> Co-authored-by: waikup83 <waikup@hotmail.com> Co-authored-by: David D <david.desbiens@tentaq.com> Co-authored-by: Hassan Sahibzada <hsahibza@amazon.com> Co-authored-by: Divya Sampath Kumar <disa6302@colorado.edu> Co-authored-by: jdelapla <delaplan@amazon.com> Co-authored-by: Anton Vattay <3martini@gmail.com> Co-authored-by: bkneff <bkneff@amazon.com> * Add gstreamer debug instructions for mac (#948) Co-authored-by: Divya Sampath Kumar <disa6302@colorado.edu> * Pass parameter by reference to avoid copy constructor (#949) * pass parameter by reference to avoid copy constructor * nit style --------- Co-authored-by: James Delaplane <delaplan@amazon.com> * Update openssl version (#950) * Replace pull_request_target with pull_request (#955) * replace pull_request_target with pull_request; update versions for codeql * add develop to codeql * Kvssink canary producer cpp (#984) * Cmake changes after release 3.3.1 * Added fragment ack handler, reverting changes related to edge * Added gsignal element for fragment ack * Fixed cmake dependency for canarydemos * Reverted c++ versrion to 11 * Commented out g signal in fragment act handler * Re-Added the g signal * Kvs sink initialized to avoid bad memory access * Intialized custom objet kvssink * Moved part of cloud watch metrics and logs * Resolved constructor issue * Added remaining functions for cloud watch logs * Reverted changes for cloudwatch shift * Reverted Cmake changes * Reverted remaining changes * Added stream metric signal * G signal changes * G signal parameter changes * Removed persisted ack check * Changed return type in g signal * Added custome object for put frame * Metric struct update * Intialized custome object metrics * Added check for key frame * Added client metrics element * Name changed * Added first frame emit * First frame changes * Reverted first frame changes * Left change * Added g signal emit on first successfull frame * Fixed compile error * Startup latency test_1 * Added first frame check * Resolved comments on PR 984 * Resolved comments on PR 984-remaining * Resolved comments in PR 984_03-16 * resolved comment in PR-276_03-21 * Uncomment windows (#990) * Signals in develop (#957) * Signals in develop * Add signals and static analysis fixes * Signals in develop * Add better logging * Pull in new producer C commit * Update gstkvssink.cpp * use get metric property * Use log and throw and catch --------- Co-authored-by: NikunjSarda <sardanik@amazon.com> * Timeouts setup (#992) * Adding timeouts configurability * Add jni for new timeouts and create stream flag * Revert log4cplus version and cxx standard * Revert versions * Revert C++ version to 11 * fix warnings (#994) * Disable caching by default (#995) * Update CMakeLists.txt (#997) * Update CMakeLists.txt when building shared the kvs_gstreamer_sample.cpp example fails LINKING fix #930 * Additional CI Build --------- Co-authored-by: tro <throos@amazon.de> * fix timestamp bug (#999) * Enable caching by default (#1020) * Invoke stopSync in NULL state transition (#1023) * Add EOS specific handling * New logging * New logging 1 * New logging 2 * New logging 4 * New logging 5 * New logging 5 * Check with bool * listen on NULL state transition * Version user agent string from kvssink (#1033) * Use permalinks in buffering.md (#1038) * fix ci * resolve missed git conflicts * remove duplicate decl * update producer c * Auth segfault fix (#1046) * Auth segfault fix * Added unit tests * Update raspberry-pi.md (#1048) * Update raspberry-pi.md * Update raspberry-pi.md --------- Co-authored-by: Josh McMenemy <josh.mcmenemy@gmail.com> * fix(kvs/sink_gstreamer_sample): Use videotestsrc and add additional debug logging (#1047) * Switch from autovideosrc to videotestsrc and add additional debug logging * Add null check for ksvideosrc and adjust comments * Revise logging again * Exit early if one of the elements cant be created, log which one * Check return value of gstreamer_init * Update commit to use release 1.5.0 of producer SDK --------- Co-authored-by: jdelapla <delaplan@amazon.com> Co-authored-by: Ketul shah <ketulshah1993@gmail.com> Co-authored-by: Jeremy Gunawan <jggunawa@amazon.com> Co-authored-by: waikup83 <waikup@hotmail.com> Co-authored-by: David D <david.desbiens@tentaq.com> Co-authored-by: Divya Sampath Kumar <disa6302@colorado.edu> Co-authored-by: Niyati Maheshwari <niyatim23@gmail.com> Co-authored-by: clogwog <tomschuring@gmail.com> Co-authored-by: tom schuring <tschuring@mtdata.com.au> Co-authored-by: Byong-Wu Chong <69205204+byongwu@users.noreply.github.com> Co-authored-by: Greg Breen <greg@footyforecaster.com> Co-authored-by: Benjamin Kim <114961775+benwkim@users.noreply.github.com> Co-authored-by: Anton Vattay <3martini@gmail.com> Co-authored-by: bkneff <bkneff@amazon.com> Co-authored-by: NikunjSarda <sardanik@amazon.com> Co-authored-by: Jeremy Gunawan <sirknightj@gmail.com> Co-authored-by: tro <throos@amazon.de> Co-authored-by: Yuma Mihira <yuma-m@users.noreply.github.com> Co-authored-by: Josh McMenemy <josh.mcmenemy@gmail.com> * Release 3.4.1 (#1055) * Update version * Update release tag * Update CI tests (#1165) * Set -DPKG_CONFIG_EXECUTABLE in windows bat * Update GStreamer version * Update gst pkgconfig path with msvc_x86_64 * Set to MacOS 12 * Release v3.4.2 (#1207) * Set Producer C SDK to a Release Tag; CI Fix (#1204) * Update libkvscproducer-CMakeLists.txt * Update libkvscproducer-CMakeLists.txt * Shorten Windows CI path * Move repo to the new location in CI * Fix the path * Update ci.yml * Fix path * Update ci.yml * Update ci.yml * Update ci.yml * Bump Mac runner image from 12 to 13 * Bump the version from 3.4.1 to 3.4.2 (#1206) --------- Co-authored-by: Stefan Kieszkowski <85728496+stefankiesz@users.noreply.github.com> * Remove Unused Dependency Files * JNI: Fix logging cleanup issue (#1239) * JNI: Fix logging after free * Change gstreamer from gitlab to github mirror * Address comments * JNI Builds Enhancements & CMake Dependency Enhancements (#1237) * Build optimizations * Build PIC in JNI only path * Make parallel optional * Pin cmake to v3 (#1247) * Pin CMake version to v3 * Switch to develop branch * Delete the extra stuff, adjust the CI to use the local JNI, CMake enhancements like adding clean-all target and adjusting the Java not found error message --------- Co-authored-by: Sean DuBois <seaduboi@amazon.com> Co-authored-by: disa6302 <disa6302@colorado.edu> Co-authored-by: Sean DuBois <sean@siobud.com> Co-authored-by: MushMal <33669149+MushMal@users.noreply.github.com> Co-authored-by: Lukas Herman <lherman.cs@gmail.com> Co-authored-by: chehefen <chehefen@amazon.com> Co-authored-by: lummish <harris@automotus.co> Co-authored-by: Hassan Sahibzada <hsahibza@amazon.com> Co-authored-by: jdelapla <delaplan@amazon.com> Co-authored-by: Ketul shah <ketulshah1993@gmail.com> Co-authored-by: waikup83 <waikup@hotmail.com> Co-authored-by: David D <david.desbiens@tentaq.com> Co-authored-by: Niyati Maheshwari <niyatim23@gmail.com> Co-authored-by: clogwog <tomschuring@gmail.com> Co-authored-by: tom schuring <tschuring@mtdata.com.au> Co-authored-by: Byong-Wu Chong <69205204+byongwu@users.noreply.github.com> Co-authored-by: Greg Breen <greg@footyforecaster.com> Co-authored-by: Benjamin Kim <114961775+benwkim@users.noreply.github.com> Co-authored-by: Anton Vattay <3martini@gmail.com> Co-authored-by: bkneff <bkneff@amazon.com> Co-authored-by: NikunjSarda <sardanik@amazon.com> Co-authored-by: tro <throos@amazon.de> Co-authored-by: Yuma Mihira <yuma-m@users.noreply.github.com> Co-authored-by: Josh McMenemy <josh.mcmenemy@gmail.com> Co-authored-by: Stefan Kieszkowski <85728496+stefankiesz@users.noreply.github.com> * Make the frame timecodes consistent (#217) * Make the frame timecodes consistent * Remove unused import * Use constant instead of 1M * Avoid negative sleep values when ahead of schedule * Fix ImageFrameSource Shutdown Sequence (#218) * Update ImageFrameSource.java * Address comments * Add script for media validation and debugging utilities (#219) * Scripts: Normalize CPU and axis controls for rss and cpu (#220) * Normalize CPU and allow setting y-axis bounds for rss and cpu * Address comments * Add tracking for some native stats (#221) * Add tracking for some native stats * Remove advanced codeql configuration * Remove extra space * Ignore if the file already exists * Running multiple instances of the application on a single machine (#222) * Metrics fix (#223) * Add MKV dump through environment variable, and CI (#226) * Add MKV dump through environment variable, and CI * Address comments * Add JavaDoc generation (#227) * Add JavaDoc generation * Address comments, add new section about PIC + JNI overview * Bump org.apache.commons:commons-lang3 from 3.12.0 to 3.18.0 (#228) Bumps org.apache.commons:commons-lang3 from 3.12.0 to 3.18.0. --- updated-dependencies: - dependency-name: org.apache.commons:commons-lang3 dependency-version: 3.18.0 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Null & empty string safety in KinesisVideoCredentials object (#232) * Null & empty string safety in KinesisVideoCredentials object * Fix credentials provider usages * Removing last usage of the non-temporary constructor with the dynamic one * Additional code coverage * Making KinesisVideoFrame immutable and threadsafe (#230) * Making KinesisVideoFrame immutable and threadsafe * Address comments * Fix: OutOfMemoryError null crash with KinesisVideoFrame.getData() and NAL_ADAPTATION_ANNEXB_NALS (#231) * Fix: OutOfMemory null crash with KinesisVideoFrame.getData() * Rebuild JNI for develop branch * Kms key single-stream and multi-stream integration tests (#229) * KMS single-stream and multi-stream integration tests * Address comments, add tests for KinesisVideoFragmentAck * Adjust the documentation slightly * Additional logging for scheduled executor service tasks and Error handling (#224) * Additional logging for scheduled executor service tasks * Adding stream name context for API calls (#225) * Revert log level back to WARN * Code coverage and documentation for IPVersionFilter (#233) * Integration test to stop streaming around the same time the EOFR is auto-submitted (#235) * Integration test to stop streaming around the same time the EOFR is auto-submitted * Adjust comments * Typo * Address comments * Add logs for streamcallbacks and overview (#240) * Add annotation for native method calls to the Java side (#237) * Add annotation for native method calls to the Java side * Add a few missed constructors * Upgrade AWS SDK Java v1.11 to v1.12 (#236) * Deprecate putmedia demo (#239) * Document mediasource and mediasourcesink (#238) * Deprecate mutable constant, defensive copies of Date, thread safety tests (#234) * Change CreateStream interface to provide a stream object (#243) * Change interface * Demo/test for the new multi auth callbacks * Address comments * Make sure native exceptions are properly thrown (#241) * Add test for submitting duplicate stream name to client (#244) * Add test for submitting duplicate stream name to client * Fix failing test due to the notifyCallResult change * PIC's getCurrentRetryAttemptNumberFn is per client, not per stream * Set the thread name for the media source generator thread (#253) testing the multiclient * Set the name for the putMedia threads (#254) testing multiclient * Feat: Multi-client support (#245) * Make the JniObjRef and JVM not static * Address comments * Change the clientId initialization * Add initial tests for multi-client scenarios (#246) testing for multiclient port * Dynamic frame submission times for slower CI environments and await for the variable update (#259) * Add multi-client one-to-one audio multi-track streaming test (#257) * Add package-info for the storage package (#256) * Prevent NullPointerException in the OnStreamDataAvailable (#249) * Add test to verify that null tag elements are safely handled in the JNI (#250) * Don't destruct the wrapperif it's being used during logging (#261) * Add null checks for GetStringUTFChars calls in the JNI layer (#258) * Add additional JVM exception checks (#260) * Correct the file path for the python script (#263) * Adding defensive checks to freed streams (#247) * Adding additional safety to putFrame * Also call putFrame after freeing the JNI * Add a unique identifier to each PutMedia client thread names to make it easier to identify in multi-stream scenarios (#269) * Test SDK resilience to callback implementation errors (#248) * Class description JavaDoc for DefaultStreamCallbacks (#255) * Class description for -DefaultStreamCallbacks * Add package-info for the streaming package * Typo: submit * Add streamName to the example log * send metadata on keyframes to ensure every cluster has metadata appended (#266) Co-authored-by: Yuqi Huang <yuuqih@amazon.com> * Add sanitizer runs to the workflows (#251) * Add sanitizer runs to the workflows * Add TSAN to the CI/CD * Disable TSAN, enable UBSAN * Fix logging function race condition in when constructing multiple producer instances (#272) * Update CI to build JNI with Debug symbols (#273) * Fixing the createStreamSync/cached provider interaction (#268) * Fixed an issue where the stream cannot be created when using the cachedServiceCallbacksProvider and using the createStreamSync combination * Address comment * Verification that the threads are properly shutdown in the endOfFragmentTest (#274) * Verification that the threads are properly shutdown in the endOfFragmentTest * add polling mechanism to ensure all threads are cleaned up * added extra logging for thread clean up process in EndOfFragmentIntegTest --------- Co-authored-by: Yuqi Huang <yuuqih@amazon.com> * Adding PutMedia test using ParallelSimpleHttpClient (#267) * Adding PutMedia test with ParallelSimpleHttpClient * Create the stream for the PutMedia test * Correct the flipped condition for awaitTermination * added polling mechanism for proper thread clean up in PutMediaClientWithFilesTest * Use random with a seed and add ThreadWatcher * Synchronize the sender and receiver PutMedia threads * Synchronize the list and make the threadwatcher a subset * Handle more than one ack in the same string * Add some more comments * More cleanup * Fix race condition in logPrintFunc where the pWrapper hasn't been initialized yet * Migrate EndOfFragmentIntegTest to also use the ThreadWatcher * Address comments - adding more comments --------- Co-authored-by: Yuqi Huang <yuuqih@amazon.com> * Upgrade from Macos13 to macos15-intel (#275) * Split acks when multiple are received in a single response (#276) * Split acks when multiple are received in a single response * Rename the variable * Add retryStrategy properly and new constructors for the ClientInfo and DeviceInfo (#242) * Add the retry strategy parameters configurability * Address comments * Updated Sample Cached ServiceCallbacks implementation to maintain async pattern (#270) * Moved cached api call results into a runnable task * Updated CMake pic branch back to develop as retry branch has been merged * Added Unit Tests for Cached Callbacks * Rebase #265 to latest develop (#277) * Rebase #265 to latest develop * Add additional comments in the test * Remove unnecessary extra logs (#279) * Bump the project version from 1.12.1 to 1.14.0 (#278) * Bump the native project version (#280) * Fix MissingFramesIntegTest (#281) - Use string comparison for fragment sequence numbers instead of comparing timestamp, since sequence number is monotinically increasing. - Increase waiting time for ACK. Co-authored-by: Yuqi Huang <yuuqih@amazon.com> * Add PutEventMetadata support to Java and JNI (#283) * Add PutEventMetadata support to Java and JNI (#193) * Adding in Java end * Make StreamEventMetadata nullable, start tests. * Test works * Fix native putEventMetadata to not pass null metadata * Test using illegal "AWS" metadata case * Fix a StreamEventMetadata to be Nullable * Cleanup, add StreamEventType enum * Add back a Nonnull * Fixup some comments * Add non-optional mNumberOfPairs comment * Cleanup DemoSample eventMetadata putting * Fix a Nonnull->Nullable, initialize eventMetadata cleanly * Address more comments * Make NumberOfPairs member an int datatype * Add PutEventMetadata support to Java and JNI (#193) * Adding in Java end * Make StreamEventMetadata nullable, start tests. * Test works * Fix native putEventMetadata to not pass null metadata * Test using illegal "AWS" metadata case * Fix a StreamEventMetadata to be Nullable * Cleanup, add StreamEventType enum * Add back a Nonnull * Fixup some comments * Add non-optional mNumberOfPairs comment * Cleanup DemoSample eventMetadata putting * Fix a Nonnull->Nullable, initialize eventMetadata cleanly * Address more comments * Make NumberOfPairs member an int datatype * feat: Add putEventMetadata support to JNI layer - Add putKinesisVideoEventMetadata method to KinesisVideoClientWrapper - Implement setStreamEventMetadata parameter conversion in Parameters.cpp - Add JNI native method declaration in NativeProducerInterface.cpp * feat: Add wrapper for StreamEventMetadata and unit tests for putKinesisVideoEventMetadata - Add safer HashMap constructor wrapper for StreamEventMetadata with validation - Add comprehensive test suite covering edge cases and validation scenarios - Update ImageFrameSource to use new event metadata callback method --------- Co-authored-by: Stefan Kieszkowski <85728496+stefankiesz@users.noreply.github.com> Co-authored-by: Yuqi Huang <yuuqih@amazon.com> * Automatically update the JNI libraries when the commit message contains a specific keyword (#282) * Automatically update the JNI libraries when the commit message contains: 'please update jni' * Add permissions - please update jni * Update JNI libraries using 137eefe --------- Co-authored-by: github-actions <github-actions@github.com> * Update PIC to 1.3.0 (#284) * Update the PIC version - please update jni * Update JNI libraries using cfdf75a --------- Co-authored-by: github-actions <github-actions@github.com> * Change the rebuild condition to only consider the first line of the commit msg instead of the entire commit msg (#286) * Rename the PutMediaClientErrorTest and variables (#287) * Rename the PutMediaClientErrorTest and variables * Update src/test/java/com/amazonaws/kinesisvideo/client/PutMediaClientErrorTest.java Co-authored-by: Stefan Kieszkowski <85728496+stefankiesz@users.noreply.github.com> --------- Co-authored-by: Stefan Kieszkowski <85728496+stefankiesz@users.noreply.github.com> * Add credentials provider documentation (#289) * Add credentials provider documentation * Adjust wording based on the feedback * Bump log4j from 2.17.1 to 2.25.3 (#290) * Bump log4j from 2.17.1 to 2.25.3 * Also bump log4j-api * Upgrade PIC from 1.3.0 to 1.3.1 (#291) * Add permissions for pull-requests in workflow (#292) * Add permissions for pull-requests in workflow * Move permissions section into job definition --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Siva Somasundaram <34496097+unicornss@users.noreply.github.com> Co-authored-by: Stefan Kieszkowski <85728496+stefankiesz@users.noreply.github.com> Co-authored-by: Sean DuBois <seaduboi@amazon.com> Co-authored-by: disa6302 <disa6302@colorado.edu> Co-authored-by: Sean DuBois <sean@siobud.com> Co-authored-by: MushMal <33669149+MushMal@users.noreply.github.com> Co-authored-by: Lukas Herman <lherman.cs@gmail.com> Co-authored-by: chehefen <chehefen@amazon.com> Co-authored-by: lummish <harris@automotus.co> Co-authored-by: Hassan Sahibzada <hsahibza@amazon.com> Co-authored-by: jdelapla <delaplan@amazon.com> Co-authored-by: Ketul shah <ketulshah1993@gmail.com> Co-authored-by: waikup83 <waikup@hotmail.com> Co-authored-by: David D <david.desbiens@tentaq.com> Co-authored-by: Niyati Maheshwari <niyatim23@gmail.com> Co-authored-by: clogwog <tomschuring@gmail.com> Co-authored-by: tom schuring <tschuring@mtdata.com.au> Co-authored-by: Byong-Wu Chong <69205204+byongwu@users.noreply.github.com> Co-authored-by: Greg Breen <greg@footyforecaster.com> Co-authored-by: Benjamin Kim <114961775+benwkim@users.noreply.github.com> Co-authored-by: Anton Vattay <3martini@gmail.com> Co-authored-by: bkneff <bkneff@amazon.com> Co-authored-by: NikunjSarda <sardanik@amazon.com> Co-authored-by: tro <throos@amazon.de> Co-authored-by: Yuma Mihira <yuma-m@users.noreply.github.com> Co-authored-by: Josh McMenemy <josh.mcmenemy@gmail.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Yuqi Huang <125420341+YPandas@users.noreply.github.com> Co-authored-by: Yuqi Huang <yuuqih@amazon.com> Co-authored-by: JC Yan <46540636+Ahhorse1@users.noreply.github.com> Co-authored-by: github-actions <github-actions@github.com>
1 parent f45428b commit 7a68e3f

File tree

185 files changed

+27018
-866
lines changed

Some content is hidden

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

185 files changed

+27018
-866
lines changed

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,16 @@
11
*Issue #, if available:*
2+
- N/A
23

3-
*Description of changes:*
4+
*What was changed?*
5+
-
46

7+
*Why was it changed?*
8+
-
9+
10+
*How was it changed?*
11+
-
12+
13+
*What testing was done for the changes?*
14+
-
515

616
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

.github/log4j2.xml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<Configuration status="WARN">
3+
<Appenders>
4+
<RollingFile name="RollingFile" fileName="logs/kvs.log" filePattern="logs/$${date:yyyy-MM}/kvs-%d{MM-dd-yyyy}-%i.log.gz">
5+
<PatternLayout pattern="%d [%t] %-5level %c{1.} - %msg%n%throwable"/>
6+
<Policies>
7+
<TimeBasedTriggeringPolicy />
8+
<SizeBasedTriggeringPolicy size="3 MB"/>
9+
</Policies>
10+
<DefaultRolloverStrategy max="5"/>
11+
</RollingFile>
12+
13+
<Console name="ConsoleAppender" target="SYSTEM_OUT">
14+
<PatternLayout pattern="%d [%t] %-5level %c{1.} - %msg%n%throwable"/>
15+
</Console>
16+
</Appenders>
17+
18+
<Loggers>
19+
<Root level="DEBUG">
20+
<AppenderRef ref="ConsoleAppender"/>
21+
<AppenderRef ref="RollingFile"/>
22+
</Root>
23+
</Loggers>
24+
</Configuration>

.github/matrix.yaml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
matrix:
2+
platform:
3+
- os: macos-15-intel
4+
name: macos-x86_64
5+
- os: macos-latest
6+
name: macos-aarch64
7+
- os: ubuntu-22.04
8+
name: ubuntu-22.04
9+
- os: windows-2022
10+
name: windows-2022
11+
java:
12+
- 11
13+
sample:
14+
- name: DemoAppMain
15+
expected_mkv_files: 1
16+
- name: DemoAppCachedInfo
17+
expected_mkv_files: 2
18+
- name: DemoAppMainWithHeapTracking
19+
expected_mkv_files: 1
20+

0 commit comments

Comments
 (0)