summaryrefslogtreecommitdiff
path: root/vdr.5
diff options
context:
space:
mode:
authorKlaus Schmidinger <kls (at) cadsoft (dot) de>2009-01-06 20:31:53 +0100
committerKlaus Schmidinger <kls (at) cadsoft (dot) de>2009-01-06 20:31:53 +0100
commitc2966475942fcb9d4b8d41dbf026ff57630a1ad6 (patch)
tree1b41925820073ddee361c5acb0fd68fbadcd11a8 /vdr.5
parent1834751c4510edb66c96d0b741def5922738e74c (diff)
downloadvdr-patch-lnbsharing-c2966475942fcb9d4b8d41dbf026ff57630a1ad6.tar.gz
vdr-patch-lnbsharing-c2966475942fcb9d4b8d41dbf026ff57630a1ad6.tar.bz2
Version 1.7.3vdr-1.7.3
- 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 processing the NIT. - Changed cDvbDevice::GrabImage() to use V4L2 (thanks to Marco Schlüßler). - Added a poll to cDvbDevice::PlayVideo() and cDvbDevice::PlayAudio() to avoid excessive CPU load (this is just a makeshift solution until the FF DVB cards can play TS directly). - The recording format is now Transport Stream. Existing recordings in PES format 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 to 1TB (previously 2GB), and up to 65535 separate files per recording (previously 255). + The recording file names are now of the form 00001.ts (previously 001.vdr). + The frame rate is now detected by looking at two subsequent PTS values. The "frame duration" (in multiples of 1/90000) is stored in the info.vdr file using the new tag F (thanks to Artur Skawina for helping to get the 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 cRemux is now obsolete. This also avoids one level of data copying while recording. + cRemux, cRingBufferLinearPes, cTS2PES and all c*Repacker classes have been removed. + A PAT/PMT is inserted before every independent frame, so that no extra 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=priority, lt=lifetime) to YYYY-MM-DD-hh.mm.ch-ri.rec (ch=channel, ri=resumeId). Priority and Lifetime are now stored in the info.vdr file with the new tags P and L (if no such file exists, the maximum values are assumed by default, which avoids inadvertently deleting a recording if disk space is low). No longer storing Priority and Lifetime in the directory name avoids starting a new recording if one of these is changed in the timer and the recording is re-started for some reason. Instead of Priority and Lifetime, the directory name now contains the channel number from which the recording was made, and the "resume id" of this instance of VDR. This avoids problems if several VDR instances record the same show on different channels, or even on the same channel. The '-' between channel number and resumeId prevents older versions of VDR from "seeing" these recordings, which makes sure they won't even try to replay them, or remove them in case the disk runs full. + The semantics of PlayTs*() have been changed. These functions are now 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 recording directory are now created without the ".vdr" extension. + The "resume" file is no longer a binary file, but contains tagged lines to be able to store additional information, like the selected audio or subtitle track. + cDevice::StillPicture() will now be called with either TS or PES data. + cDvbPlayer::Goto() no longer appends a "sequence end code" to the data. If the output device needs this, it has to take care of it by itself. - Fixed cPatPmtParser::ParsePmt() to reset vpid and vtype when switching from a video to an audio channel (thanks to Reinhard Nissl). - cDvbDevice now uses the FE_CAN_2G_MODULATION flag to determine whether a device can handle DVB-S2. The #define is still there to allow people with older drivers who don't need DVB-S2 to use this version without pathcing.
Diffstat (limited to 'vdr.5')
-rw-r--r--vdr.554
1 files changed, 33 insertions, 21 deletions
diff --git a/vdr.5 b/vdr.5
index 384ab70..9e01fd4 100644
--- a/vdr.5
+++ b/vdr.5
@@ -8,7 +8,7 @@
.\" License as specified in the file COPYING that comes with the
.\" vdr distribution.
.\"
-.\" $Id: vdr.5 2.5 2008/11/22 15:23:10 kls Exp $
+.\" $Id: vdr.5 2.6 2009/01/06 12:37:35 kls Exp $
.\"
.TH vdr 5 "10 Feb 2008" "1.6" "Video Disk Recorder Files"
.SH NAME
@@ -334,7 +334,7 @@ of these cannot be determined, \fBTITLE\fR will default to the channel name, and
An arbitrary string that can be used by external applications to store any
kind of data related to this timer. The string must not contain any newline
characters. If this field is not empty, its contents will be written into the
-\fIinfo.vdr\fR file of the recording with the '@' tag.
+\fIinfo\fR file of the recording with the '@' tag.
.SS SOURCES
The file \fIsources.conf\fR defines the codes to be used in the \fBSource\fR field
of channels in \fIchannels.conf\fR and assigns descriptive texts to them.
@@ -558,41 +558,55 @@ messages file will be actually used.
If a theme file doesn't contain a Description, the name of the theme (as
given in the theme's file name) will be used.
.SS AUDIO/VIDEO DATA
-The files \fI001.vdr\fR...\fI255.vdr\fR are the actual recorded MPEG data
+The files \fI00001.ts\fR...\fI65535.ts\fR are the actual recorded data
files. In order to keep the size of an individual file below a given limit,
-a recording is split into several files. The contents of these files is
-\fBPacketized Elementary Stream\fR (PES) and contains ES packets with ids
-0xE0...0xEF for video (only one of these may actually occur in a file),
-0xC0...0xDF for audio 1...32 (up to 32 audio tracks may occur).
-Dolby Digital data is stored in packets with ids 0xBD ("Private Stream 1")
-and substream ids 0x80...0x87.
-DVB subtitle data is stored in packets with ids 0xBD ("Private Stream 1")
-and substream ids 0x20...0x27.
+a recording may be split into several files. The contents of these files is
+\fBTransport Stream\fR (TS) and contains data packets that are each 188 byte
+long and start with 0x47. Data is stored exactly as it is broadcast, with
+a generated PAT/PMT inserted right before every independent frame.
.SS INDEX
-The file \fIindex.vdr\fR (if present in a recording directory) contains
+The file \fIindex\fR (if present in a recording directory) contains
the (binary) index data into each of the the recording files
-\fI001.vdr\fR...\fI255.vdr\fR. It is used during replay to determine
+\fI00001.ts\fR...\fI65535.ts\fR. It is used during replay to determine
the current position within the recording, and to implement skipping
and fast forward/back functions.
See the definition of the \fBcIndexFile\fR class for details about the
actual contents of this file.
.SS INFO
-The file \fIinfo.vdr\fR (if present in a recording directory) contains
+The file \fIinfo\fR (if present in a recording directory) contains
a description of the recording, derived from the EPG data at recording time
(if such data was available). The \fBAux\fR field of the corresponding
timer (if given) is copied into this file, using the '@' tag.
This is a plain ASCII file and contains tagged lines like the \fBEPG DATA\fR
file (see the description of the \fIepg.data\fR file). Note that the lowercase
-tags ('c' and 'e') will not appear in an \fIinfo.vdr\fR file.
+tags ('c' and 'e') will not appear in an \fIinfo\fR file.
Lines tagged with '#' are ignored and can be used by external tools to
store arbitrary information.
+
+In addition to the tags used in the \fIepg.data\fR file, the following tag
+characters are defined:
+.TS
+tab (|);
+l l.
+\fBF\fR|<frame duration>
+\fBL\fR|<lifetime>
+\fBP\fR|<priority>
+\fB@\fR|<auxiliary data>
+.TE
.SS RESUME
-The file \fIresume.vdr\fR (if present in a recording directory) contains
+The file \fIresume\fR (if present in a recording directory) contains
the position within the recording where the last replay session left off.
-The data is a four byte (binary) integer value and defines an offset into
-the file \fIindex.vdr\fR.
+The file consists of tagged lines that describe the various parameters
+necessary to pick up replay where it left off.
+
+The following tag characters are defined:
+.TS
+tab (@);
+l l.
+\fBI\fR@<offset into the file \fIindex\fR>
+.TE
.SS MARKS
-The file \fImarks.vdr\fR (if present in a recording directory) contains
+The file \fImarks\fR (if present in a recording directory) contains
the editing marks defined for this recording.
Each line contains the definition of one mark in the following format:
@@ -641,8 +655,6 @@ All other tags are optional (although every event
should at least have a \fBT\fR entry).
There may be several \fBX\fR tags, depending on the number of tracks (video, audio etc.)
the event provides.
-The special tag character \fB@\fR is used to mark the \fBauxiliary data\fR from
-a timer definition in the \fIinfo.vdr\fR file.
.TS
tab (@);