thank you very much for your patch. Now everything is ok.
I can only reproduce this issue on channels with separate PCR pid. I'll have to investigate further to find a solution.
As of version 1.7.12 VDR records the PCR pid if it is different than the video PID. For lack of better knowledge I made cDevice::PlayTs() send the PCR packets to PlayTsVideo(). The FF cards don't have a problem with that, but maybe xine or the cVideoRepacker does. Maybe VDR shouldn't even "replay" the PCR data - please advise.
As it is possible to access cPatPmtParser since a few releases, I've changed vdr-xine to pull VPID from there instead of picking it from packets passed to PlayTsVideo.