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
+6 -2
View File
@@ -73,15 +73,19 @@ class ProgressReports {
public:
explicit ProgressReports(const std::string &path);
ProgressReports() = default;
void setSingleFile(const std::string &path);
void registerFile(const std::string &identity, const std::string &path);
void registerFiles(const char *const *identities, const char *const *paths, int count);
void begin(const std::string &identity, bool live = false) noexcept;
void observe(const PlayerState &state) noexcept { if (active) active->observe(state); }
void closeMedia() noexcept { if (active) active->closeMedia(); }
void observe(const PlayerState &state) noexcept;
void closeMedia() noexcept;
void finish() noexcept;
std::string error() const;
private:
struct Entry { std::string path; std::unique_ptr<ProgressReporter> reporter; };
std::unique_ptr<ProgressReporter> single;
std::string singlePath;
std::string singleIdentity;
std::map<std::string, Entry> entries;
std::set<std::string> paths;
ProgressReporter *active = nullptr;