- 48,000 frames per second operation, - 48k lossless stereo, 5.1 and 7.1 surround sound - Multichannel and multi rate operation on ALSA, PipeWire, PulseAudio, FreeBSD, stdout and unix pipe output backends. Automatic, flexible and controllable output format (rate, sample format and channel count) selection. Full FFmpeg integration to support transcoding, resampling, and new audio formats. Better operation on lower powered devices down to e.g. Raspberry Pi B. Reduced Docker image sizes with a slimmed-down FFmpeg library. Enhanced timestamp handling for better synchronization. Improved the sync error calculation. A new "vernier" resampling and interpolation method for low-power CPUs. Bug fixes and minor enhancements. Note -- there are many breaking changes from previous versions of Shairport Sync!
39 lines
1.3 KiB
C
39 lines
1.3 KiB
C
#ifndef _RTP_H
|
|
#define _RTP_H
|
|
|
|
#include <sys/socket.h>
|
|
|
|
#include "player.h"
|
|
|
|
void rtp_initialise(rtsp_conn_info *conn);
|
|
void rtp_terminate(rtsp_conn_info *conn);
|
|
|
|
void *rtp_audio_receiver(void *arg);
|
|
void *rtp_control_receiver(void *arg);
|
|
void *rtp_timing_receiver(void *arg);
|
|
|
|
void rtp_setup(SOCKADDR *local, SOCKADDR *remote, uint16_t controlport, uint16_t timingport,
|
|
rtsp_conn_info *conn);
|
|
void rtp_request_resend(seq_t first, uint32_t count, rtsp_conn_info *conn);
|
|
void rtp_request_client_pause(rtsp_conn_info *conn); // ask the client to pause
|
|
|
|
void reset_anchor_info(rtsp_conn_info *conn);
|
|
|
|
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
|