summaryrefslogtreecommitdiff
path: root/cutter.c
diff options
context:
space:
mode:
authorKlaus Schmidinger <kls (at) cadsoft (dot) de>2009-04-26 12:19:00 +0200
committerKlaus Schmidinger <kls (at) cadsoft (dot) de>2009-04-26 12:19:00 +0200
commit733a2becc44a02daf10b97d24b8a9c8b00de3964 (patch)
tree18b2ce735f7932228d09e27570588fd86a94186c /cutter.c
parent1aadb31fb355550bb415ed971322a9bcb80f9325 (diff)
downloadvdr-patch-lnbsharing-vdr-1.7.6.tar.gz
vdr-patch-lnbsharing-vdr-1.7.6.tar.bz2
Version 1.7.6vdr-1.7.6
- cDevice::PlayTs() now syncs on the TS packet sync bytes. - Made MAXFRAMESIZE a multiple of TS_SIZE to avoid breaking up TS packets. - No longer resetting the patPmtParser in cDevice::PlayTs(), because this caused the selected audio and subtitle tracks to fall back to the default. - The SVDRP command PUTE now supports reading the EPG data from a given file (thanks to Helmut Auer). - Added cThread::SetIOPriority() and using it in cRemoveDeletedRecordingsThread (thanks to Rolf Ahrenberg). - Fixed the MEGABYTE() macro to make it correctly handle parameters resulting in values larger than 2GB. - Added cDevice::NumProvidedSystems() to PLUGINS.html (was missing since it had been implemented). - Fixed distortions when switching to the next file during replay. - Fixed detecting the frame rate for streams with PTS distances of 1800, which apparently split one frame over two payload units. - Added missing 'const' to cRecording::FramesPerSecond() (thanks to Joachim Wilke). - Any TS packets in the first "frame" after a cut in an edited recording that don't belong to a payload unit that started in that frame now get their TEI flag set, so that a decoder will ignore them together with any PES data collected for that PID so far (thanks to Oliver Endriss for reporting chirping sound disturbences at editing points in TS recordings). - cDvbPlayer::Empty() subtracts 1 from readIndex, because Action() will first increment it. - Only storing non-zero Pts values in ptsIndex. - Added a note to the INSTALL file about using subdirectories to split a large disk into separate areas for VDR's video data and other stuff (suggested by Udo Richter).
Diffstat (limited to 'cutter.c')
-rw-r--r--cutter.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/cutter.c b/cutter.c
index 73ac873..e83c5ac 100644
--- a/cutter.c
+++ b/cutter.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: cutter.c 2.2 2009/01/24 15:19:26 kls Exp $
+ * $Id: cutter.c 2.3 2009/04/19 10:56:33 kls Exp $
*/
#include "cutter.h"
@@ -18,6 +18,7 @@
class cCuttingThread : public cThread {
private:
const char *error;
+ bool isPesRecording;
cUnbufferedFile *fromFile, *toFile;
cFileName *fromFileName, *toFileName;
cIndexFile *fromIndex, *toIndex;
@@ -39,7 +40,7 @@ cCuttingThread::cCuttingThread(const char *FromFileName, const char *ToFileName)
fromFileName = toFileName = NULL;
fromIndex = toIndex = NULL;
cRecording Recording(FromFileName);
- bool isPesRecording = Recording.IsPesRecording();
+ isPesRecording = Recording.IsPesRecording();
if (fromMarks.Load(FromFileName, Recording.FramesPerSecond(), isPesRecording) && fromMarks.Count()) {
fromFileName = new cFileName(FromFileName, false, true, isPesRecording);
toFileName = new cFileName(ToFileName, true, true, isPesRecording);
@@ -140,7 +141,10 @@ void cCuttingThread::Action(void)
LastIFrame = 0;
if (cutIn) {
- cRemux::SetBrokenLink(buffer, Length);
+ if (isPesRecording)
+ cRemux::SetBrokenLink(buffer, Length);
+ else
+ TsSetTeiOnBrokenPackets(buffer, Length);
cutIn = false;
}
}