2026-09-18 06:08:44 +08:00

31 lines
893 B
C

#pragma once
/* service-ingest.h is common between the Amazon IVS service
* and the Twitch streaming service.
*/
#include <file-updater/file-updater.h>
#include <util/threading.h>
struct ingest {
char *name;
char *url;
char *rtmps_url;
};
struct service_ingests {
update_info_t *update_info;
pthread_mutex_t mutex;
bool ingests_refreshed;
bool ingests_refreshing;
bool ingests_loaded;
DARRAY(struct ingest) cur_ingests;
const char *cache_old_filename;
const char *cache_new_filename;
};
void init_service_data(struct service_ingests *si);
void service_ingests_refresh(struct service_ingests *si, int seconds, const char *log_prefix, const char *file_url);
void load_service_data(struct service_ingests *si, const char *cache_filename, struct ingest *def);
void unload_service_data(struct service_ingests *si);
struct ingest get_ingest(struct service_ingests *si, size_t idx);