On 14.03.2012 03:10, Tobi wrote:
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 _______________________________________________ vdr mailing list vdr@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr