Thu Jan 8 07:11:05 CET 2009
of the recording.
Edgar (gimli) Hucek
> VDR developer version 1.7.3 is now available at
> A 'diff' against the previous version is available at
> This is a *developer* version. Not even *I* use it in my productive
> environment. I strongly recommend that you only use it under controlled
> conditions and for testing and debugging.
> The main focus of this version is the switch to Transport Stream (TS)
> as the recording format. There are still a few glitches, mainly
> - Recording/replaying of pure audio broadcasts doesn't work yet.
> - Recording files larger than 4GB or with more than 255 separate
> files hasn't been tested yet.
> - Recording h.264 broadcasts has been roughly verified to work, but
> no replaying of such recordings has been tested yet.
> - There is apparently still a problem with editing old PES recordings.
> An edited recording is created, but it doesn't play.
> DO NOT USE THIS VERSION FOR PRODUCTIVE RECORDINGS!!
> THE RECORDING OR OTHER FILE FORMATS MAY STILL CHANGE
> AND ANY RECORDINGS MADE WITH THIS VERSION MIGHT NOT
> WORK WITH FUTURE VERSIONS!
> Despite this, I do hope there will be some people who
> can take a look at the changes and maybe test the new
> recording format - and report bugs or provide fixes ,-)
> The changes since version 1.7.2:
> - Updated the Russian OSD texts (thanks to Oleg Roitburd).
> - Fixed handling the 'pointer field' in generating and parsing PAT/PMT
> (thanks to
> Frank Schmirler).
> - Fixed handling modulation types for DVB-S transponders when processin=
> the NIT.
> - Changed cDvbDevice::GrabImage() to use V4L2 (thanks to Marco Schl=FC=DF=
> - Added a poll to cDvbDevice::PlayVideo() and cDvbDevice::PlayAudio() t=
> excessive CPU load (this is just a makeshift solution until the FF DV=
> can play TS directly).
> - The recording format is now Transport Stream. Existing recordings in =
> can still be replayed and edited, but new recordings are done in TS.
> All code for recording in PES has been removed.
> The following changes were made to switch to TS recording format:
> + The index file format has been changed to support file sizes of up =
> (previously 2GB), and up to 65535 separate files per recording
> + The recording file names are now of the form 00001.ts (previously
> + The frame rate is now detected by looking at two subsequent PTS
> The "frame duration" (in multiples of 1/90000) is stored in the
> file using the new tag F (thanks to Artur Skawina for helping to ge=
> IndexToHMSF() calculation right).
> + Several functions now have an additional parameter FramesPerSecond.
> + Several functions now have an additional parameter IsPesRecording.
> + The functionality of cFileWriter was moved into cRecorder, and cRem=
> now obsolete. This also avoids one level of data copying while
> + cRemux, cRingBufferLinearPes, cTS2PES and all c*Repacker classes ha=
> + A PAT/PMT is inserted before every independent frame, so that no ex=
> measures need to be taken when editing a recording.
> + The directory name for a recording has been changed from
> YYYY-MM-DD-hh[.:]mm.pr.lt.rec (pr=3Dpriority, lt=3Dlifetime) to
> YYYY-MM-DD-hh.mm.ch-ri.rec (ch=3Dchannel, ri=3DresumeId).
> Priority and Lifetime are now stored in the info.vdr file with the =
> tags P and L (if no such file exists, the maximum values are assume=
> default, which avoids inadvertently deleting a recording if disk sp=
> is low). No longer storing Priority and Lifetime in the directory n=
> avoids starting a new recording if one of these is changed in the
> and the recording is re-started for some reason.
> Instead of Priority and Lifetime, the directory name now contains t=
> channel number from which the recording was made, and the "resume i=
> this instance of VDR. This avoids problems if several VDR instances
> the same show on different channels, or even on the same channel.
> The '-' between channel number and resumeId prevents older versions=
> VDR from "seeing" these recordings, which makes sure they won't eve=
> to replay them, or remove them in case the disk runs full.
> + The semantics of PlayTs*() have been changed. These functions are n=
> required to return the given Length (which is TS_SIZE) if they have
> processed the TS packet.
> + The files "index", "info", "marks" and "resume" within a TS recordi=
> directory are now created without the ".vdr" extension.
> + The "resume" file is no longer a binary file, but contains tagged
> to be able to store additional information, like the selected audio=
> subtitle track.
> + cDevice::StillPicture() will now be called with either TS or PES da=
> + cDvbPlayer::Goto() no longer appends a "sequence end code" to the
> If the output device needs this, it has to take care of it by itsel=
> - Fixed cPatPmtParser::ParsePmt() to reset vpid and vtype when switchin=
> a video to an audio channel (thanks to Reinhard Nissl).
> - cDvbDevice now uses the FE_CAN_2G_MODULATION flag to determine whethe=
> can handle DVB-S2. The #define is still there to allow people with ol=
> who don't need DVB-S2 to use this version without pathcing.
> Have fun!
> vdr mailing list
> vdr at linuxtv.org
More information about the vdr