StormByte C++ Library: Multimedia module 0.0.9999
StormByte-Multimedia is a StormByte library module for parsing configuration files
Loading...
Searching...
No Matches
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.
AVSubtitle & operator= (const AVSubtitle &)=delete
 Copy assignment (deleted).
AVSubtitle & operator= (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.

◆ 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: