I have uploaded some changes to VDR 0.80 to ftp://ftp.cadsoft.de/pub/people/kls/vdr/vdr-0.81pre1.diff.gz which mainly implement a "Packet Resequencer" which tries to improve the A/V multiplexing. PLEASE NOTE that this patch should only be used by people who are willing to experiment. It is not for every day use, since it may happen that recordings don't work at all. The idea behind this is to become able to record two audio tracks (e.g. German and English), which is not possible with the raw data delivered from the driver since the second audio track's data comes in large chunks (I reported this in an earlier posting). It will also become important with recording AC3 sound. With the above patch, VDR buffers video and audio in separate linked lists and repacks the audio data into smaller packets (currently 256 byte). Once it has enough video and audio data it writes out a properly sequenced series of video and audio packets (see the code in remux.c, class cResequencer for details). The core functions are cResequencer::Collect(), cResequencer::Combine() and cResequencer::Process(). What happens is that it buffers enough video packets to "see" two subsequent frames that have a "temporal reference" of 0 and takes their PTS to interpolate a "timeline" on which to output the audio data packets. For each interval on this timeline it then outputs the audio packets that have a PTS that falls into this interval, and the video packet itself. I hope the code in remux.c is clear enough so that you can see what's going on. My current tests show that it works quite good on some channels, while on others it produces video and/or audio disturbances. What I would like to know now is whether this approach is at all reasonable (maybe the MPEG experts here on the list can comment on this) and if so, how the current version could be improved in order to produce "clean" data. Klaus -- _______________________________________________________________ Klaus Schmidinger Phone: +49-8635-6989-10 CadSoft Computer GmbH Fax: +49-8635-6989-40 Hofmark 2 Email: [EMAIL PROTECTED] D-84568 Pleiskirchen, Germany URL: www.cadsoft.de _______________________________________________________________ -- Info: To unsubscribe send a mail to [EMAIL PROTECTED] with "unsubscribe linux-dvb" as subject.
