nx_server_plugin_sdk 1.0 Server Plugin SDK

i_media_data_packet.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 <camera/camera_plugin_types.h>
6 #include <nx/sdk/interface.h>
7 #include <plugins/plugin_api.h>
8
9 namespace nx::sdk::cloud_storage {
10
17 class IMediaDataPacket: public Interface<IMediaDataPacket>
18 {
19 public:
20 enum Type
21 {
22 audio,
23 video,
24 metadata,
25 unknown,
26 };
27
28 virtual int64_t timestampUs() const = 0;
29 virtual Type type() const = 0;
30 virtual const void* data() const = 0;
31 virtual unsigned int dataSize() const = 0;
32 virtual unsigned int channelNumber() const = 0;
33 virtual nxcip::CompressionType codecType() const = 0;
34 virtual bool isKeyFrame() const = 0;
35 virtual const void* encryptionData() const = 0;
36 virtual int encryptionDataSize() const = 0;
37 };
38
39 } // namespace nx::sdk::cloud_storage
nx::sdk::Interface
Definition: interface.h:48
nx::sdk::cloud_storage::IMediaDataPacket
Definition: i_media_data_packet.h:17
nx::sdk::cloud_storage
Definition: algorithm.cpp:9