Aufnahmen mit FreeNFS funktionieren unter Enigma nicht, mit AllegroNFS und anderen keine Probleme, bin der Sache etwas näher gekommen, beim Recorden werden .eit und .ts Datei angelegt, die .eit Datei bekommt den a (archiv Attribut), ist OK so, die .ts datei ra (read only, archiv), wieso auch immer, weil sie read only ist, kann man sie dann nicht überschreiben, updaten, die Aufnahme bricht immer mit der Meldung "Record failed due to an write error during recording. Check for filesystem corruption." ab. Nach einem Tipp von rhabarber1848 konnte ich den Fehler finden, in ../lib/dvb/record.cpp steht folgendes, die .ts Datei bekommt das Attribut 555, die .eit Datei in enigma_main.cpp dagegen 777
Code: Alles auswählen
#ifdef HAVE_DREAMBOX_HARDWARE
outfd=::open(tfilename.c_str(), O_CREAT|O_WRONLY|O_TRUNC|O_LARGEFILE, 0555);
#else
if (access("/var/etc/.no_o_sync", R_OK) == 0)
outfd=::open(tfilename.c_str(),O_CREAT|O_WRONLY|O_TRUNC|O_LARGEFILE, 0555);
else
outfd=::open(tfilename.c_str(),O_SYNC|O_CREAT|O_WRONLY|O_TRUNC|O_LARGEFILE, 0555);
#endif
Code: Alles auswählen
fprintf(stderr, "using '%s' and '%s'\n"
"writing to '%s'\n", dmxdev, dvrdev, argv[1]);
tsfd = open(argv[1], O_WRONLY | O_CREAT | O_TRUNC | O_LARGEFILE, 0664);
if (tsfd == -1) {
perror("cannot write output file");
return 1;
}
Code: Alles auswählen
#ifdef HAVE_DREAMBOX_HARDWARE
outfd=::open(tfilename.c_str(), O_CREAT|O_WRONLY|O_TRUNC|O_LARGEFILE, 0664);
#else
if (access("/var/etc/.no_o_sync", R_OK) == 0)
outfd=::open(tfilename.c_str(),O_CREAT|O_WRONLY|O_TRUNC|O_LARGEFILE, 0664);
else
outfd=::open(tfilename.c_str(),O_SYNC|O_CREAT|O_WRONLY|O_TRUNC|O_LARGEFILE, 0664);
#endif
mrvica