simplified call to raop_buffer_enqueue: packet contains rtp_timestamp

This commit is contained in:
fduncanh
2022-06-11 02:24:44 -04:00
parent dc103af6f3
commit f0b1e3d737
3 changed files with 10 additions and 8 deletions

View File

@@ -207,14 +207,16 @@ raop_buffer_decrypt(raop_buffer_t *raop_buffer, unsigned char *data, unsigned ch
}
int
raop_buffer_enqueue(raop_buffer_t *raop_buffer, unsigned char *data, unsigned short datalen, uint32_t timestamp, int use_seqnum) {
raop_buffer_enqueue(raop_buffer_t *raop_buffer, unsigned char *data, unsigned short datalen, int use_seqnum) {
unsigned char empty_packet_marker[] = { 0x00, 0x68, 0x34, 0x00 };
assert(raop_buffer);
/* Check packet data length is valid */
if (datalen < 12 || datalen > RAOP_PACKET_LEN) {
return -1;
}
if (datalen == 16 && data[12] == 0x0 && data[13] == 0x68 && data[14] == 0x34 && data[15] == 0x0) {
/* before time is synchronized, some empty data packets are sent */
if (datalen == 16 && !memcmp(&data[12], empty_packet_marker, 4)) {
return 0;
}
int payload_size = datalen - 12;
@@ -246,7 +248,7 @@ raop_buffer_enqueue(raop_buffer_t *raop_buffer, unsigned char *data, unsigned sh
/* Update the raop_buffer entry header */
entry->seqnum = seqnum;
entry->timestamp = timestamp;
entry->timestamp = byteutils_get_int_be(data, 4);
entry->filled = 1;
entry->payload_data = malloc(payload_size);