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