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
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
char *name[16];
char *value[16];
- int contentlength;
+ uint32_t contentlength;
char *content;
// for requests
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);
#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.