ifm3d
ifm3d::rtsp::VideoDecoder Class Referenceabstract

Abstract H.264 (etc.) video decoder. More...

#include <ifm3d/rtsp/video_decoder.h>

Public Member Functions

virtual int SendPacket (const std::uint8_t *data, int size)=0
 Push one unit of compressed data into the decoder. More...
 
virtual int ReceiveFrame (VideoFrame &out)=0
 Pull a decoded frame. More...
 
virtual int Flush ()
 Optional: flush buffered frames at end-of-stream.
 
virtual std::string LastError () const
 Optional: a human-readable description of the last error.
 

Protected Member Functions

 VideoDecoder (const VideoDecoder &)=default
 
VideoDecoderoperator= (const VideoDecoder &)=default
 
 VideoDecoder (VideoDecoder &&)=default
 
VideoDecoderoperator= (VideoDecoder &&)=default
 

Detailed Description

Abstract H.264 (etc.) video decoder.

Instances are created through VideoDecoderFactory::CreateDecoder and owned by the caller (via std::unique_ptr).

Member Function Documentation

◆ ReceiveFrame()

virtual int ifm3d::rtsp::VideoDecoder::ReceiveFrame ( VideoFrame out)
pure virtual

Pull a decoded frame.

Returns
1 = frame ready in out, 0 = need more input, negative = error.

◆ SendPacket()

virtual int ifm3d::rtsp::VideoDecoder::SendPacket ( const std::uint8_t *  data,
int  size 
)
pure virtual

Push one unit of compressed data into the decoder.

Returns
0 on success, negative on error.

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