Hallo
Nach einem Festplattendefekt musste ich meinen VDR neu installieren. Grundsystem ist Suse 10.0. Es lief alles ganz wunderbar nur vdrrip macht mir Probleme. Das Seitenverhältnis wird nicht mehr richtig erkannt. Statt des korrekten Wertes (z.B. 1,333) wird immer 1 genommen.
Den Schludigen habe ich auch schon ausgemacht: Datei movie.c ungefähr ab Zeile 520
s = strcol(strgrep("ID_VIDEO_FPS", p), "=", 2);
dsyslog("[vdrrip] FPS= %s", s);
if (s) {
Fps = atof(s);
} else {Fps = -1;}
FREE(s);
s = strcol(strgrep("ID_VIDEO_ASPECT", p), "=", 2);
dsyslog("[vdrrip] Aspect= %s", s);
if (s) {
Aspect = atof(s);
} else {Aspect = -1;}
dsyslog("[vdrrip] FPS= %f", Fps);
dsyslog("[vdrrip] Aspect= %f", Aspect);
Alles anzeigen
(Anmerkung: habe ein paar dsyslog's zur Fehlersuche eingefügt)
Im Log sieht das dann so aus:
Oct 18 09:55:50 linux vdr[20930]: [vdrrip] FPS= 25.000
Oct 18 09:55:50 linux vdr[20930]: [vdrrip] Aspect= 1.3333
Oct 18 09:55:50 linux vdr[20930]: [vdrrip] FPS= 25,000000
Oct 18 09:55:50 linux vdr[20930]: [vdrrip] Aspect= 1,000000
Man sieht dass bei der Konvertierung vom String nach Double anscheinend die Nachkommastellen nicht berücksichtigt werden.
Da ich mich nicht wirklich mit C auskenne wäre ich über fachkundigen Rat sehr, sehr dankbar da sich meine Festplatte immer mehr mit unkomprimierten Aufnahmen füllt. Ich denke mit nem anderen Weg den String zum double zu konvertieren wäre mir wohl schon sehr geholfen.
Vielen Dank schonmal im Voraus.