Hallo zusammen,
ein paar Infos zu TrickSpeed hab ich in verschiedenen Threads gefunden, trotzdem fehlt mir der Durchblick.
In softhddevice-drm-gles funktioniert der Vor- und Rücklauf nicht oder nicht richtig und ich möchte das korrigieren, deshalb meine Fragen.
Wenn ich in einer laufenden Aufnahme KEY_RIGHT drücke, wird device->TrickSpeed getriggert, was die Wiedergabegeschwindigkeit steuert.
Jetzt kenne ich http://git.tvdr.de/?p=vdr.git;…5dbebf286f07;hb=HEAD#l762 mit den verschiedenen Zahlen.
Angenommen ich drücke jetzt 1x KEY_RIGHT, dann wäre ich doch bei FastForward 1x und dem Wert 6. Wenn ich den Kommentar richtig lese, heißt das, dass dieses Frame 6x so lange angezeigt werden soll wie normal, also nicht mehr z.B. 20ms, sondern 120ms.
Wenn das Frame durch ist, welches Frame soll dann angezeigt werden? Das kann ja nicht das mit dem nächsten PTS sein, sonst würde die Aufnahme ja 6x langsamer laufen als im normalen replay? Kümmert sich VDR drum, das richtige Frame zu schicken, oder muss das Ausgabeplugin Frames überspringen?
Das wäre mal die grundsätzliche Frage, bevor ich weiter frage
Aktuell gibt es im Ausgabedevice ein usleep im DisplayThread, was aber dann entsprechend blockiert und auch nicht richtig funktioniert.
Die anderen Ausgabedevices bauen das anders ein. Soweit ich verstanden habe, wird bei TrickSpeed mit TrickCounter zurückgezählt und solange der nicht 0 ist, wird das aktuelle Frame weiter dargestellt, d.h. z.B. 6x. Wenn TrickCounter auf 0 ist, wird das nächste Frame geholt und TrickCounter wieder zurückgestellt.
Ich hoffe, meine Frage ist nicht zu kompliziert und jemand kann Licht ins Dunkel bringen. Ich möchte das richtig einbauen...
Danke
Andreas