Sunshine0.0.5917
Sunshine 0.0.5917
Self-hosted game stream host for Moonlight.
Loading...
Searching...
No Matches
audio::ffmpeg_audio_encoder_t Class Reference

Encode one interleaved stereo or 5.1 float PCM frame as an AC-3-family access unit. More...

Public Member Functions

int encode (const std::vector< float > &interleaved, buffer_t &output)
 Encode an interleaved floating-point PCM frame into a Dolby access unit.
 ffmpeg_audio_encoder_t (const ffmpeg_audio_encoder_t &)=delete
 ffmpeg_audio_encoder_t (ffmpeg_audio_encoder_t &&)=delete
bool initialize (AVCodecID codec_id, std::int64_t bit_rate, int channels)
 Initialize the selected FFmpeg encoder for stereo or 5.1 PCM.
ffmpeg_audio_encoder_t & operator= (const ffmpeg_audio_encoder_t &)=delete
ffmpeg_audio_encoder_t & operator= (ffmpeg_audio_encoder_t &&)=delete

Detailed Description

Encode one interleaved stereo or 5.1 float PCM frame as an AC-3-family access unit.

Member Function Documentation

◆ encode()

int audio::ffmpeg_audio_encoder_t::encode ( const std::vector< float > & interleaved,
buffer_t & output )
inline

Encode an interleaved floating-point PCM frame into a Dolby access unit.

Parameters
interleavedInterleaved float PCM samples for one complete frame.
outputDestination buffer for the encoded access unit.
Returns
Encoded access-unit size in bytes, or -1 if input validation or encoding fails.

◆ initialize()

bool audio::ffmpeg_audio_encoder_t::initialize ( AVCodecID codec_id,
std::int64_t bit_rate,
int channels )
inline

Initialize the selected FFmpeg encoder for stereo or 5.1 PCM.

Parameters
codec_idFFmpeg codec identifier for AC-3 or E-AC-3.
bit_rateTarget encoded bitrate in bits per second.
channelsNumber of channels; only 2 and 6 are supported.
Returns
True if the encoder context and frame buffers initialize successfully.

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