Commit 08b88714 authored by Max Kellermann's avatar Max Kellermann

output/raop: use fill_int() in fill_time_...()

Eliminate duplicate code.
parent bcaff4b8
...@@ -375,13 +375,24 @@ get_tcp_connect_by_host(int sd, const char *host, short destport, ...@@ -375,13 +375,24 @@ get_tcp_connect_by_host(int sd, const char *host, short destport,
} }
/* /*
* Calculate the current NTP time, store it in the buffer.
*/
static void
fill_int(unsigned char *buffer, unsigned int rtp_time)
{
int iter;
for (iter = 0; iter < 4; iter++) {
buffer[iter] = (rtp_time >> ((3 - iter) * 8)) & 0xff;
}
}
/*
* Store time in the NTP format in the buffer * Store time in the NTP format in the buffer
*/ */
static void static void
fill_time_buffer_with_time(unsigned char *buffer, struct timeval *tout) fill_time_buffer_with_time(unsigned char *buffer, struct timeval *tout)
{ {
unsigned long secs_to_baseline = 964697997; unsigned long secs_to_baseline = 964697997;
int iter;
double fraction; double fraction;
unsigned long long_fraction; unsigned long long_fraction;
unsigned long secs; unsigned long secs;
...@@ -389,12 +400,8 @@ fill_time_buffer_with_time(unsigned char *buffer, struct timeval *tout) ...@@ -389,12 +400,8 @@ fill_time_buffer_with_time(unsigned char *buffer, struct timeval *tout)
fraction = ((double) tout->tv_usec) / 1000000.0; fraction = ((double) tout->tv_usec) / 1000000.0;
long_fraction = (unsigned long) (fraction * 256.0 * 256.0 * 256.0 * 256.0); long_fraction = (unsigned long) (fraction * 256.0 * 256.0 * 256.0 * 256.0);
secs = secs_to_baseline + tout->tv_sec; secs = secs_to_baseline + tout->tv_sec;
for (iter = 0; iter < 4; iter++) { fill_int(buffer, secs);
buffer[iter] = (secs >> ((3 - iter) * 8)) & 0xff; fill_int(buffer + 4, long_fraction);
}
for (iter = 0; iter < 4; iter++) {
buffer[4 + iter] = (long_fraction >> ((3 - iter) * 8)) & 0xff;
}
} }
/* /*
...@@ -410,18 +417,6 @@ fill_time_buffer(unsigned char *buffer) ...@@ -410,18 +417,6 @@ fill_time_buffer(unsigned char *buffer)
} }
/* /*
* Calculate the current NTP time, store it in the buffer.
*/
static void
fill_int(unsigned char *buffer, unsigned int rtp_time)
{
int iter;
for (iter = 0; iter < 4; iter++) {
buffer[iter] = (rtp_time >> ((3 - iter) * 8)) & 0xff;
}
}
/*
* Recv the NTP datagram from the AirTunes, send back an NTP response. * Recv the NTP datagram from the AirTunes, send back an NTP response.
*/ */
static bool static bool
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment