]> git.ipfire.org Git - thirdparty/shairport-sync.git/commitdiff
Compiles in AirPlay2 and AirPlay1 modes. Runs in AirPlay1 mode. Not tested in AirPla...
authorMike Brady <4265913+mikebrady@users.noreply.github.com>
Fri, 30 Apr 2021 11:40:52 +0000 (12:40 +0100)
committerMike Brady <4265913+mikebrady@users.noreply.github.com>
Fri, 30 Apr 2021 11:40:52 +0000 (12:40 +0100)
player.h
rtp.h
rtsp.c

index 6c88a1c823efe51891ea127e6602aa6e5cf4a2a9..849860fd556e93df74ee306d9f7ddd055e153f06 100644 (file)
--- a/player.h
+++ b/player.h
@@ -287,6 +287,8 @@ typedef struct {
   uint64_t type;
   uint64_t networkTimeTimelineID;           // the clock ID used by the player
 
+  char *ap2_timing_peer_list_message;
+
 #endif
 
   // used as the initials values for calculating the rate at which the source thinks it's sending
diff --git a/rtp.h b/rtp.h
index 4d5f778f7b666989e065a51f0402358ac4837f80..d0a0ed012b80a3433c62b0637d023f5c44a41e02 100644 (file)
--- a/rtp.h
+++ b/rtp.h
@@ -24,4 +24,15 @@ int have_timestamp_timing_information(rtsp_conn_info *conn);
 int frame_to_local_time(uint32_t timestamp, uint64_t *time, rtsp_conn_info *conn);
 int local_time_to_frame(uint64_t time, uint32_t *frame, rtsp_conn_info *conn);
 
+#ifdef CONFIG_AIRPLAY_2
+void *rtp_event_receiver(void *arg);
+void *rtp_ap2_control_receiver(void *arg);
+void *rtp_realtime_audio_receiver(void *arg);
+void *rtp_buffered_audio_processor(void *arg);
+void *rtp_ap2_timing_receiver(void *arg);
+void *rtp_ap2_general_message_timing_receiver(void *arg);
+void set_ptp_anchor_info(rtsp_conn_info *conn, uint64_t clock_id, uint32_t rtptime,
+                     uint64_t networktime);
+#endif
+
 #endif // _RTP_H
diff --git a/rtsp.c b/rtsp.c
index 327f1770e64963bf77ab61d73e2be1c35a6d8552..f107420a2ee977dede6c798a37cf7aec633215c4 100644 (file)
--- a/rtsp.c
+++ b/rtsp.c
@@ -150,7 +150,7 @@ typedef struct {
   char *name[16];
   char *value[16];
 
-  int contentlength;
+  uint32_t contentlength;
   char *content;
 
   // for requests
@@ -1509,9 +1509,6 @@ void handle_get_info(__attribute((unused)) rtsp_conn_info *conn, rtsp_message *r
                      rtsp_message *resp) {
   if (rtsp_message_contains_plist(req)) { // it's stage one
 
-    resp->close_on_response = 0;
-    resp->suppress_crlf = 0;
-
     plist_t info_plist = NULL;
     plist_from_memory(req->content, req->contentlength, &info_plist);
 
@@ -2268,8 +2265,6 @@ void handle_flush(rtsp_conn_info *conn, rtsp_message *req, rtsp_message *resp) {
 #ifdef CONFIG_AIRPLAY_2
 void handle_setup_2(rtsp_conn_info *conn, rtsp_message *req, rtsp_message *resp) {
   int err;
-  resp->close_on_response = 0;
-  resp->suppress_crlf = 0;
   debug(2, "Connection %d: SETUP (AirPlay 2)", conn->connection_number);
 
   // we need to get the timing peer interfaces.