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 & ADAPT_FIELD) ? Data + 5 : 4;
Now it works - and Transfer-Mode never switched as fast as this :-)
vdr mailing list