4#include <SDL2/SDL_audio.h>
60 bool setup(AVFormatContext* formatContext);
139 AVCodecContext* audioCodecContext_;
140 AVFrame* audioFrame_;
141 AVPacket* audioPacket_;
142 SwrContext* swrContext_;
143 AVAudioFifo* audioFifo_;
144 int audioStreamIndex_;
145 SDL_AudioDeviceID audioDevice_;
146 SDL_AudioSpec audioSpec_;
147 float currentVolume_;
Decodes and plays audio streams using FFmpeg and SDL.
Definition audio_decoder.h:34
void fillAudioStream(Uint8 *stream, int len)
Fills the SDL audio stream buffer with decoded audio.
Definition audio_decoder.cpp:240
bool decodeAudioFrame()
Decodes the next audio frame.
Definition audio_decoder.cpp:166
void setMute(bool mute)
Toggles the mute state.
Definition audio_decoder.cpp:291
~AudioDecoder()
Destroys the AudioDecoder instance and cleans up resources.
Definition audio_decoder.cpp:25
bool setup(AVFormatContext *formatContext)
Sets up the audio decoder with a format context.
Definition audio_decoder.cpp:29
void stop()
Stops audio playback.
Definition audio_decoder.cpp:140
void flush()
Flushes the decoder buffers.
Definition audio_decoder.cpp:296
void setVolume(float volume)
Sets the audio volume.
Definition audio_decoder.cpp:279
static void SDLAudioCallback(void *userdata, Uint8 *stream, int len)
SDL audio callback function.
Definition audio_decoder.cpp:274
void play()
Starts audio playback.
Definition audio_decoder.cpp:133
void update()
Updates the audio buffer by decoding frames.
Definition audio_decoder.cpp:151
Implements video and audio playback using FFmpeg.
Definition ffmpeg_player.h:30