Skip to content

Commit 072ed19

Browse files
hassanctechjdelaplaketul93sirknightjwaikup83
authored
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 <[email protected]> * 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 <[email protected]> * Add instruction to set offline mode (#741) Co-authored-by: Hassan Sahibzada <[email protected]> Co-authored-by: Ketul shah <[email protected]> Co-authored-by: Jeremy Gunawan <[email protected]> Co-authored-by: waikup83 <[email protected]> Co-authored-by: David D <[email protected]> Co-authored-by: Hassan Sahibzada <[email protected]> Co-authored-by: Divya Sampath Kumar <[email protected]> * 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 <[email protected]> * 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 d511f15. * 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 fafad7b. * 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 <[email protected]> * 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 <[email protected]> * 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 <[email protected]> * Add instruction to set offline mode (#741) Co-authored-by: Hassan Sahibzada <[email protected]> * Update README and travis.yml to acknowledge develop (#739) Co-authored-by: Hassan Sahibzada <[email protected]> * Gstreamer RTSP Docs Update (#712) Hoping this help others avoid hours of frustration. As noted in the helpful but well hidden issue comment #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 <[email protected]> * Update gstkvssink.cpp * Added millisecond support to kvs_gstreamer_file_upload_sample + gstkvssink --------- Co-authored-by: Ketul shah <[email protected]> Co-authored-by: waikup83 <[email protected]> Co-authored-by: David D <[email protected]> Co-authored-by: Hassan Sahibzada <[email protected]> Co-authored-by: Divya Sampath Kumar <[email protected]> Co-authored-by: jdelapla <[email protected]> Co-authored-by: Anton Vattay <[email protected]> Co-authored-by: bkneff <[email protected]> * Add gstreamer debug instructions for mac (#948) Co-authored-by: Divya Sampath Kumar <[email protected]> * Pass parameter by reference to avoid copy constructor (#949) * pass parameter by reference to avoid copy constructor * nit style --------- Co-authored-by: James Delaplane <[email protected]> * 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 <[email protected]> * 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 <[email protected]> * 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 <[email protected]> * 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 <[email protected]> Co-authored-by: Ketul shah <[email protected]> Co-authored-by: Jeremy Gunawan <[email protected]> Co-authored-by: waikup83 <[email protected]> Co-authored-by: David D <[email protected]> Co-authored-by: Divya Sampath Kumar <[email protected]> Co-authored-by: Niyati Maheshwari <[email protected]> Co-authored-by: clogwog <[email protected]> Co-authored-by: tom schuring <[email protected]> Co-authored-by: Byong-Wu Chong <[email protected]> Co-authored-by: Greg Breen <[email protected]> Co-authored-by: Benjamin Kim <[email protected]> Co-authored-by: Anton Vattay <[email protected]> Co-authored-by: bkneff <[email protected]> Co-authored-by: NikunjSarda <[email protected]> Co-authored-by: Jeremy Gunawan <[email protected]> Co-authored-by: tro <[email protected]> Co-authored-by: Yuma Mihira <[email protected]> Co-authored-by: Josh McMenemy <[email protected]>
1 parent e8125ee commit 072ed19

Some content is hidden

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

48 files changed

+2011
-387
lines changed

.github/workflows/ci.yml

Lines changed: 107 additions & 62 deletions
Large diffs are not rendered by default.

.github/workflows/codeql-analysis.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ name: "CodeQL"
1313

1414
on:
1515
push:
16-
branches: [ master ]
16+
branches: [ master, develop ]
1717
pull_request:
1818
# The branches below must be a subset of the branches above
19-
branches: [ master ]
19+
branches: [ master, develop ]
2020
schedule:
2121
- cron: '41 13 * * 2'
2222

@@ -35,11 +35,11 @@ jobs:
3535

3636
steps:
3737
- name: Checkout repository
38-
uses: actions/checkout@v2
38+
uses: actions/checkout@v3
3939

4040
# Initializes the CodeQL tools for scanning.
4141
- name: Initialize CodeQL
42-
uses: github/codeql-action/init@v1
42+
uses: github/codeql-action/init@v2
4343
with:
4444
languages: ${{ matrix.language }}
4545
# If you wish to specify custom queries, you can do so here or in a config file.
@@ -50,7 +50,7 @@ jobs:
5050
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
5151
# If this step fails, then you should remove it and run the build manually (see below)
5252
- name: Autobuild
53-
uses: github/codeql-action/autobuild@v1
53+
uses: github/codeql-action/autobuild@v2
5454

5555
# ℹ️ Command-line programs to run using the OS shell.
5656
# 📚 https://git.io/JvXDl
@@ -64,4 +64,4 @@ jobs:
6464
# make release
6565

6666
- name: Perform CodeQL Analysis
67-
uses: github/codeql-action/analyze@v1
67+
uses: github/codeql-action/analyze@v2

CMake/Dependencies/libgtest-CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@ cmake_minimum_required(VERSION 3.6.3)
33
project(libgtest-download NONE)
44

55
include(ExternalProject)
6-
6+
77
ExternalProject_Add(libgtest-download
88
GIT_REPOSITORY https://github.com/google/googletest.git
9-
GIT_TAG release-1.8.1
9+
GIT_TAG release-1.12.1
1010
PREFIX ${CMAKE_CURRENT_BINARY_DIR}/build
1111
CMAKE_ARGS
1212
-DCMAKE_INSTALL_PREFIX=${OPEN_SRC_INSTALL_PREFIX}

CMake/Dependencies/libkvscproducer-CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ include(ExternalProject)
77
# clone repo only
88
ExternalProject_Add(libkvscproducer-download
99
GIT_REPOSITORY https://github.com/awslabs/amazon-kinesis-video-streams-producer-c.git
10-
GIT_TAG 79da5b6d6ad67560cc08530f967e9187a6d1c594
10+
GIT_TAG 7d1b76f53680c1e23afb6f35f0cca97ccdb35e3f
1111
SOURCE_DIR "${CMAKE_CURRENT_BINARY_DIR}/kvscproducer-src"
1212
BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/kvscproducer-build"
1313
CONFIGURE_COMMAND ""

CMake/Dependencies/liblog4cplus-CMakeLists.txt

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,16 @@ find_program(MAKE_EXE NAMES make)
33

44
project(log4cplus-download NONE)
55

6+
set(BUILD_SHARED_LIBS 1)
7+
if (BUILD_STATIC)
8+
set(BUILD_SHARED_LIBS 0)
9+
set(CONFIGURE_STATIC --disable-shared --enable-static)
10+
endif()
11+
612
if (DEFINED BUILD_LOG4CPLUS_HOST AND NOT BUILD_LOG4CPLUS_HOST STREQUAL OFF)
7-
SET(CONFIGURE_COMMAND ${CMAKE_CURRENT_BINARY_DIR}/build/src/project_log4cplus/configure "CFLAGS=${CMAKE_C_FLAGS}" --prefix=${OPEN_SRC_INSTALL_PREFIX} --host=${BUILD_LOG4CPLUS_HOST})
13+
SET(CONFIGURE_COMMAND ${CMAKE_CURRENT_BINARY_DIR}/build/src/project_log4cplus/configure "CFLAGS=${CMAKE_C_FLAGS}" --prefix=${OPEN_SRC_INSTALL_PREFIX} ${CONFIGURE_STATIC} --host=${BUILD_LOG4CPLUS_HOST})
814
else()
9-
SET(CONFIGURE_COMMAND ${CMAKE_CURRENT_BINARY_DIR}/build/src/project_log4cplus/configure "CFLAGS=${CMAKE_C_FLAGS}" --prefix=${OPEN_SRC_INSTALL_PREFIX})
15+
SET(CONFIGURE_COMMAND ${CMAKE_CURRENT_BINARY_DIR}/build/src/project_log4cplus/configure "CFLAGS=${CMAKE_C_FLAGS}" --prefix=${OPEN_SRC_INSTALL_PREFIX} ${CONFIGURE_STATIC})
1016
endif()
1117

1218
if (DEFINED CMAKE_OSX_SYSROOT AND NOT CMAKE_OSX_SYSROOT STREQUAL "")
@@ -19,15 +25,15 @@ include(ExternalProject)
1925
if (WIN32)
2026
ExternalProject_Add(project_log4cplus
2127
GIT_REPOSITORY https://github.com/log4cplus/log4cplus
22-
GIT_TAG REL_1_2_2
28+
GIT_TAG REL_2_0_1
2329
PREFIX ${CMAKE_CURRENT_BINARY_DIR}/build
2430
TEST_COMMAND ""
25-
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${OPEN_SRC_INSTALL_PREFIX} -DLOG4CPLUS_BUILD_TESTING=0 -DLOG4CPLUS_BUILD_LOGGINGSERVER=0 -DUNICODE=0
31+
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}
2632
)
2733
else()
2834
ExternalProject_Add(project_log4cplus
2935
GIT_REPOSITORY https://github.com/log4cplus/log4cplus
30-
GIT_TAG REL_1_2_2
36+
GIT_TAG REL_2_0_1
3137
PREFIX ${CMAKE_CURRENT_BINARY_DIR}/build
3238
CONFIGURE_COMMAND ${CONFIGURE_COMMAND}
3339
BUILD_COMMAND ${MAKE_EXE}

CMake/Dependencies/libopenssl-CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ endif()
2121
include(ExternalProject)
2222
ExternalProject_Add(project_libopenssl
2323
GIT_REPOSITORY https://github.com/openssl/openssl.git
24-
GIT_TAG OpenSSL_1_1_1g
24+
GIT_TAG OpenSSL_1_1_1t
2525
PREFIX ${CMAKE_CURRENT_BINARY_DIR}/build
2626
CONFIGURE_COMMAND ${CONFIGURE_COMMAND}
2727
BUILD_COMMAND ${MAKE_EXE}

CMake/Utilities.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ function(build_dependency lib_name)
8080

8181
# build library
8282
configure_file(
83-
${CMAKE_SOURCE_DIR}/CMake/Dependencies/lib${lib_name}-CMakeLists.txt
83+
${CMAKE_CURRENT_SOURCE_DIR}/CMake/Dependencies/lib${lib_name}-CMakeLists.txt
8484
${KINESIS_VIDEO_OPEN_SOURCE_SRC}/lib${lib_name}/CMakeLists.txt COPYONLY)
8585
execute_process(
8686
COMMAND ${CMAKE_COMMAND} ${build_args}

CMakeLists.txt

Lines changed: 27 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
1-
if(APPLE AND NOT DEFINED ENV{MACOSX_DEPLOYMENT_TARGET} AND NOT DEFINED ENV{SDKROOT})
2-
set(CMAKE_OSX_DEPLOYMENT_TARGET ${CMAKE_SYSTEM_VERSION})
3-
endif()
4-
51
cmake_minimum_required(VERSION 3.6.3)
62
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMake;${CMAKE_MODULE_PATH}")
73
include(Utilities)
84
project(KinesisVideoProducerCpp)
95

6+
project(KinesisVideoProducerCpp VERSION 3.4.0)
7+
108
set(CMAKE_CXX_STANDARD 11)
9+
include(GNUInstallDirs)
1110

1211
# User Flags
1312
option(BUILD_GSTREAMER_PLUGIN "Build kvssink GStreamer plugin" OFF)
@@ -28,12 +27,14 @@ option(MEMORY_SANITIZER "Build with MemorySanitizer" OFF)
2827
option(THREAD_SANITIZER "Build with ThreadSanitizer" OFF)
2928
option(UNDEFINED_BEHAVIOR_SANITIZER "Build with UndefinedBehaviorSanitizer" OFF)
3029

30+
add_definitions(-DCPP_VERSION_STRING=\"${PROJECT_VERSION}\")
31+
3132
set(CMAKE_MACOSX_RPATH TRUE)
3233
get_filename_component(ROOT "${CMAKE_CURRENT_SOURCE_DIR}" ABSOLUTE)
3334

3435
# static settings
3536
if(BUILD_STATIC)
36-
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static")
37+
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static-libgcc -static-libstdc++")
3738
set(LINKAGE STATIC)
3839
elseif(WIN32)
3940
set(LINKAGE STATIC)
@@ -79,9 +80,9 @@ if(BUILD_DEPENDENCIES)
7980

8081
if(BUILD_LOG4CPLUS_HOST)
8182
set(BUILD_ARGS -DBUILD_LOG4CPLUS_HOST=${BUILD_LOG4CPLUS_HOST})
82-
build_dependency(log4cplus ${BUILD_ARGS})
83+
build_dependency(log4cplus ${BUILD_ARGS} -DBUILD_STATIC=${BUILD_STATIC})
8384
else()
84-
build_dependency(log4cplus)
85+
build_dependency(log4cplus -DBUILD_STATIC=${BUILD_STATIC})
8586
endif()
8687

8788
message(STATUS "Finished building dependencies.")
@@ -177,6 +178,10 @@ include_directories(${KINESIS_VIDEO_PRODUCER_CPP_SRC}/src/credential-providers)
177178
include_directories(${KINESIS_VIDEO_PRODUCER_CPP_SRC}/src/common)
178179
include_directories(${KINESIS_VIDEO_PRODUCER_CPP_SRC}/src/JNI/include)
179180

181+
install(
182+
DIRECTORY ${KINESIS_VIDEO_PRODUCER_CPP_SRC}/src
183+
DESTINATION .)
184+
180185
add_library(KinesisVideoProducer ${LINKAGE} ${PRODUCER_CPP_SOURCE_FILES})
181186
target_link_libraries(
182187
KinesisVideoProducer
@@ -185,6 +190,12 @@ target_link_libraries(
185190
${Log4cplus}
186191
${LIBCURL_LIBRARIES})
187192

193+
install(
194+
TARGETS KinesisVideoProducer
195+
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
196+
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
197+
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
198+
188199
if(BUILD_JNI)
189200
find_package(JNI REQUIRED)
190201
include_directories(${JNI_INCLUDE_DIRS})
@@ -199,11 +210,18 @@ if(BUILD_GSTREAMER_PLUGIN)
199210
include_directories(${GST_APP_INCLUDE_DIRS})
200211
link_directories(${GST_APP_LIBRARY_DIRS})
201212

202-
add_library(gstkvssink MODULE ${GST_PLUGIN_SOURCE_FILES})
213+
if(BUILD_STATIC)
214+
add_library(gstkvssink STATIC ${GST_PLUGIN_SOURCE_FILES})
215+
else()
216+
add_library(gstkvssink MODULE ${GST_PLUGIN_SOURCE_FILES})
217+
endif()
203218
target_link_libraries(gstkvssink PRIVATE ${GST_APP_LIBRARIES} KinesisVideoProducer)
204219

220+
add_executable(kvssink_gstreamer_sample samples/kvssink_gstreamer_sample.cpp)
221+
target_link_libraries(kvssink_gstreamer_sample ${GST_APP_LIBRARIES} KinesisVideoProducer)
222+
205223
add_executable(kvs_gstreamer_sample samples/kvs_gstreamer_sample.cpp)
206-
target_link_libraries(kvs_gstreamer_sample ${GST_APP_LIBRARIES} KinesisVideoProducer)
224+
target_link_libraries(kvs_gstreamer_sample ${GST_APP_LIBRARIES} KinesisVideoProducer kvspic)
207225

208226
add_executable(kvs_gstreamer_multistream_sample samples/kvs_gstreamer_multistream_sample.cpp)
209227
target_link_libraries(kvs_gstreamer_multistream_sample ${GST_APP_LIBRARIES} KinesisVideoProducer)

README.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,8 @@ On Windows you should run `nmake` instead of `make`
122122

123123
In your build directory you will now have shared objects for all the targets you have selected.
124124

125+
### Installing the library
126+
If the library needs to be installed, run `make install`. This will install in default directory based on system. To install in another directory, run `cmake` with the `-DCMAKE_INSTALL_PREFIX` option with the desired directory before running `make install`
125127
## Run
126128
### GStreamer Plugin (kvssink)
127129

@@ -207,6 +209,11 @@ By default, the samples run in near realtime mode. To set offline mode, set stre
207209
`export JAVA_INCLUDE_PATH2=/Library/Java/JavaVirtualMachines/<YOUR_JDK_VERSION>/Contents/Home/include` or `export JAVA_INCLUDE_PATH2=$JAVA_HOME/include` for Mac OS.
208210
`export JAVA_INCLUDE_PATH2='/usr/java/<JDK_VERSION>/include'` for Linux.
209211
* If you are successfully streaming but run into issue with playback. You can do `export KVS_DEBUG_DUMP_DATA_FILE_DIR=/path/to/directory` before streaming. Producer will then dump MKV files into that path. The file is exactly what KVS will receive. You can use [MKVToolNIX](https://mkvtoolnix.download/index.html) to check that everything looks correct. You can also try to play the MKV file in compatible players.
212+
* If you would like to visualize the GStreamer pipeline being constructed in a GStreamer application, include the following after the elements have been linked:
213+
`GST_DEBUG_BIN_TO_DOT_FILE(<gst-bin-object>, GST_DEBUG_GRAPH_SHOW_ALL, <file-name>);`
214+
For example, if the application created a pipeline object `GstPipeline* pipeline = gst_pipeline_new("test-pipeline")`, and you would like to see the visualized pipeline with filename pipeline, add:
215+
`GST_DEBUG_BIN_TO_DOT_FILE((GstBin*) pipeline, GST_DEBUG_GRAPH_SHOW_ALL, "pipeline");`. Also ensure to set the path to where you would like the file to be stored. `export GST_DEBUG_DUMP_DOT_DIR=.`. The file generated would be a `.dot` format. Convert to PDF to check the visualized pipeline. Also, this requires `graphviz` to be installed. So make sure to install that.
216+
210217

211218
## FAQ
212219
* Is CPP-SDK and GStreamer supported on Mac/Windows/Linux (Supported Platforms)?

0 commit comments

Comments
 (0)