handle POST audioMode RTSP request

This commit is contained in:
F. Duncanh
2025-08-30 13:27:39 -04:00
parent 5084d2f8e7
commit 94a7733d7e
2 changed files with 22 additions and 3 deletions

View File

@@ -363,10 +363,8 @@ conn_request(void *ptr, http_request_t *request, http_response_t **response) {
handler = &raop_handler_pairverify;
} else if (!strcmp(url, "/fp-setup")) {
handler = &raop_handler_fpsetup;
} else if (!strcmp(url, "/getProperty")) {
handler = &http_handler_get_property;
} else if (!strcmp(url, "/audioMode")) {
//handler = &http_handler_audioMode;
handler = &raop_handler_audiomode;
}
} else if (!strcmp(method, "GET")) {
if (!strcmp(url, "/info")) {

View File

@@ -1116,6 +1116,27 @@ raop_handler_set_parameter(raop_conn_t *conn,
}
}
static void
raop_handler_audiomode(raop_conn_t *conn,
http_request_t *request, http_response_t *response,
char **response_data, int *response_datalen)
{
const char *data = NULL;
char *audiomode = NULL;
int data_len;
data = http_request_get_data(request, &data_len);
plist_t req_root_node = NULL;
plist_from_bin(data, data_len, &req_root_node);
plist_t req_audiomode_node = plist_dict_get_item(req_root_node, "audioMode");
plist_get_string_val(req_audiomode_node, &audiomode);
/* not sure what should be done with this request: usually audioMode requested is "default" */
int log_level = (strstr(audiomode, "default") ? LOGGER_DEBUG : LOGGER_INFO);
logger_log(conn->raop->logger, log_level, "Unhandled RTSP request \"audioMode: %s\"", audiomode);
if (audiomode) {
free(audiomode);
}
plist_free(req_root_node);
}
static void
raop_handler_feedback(raop_conn_t *conn,