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