jear hat geschrieben:@Traumatic
Es sollte schlicht 1300 KB heißen, sorry.
Deine Frage "Und nun?" verstehe ich nicht ganz. Bezieht sich die auf den Unterschied 250 / 254 oder hast Du einen weiter modifizierten Kode benutzt, der nun die richtigen Werte ermittelt. Letzlich klappte mein Kode ja nur, weil ich den Wert für FPS mit 25.00 schlicht vorgegeben hatte.
Wie sieht der neue Kode denn aus?
Nein nein, ich habe gar nichts geändert.
Die Werte sind die von der PB-Library ermittelten, mein Code springt da
gar nicht erst an.
Das "und nun?" sollte soviel heißen wie:
"Hmm... was machen wir jetzt? Bei mir geht es. Scheiße..."
Problem ist, ich würde gerne helfen, aber ohne das Problem nachvollziehen
zu können, sieht das schlecht aus.
Mein Code - ohne Deine Änderung - zeigt hier auch immer die absolut richtigen
Werte an (das mit dem Überlauf ist klar, eigentlich erwartet GetDuration()
auch ein LONGLONG, dass ich mir jetzt mal der einfachheit halber gespart
habe). Aber z.B. habe ich mit 12.5 und 29.97 FPS Files getestet - alles so
wie's sein soll. Deshalb ja auch die Bitte, mir mal eins Deiner Problem-Files
zur Verfügung zu stellen. Leider (?!) funktioniert das bei mir auch.
Das ermittlen der FPS und Frameanzahl wurde so auch schon in die PB-Library
integriert. Wo wir nicht weiterkamen, war das Seeking innerhalb von WMV.
Das will irgendwie einfach nicht funktionieren. Naja, dafür wird sich schon
auch noch eine Lösung finden. Wahrscheinlich muss der Filter-Graph anders
aufgebaut sein - mal schauen.
Trotzdem: Bei mir funktionert der Code. Wie Du merkst, ist das Thema
Videos abspielen / DirectShow eine ziemliche Sisyphus-Arbeit.