StormByte C++ Library: Multimedia module 0.0.9999
StormByte-Multimedia is a StormByte library module for parsing configuration files
Loading...
Searching...
No Matches
Public Member Functions | Friends | List of all members
StormByte::Multimedia::FFmpeg::AVSubtitle Class Reference

RAII wrapper for AVSubtitle (avsubtitle_free). More...

#include <StormByte/multimedia/ffmpeg/AVSubtitle.hxx>

Public Member Functions

 AVSubtitle () noexcept
 Empty subtitle.
 
 AVSubtitle (const AVSubtitle &)=delete
 Copy constructor (deleted).
 
 AVSubtitle (AVSubtitle &&other) noexcept
 Move constructor.
 
 ~AVSubtitle () noexcept
 Destructor.
 
AVSubtitleoperator= (const AVSubtitle &)=delete
 Copy assignment (deleted).
 
AVSubtitleoperator= (AVSubtitle &&other) noexcept
 Move assignment.
 
std::int64_t Pts () const noexcept
 Presentation timestamp in AV_TIME_BASE.
 
std::uint32_t DisplayDurationMs () const noexcept
 Display duration in milliseconds.
 
std::string Text () const noexcept
 Concatenated text / ASS from rects.
 
void FillText (std::string text, std::int64_t pts, std::uint32_t duration_ms, bool ass) noexcept
 Builds one text or ASS rectangle for encoding.
 
void Free () noexcept
 Releases rects (avsubtitle_free).
 

Friends

class AVDecoder
 
class AVEncoder
 
std::optional< StormByte::Multimedia::OCR::GrayBitmap > StormByte::Multimedia::OCR::GrayFromSubtitle (const AVSubtitle &sub) noexcept
 

Detailed Description

RAII wrapper for AVSubtitle (avsubtitle_free).

Constructor & Destructor Documentation

◆ AVSubtitle() [1/3]

StormByte::Multimedia::FFmpeg::AVSubtitle::AVSubtitle ( )
noexcept

Empty subtitle.

◆ AVSubtitle() [2/3]

StormByte::Multimedia::FFmpeg::AVSubtitle::AVSubtitle ( const AVSubtitle )
delete

Copy constructor (deleted).

◆ AVSubtitle() [3/3]

StormByte::Multimedia::FFmpeg::AVSubtitle::AVSubtitle ( AVSubtitle &&  other)
noexcept

Move constructor.

Parameters
otherSource subtitle.

◆ ~AVSubtitle()

StormByte::Multimedia::FFmpeg::AVSubtitle::~AVSubtitle ( )
noexcept

Destructor.

Member Function Documentation

◆ DisplayDurationMs()

std::uint32_t StormByte::Multimedia::FFmpeg::AVSubtitle::DisplayDurationMs ( ) const
noexcept

Display duration in milliseconds.

Returns
end_display_time - start_display_time, or 0.

◆ FillText()

void StormByte::Multimedia::FFmpeg::AVSubtitle::FillText ( std::string  text,
std::int64_t  pts,
std::uint32_t  duration_ms,
bool  ass 
)
noexcept

Builds one text or ASS rectangle for encoding.

Parameters
textCue body.
ptsTimestamp in AV_TIME_BASE.
duration_msDisplay window in milliseconds.
asstrue writes SUBTITLE_ASS, false writes SUBTITLE_TEXT.

◆ Free()

void StormByte::Multimedia::FFmpeg::AVSubtitle::Free ( )
noexcept

Releases rects (avsubtitle_free).

◆ operator=() [1/2]

AVSubtitle & StormByte::Multimedia::FFmpeg::AVSubtitle::operator= ( AVSubtitle &&  other)
noexcept

Move assignment.

Parameters
otherSource subtitle.
Returns
*this.

◆ operator=() [2/2]

AVSubtitle & StormByte::Multimedia::FFmpeg::AVSubtitle::operator= ( const AVSubtitle )
delete

Copy assignment (deleted).

Returns
*this.

◆ Pts()

std::int64_t StormByte::Multimedia::FFmpeg::AVSubtitle::Pts ( ) const
noexcept

Presentation timestamp in AV_TIME_BASE.

Returns
PTS, or AV_NOPTS_VALUE.

◆ Text()

std::string StormByte::Multimedia::FFmpeg::AVSubtitle::Text ( ) const
noexcept

Concatenated text / ASS from rects.

Returns
UTF-8 text, or empty.

Friends And Related Symbol Documentation

◆ AVDecoder

friend class AVDecoder
friend

◆ AVEncoder

friend class AVEncoder
friend

◆ StormByte::Multimedia::OCR::GrayFromSubtitle

std::optional< StormByte::Multimedia::OCR::GrayBitmap > StormByte::Multimedia::OCR::GrayFromSubtitle ( const AVSubtitle sub)
friend

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