mirror of
https://github.com/pikvm/ustreamer.git
synced 2026-02-18 02:55:46 +00:00
latency test
This commit is contained in:
parent
7b0e171e74
commit
021823bcba
@ -50,8 +50,9 @@ frame_s *memsink_fd_get_frame(int fd, memsink_shared_s *mem, uint64_t *frame_id)
|
||||
frame_s *frame = frame_init();
|
||||
frame_set_data(frame, mem->data, mem->used);
|
||||
FRAME_COPY_META(mem, frame);
|
||||
frame->extra1_ts = get_now_monotonic();
|
||||
*frame_id = mem->id;
|
||||
mem->last_client_ts = get_now_monotonic();
|
||||
mem->last_client_ts = frame->extra1_ts;
|
||||
|
||||
bool ok = true;
|
||||
if (frame->format != V4L2_PIX_FMT_H264) {
|
||||
|
||||
@ -110,9 +110,17 @@ static void *_video_rtp_thread(UNUSED void *arg) {
|
||||
while (!STOP) {
|
||||
frame_s *frame;
|
||||
if (queue_get(_g_video_queue, (void **)&frame, 0.1) == 0) {
|
||||
frame->extra2_ts = get_now_monotonic();
|
||||
LOCK_VIDEO;
|
||||
rtpv_wrap(_g_rtpv, frame);
|
||||
UNLOCK_VIDEO;
|
||||
frame->extra3_ts = get_now_monotonic();
|
||||
JLOG_INFO("video",
|
||||
"grab_ts=%Lf, encode_begin_ts=%Lf, encode_end_ts=%Lf,"
|
||||
" memsink_ts=%Lf, rtp_begin_ts=%Lf, rtp_end_ts=%Lf, latency=%Lf",
|
||||
frame->grab_ts, frame->encode_begin_ts, frame->encode_end_ts,
|
||||
frame->extra1_ts, frame->extra2_ts, frame->extra3_ts,
|
||||
(frame->extra3_ts - frame->encode_begin_ts));
|
||||
frame_destroy(frame);
|
||||
}
|
||||
}
|
||||
|
||||
@ -54,6 +54,10 @@ typedef struct {
|
||||
long double grab_ts;
|
||||
long double encode_begin_ts;
|
||||
long double encode_end_ts;
|
||||
|
||||
long double extra1_ts;
|
||||
long double extra2_ts;
|
||||
long double extra3_ts;
|
||||
} frame_s;
|
||||
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user