blob: 29817c8b5f6f8d708fc75860adb3cc52276cb925 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
#pragma once
#include <stdint.h>
#include <SDL.h>
typedef struct mpv_handle mpv_handle;
typedef struct mpv_render_context mpv_render_context;
class Mpv {
public:
Mpv() = default;
~Mpv();
bool create(bool use_system_mpv_config, const char *profile = "gpu-hq");
bool destroy();
bool load_file(const char *path);
// |width| and |ħeight| are set to 0 unless there is an event to reconfigure video size
void on_event(SDL_Event &event, bool *render_update, int64_t *width, int64_t *height, bool *quit, int *error);
void seek(double seconds);
void toggle_pause();
void draw(unsigned int framebuffer_id, int width, int height);
bool created = false;
uint32_t wakeup_on_mpv_render_update = -1;
uint32_t wakeup_on_mpv_events = -1;
mpv_handle *mpv = nullptr;
mpv_render_context *mpv_gl = nullptr;
bool paused = false;
};
|