[vdr] Transfer-Mode without remux

Klaus Schmidinger Klaus.Schmidinger at cadsoft.de
Sat Feb 2 16:40:42 CET 2008


On 02/02/08 16:27, Klaus Schmidinger wrote:
> In a crude attempt to run VDR's Transfer-Mode without using a cRemux
> (and thus avoiding all the extra buffering and processing) I am
> trying to send the payload of the TS packets directly to the device.
> 
> The attached patch implements cDevice::PlayTS() and handles video
> and audio packets with fixed PIDs (just for testing).
> 
> I do get audio and video (using a FF-DVB card as output device),
> but there are some distortions. From all the debug output I've
> made there doesn't seem to be anything wrong - even the TS continuity
> counters check out (except for the initial one, which is to be expected).
> 
> Am I missing something obvious here?
> 
> Maybe somebody on the list can find out what's wrong here - or can
> argue why this attempt can't work in the first place.
> 
> If you try the patch, just change the hardcoded PIDs in cDevice::PlayTS()
> to whatever video and audio PID the channel has you're going to
> test with.

Nevermind, I just found it myself: it must be +5 instead of +4 in

inline int TsPayloadOffset(const uchar *Data)
{
  return (Data[3] & ADAPT_FIELD) ? Data[4] + 5 : 4;
}

Now it works - and Transfer-Mode never switched as fast as this :-)

Klaus



More information about the vdr mailing list