Johannes Stezenbach wrote:
Pekka Virtanen wrote:I have two computers, one with Full featured DVB-C the other with a Budget DVB-C. I ran the same software on both computers, on the same channel and the same time of course.
The software prints the video PTS on the console. The results are below:
FF DVB-C:
video pts = 5581899604
video pts = 5581942804
video pts = 5581986004
video pts = 5588682004
[...]
BUDGET DVB-C
video pts = 7682452818
video pts = 7682496018
video pts = 7682539218
video pts = 7682582418
[...]
Can you print that in hex to see if there is just one bit flipped? Could you make the software available that produces this output?
Yes, Video PTS ~= STC is good, but STC << SUB PTS is what is causing me trouble.On FF DVB-C video pts << subtitle pts, so the synchronization does not work. I'm using STC for syncing but it's about the same as the video pts.
The STC is fed from the adaptation field of the TS packet header (PCR PID), the video PTS are from the PES packet header. It's good that PTS == STC.
VDR's DvbDevice::GetSTC() and DVB/apps/test/test_stc give out the same value which ~= Video PTS printed by my test plugin. No recording was ongoing when I did the test.The av7110 destroys the adaptation fields if you record and watch at the same time (record with DMX_PES_OTHER to prevent this). However, the DMX_GET_STC should give you correct values. Also, AFAIK the PES header is not altered by the av7110 or firmware, so the PTS should be correct. Or maybe the 33rd bit of the STC/PTS gets lost?