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
Definition: interface.h:48
Definition: i_media_data_packet.h:17
Definition: algorithm.cpp:9