make more audio time details available to renderer

This commit is contained in:
fduncanh
2022-05-03 16:51:02 -04:00
parent 8fd59814be
commit 1450707794
3 changed files with 7 additions and 4 deletions

View File

@@ -26,12 +26,14 @@ extern "C" {
#include <stdlib.h>
#include <stdint.h>
#include <stdbool.h>
#include "../lib/raop_ntp.h"
void audio_renderer_init(logger_t *logger, const char* audiosink);
void audio_renderer_start(unsigned char* compression_type);
void audio_renderer_stop();
void audio_renderer_render_buffer(raop_ntp_t *ntp, unsigned char* data, int data_len, uint64_t pts);
void audio_renderer_render_buffer(raop_ntp_t *ntp, unsigned char* data, int data_len,
uint64_t ntp_time, uint64_t rtp_time, bool have_synced);
void audio_renderer_set_volume(float volume);
void audio_renderer_flush();
void audio_renderer_destroy();

View File

@@ -177,7 +177,8 @@ void audio_renderer_start(unsigned char *ct) {
}
void audio_renderer_render_buffer(raop_ntp_t *ntp, unsigned char* data, int data_len, uint64_t pts) {
void audio_renderer_render_buffer(raop_ntp_t *ntp, unsigned char* data, int data_len, uint64_t ntp_time,
uint64_t rtp_time, bool rtp_and_ntp_have_synced) {
GstBuffer *buffer;
bool valid;
if (data_len == 0 || renderer == NULL) return;
@@ -191,7 +192,7 @@ void audio_renderer_render_buffer(raop_ntp_t *ntp, unsigned char* data, int data
buffer = gst_buffer_new_and_alloc(data_len);
assert(buffer != NULL);
GST_BUFFER_PTS(buffer) = (GstClockTime) pts;
GST_BUFFER_PTS(buffer) = (GstClockTime) ntp_time;
gst_buffer_fill(buffer, 0, data, data_len);
switch (renderer->ct){
case 8: /*AAC-ELD*/

View File

@@ -811,7 +811,7 @@ extern "C" void audio_process (void *cls, raop_ntp_t *ntp, audio_decode_struct *
dump_audio_to_file(data->data, data->data_len, (data->data)[0] & 0xf0);
}
if (use_audio) {
audio_renderer_render_buffer(ntp, data->data, data->data_len, data->ntp_time);
audio_renderer_render_buffer(ntp, data->data, data->data_len, data->ntp_time, data->rtp_time, data->have_synced);
}
}