Hi,
Am 08.02.2010 22:29, schrieb Klaus Schmidinger:
>> 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.
Bye.
--
Dipl.-Inform. (FH) Reinhard Nissl
mailto:[email protected]
--- ../xine-0.9.3/xineDevice.c 2009-06-17 20:06:35.000000000 +0200
+++ xineDevice.c 2010-02-08 22:54:00.000000000 +0100
@@ -1539,7 +1546,13 @@ fclose(ff);
{
#if APIVERSNUM >= 10701
if (Length >= TS_SIZE)
- m_tsVideoPid = TsPid(Data);
+ {
+#if APIVERSNUM >= 10712
+ m_tsVideoPid = PatPmtParser()->Vpid();
+#else
+ m_tsVideoPid = TsPid(Data);
+#endif
+ }
#endif
return Length;
}
@@ -4119,6 +4132,8 @@ store_frame(jumboPESdata, todo, __LINE__
void cXineDevice::MakePrimaryDevice(bool On)
{
+ cDevice::MakePrimaryDevice(On);
+
xfprintf(stderr, "-------------------------\n");
xfprintf(stderr, "MakePrimaryDevice: %d\n", On);
xfprintf(stderr, "=========================\n");
_______________________________________________
vdr mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr