EncoderCapabilities.h
Go to the documentation of this file.
1 // Copyright (c) 2018 Digital Barriers
4 
19 #pragma once
20 #include "EdgeVisSDK.h"
21 #include "Pimpl.h"
22 
23 #include "VideoAnalyticsConfig.h"
24 
25 namespace EdgeVisDecoderSDK
26 {
27  class EncoderCapabilitiesImpl;
28 
29  class EncoderCapabilities : public EdgeVisSDKPimpl<EncoderCapabilitiesImpl>
30  {
31  public:
32  DB_EDGEVIS_SDK EncoderCapabilities();
33  EdgeVisSDKPimplWeakConstructor(EncoderCapabilities);
34 
40  DB_EDGEVIS_SDK int8_t SupportedPTZProtocolVersion() const;
41 
47  DB_EDGEVIS_SDK bool PTZProtocolSupportsMove(const std::wstring& protocol) const;
48 
55  DB_EDGEVIS_SDK int32_t PTZProtocolMaxPresets(const std::wstring& protocol) const;
56 
62  DB_EDGEVIS_SDK bool PTZEncoderStoredPresets() const;
63 
69  DB_EDGEVIS_SDK bool SupportsWebVideoAnalyticsConfig() const;
70 
76  DB_EDGEVIS_SDK int32_t GetVideoAnalyticsConfigVersion() const;
77 
83  DB_EDGEVIS_SDK bool SupportsVideoAnalyticsConfig() const;
84 
90  DB_EDGEVIS_SDK bool VPTZSupportsMove() const;
91 
97  DB_EDGEVIS_SDK bool SupportsWebPTZ() const;
98 
104  DB_EDGEVIS_SDK bool SupportsWebVPTZ() const;
105 
111  DB_EDGEVIS_SDK int8_t SupportedWebPTZProtocolVersion() const;
112 
118  DB_EDGEVIS_SDK int8_t RelayCount() const;
119 
125  DB_EDGEVIS_SDK bool SupportsRDCSensors() const;
126 
132  DB_EDGEVIS_SDK bool Supports7TechSensors() const;
133 
139  DB_EDGEVIS_SDK bool SupportsQualTronSensors() const;
140 
146  DB_EDGEVIS_SDK bool SupportsReboot() const;
147 
153  DB_EDGEVIS_SDK bool SupportsIridium() const;
154 
160  DB_EDGEVIS_SDK bool SupportsSafeZone2D() const;
161 
167  DB_EDGEVIS_SDK int8_t GetSafeZone2DVersion() const;
168 
174  DB_EDGEVIS_SDK int8_t GetVideoAnalyticsVersion() const;
175 
181  DB_EDGEVIS_SDK bool SupportsSafeZoneAI() const;
182 
188  DB_EDGEVIS_SDK std::vector<std::pair<int32_t, int32_t>> GetStreamingDimensions() const;
189 
195  DB_EDGEVIS_SDK std::vector<int32_t> GetStreamingTargetHeights() const;
196 
202  DB_EDGEVIS_SDK std::vector<std::wstring> GetStreamingDimensionsStrings() const;
203 
207  DB_EDGEVIS_SDK std::wstring GetStreamingFrameHeightString(const int32_t height) const;
208 
214  DB_EDGEVIS_SDK std::vector<int32_t> GetStreamingFrameSteps(const std::pair<int32_t, int32_t>& dims) const;
215 
221  DB_EDGEVIS_SDK std::vector<int32_t> GetStreamingFrameSteps(const int32_t height) const;
222 
229  DB_EDGEVIS_SDK int32_t GetMinStreamingFrameStep(const std::pair<int32_t, int32_t>& dims) const;
230 
237  DB_EDGEVIS_SDK int32_t GetMinStreamingFrameStep(const int32_t height) const;
238 
242  DB_EDGEVIS_SDK std::wstring GetStreamingFrameStepString(const int32_t frame_step) const;
243 
248  DB_EDGEVIS_SDK std::vector<int32_t> GetStreamingAudioQualityValues() const;
249 
253  DB_EDGEVIS_SDK std::vector<std::wstring> GetStreamingAudioQualityStrings() const;
254 
258  DB_EDGEVIS_SDK int32_t GetStreamingAudioQualityValue(const std::wstring& audio_name) const;
259 
263  DB_EDGEVIS_SDK std::wstring GetStreamingAudioQualityString(const int32_t audio_quality) const;
264 
268  DB_EDGEVIS_SDK std::vector<int32_t> GetBandwidthShareValues() const;
269 
273  DB_EDGEVIS_SDK std::vector<std::wstring> GetBandwidthShareStrings() const;
274 
278  DB_EDGEVIS_SDK int32_t GetBandwidthShareValue(const std::wstring& bw_share_name) const;
279 
283  DB_EDGEVIS_SDK std::wstring GetBandwidthShareString(const int32_t bw_share_val) const;
284 
288  DB_EDGEVIS_SDK std::vector<std::wstring> GetCodecModeValues() const;
289 
293  DB_EDGEVIS_SDK std::vector<std::wstring> GetCodecModeStrings() const;
294 
298  DB_EDGEVIS_SDK std::wstring GetCodecModeValue(const std::wstring& mode_name) const;
299 
303  DB_EDGEVIS_SDK std::wstring GetCodecModeString(const std::wstring& mode_value) const;
304 
310  DB_EDGEVIS_SDK std::vector<std::wstring> GetAvailableStreamProfileIDs() const;
311 
319  DB_EDGEVIS_SDK std::wstring GetStreamProfileDisplayString(const std::wstring& id) const;
320 
328  DB_EDGEVIS_SDK bool StreamProfileIsPreset(const std::wstring& id) const;
329 
335  DB_EDGEVIS_SDK bool SupportsStreamConfig() const;
336 
342  DB_EDGEVIS_SDK bool SupportsBandwidthConfig() const;
343 
349  DB_EDGEVIS_SDK bool SupportsDynamicAudioQuality() const;
350 
356  DB_EDGEVIS_SDK bool SupportsGOPDownload() const;
357 
363  DB_EDGEVIS_SDK bool SupportsGOPTranscode() const;
364 
370  DB_EDGEVIS_SDK bool SupportsHighPriorityGOPDownload() const;
371 
377  DB_EDGEVIS_SDK bool SupportsHighPriorityCSXDownload() const;
378 
384  DB_EDGEVIS_SDK std::vector<std::string> GetAvailableVideoAnalytics() const;
385 
392  DB_EDGEVIS_SDK VideoAnalyticsConfig GetDefaultVideoAnalyticsConfig(const std::string& analytic_name) const;
393 
399  DB_EDGEVIS_SDK std::vector<VideoAnalyticsScenario> GetDefaultVideoAnalyticsScenarios() const;
400 
407  DB_EDGEVIS_SDK VideoAnalyticsScenario GetDefaultVideoAnalyticsScenario(const std::string& scenario_name) const;
408 
414  DB_EDGEVIS_SDK int32_t GetMaxCameras() const;
415 
422  DB_EDGEVIS_SDK int32_t GetMaxVideoStreams() const;
423 
429  DB_EDGEVIS_SDK std::wstring GetProductName() const;
430 
431  DB_EDGEVIS_SDK virtual ~EncoderCapabilities();
432 
438  DB_EDGEVIS_SDK bool IsConfigValid() const;
439  };
440 }
The EdgeVis Decoder SDK namespace.