From e92e424852f664a94695382002c4f5d9bf0e1c89 Mon Sep 17 00:00:00 2001 From: Chris Tallon Date: Wed, 23 Apr 2008 23:27:21 +0000 Subject: [PATCH] Windows AC3 --- mvpclient.c | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/mvpclient.c b/mvpclient.c index cad8345..a7c7ed4 100644 --- a/mvpclient.c +++ b/mvpclient.c @@ -722,6 +722,9 @@ int MVPClient::processGetChannelPids(UCHAR* data, int length, ResponsePacket* rp } ULONG numApids = 0; + ULONG numDpids = 0; + ULONG numSpids = 0; + #if VDRVERSNUM < 10300 @@ -741,6 +744,14 @@ int MVPClient::processGetChannelPids(UCHAR* data, int length, ResponsePacket* rp { numApids++; } + for (const int *Dpid = channel->Dpids(); *Dpid; Dpid++) + { + numDpids++; + } + for (const int *Spid = channel->Spids(); *Spid; Spid++) + { + numSpids++; + } #endif @@ -751,6 +762,17 @@ int MVPClient::processGetChannelPids(UCHAR* data, int length, ResponsePacket* rp // apid // lang string // } + // number of dpids + // { + // dpid + // lang string + // } + // number of spids + // { + // spid + // lang string + // } + // tpid rp->addULONG(channel->Vpid()); rp->addULONG(numApids); @@ -766,13 +788,29 @@ int MVPClient::processGetChannelPids(UCHAR* data, int length, ResponsePacket* rp rp->addULONG(channel->Apid2()); rp->addString(""); } + rp->addULONG(0); + rp->addULONG(0); #else for (ULONG i = 0; i < numApids; i++) { rp->addULONG(channel->Apid(i)); rp->addString(channel->Alang(i)); } + rp->addULONG(numDpids); + for (ULONG i = 0; i < numDpids; i++) + { + rp->addULONG(channel->Dpid(i)); + rp->addString(channel->Dlang(i)); + } + rp->addULONG(numSpids); + for (ULONG i = 0; i < numSpids; i++) + { + rp->addULONG(channel->Spid(i)); + rp->addString(channel->Slang(i)); + } #endif + rp->addULONG(channel->Tpid()); + rp->finalise(); tcp.sendPacket(rp->getPtr(), rp->getLen()); -- 2.39.2