diff --git a/src/common.c b/src/common.c index 705f096d06d28e13a5fe1b0dd5789cf65d53e4ca..83bed85933ba4d07862e7fdc8c6bb127168f6a59 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 2798d28111bc9fe7fcbc27c0859a1f1b2cbc5dc0..78374983e5a6880a7f48f0ca78ccd23dd86359be 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 da4c86c58ea1a5b7b30515c60ae5ce857aeab6c4..8ac5702e8c2996701a14e30a4159eccf8b8e8457 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; }