Discussion:
[vdr] locale issue with --edit
(too old to reply)
Tobi
2012-03-14 02:10:28 UTC
Permalink
This was driving me mad!

I have a NTSC TS-recording with 29.97002997 fps.

When I set cut marks via the VDR-OSD and cut the recording, this works fine.

But when I cut the same recording with the same cut marks with
`vdr --edit`, the cut points are offset by some seconds e.g. the beginning
of the cutted recording is about 9 seconds earlier than it should be.

Reason: When invoking `vdr --edit` LC_NUMERIC is *not* set to "C" yet when
CutRecording() is called. My default locale uses "," as the decimal
point, causing the framerate to be parsed as 29.0 instead of 29.97002997.

setlocale(LC_NUMERIC, "C") should be called earlier in main().

Tobias
Klaus Schmidinger
2012-03-14 09:10:23 UTC
Permalink
Post by Tobi
This was driving me mad!
I have a NTSC TS-recording with 29.97002997 fps.
When I set cut marks via the VDR-OSD and cut the recording, this works fine.
But when I cut the same recording with the same cut marks with
`vdr --edit`, the cut points are offset by some seconds e.g. the beginning
of the cutted recording is about 9 seconds earlier than it should be.
Reason: When invoking `vdr --edit` LC_NUMERIC is *not* set to "C" yet when
CutRecording() is called. My default locale uses "," as the decimal
point, causing the framerate to be parsed as 29.0 instead of 29.97002997.
setlocale(LC_NUMERIC, "C") should be called earlier in main().
Can you please verify that this works?

--- vdr.c 2012/03/09 09:55:15 2.34
+++ vdr.c 2012/03/14 09:09:19
@@ -173,6 +173,7 @@
// Initiate locale:

setlocale(LC_ALL, "");
+ setlocale(LC_NUMERIC, "C"); // makes sure any floating point numbers written use a decimal point

// Command line options:

@@ -550,7 +551,6 @@
isyslog("codeset is '%s' - %s", CodeSet, known ? "known" : "unknown");
cCharSetConv::SetSystemCharacterTable(CodeSet);
}
- setlocale(LC_NUMERIC, "C"); // makes sure any floating point numbers written use a decimal point

// Initialize internationalization:



Klaus
Tobi
2012-03-14 19:41:27 UTC
Permalink
Post by Klaus Schmidinger
Can you please verify that this works?
It does!

Tobias

Loading...