From 0bf4c1840daad5fec8445f4db6b52901ae6d8885 Mon Sep 17 00:00:00 2001
From: Kubat <mael.martin31@gmail.com>
Date: Tue, 19 May 2020 12:58:29 +0200
Subject: [PATCH] Working state, still ome pbs with bufferfd with some karas

---
 src/common.c     | 2 +-
 src/main/debug.c | 9 +++++++--
 src/mkv/mkv.c    | 2 +-
 3 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/src/common.c b/src/common.c
index 705f096d..83bed859 100644
--- a/src/common.c
+++ b/src/common.c
@@ -41,7 +41,7 @@ be_double_t(const uint8_t bytes[], size_t n)
         double _double;
     } res;
     for (size_t i = 0; i < n; ++i) {
-        res._bytes[i] = bytes[i];
+        res._bytes[i] = bytes[n - i - 1] & 0xff;
     }
     return res._double;
 }
diff --git a/src/main/debug.c b/src/main/debug.c
index 2798d281..78374983 100644
--- a/src/main/debug.c
+++ b/src/main/debug.c
@@ -4,7 +4,7 @@
 int
 main(int argc, char **argv)
 {
-    double len = 0;
+    double len = 0.;
 
     if (argc != 2)
         return 1;
@@ -12,6 +12,11 @@ main(int argc, char **argv)
     if (kara_read_length(&len, argv[1]) < 0)
         return 2;
 
-    printf("Kara length: %f\n", len);
+    int s = len * 10e-10;
+    int h = s / 3600;
+    s = s % 3600;
+    int m = s / 60;
+    s = s % 60;
+    printf("%02d:%02d:%02d\n", h, m, s);
     return 0;
 }
diff --git a/src/mkv/mkv.c b/src/mkv/mkv.c
index da4c86c5..8ac5702e 100644
--- a/src/mkv/mkv.c
+++ b/src/mkv/mkv.c
@@ -558,7 +558,7 @@ kara_read_segment_info(struct bufferfd *bf, double *len)
         data_len -= n;
     }
 
-    *len *= scale;
+    *len *= scale; /* In ns */
     return 0;
 }
 
-- 
GitLab