Pleora Technologies Inc. eBUS SDK v7.0.1.7536 API



PvStreamingChannelSourceDefault.h
1 // *****************************************************************************
2 //
3 // Copyright (c) 2018, Pleora Technologies Inc., All rights reserved.
4 //
5 // *****************************************************************************
6 
7 #ifndef __PVSTREAMINGCHANNELSOURCEDEFAULT_H__
8 #define __PVSTREAMINGCHANNELSOURCEDEFAULT_H__
9 
10 #include <PvSoftDeviceGEVInterfaces.h>
11 #include <PvSoftDeviceGEVLib.h>
12 
29 class PV_SOFT_DEVICE_GEV_API PvStreamingChannelSourceDefault
31 {
32 public:
33 
42  PvStreamingChannelSourceDefault( uint32_t aWidth = 640, uint32_t aHeight = 480, PvPixelType aPixelType = PvPixelMono8, size_t aBufferCount = 16 );
43 
48 
56  virtual uint32_t GetWidth() const;
57 
65  virtual uint32_t GetHeight() const;
66 
74  virtual uint32_t GetOffsetX() const;
75 
83  virtual uint32_t GetOffsetY() const;
84 
92  virtual PvPixelType GetPixelType() const;
93 
105  virtual void GetWidthInfo( uint32_t &aMin, uint32_t &aMax, uint32_t &aInc ) const;
106 
118  virtual void GetHeightInfo( uint32_t &aMin, uint32_t &aMax, uint32_t &aInc ) const;
119 
136  virtual uint32_t GetChunksSize() const;
137 
152  virtual uint32_t GetPayloadSize() const;
153 
162  virtual PvScanType GetScanType() const;
163 
172  virtual bool GetChunkModeActive() const;
173 
188  virtual bool GetChunkEnable( uint32_t aChunkID ) const;
189 
215  virtual PvResult GetSupportedPixelType( int aIndex, PvPixelType &aPixelType ) const;
216 
245  virtual PvResult GetSupportedChunk( int aIndex, uint32_t &aID, PvString &aName ) const;
246 
264  virtual PvResult SetWidth( uint32_t aWidth );
265 
283  virtual PvResult SetHeight( uint32_t aHeight );
284 
298  virtual PvResult SetOffsetX( uint32_t aOffsetX );
299 
313  virtual PvResult SetOffsetY( uint32_t aOffsetY );
314 
332  virtual PvResult SetPixelType( PvPixelType aPixelType );
333 
348  virtual PvResult SetChunkModeActive( bool aEnabled );
349 
365  virtual PvResult SetChunkEnable( uint32_t aChunkID, bool aEnabled );
366 
373  virtual void OnOpen( const PvString &aDestIP, uint16_t aDestPort );
374 
378  virtual void OnClose();
379 
383  virtual void OnStreamingStart();
384 
388  virtual void OnStreamingStop();
389 
410  virtual PvBuffer *AllocBuffer();
411 
420  virtual void FreeBuffer( PvBuffer *aBuffer );
421 
450  virtual PvResult GetTxNumBuffersToUse( uint32_t &aNumBuffer );
451 
452 
462  virtual void AbortQueuedBuffers();
463 
480  virtual void CreateRegisters( IPvRegisterMap *aRegisterMap, IPvRegisterFactory *aFactory );
481 
542  virtual void CreateGenApiFeatures( IPvRegisterMap *aRegisterMap, IPvGenApiFactory *aFactory );
543 
559  virtual bool IsPayloadTypeSupported( PvPayloadType aPayloadType );
560 
577  virtual void SetMultiPartAllowed( bool aAllowed );
578 
596  virtual void SetLargeLeaderTrailerEnabled( bool aEnabled, uint32_t aMaxMultiPartCount );
597 
633 
634 private:
635 
636  size_t mBufferCount;
637  size_t mBufferAllocated;
638 
639  uint32_t mStaticWidth;
640  uint32_t mStaticHeight;
641  PvPixelType mStaticPixelType;
642 
643 };
644 
645 
646 #endif // __PVSTREAMINGCHANNELSOURCEDEFAULT_H__
PvPayloadType
GVSP payload type.
Definition: PvPayloadType.h:20
PvPixelType
Definition: PvPixelType.h:51
@ PvPixelMono8
Pixel type is Mono8.
Definition: PvPixelType.h:55
GenApi factory used to add custom GenApi parameters to a software-based GigE Vision Device GenICam XM...
Definition: PvVirtualDeviceGEVInterfaces.h:2025
Class used for register creation.
Definition: PvVirtualDeviceGEVInterfaces.h:1836
Register map interface for a software-based GigE Vision Device.
Definition: PvVirtualDeviceGEVInterfaces.h:1910
Definition: PvSoftDeviceGEVInterfaces.h:66
Represents a block of GigE Vision or USB3 Vision data in memory.
Definition: PvBuffer.h:111
Result information.
Definition: PvResult.h:30
A default implementation for the IPvStreamingSourceChannelSource interface.
Definition: PvStreamingChannelSourceDefault.h:31
virtual uint32_t GetOffsetX() const
Returns the current image offset X.
virtual void AbortQueuedBuffers()
Request by the PvSoftDeviceGEV to abort all buffers queued for acquisition.
virtual void OnStreamingStart()
Notification that the GigE Vision controller has requested that the device start streaming on this ch...
virtual void SetMultiPartAllowed(bool aAllowed)
Sets whether the streaming source is allowed or not, but not forced, to transmit multi-part data.
virtual void SetLargeLeaderTrailerEnabled(bool aEnabled, uint32_t aMaxMultiPartCount)
Sets whether the streaming source which transmit multi-part data uses large data leader and trailer p...
virtual PvBuffer * AllocBuffer()
Request by the PvSoftDeviceGEV to allocate a PvBuffer.
virtual PvResult SetOffsetY(uint32_t aOffsetY)
Request from the PvSoftDeviceGEV to change the image offset Y.
virtual PvResult GetSupportedChunk(int aIndex, uint32_t &aID, PvString &aName) const
Returns the indexed supported chunk type. Used at PvSoftDeviceGEV::Start time to create the GenICam X...
virtual void OnClose()
Notification from the PvSoftDeviceGEV that this streaming channel has been closed.
virtual bool IsPayloadTypeSupported(PvPayloadType aPayloadType)
When called, the streaming source has to return whether the specificed payload type is supported or n...
virtual void FreeBuffer(PvBuffer *aBuffer)
Request by the PvSoftDeviceGEV to free or release a buffer allocated with AllocBuffer.
virtual PvResult SetPixelType(PvPixelType aPixelType)
Request from the PvSoftDeviceGEV to change the image pixel type.
virtual void CreateRegisters(IPvRegisterMap *aRegisterMap, IPvRegisterFactory *aFactory)
When called, the streaming channel source should create its custom registers if they are needed.
virtual PvResult SetWidth(uint32_t aWidth)
Request from the PvSoftDeviceGEV to change the image width.
virtual void OnOpen(const PvString &aDestIP, uint16_t aDestPort)
Notification from the PvSoftDeviceGEV that this streaming channel has been opened.
virtual uint32_t GetChunksSize() const
Gets the stream channel chunk size attributes.
PvStreamingChannelSourceDefault(uint32_t aWidth=640, uint32_t aHeight=480, PvPixelType aPixelType=PvPixelMono8, size_t aBufferCount=16)
Default constructor.
virtual PvResult SetChunkModeActive(bool aEnabled)
Set the master chunk mode active state.
virtual PvPixelType GetPixelType() const
Returns the current pixel type.
virtual void GetHeightInfo(uint32_t &aMin, uint32_t &aMax, uint32_t &aInc) const
Returns the stream channel height attributes.
virtual PvScanType GetScanType() const
Returns the scan type that is used by the streaming source.
virtual void GetWidthInfo(uint32_t &aMin, uint32_t &aMax, uint32_t &aInc) const
Returns the stream channel width attributes.
virtual void CreateGenApiFeatures(IPvRegisterMap *aRegisterMap, IPvGenApiFactory *aFactory)
When called, the streaming channel source should create its custom GenApi parameters if they are need...
virtual PvResult GetTxNumBuffersToUse(uint32_t &aNumBuffer)
This method is requested by PvSoftDeviceGEV to limit the number of buffers used by the transmitter....
virtual ~PvStreamingChannelSourceDefault()
Destructor.
virtual uint32_t GetHeight() const
Returns the current image height.
virtual PvResult SetHeight(uint32_t aHeight)
Request from the PvSoftDeviceGEV to change the image height.
virtual bool GetChunkEnable(uint32_t aChunkID) const
Returns the current chunk enabled state.
virtual uint32_t GetPayloadSize() const
Stream channel payload size in bytes. Return zero to have it inferred from width, height and pixel fo...
virtual PvResult GetSupportedPixelType(int aIndex, PvPixelType &aPixelType) const
Obtains an index of supported pixel types. Used at PvSoftDeviceGEV::Start time to create the GenICam ...
virtual PvResult SetOffsetX(uint32_t aOffsetX)
Request from the PvSoftDeviceGEV to change the image offset X.
virtual PvResult SetChunkEnable(uint32_t aChunkID, bool aEnabled)
Sets the chunk enabled state for a specific chunk type.
virtual void OnStreamingStop()
Notification that the GigE Vision controller has requested that the device stop streaming on this cha...
virtual uint32_t GetWidth() const
Returns the current image width.
virtual bool GetChunkModeActive() const
Indicates whether the current master chunk mode is active.
virtual PvResult SetTestPayloadFormatMode(PvPayloadType aPayloadType)
When called, the streaming source has to ensure it can stream buffers of the specified payload type.
virtual uint32_t GetOffsetY() const
Returns the current image offset Y.
String class.
Definition: PvString.h:26

Copyright (c) 2002-2026 Pleora Technologies Inc.
www.pleora.com