feat: enqueue streams in running player

This commit is contained in:
2026-10-22 16:03:56 +02:00
parent ac8e284d80
commit 6a4afc9f0e
17 changed files with 416 additions and 61 deletions
+5 -3
View File
@@ -40,9 +40,11 @@ Player *player_create(void);
// Opt-in reporting must be initialized before opening media. Creates a new 0600
// file exclusively; errors never change playback state. Error buffers hold 512 bytes.
bool player_set_progress_file(Player *player, const char *path, char *error);
// Register immutable queue destinations before opening any media. Each path is new;
// revisits append only to the original owned inode, and unmatched identities are not reported.
bool player_register_progress_file(Player *player, const char *identity, const char *path, char *error);
// Register immutable queue destinations without changing current playback. Each path is new;
// revisits append only to the original owned inode. Conflicting identities/paths are rejected.
// Atomic batch: all registrations succeed or none do. Strings are copied before returning.
bool player_register_progress_files(Player *player, const char *const *identities,
const char *const *paths, int count, char *error);
bool player_get_progress_error(Player *player, char *error);
// Stops the worker and drains final reporting, allowing errors to be shown before
// destroying the handle. Idempotent; do not call from an audio callback.