diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2003-05-24 12:01:52 +0200 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2003-05-24 12:01:52 +0200 |
commit | 7a5ef9e99905bcb76db04f758668246920ec5b1c (patch) | |
tree | 26f55c58bca9f42729a66aaf9a1ec48724208d9c | |
parent | 743a3ec12327fa8c86bce73d5c47b70b6c187194 (diff) | |
download | vdr-7a5ef9e99905bcb76db04f758668246920ec5b1c.tar.gz vdr-7a5ef9e99905bcb76db04f758668246920ec5b1c.tar.bz2 |
Fixed cutting a recording if there is only a single editing mark
-rw-r--r-- | CONTRIBUTORS | 3 | ||||
-rw-r--r-- | HISTORY | 2 | ||||
-rw-r--r-- | cutter.c | 10 |
3 files changed, 10 insertions, 5 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 7d4c65b4..b6b66349 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -678,3 +678,6 @@ Lars Bläser <LBlaeser@hofheim.de> Niko Tarnanen <niko.tarnanen@hut.fi> and Rolf Ahrenberg <rahrenbe@cc.hut.fi> for translating OSD texts to the Finnish language + +Ralf Klueber <ralf.klueber@vodafone.com> + for reporting a bug in cutting a recording if there is only a single editing mark @@ -2184,3 +2184,5 @@ Video Disk Recorder Revision History to Oliver Endriss). - Fixed resume file handling in case the resume.vdr file can't be written (thanks to Gerhard Steiner). +- Fixed cutting a recording if there is only a single editing mark (thanks to + Ralf Klueber for reporting this one). @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: cutter.c 1.3 2003/04/26 15:11:17 kls Exp $ + * $Id: cutter.c 1.4 2003/05/24 11:59:33 kls Exp $ */ #include "cutter.h" @@ -77,6 +77,7 @@ void cCuttingThread::Action(void) toMarks.Add(0); toMarks.Save(); uchar buffer[MAXFRAMESIZE]; + bool LastMark = false; bool cutIn = true; while (active) { uchar FileNumber; @@ -116,7 +117,7 @@ void cCuttingThread::Action(void) // Write one frame: if (PictureType == I_FRAME) { // every file shall start with an I_FRAME - if (!Mark) // edited version shall end before next I-frame + if (LastMark) // edited version shall end before next I-frame break; if (FileSize > MEGABYTE(Setup.MaxVideoFileSize)) { toFile = toFileName->NextFile(); @@ -167,9 +168,8 @@ void cCuttingThread::Action(void) FileSize = 0; } } - // the 'else' case (i.e. 'final end mark reached') is handled above - // in 'Write one frame', so that the edited version will end right - // before the next I-frame. + else + LastMark = true; } } } |