minor updates in preparation for coding playlist removal/insertion

This commit is contained in:
F. Duncanh
2025-11-13 17:00:16 -05:00
parent dae1ed108f
commit 5afbdde169
8 changed files with 27 additions and 17 deletions

View File

@@ -52,7 +52,7 @@ struct airplay_video_s {
};
// initialize airplay_video service.
airplay_video_t *airplay_video_service_init(raop_t *raop, unsigned short http_port,
airplay_video_t *airplay_video_init(raop_t *raop, unsigned short http_port,
const char *lang, const char *session_id) {
char uri[] = "http://localhost:xxxxx";
assert(raop);
@@ -96,7 +96,7 @@ airplay_video_t *airplay_video_service_init(raop_t *raop, unsigned short http_po
// destroy the airplay_video service
void
airplay_video_service_destroy(airplay_video_t *airplay_video)
airplay_video_destroy(airplay_video_t *airplay_video)
{
if (airplay_video->uri_prefix) {

View File

@@ -52,7 +52,7 @@ char *get_media_playlist(airplay_video_t *airplay_video, const char *uri);
void destroy_media_data_store(airplay_video_t *airplay_video);
void create_media_data_store(airplay_video_t * airplay_video, char ** media_data_store, int num_uri);
void airplay_video_service_destroy(airplay_video_t *airplay_video);
void airplay_video_destroy(airplay_video_t *airplay_video);
// C wrappers for c++ class MediaDataStore
//create the media_data_store, return a pointer to it.

View File

@@ -98,7 +98,7 @@ http_handler_server_info(raop_conn_t *conn, http_request_t *request, http_respon
exit(1);
}
airplay_video_t *airplay_video = airplay_video_service_init(conn->raop, conn->raop->port, conn->raop->lang, session_id);
airplay_video_t *airplay_video = airplay_video_init(conn->raop, conn->raop->port, conn->raop->lang, session_id);
if (airplay_video) {
conn->raop->current_video = id;
conn->raop->airplay_video[id] = airplay_video;

View File

@@ -657,7 +657,7 @@ raop_init2(raop_t *raop, int nohold, const char *device_id, const char *keyfile)
void
raop_destroy(raop_t *raop) {
if (raop) {
raop_destroy_airplay_video(raop);
raop_destroy_airplay_video(raop, -1);
raop_stop_httpd(raop);
pairing_destroy(raop->pairing);
httpd_destroy(raop->httpd);
@@ -820,10 +820,14 @@ void raop_remove_hls_connections(raop_t * raop) {
httpd_remove_connections_by_type(raop->httpd, CONNECTION_TYPE_AIRPLAY);
}
void raop_destroy_airplay_video(raop_t *raop) {
void raop_destroy_airplay_video(raop_t *raop, int id) {
assert (id < MAX_AIRPLAY_VIDEO);
for (int i = 0; i < MAX_AIRPLAY_VIDEO; i++) {
if (id >= 0 && id != i) {
continue;
}
if (raop->airplay_video[i]) {
airplay_video_service_destroy(raop->airplay_video[i]);
airplay_video_destroy(raop->airplay_video[i]);
raop->airplay_video[i] = NULL;
}
}

View File

@@ -105,7 +105,7 @@ raop_ntp_t *raop_ntp_init(logger_t *logger, raop_callbacks_t *callbacks, const c
int remote_addr_len, unsigned short timing_rport,
timing_protocol_t *time_protocol);
airplay_video_t *airplay_video_service_init(raop_t *raop, unsigned short port, const char *lang, const char *session_id);
airplay_video_t *airplay_video_init(raop_t *raop, unsigned short port, const char *lang, const char *session_id);
char *raop_get_lang(raop_t *raop);
uint64_t get_local_time();
@@ -127,7 +127,7 @@ RAOP_API void raop_set_dnssd(raop_t *raop, dnssd_t *dnssd);
RAOP_API void raop_destroy(raop_t *raop);
RAOP_API void raop_remove_known_connections(raop_t * raop);
RAOP_API void raop_remove_hls_connections(raop_t * raop);
RAOP_API void raop_destroy_airplay_video(raop_t *raop);
RAOP_API void raop_destroy_airplay_video(raop_t *raop, int id);
#ifdef __cplusplus
}