[mythtv] Question on editing saved recordings

Matt Zimmerman mdz at debian.org
Sat Jan 25 20:32:01 EST 2003


On Sat, Jan 25, 2003 at 03:49:10PM -0800, mdeponte at cyph.org wrote:

> Thanks for the great work on Mythtv.  I am a newbie at this and currently 
> have mythtv ver .7 working on a machine under Red Hat 8.0.  Just a couple 
> of questions I haven't been able to figure out.  I am able to edit only 
> some of the saved recording files but I can't see any difference in the 
> files.  Specifically, the "e" key only generates a response with the edit 
> window on some of the many files I have recorded.  
> 
> Also, I noticed a "Position Saved" response to the enter key when editing 
> file.  Is there a way to turn that feature on and off.  

Edit mode (and the position saving feature you describe) requires a seek
table in the recorded stream.  In MythTV 0.7, there is a bug which causes
this table not to be written correctly on large files.  This is fixed
already in CVS, and will be in the next release.

You can try this patch; I am not sure whether it will apply cleanly to 0.7.

-- 
 - mdz
-------------- next part --------------
Index: libs/libmythtv/RingBuffer.cpp
===================================================================
RCS file: /var/lib/cvs/MC/libs/libmythtv/RingBuffer.cpp,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -r1.27 -r1.28
--- libs/libmythtv/RingBuffer.cpp	20 Nov 2002 23:37:33 -0000	1.27
+++ libs/libmythtv/RingBuffer.cpp	24 Nov 2002 01:57:57 -0000	1.28
@@ -146,7 +146,7 @@
     while(BufUsed()>0)
 	usleep(5000);
 
-    return lseek(fd, pos, whence);
+    return lseek64(fd, pos, whence);
 }
 
 void ThreadedFileWriter::DiskLoop()
@@ -376,7 +376,7 @@
 	    ret = safe_read(fd2, buf, toread);
 	    
 	    int left = count - toread;
-	    lseek(fd2, 0, SEEK_SET);
+	    lseek64(fd2, 0, SEEK_SET);
 
 	    ret = safe_read(fd2, (char *)buf + toread, left);
 	    ret += toread;
@@ -494,7 +494,7 @@
     long long ret = -1;
     if (normalfile)
     {
-        ret = lseek(fd2, pos, whence);
+        ret = lseek64(fd2, pos, whence);
 	if (whence == SEEK_SET)
             readpos = ret;
 	else if (whence == SEEK_CUR)
@@ -503,7 +503,7 @@
     }
     else
     {
-        ret = lseek(fd2, pos, whence);
+        ret = lseek64(fd2, pos, whence);
 	if (whence == SEEK_SET)
         {
 	    // FIXME: set totalreadpos too


More information about the mythtv-dev mailing list