Add hw acceleration, improve video performance

This commit is contained in:
markmental 2026-03-27 23:19:42 -04:00
commit 7c5d82e124
13 changed files with 273 additions and 72 deletions

View file

@ -13,7 +13,7 @@ typedef struct Player {
SDL_atomic_t stop_requested;
const ChannelList *channels;
int current_index;
time_t app_start_time;
Uint64 app_start_ticks;
Uint32 tuning_blackout_until;
SDL_AudioDeviceID audio_device;
SDL_AudioSpec audio_spec;
@ -29,13 +29,13 @@ typedef struct Player {
char last_error[256];
} Player;
int player_init(Player *player, const ChannelList *channels, time_t app_start_time);
int player_init(Player *player, const ChannelList *channels, Uint64 app_start_ticks);
void player_destroy(Player *player);
int player_tune(Player *player, int channel_index);
int player_consume_latest_frame(Player *player, FrameData *out);
int player_consume_synced_frame(Player *player, FrameData *out, double clock_seconds, double lead_tolerance);
double player_live_position(const Player *player, time_t now);
double player_get_sync_clock(Player *player, time_t now);
double player_live_position(const Player *player, Uint64 now_ticks);
double player_get_sync_clock(Player *player, Uint64 now_ticks);
void player_set_catchup_until(Player *player, Uint32 tick);
int player_is_in_blackout(const Player *player);
void player_resume_audio(Player *player);