Ich baue gerade diverse Prüfungen ein, um Fehler in Aufnahmen zu erkennen. Unter anderem betrachte ich dazu den PTS der Frames. Das klappt bei allen Kanälen, die ich bisher probiert habe, wunderbar (SD, HD, DVB-s, DVB-T, H.264, H.265, UHD). Nur bei RTL (SD, Astra)
RTL Television,RTL;CBC:12187:HC34M2S0:S19.2E:27500:163=2:104=deu@3;106=deu@106:105;110=deu:0:12003:1:1089:0
kommen immer wieder Frames, die keinen PTS haben. Es fehlt dann auch genau der PTS-Wert, den man für diesen Frame erwarten würde (es kommt also nicht davor oder danach ein Frame mit diesem Wert). Da ich mal davon ausgehe, dass jeder Frame auch einen PTS haben muss, frage ich mich, wie das sein kann.
Der beiliegende Patch baut eine Ausgabe ein, wenn ein Frame ohne PTS kommt. Zum Testen eine Aufnahme auf RTL starten und nach kurzer Zeit kommen Ausgaben auf stderr.
Meine Vermutung ist, dass cMpeg2Parser::Parse() einen Frame irgendwie "zu früh" meldet, und der PTS erst "weiter hinten" liegt.
Vielleicht hat ja der eine oder andere hier, der sich besser mit den Untiefen von Mpeg2 auskennt, Zeit und Lust sich das mal anzuschauen...