From 30c0a4cffe972a4156169feaa28a60e656bbae6e Mon Sep 17 00:00:00 2001 From: Julian Rother <julianr@fsmpi.rwth-aachen.de> Date: Tue, 28 Nov 2017 00:21:09 +0100 Subject: [PATCH] Moved checktime out of transcode.c and added calls to remux --- remux.c | 2 ++ transcode.c | 17 ----------------- util.h | 1 + util/checktime.c | 21 +++++++++++++++++++++ 4 files changed, 24 insertions(+), 17 deletions(-) create mode 100644 util/checktime.c diff --git a/remux.c b/remux.c index 4b2950f..ef6c0d1 100644 --- a/remux.c +++ b/remux.c @@ -57,6 +57,8 @@ int main(int argc, char *argv[]) job_failed("Writing temporary file failed: %s", av_err2str(err)); while (!av_read_frame(demux, &pkt)) { + if (!checktime(30)) + ping_job(jobid, "running", 0); if (pkt.stream_index >= demux->nb_streams || idxmap[pkt.stream_index] == -1) continue; diff --git a/transcode.c b/transcode.c index 090adcb..ab3581a 100644 --- a/transcode.c +++ b/transcode.c @@ -1,6 +1,5 @@ #include <stdio.h> #include <unistd.h> -#include <time.h> #include <libavutil/opt.h> #include <libavcodec/avcodec.h> #include <libavformat/avformat.h> @@ -245,22 +244,6 @@ void connect_pads(AVFilterInOut **ins, AVFilterInOut **outs) } } -int checktime(time_t min) -{ - static struct timespec prev = {}; - time_t delta; - struct timespec t; - clock_gettime(CLOCK_MONOTONIC, &t); - if (t.tv_sec < prev.tv_sec) - delta = min; - else - delta = t.tv_sec - prev.tv_sec; - if (delta < min) - return 1; - memcpy(&prev, &t, sizeof(prev)); - return 0; -} - int main(int argc, char *argv[]) { int err, i, progress, _progress; diff --git a/util.h b/util.h index ce56e12..434c32f 100644 --- a/util.h +++ b/util.h @@ -17,6 +17,7 @@ double fileduration(char *path); size_t filesize(char *path); char *json_fileinfo(char *path); void overwrite_check(char *path); +int checktime(time_t min); #define WORKER_APIKEY "WORKER_APIKEY" #define WORKER_APIBASE "WORKER_APIBASE" diff --git a/util/checktime.c b/util/checktime.c new file mode 100644 index 0000000..9f28ee6 --- /dev/null +++ b/util/checktime.c @@ -0,0 +1,21 @@ +#include <time.h> +#include <string.h> + +#include "../util.h" + +int checktime(time_t min) +{ + static struct timespec prev = {}; + time_t delta; + struct timespec t; + clock_gettime(CLOCK_MONOTONIC, &t); + if (t.tv_sec < prev.tv_sec) + delta = min; + else + delta = t.tv_sec - prev.tv_sec; + if (delta < min) + return 1; + memcpy(&prev, &t, sizeof(prev)); + return 0; +} + -- GitLab