nx_server_plugin_sdk 1.0 Server Plugin 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
nx::sdk::cloud_storage::CodecInfo
Definition: codec_info.h:12
nxcip::MediaType
MediaType
Definition: camera_plugin_types.h:65
nx::sdk::cloud_storage::CodecInfoData
Definition: data.h:826
nx::sdk::cloud_storage
Definition: algorithm.cpp:9
nxcip::PixelFormat
PixelFormat
Definition: camera_plugin_types.h:39
nx::sdk::RefCountable
Definition: ref_countable.h:83
nxcip::SampleFormat
SampleFormat
Definition: camera_plugin_types.h:76