Mehrere Video Directorys

Message ID 423FE2F6.2030509@t-online.de
State New
Headers

Commit Message

Alexander Riedel March 22, 2005, 9:18 a.m. UTC
  Hallo an alle !
Hallo Klaus !!

Habe heute versucht vdr mit mehreren video directories zu nutzen.
-v /video0

In recordings habe ich aber nur Aufnahmen von /video0 gehabt.
hier ist kleines Patch:
  

Comments

Stefan Taferner March 22, 2005, 10:10 a.m. UTC | #1
On Tuesday 22 March 2005 10:18, Alexander Riedel wrote:
> Hallo an alle !
> Hallo Klaus !!
>
> Habe heute versucht vdr mit mehreren video directories zu nutzen.
> -v /video0
>
> In recordings habe ich aber nur Aufnahmen von /video0 gehabt.
> hier ist kleines Patch:
[...]

To my knowledge this is not broken, at least not for VDR up to 1.3.22.
VDR creates all recordings in the video0 directory and makes
symbolic links to the other directories. Example from my sytsem:

[root@cleopatra vdradmin]# ls 
-l /video0/Himmel\,_Polt_und_Hölle/2005-03-15.22\:44.50.50.rec/
total 69152
lrwxrwxrwx  1 root root       65 Mar 15 22:44 001.vdr 
-> /video1/Himmel,_Polt_und_H?lle/2005-03-15.22:44.50.50.rec/001.vdr
-rw-r--r--  1 root root 69451324 Mar 16 00:30 002.vdr
-rw-r--r--  1 root root  1271760 Mar 16 00:30 index.vdr
-rw-r--r--  1 root root      295 Mar 15 22:44 summary.vdr

Could it be that your /video0 was 100% full?

Kind regards,
Stefan
  

Patch

diff -Nu ./vdr-1.3.22.orig/recording.c ./vdr/recording.c
--- ./vdr-1.3.22.orig/recording.c	2005-02-12 11:17:47.000000000 +0100
+++ ./vdr/recording.c	2005-03-22 09:37:52.000000000 +0100
@@ -671,9 +671,14 @@ 
 
 bool cRecordings::Load(void)
 {
+  cVideoDirectory Dir;
   lastUpdate = time(NULL); // doing this first to make sure we don't miss anything
   Clear();
-  ScanVideoDir(VideoDirectory);
+
+  do {
+     ScanVideoDir(Dir.Name());
+  }while(Dir.Next());
+  
   Sort();
   return Count() > 0;
 }
diff -Nu ./vdr-1.3.22.orig/videodir.c ./vdr/videodir.c
--- ./vdr-1.3.22.orig/videodir.c	2004-12-26 12:52:12.000000000 +0100
+++ ./vdr/videodir.c	2005-03-22 09:46:06.000000000 +0100
@@ -20,23 +20,6 @@ 
 
 const char *VideoDirectory = VIDEODIR;
 
-class cVideoDirectory {
-private:
-  char *name, *stored, *adjusted;
-  int length, number, digits;
-public:
-  cVideoDirectory(void);
-  ~cVideoDirectory();
-  int FreeMB(int *UsedMB = NULL);
-  const char *Name(void) { return name ? name : VideoDirectory; }
-  const char *Stored(void) { return stored; }
-  int Length(void) { return length; }
-  bool IsDistributed(void) { return name != NULL; }
-  bool Next(void);
-  void Store(void);
-  const char *Adjust(const char *FileName);
-  };
-
 cVideoDirectory::cVideoDirectory(void)
 {
   length = strlen(VideoDirectory);
diff -Nu ./vdr-1.3.22.orig/videodir.h ./vdr/videodir.h
--- ./vdr-1.3.22.orig/videodir.h	2004-12-26 12:52:56.000000000 +0100
+++ ./vdr/videodir.h	2005-03-22 09:32:16.000000000 +0100
@@ -15,6 +15,23 @@ 
 
 extern const char *VideoDirectory;
 
+class cVideoDirectory {
+private:
+  char *name, *stored, *adjusted;
+  int length, number, digits;
+public:
+  cVideoDirectory(void);
+  ~cVideoDirectory();
+  int FreeMB(int *UsedMB = NULL);
+  const char *Name(void) { return name ? name : VideoDirectory; }
+  const char *Stored(void) { return stored; }
+  int Length(void) { return length; }
+  bool IsDistributed(void) { return name != NULL; }
+  bool Next(void);
+  void Store(void);
+  const char *Adjust(const char *FileName);
+};
+
 int OpenVideoFile(const char *FileName, int Flags);
 int CloseVideoFile(int FileHandle);
 bool RenameVideoFile(const char *OldName, const char *NewName);