ifm3d
ifm3d::rtsp::VideoDecoderFactory Class Referenceabstract

Abstract decoder implementation (factory). More...

#include <ifm3d/rtsp/video_decoder.h>

Public Member Functions

virtual std::string Name () const =0
 Stable, human-readable name (e.g. More...
 
virtual bool IsAvailable () const =0
 Whether this implementation can actually be used on the current system. More...
 
virtual bool SupportsCodec (VideoCodec codec) const =0
 Whether this implementation can decode codec.
 
virtual std::unique_ptr< VideoDecoderCreateDecoder (VideoCodec codec)=0
 Create a decoder for codec, or nullptr if unsupported/unavailable.
 
virtual std::string AvailabilityError () const
 Optional human-readable reason why IsAvailable() is false; empty when the decoder is available.
 

Protected Member Functions

 VideoDecoderFactory (const VideoDecoderFactory &)=default
 
VideoDecoderFactoryoperator= (const VideoDecoderFactory &)=default
 
 VideoDecoderFactory (VideoDecoderFactory &&)=default
 
VideoDecoderFactoryoperator= (VideoDecoderFactory &&)=default
 

Detailed Description

Abstract decoder implementation (factory).

A VideoDecoderFactory is a factory that advertises which codecs it can decode, whether it is usable on the current system, and creates decoder instances.

Member Function Documentation

◆ IsAvailable()

virtual bool ifm3d::rtsp::VideoDecoderFactory::IsAvailable ( ) const
pure virtual

Whether this implementation can actually be used on the current system.

Implementations that depend on optional runtime libraries (e.g. the ffmpeg decoder needs libavcodec) return false when those are missing.

◆ Name()

virtual std::string ifm3d::rtsp::VideoDecoderFactory::Name ( ) const
pure virtual

Stable, human-readable name (e.g.

"ffmpeg", "null").


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