Class IPvH264AccessUnit
Generic, read-only H264 access unit interface.
Implements
Inherited Members
Namespace: eBUSDotNet
Assembly: eBUSDotNet.dll
Syntax
public class IPvH264AccessUnit : IDisposable
Fields
View SourceswigCMemOwn
Determines who is responsible for deleting the underlying C++ object.
Declaration
protected bool swigCMemOwn
Field Value
| Type | Description |
|---|---|
| bool |
Properties
View SourceHeight
Height of the H264 frame.
Declaration
public virtual uint Height { get; }
Property Value
| Type | Description |
|---|---|
| uint |
NALCount
Number of NAL units.
Declaration
public virtual uint NALCount { get; }
Property Value
| Type | Description |
|---|---|
| uint |
NALDataSize
NAL data size.
Declaration
public virtual uint NALDataSize { get; }
Property Value
| Type | Description |
|---|---|
| uint |
OffsetBottom
Bottom offset.
Declaration
public virtual uint OffsetBottom { get; }
Property Value
| Type | Description |
|---|---|
| uint |
OffsetLeft
Left offset.
Declaration
public virtual uint OffsetLeft { get; }
Property Value
| Type | Description |
|---|---|
| uint |
OffsetRight
Right offset.
Declaration
public virtual uint OffsetRight { get; }
Property Value
| Type | Description |
|---|---|
| uint |
OffsetTop
Top offset.
Declaration
public virtual uint OffsetTop { get; }
Property Value
| Type | Description |
|---|---|
| uint |
PvDuration
Duration of the access unit.
Declaration
public virtual ulong PvDuration { get; }
Property Value
| Type | Description |
|---|---|
| ulong |
PvSize
Size of the H264 access unit in bytes.
Declaration
public virtual uint PvSize { get; }
Property Value
| Type | Description |
|---|---|
| uint |
Width
Width of the H264 frame.
Declaration
public virtual uint Width { get; }
Property Value
| Type | Description |
|---|---|
| uint |
Methods
View SourceAddNAL(byte[], uint)
Copies a NAL to this access unit.
Declaration
public virtual PvResult AddNAL(byte[] aPtr, uint aLength)
Parameters
| Type | Name | Description |
|---|---|---|
| byte[] | aPtr | Pointer to the NAL to copy. |
| uint | aLength | Length of the NAL to copy. |
Returns
| Type | Description |
|---|---|
| PvResult | Includes: - #PvResult::Code::OK |
Alloc(ulong)
Allocates memory for this access unit.
Declaration
public virtual PvResult Alloc(ulong aPayloadLength)
Parameters
| Type | Name | Description |
|---|---|---|
| ulong | aPayloadLength | The raw payload length of the H264 Access Unit data, in bytes. See GetNALDataSize. |
Returns
| Type | Description |
|---|---|
| PvResult | Includes: - #PvResult::Code::OK - #PvResult::Code::NOT_ENOUGH_MEMORY |
Alloc(ulong, uint)
Allocates memory for this access unit.
Declaration
public virtual PvResult Alloc(ulong aPayloadLength, uint aMaximumChunkLength)
Parameters
| Type | Name | Description |
|---|---|---|
| ulong | aPayloadLength | The raw payload length of the H264 Access Unit data, in bytes. See GetNALDataSize. |
| uint | aMaximumChunkLength | Maximum size in bytes to store chunks ( must include extra 64 bits by chunks for headers ). |
Returns
| Type | Description |
|---|---|
| PvResult | Includes: - #PvResult::Code::OK - #PvResult::Code::NOT_ENOUGH_MEMORY |
CopyNALData(byte[], uint, uint, uint)
Copies NAL data to the buffer
Declaration
public virtual PvResult CopyNALData(byte[] aPtr, uint aLength, uint aWidth, uint aHeight)
Parameters
| Type | Name | Description |
|---|---|---|
| byte[] | aPtr | Pointer to the NAL data. |
| uint | aLength | Data length in bytes. |
| uint | aWidth | Width of the compressed video stream. |
| uint | aHeight | Height of the compressed video stream. |
Returns
| Type | Description |
|---|---|
| PvResult | Includes: - #PvResult::Code::OK - #PvResult::Code::INVALID_PARAMETER |
Dispose()
Dispose.
Declaration
public void Dispose()
Dispose(bool)
Dispose
Declaration
protected virtual void Dispose(bool disposing)
Parameters
| Type | Name | Description |
|---|---|---|
| bool | disposing |
~IPvH264AccessUnit()
Destructor.
Declaration
protected ~IPvH264AccessUnit()
Free()
Frees (de-allocates) the buffer's internal memory.
Declaration
public virtual void Free()
See Also
View SourceGetNALDataPtr()
Returns a pointer to the raw NAL data buffer.
Declaration
public virtual byte* GetNALDataPtr()
Returns
| Type | Description |
|---|---|
| byte* | Pointer to the first NAL. |
GetNALPtr(uint, out byte*, out uint)
Returns a pointer to a NAL stored in this access unit.
Declaration
public virtual PvResult GetNALPtr(uint aIndex, out byte* aPtr, out uint aLength)
Parameters
| Type | Name | Description |
|---|---|---|
| uint | aIndex | Zero-based index of the NAL. |
| byte* | aPtr | Pointer to the NAL. |
| uint | aLength | NAL length in bytes. |
Returns
| Type | Description |
|---|---|
| PvResult | Includes: - #PvResult::Code::OK - #PvResult::Code::NOT_FOUND if aIndex is invalid. |
HasSPS()
Indicates if this access unit has SPS NALs.
Declaration
public virtual bool HasSPS()
Returns
| Type | Description |
|---|---|
| bool | true if SPS NALs are present; otherwise, false. |
Reset()
Resets the access unit
Declaration
public virtual void Reset()