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,
}
/*
* 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
*/
static void
fill_time_buffer_with_time(unsigned char *buffer, struct timeval *tout)
{
unsigned long secs_to_baseline = 964697997;
int iter;
double fraction;
unsigned long long_fraction;
unsigned long secs;
......@@ -389,12 +400,8 @@ fill_time_buffer_with_time(unsigned char *buffer, struct timeval *tout)
fraction = ((double) tout->tv_usec) / 1000000.0;
long_fraction = (unsigned long) (fraction * 256.0 * 256.0 * 256.0 * 256.0);
secs = secs_to_baseline + tout->tv_sec;
for (iter = 0; iter < 4; iter++) {
buffer[iter] = (secs >> ((3 - iter) * 8)) & 0xff;
}
for (iter = 0; iter < 4; iter++) {
buffer[4 + iter] = (long_fraction >> ((3 - iter) * 8)) & 0xff;
}
fill_int(buffer, secs);
fill_int(buffer + 4, long_fraction);
}
/*
......@@ -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.
*/
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