Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
GrayLib::cAVStreamInp Class Reference

#include <cAVStream.h>

Inheritance diagram for GrayLib::cAVStreamInp:
GrayLib::cAVReader

Public Member Functions

 cAVStreamInp (cStreamInput &stmIn, cAVSink *pSink)
 
virtual ~cAVStreamInp ()
 
HRESULT ProcessStreamPacket ()
 
virtual HRESULT ReadStream () override
 
- Public Member Functions inherited from GrayLib::cAVReader
 cAVReader (cStreamInput &stmIn, cAVSink *pSink)
 
virtual ~cAVReader ()
 

Protected Member Functions

virtual HRESULT ProcessPacket (CAVPkt_TYPE eState, const void *pData, size_t nSizeData)
 

Additional Inherited Members

- Protected Attributes inherited from GrayLib::cAVReader
cStreamInputm_pStreamInput
 read from this file or memory stream More...
 
cAVSinkm_pAVSink
 Output to this destination cAVSink. More...
 

Detailed Description

Receive a stream of data and write out the data to cAVSink

Note
we cant assume the pInp source stream can hold a full packet. so we must buffer again.

Constructor & Destructor Documentation

◆ cAVStreamInp()

GrayLib::cAVStreamInp::cAVStreamInp ( cStreamInput stmIn,
cAVSink pSink 
)

◆ ~cAVStreamInp()

GrayLib::cAVStreamInp::~cAVStreamInp ( )
virtual

Member Function Documentation

◆ ProcessPacket()

HRESULT GrayLib::cAVStreamInp::ProcessPacket ( CAVPkt_TYPE  eState,
const void *  pData,
size_t  nSizeData 
)
protectedvirtual

Allow this virtual to be overridden so i can capture p frames.

Returns
<0 = error.

◆ ProcessStreamPacket()

HRESULT GrayLib::cAVStreamInp::ProcessStreamPacket ( )

Read and decode the incoming stream as a single packet.

Returns
0 = wont process non full packet. HResult(FACILITY_WIN32,ERROR_IO_INCOMPLETE) = need more.
Todo:
Can we assume m_pStreamInput is really cStreamQueue ?? avoid double buffer ?

◆ ReadStream()

HRESULT GrayLib::cAVStreamInp::ReadStream ( )
overridevirtual

Read a complete file. process all/multiple packets until done.

Returns
HResult(FACILITY_WIN32,ERROR_IO_INCOMPLETE) = need more.

Implements GrayLib::cAVReader.


The documentation for this class was generated from the following files: