#ifndef VIDEO_H #define VIDEO_H #include #include #include #include #include #include typedef struct VideoPlayer { AVFormatContext* format_ctx; AVCodecContext* codec_ctx; struct SwsContext* sws_ctx; AVFrame* frame; AVFrame* rgba_frame; uint8_t* rgba_buffer; int rgba_buffer_size; int stream_index; int width; int height; int frame_delay_ms; Uint32 next_frame_tick; SDL_Texture* texture; } VideoPlayer; bool has_video_extension(const char* path); bool init_video_player(VideoPlayer* player, SDL_Renderer* renderer, const char* path); void cleanup_video_player(VideoPlayer* player); bool decode_next_frame(VideoPlayer* player); #endif // VIDEO_H