From cc34cbffd04c67e673981ee371314938db998f6e Mon Sep 17 00:00:00 2001 From: pigeatgarlic <64737125+pigeatgarlic@users.noreply.github.com> Date: Sat, 15 Feb 2025 16:02:17 +0000 Subject: [PATCH] send raw timestamp --- src/main.cpp | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 6f80180f..c583d5a0 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -262,16 +262,13 @@ main(int argc, char *argv[]) { #endif uint32_t findex = -1; - auto last_timestamp = std::chrono::high_resolution_clock::now().time_since_epoch().count(); while (!process_shutdown_event->peek() && !local_shutdown->peek()) { if (queue_type == QueueType::Video) { do { auto packet = video_packets->pop(); - auto timestamp = packet->frame_timestamp.value().time_since_epoch().count(); char* ptr = (char*)packet->data(); size_t size = packet->data_size(); - auto duration = uint32_t(timestamp - last_timestamp);; - uint64_t utimestamp = std::chrono::duration_cast(packet->frame_timestamp.value().time_since_epoch()).count(); + uint64_t utimestamp = packet->frame_timestamp.value().time_since_epoch().count(); auto updated = queue->inindex + 1; if (updated >= QUEUE_SIZE) @@ -280,20 +277,16 @@ main(int argc, char *argv[]) { findex++; queue->incoming[updated].size = 0; copy_to_packet(&queue->incoming[updated],&findex,sizeof(uint32_t)); - copy_to_packet(&queue->incoming[updated],&duration,sizeof(uint32_t)); copy_to_packet(&queue->incoming[updated],&utimestamp,sizeof(uint64_t)); copy_to_packet(&queue->incoming[updated],ptr,size); queue->inindex = updated; - last_timestamp = timestamp; } while (video_packets->peek()); } else if (queue_type == QueueType::Audio) { do { auto packet = audio_packets->pop(); - auto timestamp = std::chrono::steady_clock::now().time_since_epoch().count(); char* ptr = (char*)packet->second.begin(); size_t size = packet->second.size(); - auto duration = uint32_t(timestamp - last_timestamp);; - uint64_t utimestamp = std::chrono::duration_cast(std::chrono::steady_clock::now().time_since_epoch()).count(); + uint64_t utimestamp = std::chrono::steady_clock::now().time_since_epoch().count(); auto updated = queue->inindex + 1; if (updated >= QUEUE_SIZE) @@ -302,11 +295,9 @@ main(int argc, char *argv[]) { findex++; queue->incoming[updated].size = 0; copy_to_packet(&queue->incoming[updated],&findex,sizeof(uint32_t)); - copy_to_packet(&queue->incoming[updated],&duration,sizeof(uint32_t)); copy_to_packet(&queue->incoming[updated],&utimestamp,sizeof(uint64_t)); copy_to_packet(&queue->incoming[updated],ptr,size); queue->inindex = updated; - last_timestamp = timestamp; } while (audio_packets->peek()); } }