#pragma once #include #include #include #include #include #include "KinesisVideoProducer.h" #include #include #include #include #include #include #include #include #include #include "CanaryConfig.h" #include "CanaryLogs.h" #include "CustomData.h" using namespace std; using namespace com::amazonaws::kinesis::video; using namespace log4cplus; #ifdef __cplusplus extern "C" { #endif int gstreamer_init(int, char **); #ifdef __cplusplus } #endif // LOGGER_TAG("com.amazonaws.kinesis.video.gstreamer"); #define DEFAULT_RETENTION_PERIOD_HOURS 2 #define DEFAULT_KMS_KEY_ID "" #define DEFAULT_STREAMING_TYPE STREAMING_TYPE_REALTIME #define DEFAULT_CONTENT_TYPE "video/h264" #define DEFAULT_MAX_LATENCY_SECONDS 60 #define DEFAULT_TIMECODE_SCALE_MILLISECONDS 1 #define DEFAULT_KEY_FRAME_FRAGMENTATION TRUE #define DEFAULT_FRAME_TIMECODES TRUE #define DEFAULT_ABSOLUTE_FRAGMENT_TIMES TRUE #define DEFAULT_FRAGMENT_ACKS TRUE #define DEFAULT_RESTART_ON_ERROR TRUE #define DEFAULT_RECALCULATE_METRICS TRUE #define DEFAULT_AVG_BANDWIDTH_BPS (4 * 1024 * 1024) #define DEFAULT_REPLAY_DURATION_SECONDS 40 #define DEFAULT_CONNECTION_STALENESS_SECONDS 60 #define DEFAULT_CODEC_ID "V_MPEG4/ISO/AVC" #define DEFAULT_TRACKNAME "kinesis_video" #define DEFAULT_FRAME_DURATION_MS 1 #define DEFAULT_CREDENTIAL_ROTATION_SECONDS 3600 #define DEFAULT_CREDENTIAL_EXPIRATION_SECONDS 180 #define CANARY_METADATA_SIZE (SIZEOF(INT64) + SIZEOF(UINT32) + SIZEOF(UINT32) + SIZEOF(UINT64))