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 _______________________________________________ vdr mailing list vdr@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr