From b6744e788708e330ceef618d0961e1a2ce0a98e8 Mon Sep 17 00:00:00 2001 From: Romain Vimont Date: Fri, 17 Feb 2023 08:46:11 +0100 Subject: [PATCH] Move pts_origin to a local variable It is only used from run_recorder(). --- app/src/recorder.c | 9 +++++---- app/src/recorder.h | 2 -- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/app/src/recorder.c b/app/src/recorder.c index d75f1b12..f71f6322 100644 --- a/app/src/recorder.c +++ b/app/src/recorder.c @@ -136,6 +136,8 @@ static int run_recorder(void *data) { struct sc_recorder *recorder = data; + int64_t pts_origin = AV_NOPTS_VALUE; + for (;;) { sc_mutex_lock(&recorder->mutex); @@ -169,15 +171,15 @@ run_recorder(void *data) { sc_mutex_unlock(&recorder->mutex); - if (recorder->pts_origin == AV_NOPTS_VALUE + if (pts_origin == AV_NOPTS_VALUE && rec->packet->pts != AV_NOPTS_VALUE) { // First PTS received - recorder->pts_origin = rec->packet->pts; + pts_origin = rec->packet->pts; } if (rec->packet->pts != AV_NOPTS_VALUE) { // Set PTS relatve to the origin - rec->packet->pts -= recorder->pts_origin; + rec->packet->pts -= pts_origin; rec->packet->dts = rec->packet->pts; } @@ -255,7 +257,6 @@ sc_recorder_open(struct sc_recorder *recorder, const AVCodec *input_codec) { recorder->failed = false; recorder->header_written = false; recorder->previous = NULL; - recorder->pts_origin = AV_NOPTS_VALUE; const char *format_name = sc_recorder_get_format_name(recorder->format); assert(format_name); diff --git a/app/src/recorder.h b/app/src/recorder.h index e6c66f99..373278e6 100644 --- a/app/src/recorder.h +++ b/app/src/recorder.h @@ -28,8 +28,6 @@ struct sc_recorder { struct sc_size declared_frame_size; bool header_written; - int64_t pts_origin; - sc_thread thread; sc_mutex mutex; sc_cond queue_cond;