4#include "render/ivideo_player.h"
36 bool setup(SDL_Renderer* renderer,
const std::string& path,
int width,
int height)
override;
75 void setMute(
bool mute)
override;
82 libvlc_instance_t* instance;
83 libvlc_media_player_t* player;
84 SDL_Renderer* renderer;
103 static void* lock(
void* data,
void** pixels);
111 static void unlock(
void* data,
void*
id,
void*
const* pixels);
118 static void display(
void* data,
void*
id);
123 void cleanupContext();
Interface for a video player.
Definition ivideo_player.h:19
Concrete implementation of IVideoPlayer using VLC (libVLC).
Definition vlc_player.h:16
VlcVideoPlayer()
Constructs a VlcVideoPlayer instance.
Definition vlc_player.cpp:11
void stop() override
Stops video playback.
Definition vlc_player.cpp:189
SDL_Texture * getTexture() const override
Retrieves the current video frame as an SDL_Texture.
Definition vlc_player.cpp:230
void setMute(bool mute) override
Sets the mute state for the video's audio track.
Definition vlc_player.cpp:253
void play() override
Starts video playback.
Definition vlc_player.cpp:175
bool isPlaying() const override
Checks if the video is currently playing.
Definition vlc_player.cpp:234
void setVolume(float volume) override
Sets the volume for the video's audio track.
Definition vlc_player.cpp:242
bool setup(SDL_Renderer *renderer, const std::string &path, int width, int height) override
Sets up the VLC video player with the given renderer, path, and dimensions.
Definition vlc_player.cpp:80
~VlcVideoPlayer() override
Destroys the VlcVideoPlayer instance and cleans up VLC resources.
Definition vlc_player.cpp:13
void update() override
Updates the video frame and texture.
Definition vlc_player.cpp:200