X-Git-Url: https://git.distorted.org.uk/~mdw/disorder/blobdiff_plain/6d2d327ca57fefaddceba10eb323451f8150e95d..a9f0ad12d639cdb5186f0482d2856278b41671a2:/server/speaker.h diff --git a/server/speaker.h b/server/speaker.h index 9a48ca6..ae4eac3 100644 --- a/server/speaker.h +++ b/server/speaker.h @@ -47,9 +47,13 @@ /** @brief Bytes to send per network packet * + * This is the maximum number of bytes we pass to write(2); to determine actual + * packet sizes, add a UDP header and an IP header (and a link layer header if + * it's the link layer size you care about). + * * Don't make this too big or arithmetic will start to overflow. */ -#define NETWORK_BYTES (1024+sizeof(struct rtp_header)) +#define NETWORK_BYTES (1500-8/*UDP*/-40/*IP*/-8/*conservatism*/) /** @brief Maximum RTP playahead (ms) */ #define RTP_AHEAD_MS 1000 @@ -135,11 +139,9 @@ struct speaker_backend { * If it is @ref device_closed then the device should be opened with * the right sample format. * - * Some devices are effectively always open and have no error state, - * in which case this callback can be NULL. In this case @ref - * FIXED_FORMAT must be set. Note that @ref device_state still - * switches between @ref device_open and @ref device_closed in this - * case. + * Some devices are effectively always open and have no error state, in which + * case this callback can be NULL. Note that @ref device_state still + * switches between @ref device_open and @ref device_closed in this case. */ void (*activate)(void); @@ -214,6 +216,8 @@ extern struct track *playing; extern const struct speaker_backend network_backend; extern const struct speaker_backend alsa_backend; extern const struct speaker_backend command_backend; +extern const struct speaker_backend coreaudio_backend; +extern const struct speaker_backend oss_backend; extern struct pollfd fds[NFDS]; extern int fdno;