nx_video_source_sdk  1.0
Video Source SDK
ilp_video_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.h>
6 
7 #include <plugins/plugin_tools.h>
8 
10 :
12 {
13 public:
15  int channelNumber,
16  nxcip::UsecUTCTimestamp _timestamp,
17  unsigned int flags,
18  unsigned int cSeq );
19  virtual ~ILPVideoPacket();
20 
22  virtual void* queryInterface( const nxpl::NX_GUID& interfaceID ) override;
24  virtual int addRef() const override;
26  virtual int releaseRef() const override;
27 
29  virtual nxcip::UsecUTCTimestamp timestamp() const override;
31  virtual nxcip::DataPacketType type() const override;
33  virtual const void* data() const override;
35  virtual unsigned int dataSize() const override;
37  virtual unsigned int channelNumber() const override;
39  virtual nxcip::CompressionType codecType() const override;
41  virtual unsigned int flags() const override;
43  virtual unsigned int cSeq() const override;
44 
46  virtual nxcip::Picture* getMotionData() const override;
47 
51  void resizeBuffer( size_t bufSize );
52  void* data();
53 
55  void setMotionData( nxcip::Picture* motionData );
56 
57 private:
58  nxpt::CommonRefManager m_refManager;
59  const int m_channelNumber;
60  nxcip::UsecUTCTimestamp m_timestamp;
61  void* m_buffer;
62  size_t m_bufSize;
63  unsigned int m_flags;
64  nxcip::Picture* m_motionData;
65  unsigned int m_cSeq;
66 };
virtual nxcip::CompressionType codecType() const override
Implementation of nxpl::MediaDataPacket::codecType.
Definition: ilp_video_packet.cpp:108
DataPacketType
Type of packets provided by StreamReader.
Definition: camera_plugin.h:987
virtual unsigned int channelNumber() const override
Implementation of nxpl::MediaDataPacket::channelNumber.
Definition: ilp_video_packet.cpp:102
virtual int addRef() const override
Implementation of nxpl::PluginInterface::addRef.
Definition: ilp_video_packet.cpp:66
virtual unsigned int flags() const override
Implementation of nxpl::MediaDataPacket::flags.
Definition: ilp_video_packet.cpp:113
virtual int releaseRef() const override
Implementation of nxpl::PluginInterface::releaseRef.
Definition: ilp_video_packet.cpp:72
void resizeBuffer(size_t bufSize)
Definition: ilp_video_packet.cpp:131
GUID of plugin interface.
Definition: plugin_api.h:26
virtual nxcip::Picture * getMotionData() const override
Implementation of nxpl::VideoDataPacket::getMotionData.
Definition: ilp_video_packet.cpp:124
Picture.
Definition: camera_plugin.h:631
Definition: ilp_video_packet.h:9
Definition: plugin_tools.h:68
virtual unsigned int cSeq() const override
Implementation of nxpl::MediaDataPacket::cSeq.
Definition: ilp_video_packet.cpp:118
virtual unsigned int dataSize() const override
Implementation of nxpl::MediaDataPacket::dataSize.
Definition: ilp_video_packet.cpp:96
void setMotionData(nxcip::Picture *motionData)
Adds reference to motionData.
Definition: ilp_video_packet.cpp:162
virtual nxcip::DataPacketType type() const override
Implementation of nxpl::MediaDataPacket::type.
Definition: ilp_video_packet.cpp:84
virtual void * queryInterface(const nxpl::NX_GUID &interfaceID) override
Implementation of nxpl::PluginInterface::queryInterface.
Definition: ilp_video_packet.cpp:45
Video packet. MUST contain complete frame (or field in case of interlaced video)
Definition: camera_plugin.h:1110
virtual const void * data() const override
Implementation of nxpl::MediaDataPacket::data.
Definition: ilp_video_packet.cpp:90
virtual nxcip::UsecUTCTimestamp timestamp() const override
Implementation of nxpl::MediaDataPacket::isKeyFrame.
Definition: ilp_video_packet.cpp:78