nx_cloud_storage_sdk  1.0
Cloud Storage SDK
codec_info.h
1 // Copyright 2018-present Network Optix, Inc. Licensed under MPL 2.0: www.mozilla.org/MPL/2.0/
2 
3 #pragma once
4 
5 #include <nx/sdk/cloud_storage/i_codec_info.h>
6 #include <nx/sdk/helpers/ref_countable.h>
7 
8 #include "data.h"
9 
10 namespace nx::sdk::cloud_storage {
11 
12 class CodecInfo: public nx::sdk::RefCountable<ICodecInfo>
13 {
14 public:
15  CodecInfo(const CodecInfoData& codecInfo);
16  virtual nxcip::CompressionType compressionType() const override;
17  virtual nxcip::PixelFormat pixelFormat() const override;
18  virtual nxcip::MediaType mediaType() const override;
19  virtual int width() const override;
20  virtual int height() const override;
21  virtual int64_t codecTag() const override;
22  virtual int64_t bitRate() const override;
23  virtual int channels() const override;
24  virtual int frameSize() const override;
25  virtual int blockAlign() const override;
26  virtual int sampleRate() const override;
27  virtual nxcip::SampleFormat sampleFormat() const override;
28  virtual int bitsPerCodedSample() const override;
29  virtual int64_t channelLayout() const override;
30  virtual int extradataSize() const override;
31  virtual const uint8_t* extradata() const override;
32  virtual int channelNumber() const override;
33 
34 private:
35  CodecInfoData m_codecInfo;
36  std::vector<uint8_t> m_extradata;
37 };
38 
39 } // namespace nx::sdk::cloud_storage
Definition: codec_info.h:12
MediaType
Definition: camera_plugin_types.h:65
Definition: algorithm.cpp:8
PixelFormat
Definition: camera_plugin_types.h:39
Definition: ref_countable.h:83
SampleFormat
Definition: camera_plugin_types.h:76