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

#include <cAVBuilder.h>

Public Member Functions

 cAVBuilder (cAVSink *pAVSink)
 
 ~cAVBuilder ()
 
bool isOpen () const noexcept
 
HRESULT OpenAV (float fFrameRate, AV_QUALITY_t wVideoQuality, const cSurfaceBitmapInfo *pVideoFormat, const cWaveFormatEx *pAudioFormat)
 
HRESULT AddFrameVideo (const void *pVideoData, size_t nSize, bool bKeyFrame)
 
HRESULT AddFrameAudio (const void *pAudioData, size_t nSize)
 
HRESULT CloseAV ()
 
void AttachAV (cAVSink *pAVSink) noexcept
 
void DetachAV () noexcept
 
 UNITTEST_FRIEND (cAVBuilder)
 

Detailed Description

Add AV frames to build up an AV stream/file to cAVSink.

Constructor & Destructor Documentation

◆ cAVBuilder()

GrayLib::cAVBuilder::cAVBuilder ( cAVSink pAVSink)

◆ ~cAVBuilder()

GrayLib::cAVBuilder::~cAVBuilder ( )

Member Function Documentation

◆ AddFrameAudio()

HRESULT GrayLib::cAVBuilder::AddFrameAudio ( const void *  pAudioData,
size_t  nSize 
)

Add AV_STREAM_Audio data for the frame time. Assume audio is stream 1, video is stream 0

◆ AddFrameVideo()

HRESULT GrayLib::cAVBuilder::AddFrameVideo ( const void *  pVideoData,
size_t  nSize,
bool  bKeyFrame 
)

store this AV_STREAM_Video frame data. compressed data may be key frame or not.

  • nSize = ASSUME: This frame is supplied at the correct frame rate. May not really matter.

◆ AttachAV()

void GrayLib::cAVBuilder::AttachAV ( cAVSink pAVSink)
inlinenoexcept

◆ CloseAV()

HRESULT GrayLib::cAVBuilder::CloseAV ( )

finish sequence compression. Write the index.

◆ DetachAV()

void GrayLib::cAVBuilder::DetachAV ( )
inlinenoexcept

◆ isOpen()

bool GrayLib::cAVBuilder::isOpen ( ) const
inlinenoexcept

◆ OpenAV()

HRESULT GrayLib::cAVBuilder::OpenAV ( float  fFrameRate,
AV_QUALITY_t  wVideoQuality,
const cSurfaceBitmapInfo pVideoFormat,
const cWaveFormatEx pAudioFormat 
)

Opens the AV stream to some place. starts writing the AV headers

  • fFrameRate = 0 = realtime.
  • nQualityVideo = 0-10000 measure of video quality used by VFW. AV_QUALITY_t
  • pVideoFormat = compressed video info.
  • pAudioFormat = compressed audio format.

◆ UNITTEST_FRIEND()

GrayLib::cAVBuilder::UNITTEST_FRIEND ( cAVBuilder  )

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