arduino-audio-tools
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | List of all members
MuxerVideoSink Class Reference

Print sink that writes each frame it receives to a Muxer's video track via addVideoFrame(), determining a real isKeyFrame value instead of relying on that method's isKeyFrame=true default - via isH264KeyFrame() (Video.h) when the Muxer's video track is VideoFormat::H264, otherwise always true (correct for e.g. MJPEG, where every frame is independently decodable). More...

#include <ContainerCommon.h>

Inheritance diagram for MuxerVideoSink:
Print

Public Member Functions

virtual int availableForWrite ()
 
void begin (Muxer &muxer)
 
virtual void flush ()
 
size_t write (const uint8_t *data, size_t len) override
 
size_t write (uint8_t c) override
 

Protected Attributes

int _timeout = 10
 
Muxerp_muxer = nullptr
 

Detailed Description

Print sink that writes each frame it receives to a Muxer's video track via addVideoFrame(), determining a real isKeyFrame value instead of relying on that method's isKeyFrame=true default - via isH264KeyFrame() (Video.h) when the Muxer's video track is VideoFormat::H264, otherwise always true (correct for e.g. MJPEG, where every frame is independently decodable).

Meant as the setOutput() target for a VideoEncoder whose write() would otherwise stream straight to the Muxer's own generic, format-dispatching write() (which has no isKeyFrame parameter at all) - or for any other already-encoded-frame producer that only has a plain Print to write to.

Author
Phil Schatzmann

Member Function Documentation

◆ availableForWrite()

virtual int availableForWrite ( )
inlinevirtualinherited

◆ begin()

void begin ( Muxer muxer)
inline

◆ flush()

virtual void flush ( )
inlinevirtualinherited

◆ write() [1/2]

size_t write ( const uint8_t *  data,
size_t  len 
)
inlineoverridevirtual

Reimplemented from Print.

◆ write() [2/2]

size_t write ( uint8_t  c)
inlineoverride

Member Data Documentation

◆ _timeout

int _timeout = 10
protectedinherited

◆ p_muxer

Muxer* p_muxer = nullptr
protected

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