Encoder.h
Go to the documentation of this file.
1 // Copyright (c) 2016 Digital Barriers
4 
39 #pragma once
40 
41 #include "Pimpl.h"
42 #include "EdgeVisSDK.h"
43 #include "ArchiveAudio.h"
44 #include "ArchivePlaybackManager.h"
45 #include "ArchiveRecordingState.h"
46 #include "ArchiveRecordMode.h"
47 #include "AreaOfInterestConfig.h"
48 #include "AspectRatios.h"
49 #include "PCMAudio.h"
50 #include "YCbCrFrame.h"
52 #include "IEncoderListener.h"
53 #include "IRemoteConfigListener.h"
54 #include "ServerAddresses.h"
55 #include "EncoderProfile.h"
56 #include "CameraProfile.h"
57 #include "SecureConnectEndpointInfo.h"
58 #include "LoggingLevel.h"
59 #include "StreamingProfile.h"
60 #include "StreamConfig.h"
61 #include "EncoderCapabilities.h"
62 #include "BandwidthConfig.h"
63 #include "RecordingProfile.h"
64 
65 #include <vector>
66 #include <string>
67 
68 namespace EdgeVisEncoderSDK
69 {
70  typedef EdgeVisSDKCore::AreaOfInterestConfig AreaOfInterestConfig;
71  typedef EdgeVisSDKCore::ServerAddresses ServerAddresses;
72  typedef std::vector< CameraProfile > CameraProfilesList;
73 
74  class EncoderImpl;
75  class Encoder : public EdgeVisSDKPimpl<EncoderImpl>
76  {
77  public:
78 
92  DB_EDGEVIS_SDK Encoder(const std::wstring& config_path, const std::wstring& product_name);
93 
94  EdgeVisSDKPimplWeakConstructor(Encoder);
95 
97 
112  DB_EDGEVIS_SDK void Start();
113 
114  DB_EDGEVIS_SDK bool IsStarted() const;
115 
120  DB_EDGEVIS_SDK void Stop();
121 
125  DB_EDGEVIS_SDK void SetSerialNumber(const std::wstring& serialNumber);
126 
134  DB_EDGEVIS_SDK ServerLinkState GetServerState();
135 
143  DB_EDGEVIS_SDK ServerLinkError GetServerError();
144 
152  DB_EDGEVIS_SDK MediaStreamState GetStreamState();
153 
159  DB_EDGEVIS_SDK std::wstring ClientVersion();
160 
163 
179  DB_EDGEVIS_SDK std::wstring GetAddress() const;
180 
190  DB_EDGEVIS_SDK void SetAddress(const std::wstring &address);
191 
197  DB_EDGEVIS_SDK std::wstring GetEncoderName() const;
198 
204  DB_EDGEVIS_SDK std::wstring GetPassword() const;
205 
214  DB_EDGEVIS_SDK void SetCredentials(const std::wstring &name, const std::wstring &password);
215 
221  DB_EDGEVIS_SDK std::wstring GetServerName() const;
222 
223 
229  DB_EDGEVIS_SDK std::wstring GetServerVersion() const;
230 
233 
246  DB_EDGEVIS_SDK void RegisterListener(IEncoderListener* listener);
247 
253  DB_EDGEVIS_SDK void UnregisterListener(IEncoderListener* listener);
254 
262  DB_EDGEVIS_SDK void RegisterArchivePlaybackListener(IArchivePlaybackListener* listener);
263 
269  DB_EDGEVIS_SDK void UnregisterArchivePlaybackListener(IArchivePlaybackListener* listener);
270 
278  DB_EDGEVIS_SDK void RegisterRemoteConfigListener(IRemoteConfigListener* listener);
279 
285  DB_EDGEVIS_SDK void UnregisterRemoteConfigListener(IRemoteConfigListener* listener);
286 
289 
306  DB_EDGEVIS_SDK void EncodeYCbCrFrame(YCbCrFrame frame);
307 
317  DB_EDGEVIS_SDK void EncodePCMAudio(PCMAudio audio);
318 
330  DB_EDGEVIS_SDK void SetLocation(double lat, double lon, double accuracy, double altitude);
331 
334 
347 
355  DB_EDGEVIS_SDK void SetEncodeAspectRatio(EdgeVisSDKCore::AspectRatio aspectRatio);
356 
357 
367  DB_EDGEVIS_SDK std::vector<CameraProfile> GetCameraProfiles() const;
368 
380  DB_EDGEVIS_SDK void SetCameraProfiles(std::vector<CameraProfile> cameras);
381 
389  DB_EDGEVIS_SDK int8_t GetVideoInput() const;
390 
398  DB_EDGEVIS_SDK void SetVideoInput(int8_t input);
399 
409  DB_EDGEVIS_SDK bool GetAudioEnabled();
410 
419  DB_EDGEVIS_SDK void SetAudioEnabled(bool enable);
420 
426  DB_EDGEVIS_SDK bool GetAudioOnlyEnabled();
427 
436  DB_EDGEVIS_SDK void SetAudioOnlyEnabled(bool enable);
437 
446  DB_EDGEVIS_SDK bool GetGPSEnabled();
447 
456  DB_EDGEVIS_SDK void SetGPSEnabled(bool enable);
457 
465  DB_EDGEVIS_SDK AreaOfInterestConfig GetAreaOfInterestConfig(const int32_t input) const;
466 
472  DB_EDGEVIS_SDK bool SetAreaOfInterestConfig(const AreaOfInterestConfig& aoi);
473 
479  DB_EDGEVIS_SDK std::wstring GetTimezone();
480 
488  DB_EDGEVIS_SDK void SetTimezone(std::wstring timezone);
489 
495  DB_EDGEVIS_SDK std::wstring GetOperatorInfo();
496 
502  DB_EDGEVIS_SDK void SetOperatorInfo(const std::wstring& op);
503 
509  DB_EDGEVIS_SDK void ReportBatteryCharge(int32_t percent);
510 
511 
517  DB_EDGEVIS_SDK void ReportCPUTemperature(double temp);
518 
519 
525  DB_EDGEVIS_SDK void ReportCPUUsage(int32_t percent);
526 
527 
533  DB_EDGEVIS_SDK EncoderCapabilities QueryEncoderCapabilities() const;
534 
537 
551  DB_EDGEVIS_SDK bool GetArchiveRecordingEnabled();
552 
560  DB_EDGEVIS_SDK void SetArchiveRecordingEnabled(bool enable);
561 
567  DB_EDGEVIS_SDK std::wstring GetArchiveRecordingPath();
568 
577  DB_EDGEVIS_SDK void SetArchiveRecordingPath(const std::wstring &path);
578 
589  DB_EDGEVIS_SDK int32_t GetArchiveDiskQuota();
590 
601  DB_EDGEVIS_SDK void SetArchiveDiskQuota(int32_t quota);
602 
610  DB_EDGEVIS_SDK int32_t GetArchiveDiskFullAlarmThreshold();
611 
617  DB_EDGEVIS_SDK void SetArchiveDiskFullAlarmThreshold(int32_t threshold);
618 
624  DB_EDGEVIS_SDK ArchiveRecordMode GetArchiveRecordMode();
625 
631  DB_EDGEVIS_SDK void SetArchiveRecordMode(ArchiveRecordMode recordMode);
632 
638  DB_EDGEVIS_SDK int GetPreRecordBufferDuration();
639 
645  DB_EDGEVIS_SDK void SetPreRecordBufferDuration(int bufferDuration);
646 
652  DB_EDGEVIS_SDK int GetPostRecordBufferDuration();
653 
659  DB_EDGEVIS_SDK void SetPostRecordBufferDuration(int bufferDuration);
660 
666  DB_EDGEVIS_SDK bool IsPostRecording() const;
667 
673  DB_EDGEVIS_SDK int8_t GetArchiveDiskUsage();
674 
680  DB_EDGEVIS_SDK ArchiveRecordingState GetArchiveRecordingState();
681 
690  DB_EDGEVIS_SDK bool EraseArchiveRecordings();
691 
697  DB_EDGEVIS_SDK ArchivePlaybackManager GetArchivePlaybackManager();
698 
709  DB_EDGEVIS_SDK bool SetArchiveFileSize(int32_t file_size_mb);
710 
716  DB_EDGEVIS_SDK int32_t GetArchiveFileSize();
717 
728  DB_EDGEVIS_SDK bool SetArchiveFileDuration(int32_t file_duration_minutes);
729 
735  DB_EDGEVIS_SDK int32_t GetArchiveFileDuration();
736 
737  DB_EDGEVIS_SDK bool ConfigureArchiveRecordingProfile(RecordingProfile profile);
738 
739  DB_EDGEVIS_SDK RecordingProfile GetArchiveRecordingProfile() const;
740 
743 
766  DB_EDGEVIS_SDK std::wstring GetCurrentProfile();
767 
777  DB_EDGEVIS_SDK void SetCurrentProfile(const std::wstring & profile_name);
778 
789  DB_EDGEVIS_SDK std::vector<EncoderProfile> GetProfiles() const;
790 
801  DB_EDGEVIS_SDK void SetProfile(EncoderProfile profile);
802 
806 
821  DB_EDGEVIS_SDK int32_t SendBatteryEvent(int8_t percent);
822 
830  DB_EDGEVIS_SDK int32_t SendCameraConnectedEvent(int input);
831 
839  DB_EDGEVIS_SDK int32_t SendCameraDisconnectedEvent(int input);
840 
848  DB_EDGEVIS_SDK int32_t SendCameraConnectedEvent(std::wstring input_name);
849 
857  DB_EDGEVIS_SDK int32_t SendCameraDisconnectedEvent(std::wstring input_name);
858 
864  DB_EDGEVIS_SDK int32_t SendAlertStartEvent();
865 
871  DB_EDGEVIS_SDK int32_t SendAlertEndEvent();
872 
877  DB_EDGEVIS_SDK int32_t SendLowVoltageEvent(double voltage);
878 
883  DB_EDGEVIS_SDK int32_t SendHighVoltageEvent(double voltage);
884 
889  DB_EDGEVIS_SDK int32_t SendLowTemperatureEvent(double temp);
890 
895  DB_EDGEVIS_SDK int32_t SendHighTemperatureEvent(double temp);
896 
902  DB_EDGEVIS_SDK int32_t SendExternalTriggerEvent(int alarm_id);
903 
904 
914  DB_EDGEVIS_SDK int32_t SendYardarmSensorEvent(const std::wstring& sensor_id, const std::wstring& friendly_name, bool holstered);
915 
916 
924  DB_EDGEVIS_SDK int32_t SendYardarmBatteryEvent(const std::wstring& sensor_id, const std::wstring& friendly_name, int8_t percent);
925 
926 
935  DB_EDGEVIS_SDK int32_t SendFaceDetectEvent(int input, std::wstring face_string, std::wstring metadata);
936 
941 
954  DB_EDGEVIS_SDK bool IsArchiveRecordingLicenced();
955 
956 
961  DB_EDGEVIS_SDK bool IsExternalCameraLicenced();
962 
966 
977  DB_EDGEVIS_SDK long long GetTotalBytesSent();
978 
984  DB_EDGEVIS_SDK long long GetTotalBytesReceived();
985 
989  DB_EDGEVIS_SDK void ResetDataUsageStats();
990 
996  DB_EDGEVIS_SDK int GetCurrentBandwidth();
997 
1003  DB_EDGEVIS_SDK int GetRoundTripTime();
1004 
1010  DB_EDGEVIS_SDK double GetPacketsSentPerSecond();
1011 
1017  DB_EDGEVIS_SDK double GetPacketLossPercentage();
1018 
1024  DB_EDGEVIS_SDK std::vector<SecureConnectEndpointInfo> GetSecureConnectEndpoints();
1025 
1031  DB_EDGEVIS_SDK bool SetSecureConnectEndpoints(std::vector<SecureConnectEndpointInfo> endpoints);
1032 
1038  DB_EDGEVIS_SDK int32_t GetKeepAlivePeriod();
1039 
1047  DB_EDGEVIS_SDK bool SetKeepAlivePeriod(int32_t keep_alive_period);
1048 
1055  DB_EDGEVIS_SDK void SetLoggingLevel(EdgeVisSDKCore::LoggingLevel level, const std::wstring& log_location);
1056 
1084  DB_EDGEVIS_SDK bool SupportsStreamConfig() const;
1085 
1092  DB_EDGEVIS_SDK EdgeVisSDKCore::StreamConfig GetStreamConfig() const;
1093 
1101  DB_EDGEVIS_SDK bool SetStreamConfig(const EdgeVisSDKCore::StreamConfig& stream_cfg);
1102 
1108  DB_EDGEVIS_SDK EdgeVisSDKCore::BandwidthConfig GetBandwidthConfig() const;
1109 
1117  DB_EDGEVIS_SDK bool SetBandwidthConfig(const EdgeVisSDKCore::BandwidthConfig& config);
1118 
1125  DB_EDGEVIS_SDK bool GetEnhancedCodecModeEnabled() const;
1126 
1135  DB_EDGEVIS_SDK void SetEnhancedCodecModeEnabled(bool enable);
1136 
1138  };
1139 }
DB_EDGEVIS_SDK void SetArchiveRecordingPath(const std::wstring &path)
Sets the path of the archive recordings.
DB_EDGEVIS_SDK void SetTimezone(std::wstring timezone)
Sets the timezone of the encoder.
DB_EDGEVIS_SDK std::wstring ClientVersion()
Returns the version of this SDK.
DB_EDGEVIS_SDK bool SetBandwidthConfig(const EdgeVisSDKCore::BandwidthConfig &config)
Set the bandwidth configuration for the encoder.
DB_EDGEVIS_SDK void SetPostRecordBufferDuration(int bufferDuration)
Sets the post-record buffer duration.
DB_EDGEVIS_SDK std::vector< EncoderProfile > GetProfiles() const
Get all the available profiles.
DB_EDGEVIS_SDK int8_t GetArchiveDiskUsage()
Gets disk space used as a percentage.
DB_EDGEVIS_SDK std::wstring GetEncoderName() const
Returns the current configured encoder name.
DB_EDGEVIS_SDK bool SetArchiveFileSize(int32_t file_size_mb)
Set the archive recording maximum file size.
DB_EDGEVIS_SDK MediaStreamState GetStreamState()
Returns the current streaming status of the encoder.
DB_EDGEVIS_SDK std::wstring GetServerName() const
Returns the name of the server the encoder is connected to.
DB_EDGEVIS_SDK bool SetKeepAlivePeriod(int32_t keep_alive_period)
Sets the current period that the encoder sends keep alive messages to the server. ...
DB_EDGEVIS_SDK AreaOfInterestConfig GetAreaOfInterestConfig(const int32_t input) const
Returns the area of interest configuration.
DB_EDGEVIS_SDK void ReportCPUTemperature(double temp)
Report the CPU temperature of the encoder to the server.
DB_EDGEVIS_SDK void SetOperatorInfo(const std::wstring &op)
Sets the operator of the encoder.
DB_EDGEVIS_SDK bool GetAudioEnabled()
Returns the global audio enabled setting.
DB_EDGEVIS_SDK void SetLocation(double lat, double lon, double accuracy, double altitude)
Sets the latitude and longitude location of the encoder.
An object containing the audio data to be encoded.
Definition: PCMAudio.h:28
AspectRatio
Contains the available aspect ratio types.
Definition: AspectRatios.h:19
DB_EDGEVIS_SDK EdgeVisSDKCore::BandwidthConfig GetBandwidthConfig() const
Get the bandwidth configuration for the encoder.
DB_EDGEVIS_SDK std::vector< SecureConnectEndpointInfo > GetSecureConnectEndpoints()
Gets list of secure connect endpoints.
DB_EDGEVIS_SDK int32_t SendYardarmSensorEvent(const std::wstring &sensor_id, const std::wstring &friendly_name, bool holstered)
Sends a Yardarm holster event to the server.
DB_EDGEVIS_SDK bool GetArchiveRecordingEnabled()
Returns the current archive enabled setting in the configuration.
DB_EDGEVIS_SDK void ReportCPUUsage(int32_t percent)
Report the CPU usage of the encoder to the server.
DB_EDGEVIS_SDK void ReportBatteryCharge(int32_t percent)
Report the battery level of the encoder to the server.
The interface listener for the encoder object.
Definition: IEncoderListener.h:38
DB_EDGEVIS_SDK void ResetDataUsageStats()
Resets the counts of bytes sent/received on this encoder.
An object containing the YCbCr frame to be encoded.
Definition: YCbCrFrame.h:26
DB_EDGEVIS_SDK void EncodePCMAudio(PCMAudio audio)
Audio sample to send to the encoder.
DB_EDGEVIS_SDK EncoderCapabilities QueryEncoderCapabilities() const
Return the EncoderCapabilites object which defines the capabilities of this encoder.
DB_EDGEVIS_SDK int32_t GetArchiveFileDuration()
Get the archive recording maximum duration.
DB_EDGEVIS_SDK void UnregisterRemoteConfigListener(IRemoteConfigListener *listener)
Unregistered for the IRemoteConfigListener.
DB_EDGEVIS_SDK long long GetTotalBytesSent()
Returns the current total number of bytes sent on this encoder.
DB_EDGEVIS_SDK int32_t GetKeepAlivePeriod()
Gets the current period that the encoder sends keep alive messages to the server. ...
DB_EDGEVIS_SDK void SetCameraProfiles(std::vector< CameraProfile > cameras)
Set the camera profiles.
DB_EDGEVIS_SDK void SetPreRecordBufferDuration(int bufferDuration)
Sets the pre-record buffer duration.
DB_EDGEVIS_SDK int32_t SendHighTemperatureEvent(double temp)
Sends a high temperature event to the server.
DB_EDGEVIS_SDK void RegisterListener(IEncoderListener *listener)
Register for the IEncoderListener.
MediaStreamState
Defines the set of stream states.
Definition: MediaStreamState.h:21
DB_EDGEVIS_SDK bool SupportsStreamConfig() const
Checks whether the current connected server supports the StreamConfig API.
DB_EDGEVIS_SDK ServerLinkError GetServerError()
Returns the current error status of the server.
DB_EDGEVIS_SDK void SetSerialNumber(const std::wstring &serialNumber)
Application defined serial number.
DB_EDGEVIS_SDK void SetAddress(const std::wstring &address)
Sets the address of the initial server to connect to.
DB_EDGEVIS_SDK bool SetStreamConfig(const EdgeVisSDKCore::StreamConfig &stream_cfg)
Used to modify the stream config settings the encoder will use to encode the TVI stream.
DB_EDGEVIS_SDK void SetArchiveDiskQuota(int32_t quota)
Set the archive disk quota.
DB_EDGEVIS_SDK double GetPacketLossPercentage()
Returns percentage of packets lost in last 10 minutes.
DB_EDGEVIS_SDK std::wstring GetAddress() const
Get the configured server address.
DB_EDGEVIS_SDK void SetArchiveDiskFullAlarmThreshold(int32_t threshold)
Set the archive disk full alarm threshold.
DB_EDGEVIS_SDK bool IsArchiveRecordingLicenced()
Determine if archive recording is licenced for this encoder.
DB_EDGEVIS_SDK int GetRoundTripTime()
Returns round trip time.
DB_EDGEVIS_SDK ServerLinkState GetServerState()
Returns the current status of the server.
DB_EDGEVIS_SDK int32_t SendCameraConnectedEvent(int input)
Sends a camera connected event to the server.
DB_EDGEVIS_SDK std::wstring GetOperatorInfo()
Returns the operator info set on the encoder.
DB_EDGEVIS_SDK int32_t SendHighVoltageEvent(double voltage)
Sends a high Voltage event to the server.
The Encoder object is the main component of the EdgeVis Encoder SDK.
Definition: Encoder.h:75
DB_EDGEVIS_SDK long long GetTotalBytesReceived()
Returns the current total number of bytes received.
DB_EDGEVIS_SDK ArchivePlaybackManager GetArchivePlaybackManager()
Get the archive playback manager.
DB_EDGEVIS_SDK std::wstring GetTimezone()
Returns the timezone set on the encoder.
DB_EDGEVIS_SDK void SetCredentials(const std::wstring &name, const std::wstring &password)
Sets the Encoder name and Password to connect to the server as.
DB_EDGEVIS_SDK void SetLoggingLevel(EdgeVisSDKCore::LoggingLevel level, const std::wstring &log_location)
Used to enable or disable logging from the Encoder SDK.
DB_EDGEVIS_SDK void Stop()
Stops the encoder and disconnects it from the Server.
DB_EDGEVIS_SDK int32_t SendLowVoltageEvent(double voltage)
Sends a low Voltage event to the server.
DB_EDGEVIS_SDK int GetCurrentBandwidth()
Returns the current bandwidth.
DB_EDGEVIS_SDK int32_t SendBatteryEvent(int8_t percent)
Sends a low battery event to the server.
DB_EDGEVIS_SDK int32_t SendLowTemperatureEvent(double temp)
Sends a low temperature event to the server.
DB_EDGEVIS_SDK void Start()
Starts the encoder This will start the encoder and connect to the EdgeVis server. ...
DB_EDGEVIS_SDK int32_t GetArchiveDiskFullAlarmThreshold()
Get the archive disk full alarm threshold.
DB_EDGEVIS_SDK std::wstring GetCurrentProfile()
Get the name of the profile currently in use.
The EncoderProfile interface contains Encoder connection profile settings.
Definition: EncoderProfile.h:59
DB_EDGEVIS_SDK void SetEnhancedCodecModeEnabled(bool enable)
Sets the enhanced codec mode as enabled.
DB_EDGEVIS_SDK void SetAudioOnlyEnabled(bool enable)
Sets the audio only enabled setting.
DB_EDGEVIS_SDK int32_t GetArchiveFileSize()
Get the archive recording file size.
DB_EDGEVIS_SDK bool IsPostRecording() const
Determine if post-record is active.
DB_EDGEVIS_SDK bool SetSecureConnectEndpoints(std::vector< SecureConnectEndpointInfo > endpoints)
Sets list of secure connect endpoints.
DB_EDGEVIS_SDK std::vector< CameraProfile > GetCameraProfiles() const
Get the camera profiles.
DB_EDGEVIS_SDK int32_t SendFaceDetectEvent(int input, std::wstring face_string, std::wstring metadata)
Sends a face detect event to the server This can be used to indicate that an external contact closure...
DB_EDGEVIS_SDK void SetEncodeAspectRatio(EdgeVisSDKCore::AspectRatio aspectRatio)
Set the aspect ratio of the video frame being encoded.
DB_EDGEVIS_SDK void SetProfile(EncoderProfile profile)
Replace the EncoderProfile with updated settings.
The EdgeVis Encoder SDK namespace.
DB_EDGEVIS_SDK void UnregisterArchivePlaybackListener(IArchivePlaybackListener *listener)
Unregistered for the IArchivePlaybackListener.
DB_EDGEVIS_SDK double GetPacketsSentPerSecond()
Returns number of packets sent per second.
DB_EDGEVIS_SDK void UnregisterListener(IEncoderListener *listener)
Unregistered for the IEncoderListener.
DB_EDGEVIS_SDK int32_t GetArchiveDiskQuota()
Get the archive disk quota.
The interface for the archive playback, this will return callbacks for the archive service...
Definition: IArchivePlaybackListener.h:43
DB_EDGEVIS_SDK std::wstring GetPassword() const
Returns the current configured encoder password.
DB_EDGEVIS_SDK bool SetAreaOfInterestConfig(const AreaOfInterestConfig &aoi)
Sets the area of interest configuration.
DB_EDGEVIS_SDK void SetAudioEnabled(bool enable)
Sets the global audio enabled setting.
DB_EDGEVIS_SDK bool GetGPSEnabled()
Returns the GPS enabled setting.
DB_EDGEVIS_SDK bool EraseArchiveRecordings()
Erase all of the recordings from the encoder.
DB_EDGEVIS_SDK void EncodeYCbCrFrame(YCbCrFrame frame)
A video frame to send to the encoder.
DB_EDGEVIS_SDK int32_t SendCameraDisconnectedEvent(int input)
Sends a camera disconnected event to the server.
DB_EDGEVIS_SDK EdgeVisSDKCore::AspectRatio GetEncodeAspectRatio()
Returns the aspect ratio set on the Encoder.
DB_EDGEVIS_SDK void RegisterArchivePlaybackListener(IArchivePlaybackListener *listener)
Register for the IArchivePlaybackListener.
DB_EDGEVIS_SDK void SetGPSEnabled(bool enable)
Sets the GPS enabled setting.
DB_EDGEVIS_SDK int8_t GetVideoInput() const
The current video input the encoder is set to.
ServerLinkError
Defines the set of Server communication link errors.
Definition: ServerLinkState.h:31
DB_EDGEVIS_SDK void SetArchiveRecordMode(ArchiveRecordMode recordMode)
Sets the current archive recording mode in the configuration.
DB_EDGEVIS_SDK Encoder(const std::wstring &config_path, const std::wstring &product_name)
Constructor for the Encoder object.
DB_EDGEVIS_SDK std::wstring GetArchiveRecordingPath()
Returns the path of the archive recordings.
DB_EDGEVIS_SDK int32_t SendExternalTriggerEvent(int alarm_id)
Sends an external trigger event to the server.
DB_EDGEVIS_SDK std::wstring GetServerVersion() const
Returns the version of the server the encoder is connected to.
DB_EDGEVIS_SDK int32_t SendAlertEndEvent()
Sends an alert end event to the server.
DB_EDGEVIS_SDK bool IsExternalCameraLicenced()
Determine if external cameras are licenced for this encoder.
DB_EDGEVIS_SDK void RegisterRemoteConfigListener(IRemoteConfigListener *listener)
Register for the IRemoteConfigListener.
DB_EDGEVIS_SDK bool GetEnhancedCodecModeEnabled() const
Returns the current enhanced codec mode enabled setting in the configuration.
DB_EDGEVIS_SDK int32_t SendAlertStartEvent()
Sends an alert start event to the server.
DB_EDGEVIS_SDK void SetVideoInput(int8_t input)
Sets the current video input.
DB_EDGEVIS_SDK ArchiveRecordingState GetArchiveRecordingState()
Returns the current state of the encoder.
DB_EDGEVIS_SDK int GetPostRecordBufferDuration()
Returns the post-record buffer duration.
ServerLinkState
Defines the set of Server communication link states.
Definition: ServerLinkState.h:20
The interface listener for the encoder settings.
Definition: IRemoteConfigListener.h:44
DB_EDGEVIS_SDK bool GetAudioOnlyEnabled()
Returns the audio only enabled setting.
DB_EDGEVIS_SDK EdgeVisSDKCore::StreamConfig GetStreamConfig() const
Returns the stream config settings the encoder will use to encode the TVI stream. ...
DB_EDGEVIS_SDK ArchiveRecordMode GetArchiveRecordMode()
Returns the current archive recording mode in the configuration.
DB_EDGEVIS_SDK void SetArchiveRecordingEnabled(bool enable)
Sets the archive recording as enabled.
DB_EDGEVIS_SDK bool SetArchiveFileDuration(int32_t file_duration_minutes)
Set the archive recording maximum duration.
DB_EDGEVIS_SDK int GetPreRecordBufferDuration()
Returns the pre-record buffer duration.
DB_EDGEVIS_SDK void SetCurrentProfile(const std::wstring &profile_name)
Set the name of the profile to use.
DB_EDGEVIS_SDK int32_t SendYardarmBatteryEvent(const std::wstring &sensor_id, const std::wstring &friendly_name, int8_t percent)
Sends a low battery event for a Yardarm holster sensor to the server.