mirror of
https://github.com/morgan9e/UxPlay
synced 2026-04-14 00:04:13 +09:00
fix storage of uri_prefix
This commit is contained in:
@@ -144,15 +144,14 @@ const char *get_playback_uuid(airplay_video_t *airplay_video) {
|
||||
return (const char *) airplay_video->playback_uuid;
|
||||
}
|
||||
|
||||
void set_uri_prefix(airplay_video_t *airplay_video, char *uri_prefix, int uri_prefix_len) {
|
||||
void set_uri_prefix(airplay_video_t *airplay_video, char *uri_prefix) {
|
||||
if (airplay_video->uri_prefix) {
|
||||
free (airplay_video->uri_prefix);
|
||||
}
|
||||
airplay_video->uri_prefix = (char *) calloc(uri_prefix_len + 1, sizeof(char));
|
||||
memcpy(airplay_video->uri_prefix, uri_prefix, uri_prefix_len);
|
||||
airplay_video->uri_prefix = uri_prefix;
|
||||
}
|
||||
|
||||
char *get_uri_prefix(airplay_video_t *airplay_video) {
|
||||
const char *get_uri_prefix(airplay_video_t *airplay_video) {
|
||||
return airplay_video->uri_prefix;
|
||||
}
|
||||
|
||||
@@ -509,7 +508,7 @@ int create_media_uri_table(const char *url_prefix, const char *master_playlist_d
|
||||
|
||||
/* Adjust uri prefixes in the Master Playlist, for sending to the Media Player */
|
||||
char *adjust_master_playlist (char *fcup_response_data, int fcup_response_datalen,
|
||||
char *uri_prefix, char *uri_local_prefix) {
|
||||
const char *uri_prefix, char *uri_local_prefix) {
|
||||
size_t uri_prefix_len = strlen(uri_prefix);
|
||||
size_t uri_local_prefix_len = strlen(uri_local_prefix);
|
||||
int counter = 0;
|
||||
|
||||
@@ -33,8 +33,8 @@ float get_start_position_seconds(airplay_video_t *airplay_video);
|
||||
float get_resume_position_seconds(airplay_video_t *airplay_video);
|
||||
void set_playback_uuid(airplay_video_t *airplay_video, const char *playback_uuid);
|
||||
const char *get_playback_uuid(airplay_video_t *airplay_video);
|
||||
void set_uri_prefix(airplay_video_t *airplay_video, char *uri_prefix, int uri_prefix_len);
|
||||
char *get_uri_prefix(airplay_video_t *airplay_video);
|
||||
void set_uri_prefix(airplay_video_t *airplay_video, char *uri_prefix);
|
||||
const char *get_uri_prefix(airplay_video_t *airplay_video);
|
||||
char *get_uri_local_prefix(airplay_video_t *airplay_video);
|
||||
|
||||
int get_next_FCUP_RequestID(airplay_video_t *airplay_video);
|
||||
@@ -67,7 +67,7 @@ void media_data_store_destroy(void *media_data_store);
|
||||
// called by the POST /action handler:
|
||||
char *process_media_data(void *media_data_store, const char *url, const char *data, int datalen);
|
||||
char *adjust_master_playlist (char *fcup_response_data, int fcup_response_datalen,
|
||||
char *uri_prefix, char *uri_local_prefix);
|
||||
const char *uri_prefix, char *uri_local_prefix);
|
||||
char *adjust_yt_condensed_playlist(const char *media_playlist);
|
||||
|
||||
//called by the POST /play handler
|
||||
|
||||
@@ -575,7 +575,7 @@ http_handler_action(raop_conn_t *conn, http_request_t *request, http_response_t
|
||||
char *ptr = strstr(fcup_response_url, "/master.m3u8");
|
||||
if (ptr) {
|
||||
/* this is a master playlist */
|
||||
char *uri_prefix = get_uri_prefix(airplay_video);
|
||||
const char *uri_prefix = get_uri_prefix(airplay_video);
|
||||
char ** uri_list = NULL;
|
||||
int num_uri = 0;
|
||||
char *uri_local_prefix = get_uri_local_prefix(airplay_video);
|
||||
@@ -741,9 +741,12 @@ http_handler_play(raop_conn_t *conn, http_request_t *request, http_response_t *r
|
||||
if (!ptr) {
|
||||
logger_log(conn->raop->logger, LOGGER_ERR, "Content-Location has unsupported form:\n%s\n", playback_location);
|
||||
goto play_error;
|
||||
} else {
|
||||
int prefix_len = (int) (ptr - playback_location);
|
||||
char *uri_prefix = (char *) calloc(prefix_len + 1, sizeof(char));
|
||||
memcpy(uri_prefix, playback_location, prefix_len);
|
||||
set_uri_prefix(airplay_video, uri_prefix);
|
||||
}
|
||||
int prefix_len = (int) (ptr - playback_location);
|
||||
set_uri_prefix(airplay_video, playback_location, prefix_len);
|
||||
set_next_media_uri_id(airplay_video, 0);
|
||||
fcup_request((void *) conn, playback_location, apple_session_id, get_next_FCUP_RequestID(airplay_video));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user