sync from upstream up to 22:14a375563e2b
This includes the following commits: changeset: 22:14a375563e2b summary: chang "while" command to "type -P" in bash based configure changeset: 21:c4bf7c0f33d2 summary: updated codec paper for RS01 life cycle changeset: 20:dbcaad8128aa summary: replaced build count with mercurial changeset changeset: 19:fba258a6acfa summary: Added tag 0.79.10 for changeset 49950be5a2ef changeset: 18:49950be5a2ef summary: merged some debian patches changeset: 17:815be3929c41 summary: merged "easy" patches from Stéphane Lesimple's version changeset: 16:7d15f8a958cb summary: Made printf format strings 32/64bit safe as suggested by Stéphane; changeset: 15:1055a53b8d6d summary: reorganized code for --with-gui=[yes|no] option changeset: 14:fbe2ae12a32c summary: Added tag 0.79.9 for changeset f2fdd6d3a1f5 changeset: 13:f2fdd6d3a1f5 summary: updated TODO and CHANGELOG And other changes that were needed to resolve the (many) conflicts.
This commit is contained in:
4
.github/workflows/release.yml
vendored
4
.github/workflows/release.yml
vendored
@@ -19,7 +19,7 @@ jobs:
|
||||
msystem: MINGW32
|
||||
grep: 386
|
||||
- ui: cli
|
||||
clionly: --with-cli-only
|
||||
clionly: --with-gui=no
|
||||
defaults:
|
||||
run:
|
||||
shell: msys2 {0}
|
||||
@@ -78,7 +78,7 @@ jobs:
|
||||
- name: install prerequisites
|
||||
run: sudo apt update && sudo apt install -y libglib2.0-dev ghostscript man
|
||||
- name: configure
|
||||
run: ./configure --with-cli-only
|
||||
run: ./configure --with-gui=no
|
||||
- name: make
|
||||
run: nproc && make -j$(nproc) && make static && mv -f dvdisaster-static dvdisaster
|
||||
- name: check executable
|
||||
|
||||
4
.github/workflows/tests.yml
vendored
4
.github/workflows/tests.yml
vendored
@@ -18,7 +18,7 @@ jobs:
|
||||
msystem: MINGW32
|
||||
grep: 386
|
||||
- ui: cli
|
||||
clionly: --with-cli-only
|
||||
clionly: --with-gui=no
|
||||
- printf: fmtdbg
|
||||
debugprintf: --with-debug-printf-format
|
||||
defaults:
|
||||
@@ -75,7 +75,7 @@ jobs:
|
||||
printf: [fmtdbg, normal]
|
||||
include:
|
||||
- ui: cli
|
||||
clionly: --with-cli-only
|
||||
clionly: --with-gui=no
|
||||
- printf: fmtdbg
|
||||
debugprintf: --with-debug-printf-format
|
||||
steps:
|
||||
|
||||
60
CHANGELOG
60
CHANGELOG
@@ -20,6 +20,64 @@
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with dvdisaster. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
0.79.10.patchlevel-1 09-10-2021 *UNOFFICIAL*
|
||||
- sync: integrated changes from latest upstream,
|
||||
please refer to the entries below for details.
|
||||
|
||||
0.79.10 24-09-2021
|
||||
- command line only version can be generated by
|
||||
using ./configure --with-gui=no
|
||||
The cli version will not be linked against gtk+ and it auxiliary libs.
|
||||
However, glib is still required as it provides some basic functionality
|
||||
for multithreading and string operations.
|
||||
- Fixed a checksum buffering bug which was introduced in 0.79.6:
|
||||
If user reads in CD A, then switches to image of CD B in the file dialogue
|
||||
and creates error correction data, depending on the codec some invalid
|
||||
checksums from CD A will be drawn into the ecc data for CD B.
|
||||
- Fixed crc buf related memory leak while reading/scanning
|
||||
- run_regtest will now insist that both image and ecc arguments are given.
|
||||
This prevents stale arguments when running in GUI mode.
|
||||
- Test case motivated changes/fixes:
|
||||
- in general: fixed missing/inappropriate parameters in test cases for GUI mode
|
||||
- RS01_scan_tao_tail_with_ecc
|
||||
corrected wording of warning message (scan mode won't alter the image)
|
||||
- RS01_scan_medium_with_dsm
|
||||
RS01_read_medium_with_dsm
|
||||
substantiated reading summary
|
||||
- RS01_read_medium_with_dsm_in_image
|
||||
removed reporting of displaced sectors in the image (only displaced
|
||||
sectors in the medium matter!)
|
||||
- RS02_ecc_recreate_after_read_rs02
|
||||
crc buf now considered valid (when stripping the data portion from
|
||||
the read image)
|
||||
- RS03i_plus_56_bytes
|
||||
RS03i_with_ecc_file_header
|
||||
fixed misconfiguration of testcase for GUI
|
||||
- RS03i_missing_header (and most following verify tests)
|
||||
prognosis would declare image as uncorrectable because treatment
|
||||
of unreadable ECC headers was broken.
|
||||
- RS03i_missing_header3/4
|
||||
Test case created an uncorrectable image (which did test the required
|
||||
properties, though). Changed to a test-equvalent correctable image.
|
||||
- RS03f_ecc_recreate_after_read_rs02
|
||||
rs03-create.c:prepare_header() called CrcBufValid() with wrong values when
|
||||
creating error correction files for an already augmented image.
|
||||
- Merged fixes from Stéphane Lesimple's version
|
||||
- printf argument debugging and PRId64 etc. format strings
|
||||
- -Werror setting
|
||||
- "easy" patches; non-trivial changes have been noted and
|
||||
will be processed later
|
||||
- Merged Debian patches:
|
||||
08 gmake detection
|
||||
10 dvdisaster.desktop
|
||||
12 up to spelling
|
||||
17 API warnings (partially merged)
|
||||
29 fix more typos
|
||||
33 - obsoleted -
|
||||
34 format security warning
|
||||
35 archived homepage (rewritten with references to the pdf manuals)
|
||||
|
||||
|
||||
0.79.9 14-05-2021
|
||||
- Revised code for clean compile under gcc-10 and Debian 11 (sid) or Slackware 15
|
||||
- added -Wno-deprecated-declarations to shield against a flood of warnings
|
||||
@@ -159,8 +217,6 @@
|
||||
amending the source files to make the CLI-only version possible.
|
||||
This hopefully removes a few quirks without adding too many.
|
||||
|
||||
THE ORIGINAL UPSTREAM CHANGELOG IS KEPT BELOW:
|
||||
|
||||
0.79.6 20-11-2017
|
||||
- The Verify/Test option will now output dvdisaster version
|
||||
numbers always in x.yy.zz format, as the old scheme
|
||||
|
||||
@@ -34,6 +34,11 @@ Phil Karn
|
||||
Originalversion von Phils Bibliothek herunterladen, wenn Sie
|
||||
Reed-Solomon-Kode in Ihren eigenen Programmen verwenden möchten.
|
||||
|
||||
Stéphane Lesimple <stephane@lesimple.fr>
|
||||
hat das Projekt in einem eigenen GIT-Repository am Leben erhalten
|
||||
sowie Patches und Erweiterungen beigesteuert. Er stellt weiterhin
|
||||
eine Windows-Version bereit.
|
||||
|
||||
Daniel Nylander (info@danielnylander.se)
|
||||
erstellt und pflegt die schwedische Übersetzung.
|
||||
|
||||
|
||||
@@ -32,6 +32,10 @@ Phil Karn
|
||||
special needs, you should get the original thing if you're
|
||||
interested in incorporating RS codes into your application.
|
||||
|
||||
Stéphane Lesimple <stephane@lesimple.fr>
|
||||
for keeping the project alive in his own GIT repository, and
|
||||
for supplying patches, enhancements and the Windows version.
|
||||
|
||||
Daniel Nylander (info@danielnylander.se)
|
||||
provides and maintains the Swedish translation.
|
||||
|
||||
|
||||
@@ -64,6 +64,10 @@ INTL_LIBS = $(CFG_INTL_LIBS)
|
||||
CAM_LFLAGS = $(CFG_CAM_LFLAGS)
|
||||
CAM_LIBS = $(CFG_CAM_LIBS)
|
||||
|
||||
GLIB_CFLAGS = $(CFG_GLIB2_CFLAGS)
|
||||
GLIB_LIBS = $(CFG_GLIB2_LIBS)
|
||||
GLIB_BINDIR = $(CFG_GLIB2_BINDIR)
|
||||
|
||||
GTK_CFLAGS = $(CFG_GTK2_CFLAGS) $(CFG_GLIB2_CFLAGS)
|
||||
GTK_LIBS = $(CFG_GTK2_LIBS) $(CFG_GLIB2_LIBS)
|
||||
GTK_BINDIR = $(CFG_GTK2_BINDIR) $(CFG_GLIB2_BINDIR)
|
||||
@@ -80,10 +84,10 @@ SSE2_OPTIONS = $(CFG_SSE2_OPTIONS)
|
||||
ALTIVEC_OPTIONS = $(CFG_ALTIVEC_OPTIONS)
|
||||
|
||||
LOCATIONS = -DSRCDIR="\"$(SRCDIR)\"" -DBINDIR="\"$(BINDIR)\"" -DDOCDIR="\"$(DOCSUBDIR)\"" -DLOCALEDIR="\"$(LOCALEDIR)\""
|
||||
COPTS = $(CFLAGS) $(LOCATIONS) $(SYS_OPTIONS) $(SYS_NAME) $(HAVE_OPTIONS) $(WITH_OPTIONS) $(OTHER_OPTIONS) $(INTL_INCL) $(CAM_INCL) $(GTK_CFLAGS) $(MUDFLAP_CFLAGS)
|
||||
LOPTS = $(LDFLAGS) $(INTL_LFLAGS) $(CAM_LFLAGS) $(EFENCE_LFLAGS) $(MUDFLAP_LFLAGS)
|
||||
COPTS = $(CFLAGS) $(LOCATIONS) $(SYS_OPTIONS) $(SYS_NAME) $(HAVE_OPTIONS) $(WITH_OPTIONS) $(OTHER_OPTIONS) $(INTL_INCL) $(CAM_INCL) $(GTK_CFLAGS) $(GLIB_CFLAGS)
|
||||
LOPTS = $(LDFLAGS) $(INTL_LFLAGS) $(CAM_LFLAGS) $(EFENCE_LFLAGS)
|
||||
|
||||
LIBS = $(INTL_LIBS) $(CAM_LIBS) $(GTK_LIBS) $(EFENCE_LIBS) $(MUDFLAP_LIBS) -lm
|
||||
LIBS = $(INTL_LIBS) $(CAM_LIBS) $(GTK_LIBS) $(GLIB_LIBS) $(EFENCE_LIBS) -lm
|
||||
|
||||
CFILES = $(CFG_CFILES)
|
||||
OFILES = $(CFG_OFILES)
|
||||
@@ -102,7 +106,7 @@ endif
|
||||
|
||||
all: dvdisaster
|
||||
|
||||
src/build.h:
|
||||
src/build.h: configure
|
||||
@echo "Updating:" src/build.h
|
||||
@$(SRCDIR)/scripts/time-stamper.bash $(SRCDIR)/src/build.h
|
||||
|
||||
@@ -349,6 +353,7 @@ distclean: clean
|
||||
@echo "Removing configuration files"
|
||||
@rm -f configure.log Makefile.config src/build.h GNUmakefile locale/Makefile
|
||||
@for i in locale/?? locale/??_??; do rm -rf $$i; done
|
||||
@rm -f dvdisaster-debug
|
||||
|
||||
clean:
|
||||
@echo "Removing rebuildable files"
|
||||
|
||||
38
README.md
38
README.md
@@ -1,38 +1,54 @@
|
||||
# :cd: What is dvdisaster?
|
||||
|
||||
**dvdisaster** provides additional [ECC](https://en.m.wikipedia.org/wiki/Error_correction_code) protection for optical media. If a medium gets damaged, dvdisaster can recover it as long as the amount of damage is smaller than the amount of ECC data you added to protect it.
|
||||
**dvdisaster** provides additional [ECC](https://en.m.wikipedia.org/wiki/Error_correction_code) protection for optical media.
|
||||
If a medium gets damaged, dvdisaster can recover it as long as the amount of damage is smaller than the amount of ECC data you added to protect it.
|
||||
|
||||
It can loosely be compared to [.par2](https://en.m.wikipedia.org/wiki/Parchive) files, but the protection works at the *iso* level instead of working at the file level. This way, even if metadata from the optical medium filesystem is damaged, dvdisaster can still work flawlessly.
|
||||
It can loosely be compared to [.par2](https://en.m.wikipedia.org/wiki/Parchive) files, but the protection works at the *iso* level instead of working at the file level.
|
||||
This way, even if metadata from the optical medium filesystem is damaged, dvdisaster can still work flawlessly.
|
||||
|
||||
Please refer to the [PDF manual](documentation/user-manual/manual.pdf) for more information.
|
||||
|
||||
# :wrench: Unofficial version
|
||||
|
||||
The last upstream version by Carsten Gnörlich is dated 2017, and could be found on the [official](https://web.archive.org/web/20180428070843/http://dvdisaster.net/en/index.html) [website](https://web.archive.org/web/20180509154525/http://dvdisaster.org/en/index.html) which is [now](http://www.dvdisaster.net) [down](http://www.dvdisaster.org). The original source code [repository](https://sourceforge.net/projects/dvdisaster/files/dvdisaster) doesn't have it, but [Debian sources](https://sources.debian.org/src/dvdisaster/) does, thanks to the maintainer there.
|
||||
The last upstream version by Carsten Gnörlich is dated 2017, and could be found on the
|
||||
[official](https://web.archive.org/web/20180428070843/http://dvdisaster.net/en/index.html)
|
||||
[website](https://web.archive.org/web/20180509154525/http://dvdisaster.org/en/index.html)
|
||||
which is [now](http://www.dvdisaster.net) [down](http://www.dvdisaster.org).
|
||||
The original source code [repository](https://sourceforge.net/projects/dvdisaster/files/dvdisaster) doesn't have it,
|
||||
but [Debian sources](https://sources.debian.org/src/dvdisaster/) does, thanks to the maintainer there.
|
||||
The original [README](README) has been left untouched in this repository.
|
||||
|
||||
This version is built on top of the latest upstream version, with the following notable enhancements:
|
||||
|
||||
- Added pre-defined sizes for BD-R Triple Layer (100GB), BD-R Quadruple Layer (128GB)
|
||||
- Added an option to use more space for ECC on BD-R
|
||||
- Windows build supported again (it was dropped upstream a few versions back)
|
||||
- A new CLI-only version, not depending on gtk (`./configure --with-cli-only && make clean && make -j4`)
|
||||
- A new CLI-only version, not depending on gtk (`./configure --with-gui=no && make clean && make -j4`)
|
||||
- Non-regression tests on each code change, for Linux64 and Windows32/64, CLI and GUI versions
|
||||
- Prebuilt binaries for Windows32, Windows64, Linux64 (static builds and AppImage builds), CLI and GUI versions
|
||||
- Fixed a bunch of (minor) quirks, a few (minor) bugs, added a couple (minor) features
|
||||
|
||||
Please refer to the [CHANGELOG](CHANGELOG) for all the details.
|
||||
|
||||
:loudspeaker: This version will never break compatibility with upstream versions, the goal is to ensure an optical media protected by upstream dvdisaster will still be able to be repaired with this version 10+ years from now. Regression tests are here to ensure this is the case.
|
||||
:loudspeaker: As of 2021, upstream development resumed [on a new website](https://dvdisaster.jcea.es/).
|
||||
We're working with the new team to upstream as much code as possible from this unofficial version.
|
||||
Even if at some point we succeed in upstreaming all our patches, and both codebases are exactly the same,
|
||||
this repository will stay up as it provides automated tests and prebuilt binaries.
|
||||
|
||||
## :twisted_rightwards_arrows: Choose between 3 protection modes ("codecs")
|
||||
This version will never break compatibility with upstream versions,
|
||||
the goal is to ensure an optical media protected by upstream dvdisaster will still be able to be repaired
|
||||
with this version 10+ years from now. Regression tests are here to ensure this is the case.
|
||||
|
||||
## :twisted_rightwards_arrows: 3 available protection modes ("codecs")
|
||||
|
||||
For a more detailed explanation of the algorithms, please refer to the [codecs specification PDF](documentation/codecs.pdf).
|
||||
|
||||
:one: **RS01** creates error correction files which are stored separately from the image they belong to.
|
||||
The artefact is an **ecc** file, which must be stored on another media than the one we're protecting.
|
||||
|
||||
:two: **RS02** creates error correction data which is added to the medium to protect, we call this *augmenting* the image we're protecting. Damaged sectors in the error correction information reduce the data recovering capacity, but do not make recovery impossible - a second medium for keeping or protecting the error correction
|
||||
information is not required.
|
||||
:two: **RS02** creates error correction data which is added to the medium to protect, we call this *augmenting* the image we're protecting.
|
||||
Damaged sectors in the error correction information reduce the data recovering capacity,
|
||||
but do not make recovery impossible - a second medium for keeping or protecting the error correction information is not required.
|
||||
|
||||
:three: **RS03** is a further development of RS01 and RS02. It can create both error correction files and
|
||||
augmented images, with the following added features:
|
||||
@@ -57,8 +73,10 @@ Rough comparison table:
|
||||
|
||||
# :bulb: Rationale
|
||||
|
||||
Even if the optical media era is sunsetting now, and has been for a few years, it's still of some value for off-site backups. In any case, we still have media in our hands that we want to be able to repair, should it be damaged, during the next years/decades. Repairing is actually pretty much the very reason of dvdisaster existence (as long as parity data has been added, of course).
|
||||
The idea of this unofficial version is to ensure dvdisaster doesn't get hard to find, use or compile, should upstream development never resume (we hope it does!).
|
||||
Even if the optical media era is sunsetting now, and has been for a few years, it's still of some value for off-site backups.
|
||||
In any case, we still have media in our hands that we want to be able to repair, should it be damaged, during the next years/decades.
|
||||
Repairing is actually pretty much the very reason of dvdisaster existence (as long as parity data has been added, of course).
|
||||
The idea of this unofficial version is to ensure dvdisaster doesn't get hard to find, use or compile, ~~should upstream development never resume (we hope it does!)~~
|
||||
This is also why precompiled Windows binaries and a precompiled static CLI-only Linux version are available here.
|
||||
|
||||
# :hammer: Compiling
|
||||
|
||||
15
TODO
15
TODO
@@ -2,18 +2,21 @@
|
||||
Tentative to do/ release schedule
|
||||
|
||||
Versions 0.79.x: development releases
|
||||
* restart project, catch up wich recent compiler and OS version,
|
||||
* restart project, catch up wich recent compiler and OS version
|
||||
* last releases with gtk-2
|
||||
|
||||
work in progress (this release):
|
||||
|
||||
- clean build for gcc-10 (Slackware 15, Debian testing)
|
||||
- split GUI code from core source to allow for command-line only build (done)
|
||||
- merge patches from St<53>phane Lesimple (done) and Debian (done)
|
||||
|
||||
upcoming (next releases):
|
||||
upcoming (next stable release):
|
||||
|
||||
- split GUI code from core source to allow for command-line only build
|
||||
- restore adaptive reading for all codecs
|
||||
|
||||
(no more releases for 0.79.x planned;
|
||||
except for maintenance issues should the need arise)
|
||||
|
||||
Versions 0.80.x: development releases
|
||||
* gtk-4 migration
|
||||
* lots of micro releases to revive the project and resolve outstanding issues
|
||||
@@ -22,14 +25,14 @@ Versions 0.80.x: development releases
|
||||
- remove obsolete features, especially from the GUI
|
||||
- ... many more will likely be added ...
|
||||
|
||||
Version 0.82: next milestone/stable release
|
||||
Version 0.82: milestone/stable release
|
||||
- RS03 encoding considered feature complete
|
||||
|
||||
Version 0.83: development releases
|
||||
- multithreaded decoding (error correction/repair)
|
||||
for RS01/RS02/RS03
|
||||
|
||||
Version 0.84: milestone release
|
||||
Version 0.84: milestone/stable release
|
||||
- RS03 decoding considered feature complete
|
||||
|
||||
Version 0.90:
|
||||
|
||||
26
configure
vendored
26
configure
vendored
@@ -39,8 +39,8 @@ fi
|
||||
|
||||
# Set the package name and version
|
||||
|
||||
PACKAGE dvdisaster 0.79.9
|
||||
DEFINE_INT PATCHLEVEL 9
|
||||
PACKAGE dvdisaster 0.79.10
|
||||
DEFINE_INT PATCHLEVEL 1
|
||||
DEFINE_STRING HAVE_UNSTABLE_RELEASE 1
|
||||
DEFINE_STRING HOMEPAGE "https://dvdisaster.jcea.es"
|
||||
|
||||
@@ -66,16 +66,10 @@ GET_BUILDTMP
|
||||
|
||||
PRINT_MESSAGE "\nDetermining build flavor:"
|
||||
|
||||
# old way of specifying --with-cli-only
|
||||
if [ "$CLI_ONLY" = 1 ]; then
|
||||
cfg_with_cli_only=yes
|
||||
unset CLI_ONLY
|
||||
fi
|
||||
|
||||
WITH_OPTION cli-only no "[yes | no]"
|
||||
WITH_OPTION gui yes "[yes | no]"
|
||||
|
||||
# Remove the useless CLI console under windows
|
||||
if [[ $(uname) =~ MINGW ]] && [ "$cfg_with_cli_only" != "yes" ]; then
|
||||
if [[ $(uname) =~ MINGW ]] && [ "$cfg_with_gui" == "yes" ]; then
|
||||
CFG_LDFLAGS="$CFG_LDFLAGS -mwindows"
|
||||
fi
|
||||
|
||||
@@ -84,10 +78,11 @@ fi
|
||||
PRINT_MESSAGE "\nLooking for includes and libraries:"
|
||||
|
||||
REQUIRE_GLIB2 2 32 0
|
||||
if test "$cfg_with_cli_only" != "yes"; then
|
||||
echo
|
||||
|
||||
if test "$cfg_with_gui" == "yes"; then
|
||||
REQUIRE_GTK2 2 6 0 WITH_THREADS
|
||||
fi
|
||||
echo
|
||||
|
||||
if ! CHECK_INCLUDE locale.h locale || ! CHECK_INCLUDE libintl.h intl ; then
|
||||
echo " [previous test forces -with-nls=no]"
|
||||
@@ -148,7 +143,7 @@ if ! EXECUTE_PROGRAM "xgettext --help" xgettext \
|
||||
cfg_force_with_nls=no
|
||||
fi
|
||||
|
||||
if test "$cfg_with_cli_only" != "yes"; then
|
||||
if test "$cfg_with_gui" == "yes"; then
|
||||
if ! EXECUTE_PROGRAM "gdk-pixbuf-csource --help" gdk_pixbuf_csource ; then
|
||||
echo "* gdk-pixbuf not installed"
|
||||
echo "* or path to gdk-pixbuf-csource is missing."
|
||||
@@ -209,9 +204,6 @@ cfiles="src/method-link.c"
|
||||
ofiles="$BUILDTMP/method-link.o"
|
||||
|
||||
for cfile in src/*.c; do
|
||||
if test "$cfg_with_cli_only" == "yes"; then
|
||||
grep -q 'DVDISASTER_GUI_FILE' "$cfile" && continue
|
||||
fi
|
||||
cfile_prefix=`echo $cfile | sed -e 's/\.c//'`
|
||||
cfiles="$cfiles $cfile"
|
||||
ofiles="$ofiles $BUILDTMP/$(basename $cfile_prefix.o)"
|
||||
@@ -221,7 +213,7 @@ done
|
||||
echo
|
||||
echo -e "\nCFG_CFILES = $cfiles" >> Makefile.config
|
||||
echo "CFG_OFILES = $ofiles" >> Makefile.config
|
||||
if test "$cfg_with_cli_only" != "yes"; then
|
||||
if test "$cfg_with_gui" == "yes"; then
|
||||
echo "ICONS = src/inlined-icons.h" >> Makefile.config
|
||||
fi
|
||||
|
||||
|
||||
2708
locale/cs.po
2708
locale/cs.po
File diff suppressed because it is too large
Load Diff
2743
locale/de.po
2743
locale/de.po
File diff suppressed because it is too large
Load Diff
2624
locale/it.po
2624
locale/it.po
File diff suppressed because it is too large
Load Diff
2664
locale/pt_BR.po
2664
locale/pt_BR.po
File diff suppressed because it is too large
Load Diff
2664
locale/ru.po
2664
locale/ru.po
File diff suppressed because it is too large
Load Diff
2624
locale/sv.po
2624
locale/sv.po
File diff suppressed because it is too large
Load Diff
667
misc-gui.c
Normal file
667
misc-gui.c
Normal file
@@ -0,0 +1,667 @@
|
||||
/* dvdisaster: Additional error correction for optical media.
|
||||
* Copyright (C) 2004-2017 Carsten Gnoerlich.
|
||||
* Copyright (C) 2019-2021 The dvdisaster development team.
|
||||
*
|
||||
* Email: support@dvdisaster.org
|
||||
*
|
||||
* This file is part of dvdisaster.
|
||||
*
|
||||
* dvdisaster is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* dvdisaster is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with dvdisaster. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/*** src type: some GUI code ***/
|
||||
|
||||
#include "dvdisaster.h"
|
||||
|
||||
/***
|
||||
*** GUI functions which are cli-only safe for convenience.
|
||||
***/
|
||||
|
||||
/*
|
||||
* Label convenience functions.
|
||||
* Sets the label text from another thread.
|
||||
*/
|
||||
|
||||
#ifdef WITH_GUI_YES
|
||||
typedef struct
|
||||
{ GtkLabel *label;
|
||||
char *text;
|
||||
} label_info;
|
||||
|
||||
static gboolean label_idle_func(gpointer data)
|
||||
{ label_info *li = (label_info*)data;
|
||||
|
||||
gtk_label_set_markup(li->label, li->text);
|
||||
|
||||
g_free(li->text);
|
||||
g_free(li);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void GuiSetLabelText(GtkWidget *widget, char *format, ...)
|
||||
{ label_info *li;
|
||||
va_list argp;
|
||||
|
||||
if(!Closure->guiMode)
|
||||
return;
|
||||
|
||||
li = g_malloc(sizeof(label_info));
|
||||
li->label = GTK_LABEL(widget);
|
||||
|
||||
va_start(argp, format);
|
||||
if(format)
|
||||
{ char *tmp = g_strdup_vprintf(format, argp);
|
||||
|
||||
if(!tmp) tmp=g_strdup_printf("GuiSetLabelText(%s) failed",format);
|
||||
li->text = g_locale_to_utf8(tmp, -1, NULL, NULL, NULL);
|
||||
g_free(tmp);
|
||||
}
|
||||
else li->text = g_locale_to_utf8("(null)", -1, NULL, NULL, NULL);
|
||||
va_end(argp);
|
||||
g_idle_add(label_idle_func, li);
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Progress bar convenience function.
|
||||
* Percentage is given as a multiple of 0.1 percent.
|
||||
*/
|
||||
|
||||
#ifdef WITH_GUI_YES
|
||||
|
||||
typedef struct
|
||||
{ GtkWidget *pbar;
|
||||
int percent;
|
||||
int max;
|
||||
} progress_info;
|
||||
|
||||
static gboolean progress_idle_func(gpointer data)
|
||||
{ progress_info *pi = (progress_info*)data;
|
||||
gdouble val = (gdouble)pi->percent / (gdouble)pi->max;
|
||||
char text[20];
|
||||
|
||||
switch(pi->max)
|
||||
{ case 100: g_sprintf(text, "%3d%%",pi->percent); break;
|
||||
case 1000: g_sprintf(text, "%3d.%1d%%",pi->percent/10,pi->percent%10); break;
|
||||
}
|
||||
|
||||
gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(pi->pbar), val);
|
||||
gtk_progress_bar_set_text(GTK_PROGRESS_BAR(pi->pbar), text);
|
||||
|
||||
g_free(pi);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void GuiSetProgress(GtkWidget *pbar, int percent, int max)
|
||||
{ progress_info *pi;
|
||||
|
||||
if(!Closure->guiMode) return;
|
||||
|
||||
pi = g_malloc(sizeof(progress_info));
|
||||
|
||||
pi->pbar = pbar;
|
||||
pi->percent = percent;
|
||||
pi->max = max;
|
||||
|
||||
g_idle_add(progress_idle_func, pi);
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Switch a notebook to another page and set the text in a label.
|
||||
* Used in some footlines in the GUI.
|
||||
* Does nothing in CLI mode to save us from lots of #ifdef WITH_GUI
|
||||
*/
|
||||
|
||||
#ifdef WITH_GUI_YES
|
||||
typedef struct
|
||||
{ GtkWidget *notebook;
|
||||
int newPage;
|
||||
GtkWidget *label;
|
||||
char *newText;
|
||||
} footline_info;
|
||||
|
||||
static gboolean footline_idle_func(gpointer data)
|
||||
{ footline_info *fi = (footline_info*)data;
|
||||
|
||||
if(fi->label)
|
||||
gtk_label_set_markup(GTK_LABEL(fi->label), fi->newText);
|
||||
gtk_notebook_set_current_page(GTK_NOTEBOOK(fi->notebook), fi->newPage);
|
||||
|
||||
if(fi->newText)
|
||||
g_free(fi->newText);
|
||||
g_free(fi);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void GuiSwitchAndSetFootline(GtkWidget *notebook, int page, GtkWidget *label, char *format, ...)
|
||||
{ va_list argp;
|
||||
char *tmp;
|
||||
footline_info *fi;
|
||||
int len;
|
||||
|
||||
if(!Closure->guiMode) return;
|
||||
|
||||
fi = g_malloc0(sizeof(footline_info));
|
||||
fi->notebook = notebook;
|
||||
fi->newPage = page;
|
||||
fi->label = label;
|
||||
|
||||
if(label)
|
||||
{ va_start(argp, format);
|
||||
tmp = g_strdup_vprintf(format, argp);
|
||||
len = strlen(tmp);
|
||||
if(tmp[len-1] == '\n') tmp[len-1]=0;
|
||||
fi->newText = g_locale_to_utf8(tmp, -1, NULL, NULL, NULL);
|
||||
g_free(tmp);
|
||||
va_end(argp);
|
||||
}
|
||||
|
||||
g_idle_add(footline_idle_func, fi);
|
||||
}
|
||||
|
||||
/*
|
||||
* CLI mode and GUI mode behave differently wrt. to the worker thread.
|
||||
* In CLI mode, the worker thread is the main thread and must not be terminated
|
||||
* when the worker task is finished. However in GUI mode the worker is a separate
|
||||
* thread which must exit after the assigned work is done.
|
||||
*/
|
||||
|
||||
void GuiExitWorkerThread()
|
||||
{
|
||||
if(Closure->guiMode)
|
||||
g_thread_exit(0);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
/*
|
||||
* A wrapper around GuiModalDialog() to create a logged warning.
|
||||
* Note that in CLI mode the answer is always "yes",
|
||||
* so warnings will be printed but never abort CLI mode.
|
||||
*/
|
||||
|
||||
#ifdef WITH_GUI_YES
|
||||
static int vmodal_dialog(GtkMessageType, GtkButtonsType,
|
||||
void(*)(GtkDialog*), char*, va_list);
|
||||
#endif
|
||||
|
||||
int ModalWarning(GtkMessageType mt, GtkButtonsType bt,
|
||||
void(*button_fn)(GtkDialog*), char *msg, ...)
|
||||
{ va_list argp;
|
||||
int result = 1;
|
||||
|
||||
va_start(argp, msg);
|
||||
vLogWarning(msg, argp);
|
||||
va_end(argp);
|
||||
|
||||
#ifdef WITH_GUI_YES
|
||||
if(Closure->guiMode)
|
||||
{ va_start(argp, msg);
|
||||
result = vmodal_dialog(mt, bt, button_fn, msg, argp);
|
||||
va_end(argp);
|
||||
}
|
||||
#endif
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/*
|
||||
* Safety requesters before deleting something.
|
||||
*/
|
||||
|
||||
#ifdef WITH_GUI_YES
|
||||
static void insert_button(GtkDialog*);
|
||||
|
||||
int GuiConfirmEccDeletion(char *file)
|
||||
{ int answer;
|
||||
|
||||
if(!Closure->guiMode) /* Always delete it in command line mode */
|
||||
return TRUE;
|
||||
|
||||
if(!Closure->confirmDeletion) /* I told you so... */
|
||||
return TRUE;
|
||||
|
||||
answer = GuiModalDialog(GTK_MESSAGE_QUESTION, GTK_BUTTONS_OK_CANCEL,
|
||||
insert_button,
|
||||
_("The error correction file is already present:\n\n"
|
||||
"%s\n\n"
|
||||
"Overwrite it?"),
|
||||
file);
|
||||
|
||||
return answer == GTK_RESPONSE_OK;
|
||||
}
|
||||
#endif
|
||||
|
||||
/*** remaining GUI functions */
|
||||
|
||||
#ifdef WITH_GUI_YES
|
||||
/*
|
||||
* Spawning of idle functions.
|
||||
* Idle functions are required to perform actions (like opening
|
||||
* a dialogue) from a sub thread.
|
||||
* However idle functions must not be spawned from the main thread
|
||||
* as it would block infinitely; in that case we must run the idle
|
||||
* function directly.
|
||||
*/
|
||||
|
||||
static void call_idle_func(gboolean (*idle_func)(gpointer), gpointer data)
|
||||
{
|
||||
if(Closure->mainThread == g_thread_self())
|
||||
{ idle_func(data);
|
||||
}
|
||||
else
|
||||
{ g_idle_add(idle_func, data);
|
||||
}
|
||||
}
|
||||
|
||||
/***
|
||||
*** Graphical user interface convenience
|
||||
***/
|
||||
|
||||
/*
|
||||
* Show the given widget
|
||||
*/
|
||||
|
||||
static gboolean show_idle_func(gpointer data)
|
||||
{
|
||||
gtk_widget_show(GTK_WIDGET(data));
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void GuiShowWidget(GtkWidget *widget)
|
||||
{
|
||||
if(Closure->guiMode)
|
||||
g_idle_add(show_idle_func, (gpointer)widget);
|
||||
}
|
||||
|
||||
/*
|
||||
* Activation / Deactivation of the action buttons
|
||||
*/
|
||||
|
||||
static gboolean allow_actions_idle_func(gpointer data)
|
||||
{ gboolean s = (data != NULL);
|
||||
|
||||
/* Disable/Enable parts of the menu */
|
||||
|
||||
gtk_widget_set_sensitive(Closure->fileMenuImage, s);
|
||||
gtk_widget_set_sensitive(Closure->fileMenuEcc, s);
|
||||
gtk_widget_set_sensitive(Closure->toolMenuAnchor, s);
|
||||
|
||||
/* Disable/Enable toolbar and sidebar buttons */
|
||||
|
||||
if(Closure->deviceNodes->len)
|
||||
{ gtk_widget_set_sensitive(Closure->readButton, s);
|
||||
gtk_widget_set_sensitive(Closure->scanButton, s);
|
||||
}
|
||||
gtk_widget_set_sensitive(Closure->createButton, s);
|
||||
gtk_widget_set_sensitive(Closure->fixButton, s);
|
||||
gtk_widget_set_sensitive(Closure->testButton, s);
|
||||
|
||||
gtk_widget_set_sensitive(Closure->prefsButton, s);
|
||||
if(!s && Closure->prefsWindow)
|
||||
{ GuiHidePreferences();
|
||||
}
|
||||
|
||||
Closure->stopActions = FALSE;
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void GuiAllowActions(gboolean s)
|
||||
{
|
||||
g_idle_add(allow_actions_idle_func, GINT_TO_POINTER(s));
|
||||
}
|
||||
|
||||
/*
|
||||
* Dispatch a non-modal message dialog
|
||||
*/
|
||||
|
||||
typedef struct
|
||||
{ char *msg;
|
||||
GtkMessageType type;
|
||||
GtkWindow *window;
|
||||
} message_info;
|
||||
|
||||
static gboolean message_idle_func(gpointer data)
|
||||
{ message_info *mi = (message_info*)data;
|
||||
GtkWidget *dialog;
|
||||
|
||||
dialog = gtk_message_dialog_new_with_markup(mi->window,
|
||||
GTK_DIALOG_DESTROY_WITH_PARENT,
|
||||
mi->type,
|
||||
GTK_BUTTONS_CLOSE,
|
||||
mi->msg, NULL);
|
||||
|
||||
gtk_label_set_line_wrap(GTK_LABEL(((struct _GtkMessageDialog*)dialog)->label), FALSE);
|
||||
g_signal_connect_swapped(dialog, "response", G_CALLBACK(gtk_widget_destroy), dialog);
|
||||
gtk_widget_show(dialog);
|
||||
|
||||
g_free(mi->msg);
|
||||
g_free(mi);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void GuiShowMessage(GtkWindow *parent, char *msg, GtkMessageType type)
|
||||
{ message_info *mi;
|
||||
|
||||
if(!Closure->guiMode) return;
|
||||
|
||||
mi = g_malloc(sizeof(message_info));
|
||||
mi->msg = g_strdup(msg);
|
||||
mi->type = type;
|
||||
mi->window = parent;
|
||||
|
||||
if(Closure->mainThread == g_thread_self())
|
||||
message_idle_func(mi);
|
||||
else g_idle_add(message_idle_func, mi);
|
||||
}
|
||||
|
||||
/*
|
||||
* Creates a message from the main thread
|
||||
*/
|
||||
|
||||
GtkWidget* GuiCreateMessage(char *format, GtkMessageType type, ...)
|
||||
{ GtkWidget *dialog;
|
||||
va_list argp;
|
||||
char *text,*utf8;
|
||||
|
||||
if(!Closure->guiMode)
|
||||
return NULL;
|
||||
|
||||
va_start(argp, type);
|
||||
text = g_strdup_vprintf(format, argp);
|
||||
va_end(argp);
|
||||
utf8 = g_locale_to_utf8(text, -1, NULL, NULL, NULL);
|
||||
|
||||
dialog = gtk_message_dialog_new(Closure->window,
|
||||
GTK_DIALOG_DESTROY_WITH_PARENT,
|
||||
type,
|
||||
GTK_BUTTONS_CLOSE,
|
||||
utf8, NULL);
|
||||
|
||||
gtk_label_set_line_wrap(GTK_LABEL(((struct _GtkMessageDialog*)dialog)->label), FALSE);
|
||||
g_signal_connect_swapped(dialog, "response", G_CALLBACK(gtk_widget_destroy), dialog);
|
||||
gtk_widget_show(dialog);
|
||||
g_free(text);
|
||||
g_free(utf8);
|
||||
|
||||
return dialog;
|
||||
}
|
||||
|
||||
/*
|
||||
* Perform a modal dialog.
|
||||
* Note that the thread running the dialog is different
|
||||
* from the one blocking/waiting for the response!
|
||||
*/
|
||||
|
||||
typedef struct
|
||||
{ GMutex *mutex;
|
||||
GCond *cond;
|
||||
char *msg;
|
||||
int ret;
|
||||
GtkMessageType message_type;
|
||||
GtkButtonsType button_type;
|
||||
void (*button_fn)(GtkDialog*);
|
||||
} modal_info;
|
||||
|
||||
static gboolean modal_idle_func(gpointer data)
|
||||
{ modal_info *mi = (modal_info*)data;
|
||||
GtkWidget *dialog;
|
||||
int response;
|
||||
|
||||
dialog = gtk_message_dialog_new(Closure->window,
|
||||
GTK_DIALOG_DESTROY_WITH_PARENT,
|
||||
mi->message_type,
|
||||
mi->button_type,
|
||||
"%s", mi->msg);
|
||||
gtk_label_set_line_wrap(GTK_LABEL(((struct _GtkMessageDialog*)dialog)->label), FALSE);
|
||||
|
||||
if(mi->button_fn)
|
||||
mi->button_fn(GTK_DIALOG(dialog));
|
||||
else GuiReverseCancelOK(GTK_DIALOG(dialog));
|
||||
|
||||
response = gtk_dialog_run(GTK_DIALOG(dialog));
|
||||
|
||||
g_mutex_lock(mi->mutex);
|
||||
if(mi->button_fn)
|
||||
mi->ret = response;
|
||||
else switch(response)
|
||||
{ case GTK_RESPONSE_OK:
|
||||
mi->ret = 1;
|
||||
break;
|
||||
|
||||
default:
|
||||
mi->ret = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
g_cond_signal(mi->cond);
|
||||
g_mutex_unlock(mi->mutex);
|
||||
|
||||
gtk_widget_destroy(dialog);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static int vmodal_dialog(GtkMessageType mt, GtkButtonsType bt,
|
||||
void(*button_fn)(GtkDialog*), char *msg, va_list argp)
|
||||
{ modal_info *mi = g_malloc(sizeof(modal_info));
|
||||
char *tmp;
|
||||
int idx,ret;
|
||||
|
||||
mi->message_type = mt;
|
||||
mi->button_type = bt;
|
||||
mi->button_fn = button_fn;
|
||||
mi->mutex = g_malloc(sizeof(GMutex)); g_mutex_init(mi->mutex);
|
||||
mi->cond = g_malloc(sizeof(GCond)); g_cond_init(mi->cond);
|
||||
|
||||
tmp = g_strdup_vprintf(msg, argp);
|
||||
idx = strlen(tmp); /* Remove trailing newline */
|
||||
if(tmp[idx-1] == '\n')
|
||||
tmp[idx-1] = 0;
|
||||
mi->msg = g_locale_to_utf8(tmp, -1, NULL, NULL, NULL);
|
||||
g_free(tmp);
|
||||
|
||||
mi->ret = -1;
|
||||
|
||||
call_idle_func(modal_idle_func, mi);
|
||||
|
||||
g_mutex_lock(mi->mutex);
|
||||
while(mi->ret == -1)
|
||||
g_cond_wait(mi->cond, mi->mutex);
|
||||
|
||||
ret = mi->ret;
|
||||
g_mutex_unlock(mi->mutex);
|
||||
g_free(mi->msg);
|
||||
g_mutex_clear(mi->mutex);
|
||||
g_free(mi->mutex);
|
||||
g_cond_clear(mi->cond);
|
||||
g_free(mi->cond);
|
||||
g_free(mi);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int GuiModalDialog(GtkMessageType mt, GtkButtonsType bt,
|
||||
void(*button_fn)(GtkDialog*), char *msg, ...)
|
||||
{ va_list argp;
|
||||
int result;
|
||||
|
||||
if(!Closure->guiMode)
|
||||
Stop("GuiModalDialog() called with Closure->guiMode == False");
|
||||
|
||||
va_start(argp, msg);
|
||||
result = vmodal_dialog(mt, bt, button_fn, msg, argp);
|
||||
va_end(argp);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/*
|
||||
* Set the text in the pango layout and retrieve its extents.
|
||||
*/
|
||||
|
||||
void GuiSetText(PangoLayout *layout, char *text, int *w, int *h)
|
||||
{ PangoRectangle rect;
|
||||
char *t;
|
||||
|
||||
if(!Closure->guiMode)
|
||||
return;
|
||||
|
||||
t = g_locale_to_utf8(text, -1, NULL, NULL, NULL);
|
||||
|
||||
pango_layout_set_text(layout, t, -1);
|
||||
pango_layout_get_pixel_extents(layout, NULL, &rect);
|
||||
|
||||
g_free(t);
|
||||
|
||||
*w = rect.width;
|
||||
*h = rect.height;
|
||||
}
|
||||
|
||||
/*
|
||||
* Rearrange buttons to OK Cancel order
|
||||
* in file dialogs
|
||||
*
|
||||
* gtk_dialog_set_alternative_button_order()
|
||||
* has been introduced since gtk+2.6,
|
||||
* but does not seem to work correctly.
|
||||
*/
|
||||
|
||||
void GuiReverseCancelOK(GtkDialog *dialog)
|
||||
{ GtkWidget *box, *button ;
|
||||
|
||||
if(!Closure->guiMode || !Closure->reverseCancelOK)
|
||||
return;
|
||||
|
||||
box = dialog->action_area;
|
||||
button = ((GtkBoxChild*)(g_list_first(GTK_BOX(box)->children)->data))->widget;
|
||||
|
||||
gtk_box_reorder_child(GTK_BOX(box), button, 1);
|
||||
|
||||
#if 0
|
||||
gtk_dialog_set_alternative_button_order(GTK_DIALOG(dialog),
|
||||
GTK_RESPONSE_OK,
|
||||
GTK_RESPONSE_CANCEL,
|
||||
-1);
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
* Get the width of a label text
|
||||
*/
|
||||
|
||||
int GuiGetLabelWidth(GtkLabel *label, char *format, ...)
|
||||
{ PangoLayout *layout;
|
||||
PangoRectangle rect;
|
||||
va_list argp;
|
||||
char *text;
|
||||
|
||||
if(!Closure->guiMode)
|
||||
return 0;
|
||||
|
||||
va_start(argp, format);
|
||||
text = g_strdup_vprintf(format, argp);
|
||||
va_end(argp);
|
||||
|
||||
layout = gtk_label_get_layout(label);
|
||||
pango_layout_set_text(layout, text, -1);
|
||||
pango_layout_get_pixel_extents(layout, NULL, &rect);
|
||||
|
||||
g_free(text);
|
||||
|
||||
return rect.width;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Lock the size of a label to that of the given sample text.
|
||||
*/
|
||||
|
||||
void GuiLockLabelSize(GtkWidget *wid, char *format, ...)
|
||||
{ PangoLayout *layout;
|
||||
PangoRectangle rect;
|
||||
va_list argp;
|
||||
char *text;
|
||||
|
||||
if(!Closure->guiMode)
|
||||
return;
|
||||
|
||||
va_start(argp, format);
|
||||
text = g_strdup_vprintf(format, argp);
|
||||
va_end(argp);
|
||||
|
||||
layout = gtk_label_get_layout(GTK_LABEL(wid));
|
||||
pango_layout_set_text(layout, text, -1);
|
||||
pango_layout_get_pixel_extents(layout, NULL, &rect);
|
||||
|
||||
gtk_widget_set_size_request(wid, rect.width, rect.height);
|
||||
gtk_misc_set_alignment(GTK_MISC(wid), 0.0, 0.0);
|
||||
|
||||
g_free(text);
|
||||
}
|
||||
|
||||
/***
|
||||
*** Safety requesters before overwriting stuff
|
||||
***/
|
||||
|
||||
static void dont_ask_again_cb(GtkWidget *widget, gpointer data)
|
||||
{ int state = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget));
|
||||
|
||||
Closure->confirmDeletion = !state;
|
||||
|
||||
GuiUpdatePrefsConfirmDeletion();
|
||||
}
|
||||
|
||||
static void insert_button(GtkDialog *dialog)
|
||||
{ GtkWidget *check,*align;
|
||||
|
||||
align = gtk_alignment_new(0.5, 0.5, 0.0, 0.0);
|
||||
gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox), align, FALSE, FALSE, 0);
|
||||
|
||||
check = gtk_check_button_new_with_label(_utf("Do not ask again"));
|
||||
gtk_container_add(GTK_CONTAINER(align), check);
|
||||
gtk_container_set_border_width(GTK_CONTAINER(align), 10);
|
||||
g_signal_connect(G_OBJECT(check), "toggled", G_CALLBACK(dont_ask_again_cb), NULL);
|
||||
|
||||
gtk_widget_show(align);
|
||||
gtk_widget_show(check);
|
||||
GuiReverseCancelOK(GTK_DIALOG(dialog));
|
||||
}
|
||||
|
||||
int GuiConfirmImageDeletion(char *file)
|
||||
{ int answer;
|
||||
|
||||
if(!Closure->guiMode) /* Always delete it in command line mode */
|
||||
return TRUE;
|
||||
|
||||
if(!Closure->confirmDeletion) /* I told you so... */
|
||||
return TRUE;
|
||||
|
||||
answer = GuiModalDialog(GTK_MESSAGE_QUESTION, GTK_BUTTONS_OK_CANCEL,
|
||||
insert_button,
|
||||
_("Image file already exists and does not match the medium:\n\n"
|
||||
"%s\n\n"
|
||||
"The existing image file will be deleted."),
|
||||
file);
|
||||
|
||||
return answer == GTK_RESPONSE_OK;
|
||||
}
|
||||
#endif
|
||||
@@ -7,6 +7,8 @@ DATABASE=./database
|
||||
RNDSEQ="./fixed-random-sequence"
|
||||
|
||||
NON_EXISTENT_DEVICE=/dev/sdz
|
||||
|
||||
# directory for permanently storing test files
|
||||
ISODIR=/var/tmp/regtest
|
||||
if ! test -d $ISODIR; then
|
||||
echo "$ISODIR does not exist."
|
||||
@@ -14,6 +16,14 @@ if ! test -d $ISODIR; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# directory for temporary files; e.g. to keep them away from SSDs
|
||||
TMPDIR=/dev/shm
|
||||
if ! test -d $TMPDIR; then
|
||||
echo "$TMPDIR does not exist."
|
||||
echo "Please create it manually, or edit common.bash"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
LOGDIR="/dev/shm"
|
||||
if ! test -d $LOGDIR; then
|
||||
LOGDIR=/tmp
|
||||
@@ -202,6 +212,11 @@ function run_regtest()
|
||||
local interactive_diff=$(grep "INTERACTIVE_DIFF" $CONFIGFILE)
|
||||
interactive_diff=$(echo $interactive_diff | cut -d\ -f 2)
|
||||
|
||||
if test -z "$testecc"; then
|
||||
echo -e "broken test case $1\n--> run_regtest: 4 arguments required to ensure deterministic test behaviour."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if test -n "${testecc}"; then
|
||||
testeccopt="-e ${testecc}"
|
||||
fi
|
||||
@@ -209,7 +224,6 @@ function run_regtest()
|
||||
REFLOG=${DATABASE}/${CODEC_PREFIX}_${testsymbol}
|
||||
|
||||
if test "$gui_mode" == "false"; then
|
||||
<<<<<<< HEAD
|
||||
rm -f $NEWLOG
|
||||
|
||||
echo "LANG=en_EN.UTF-8 $NEWVER --regtest --no-progress -i${testiso} ${testeccopt} ${extra_args} ${testparms}" >>$LOGFILE
|
||||
@@ -238,14 +252,19 @@ function run_regtest()
|
||||
|
||||
filter=cat
|
||||
echo "$options" | grep -qw SORTED && filter=sort
|
||||
if [ "${CODEC_PREFIX}_${testsymbol}" = RS01_scan_no_device ] || \
|
||||
[ "${CODEC_PREFIX}_${testsymbol}" = RS01_read_no_device ] || \
|
||||
[ "${CODEC_PREFIX}_${testsymbol}" = RS01_adaptive_no_device ]; then
|
||||
|
||||
# for Windows
|
||||
if [[ $testsymbol =~ _no_device$ ]]; then
|
||||
sed -i -re "s=device $NON_EXISTENT_DEVICE\.=/dev/sdz: No such file or directory=" $NEWLOG
|
||||
fi
|
||||
|
||||
if ! diff <(tail -n +3 $REFLOG | $filter) <(sed -re "s=[a-zA-Z:/]+/([a-z0-9_-]+\.(ecc|iso))=\1=g;s=$ISODIR/==g" $NEWLOG | $filter) >${DIFFLOG}; then
|
||||
# for Windows, just remove any path we find:
|
||||
sed -i -re "s=[A-Z]:/[A-Za-z0-9_/-]+/==g" $NEWLOG
|
||||
|
||||
# remove all paths to get reproducible output:
|
||||
sed -i -re "s=$TMPDIR/*==g;s=$ISODIR/*==g" $NEWLOG
|
||||
|
||||
if ! diff <(tail -n +3 $REFLOG | $filter) <(cat $NEWLOG | $filter) >${DIFFLOG}; then
|
||||
if [ "$REGTEST_NO_UTF8" = 1 ]; then
|
||||
echo "BAD; diffs found (<expected; >created):"
|
||||
else
|
||||
@@ -259,7 +278,7 @@ function run_regtest()
|
||||
if test "$answer" == "a"; then
|
||||
cp $REFLOG $LOGDIR
|
||||
head -n 2 $LOGDIR/${CODEC_PREFIX}_${testsymbol} >$REFLOG
|
||||
sed -re "s=[a-zA-Z:/]+/([a-z0-9_-]+\.(ecc|iso))=\1=g;s=$ISODIR/==g" $NEWLOG >>$REFLOG
|
||||
cat $NEWLOG >>$REFLOG
|
||||
pass="skip"
|
||||
elif test "$answer" == "v"; then
|
||||
vimdiff $REFLOG $NEWLOG
|
||||
|
||||
@@ -232,8 +232,8 @@ RS02_ecc_create_after_partial_read yes
|
||||
RS02_fix_no_read_perm yes
|
||||
RS02_fix_no_write_perm yes
|
||||
RS02_fix_good_image yes
|
||||
RS02_fix_image_plus137 yes
|
||||
RS02_fix_image_error_in_plus137 yes
|
||||
RS02_fix_image_plus137 no
|
||||
RS02_fix_image_error_in_plus137 no
|
||||
RS02_fix_truncated_image yes
|
||||
RS02_fix_trailing_bytes yes
|
||||
RS02_fix_trailing_tao yes
|
||||
@@ -378,6 +378,8 @@ RS03i_missing_header yes
|
||||
RS03i_missing_header2 yes
|
||||
RS03i_missing_header3 yes
|
||||
RS03i_missing_header4 yes
|
||||
RS03i_missing_header5 yes
|
||||
RS03i_missing_header6 yes
|
||||
RS03i_missing_header_truncated yes
|
||||
RS03i_missing_header_no_crcsec yes
|
||||
RS03i_random_image yes
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
ignore
|
||||
ignore
|
||||
This software comes with ABSOLUTELY NO WARRANTY. This
|
||||
is free software and you are welcome to redistribute it
|
||||
under the conditions of the GNU GENERAL PUBLIC LICENSE.
|
||||
See the file "COPYING" for further information.
|
||||
|
||||
*
|
||||
* dvdisaster - can not continue:
|
||||
*
|
||||
Could not open /dev/sdz: No such file or directory
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
ignore
|
||||
ignore
|
||||
This software comes with ABSOLUTELY NO WARRANTY. This
|
||||
is free software and you are welcome to redistribute it
|
||||
under the conditions of the GNU GENERAL PUBLIC LICENSE.
|
||||
See the file "COPYING" for further information.
|
||||
|
||||
*
|
||||
* dvdisaster - can not continue:
|
||||
*
|
||||
Could not open sdz: Permission denied
|
||||
|
||||
@@ -12,7 +12,7 @@ Medium "Random Image": CD-R mode 1, 21000 sectors, created 16-07-2006.
|
||||
* Warning: This ecc file requires dvdisaster-99.99!
|
||||
* Proceeding could trigger incorrect behaviour.
|
||||
* Please read the image without using this ecc file
|
||||
* or visit http://www.dvdisaster.org for an upgrade.
|
||||
* or upgrade dvdisaster.
|
||||
|
||||
RS01-type ECC found
|
||||
Adaptive reading: Trying to collect enough data for error correction.
|
||||
|
||||
@@ -309,3 +309,4 @@ CrcBufValid: buffer VALID
|
||||
Encoding with Method RS01: 32 roots, 14.3% redundancy.
|
||||
Error correction file "rs01-tmp.ecc" created.
|
||||
Make sure to keep this file on a reliable medium.
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -311,3 +311,4 @@ CrcBufValid: buffer VALID
|
||||
Encoding with Method RS01: 32 roots, 14.3% redundancy.
|
||||
Error correction file "rs01-tmp.ecc" created.
|
||||
Make sure to keep this file on a reliable medium.
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -196,3 +196,4 @@ CrcBufValid: buffer VALID
|
||||
Encoding with Method RS01: 32 roots, 14.3% redundancy.
|
||||
Error correction file "rs01-tmp.ecc" created.
|
||||
Make sure to keep this file on a reliable medium.
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -325,3 +325,4 @@ CrcBufValid: buffer VALID
|
||||
Encoding with Method RS01: 32 roots, 14.3% redundancy.
|
||||
Error correction file "rs01-tmp.ecc" created.
|
||||
Make sure to keep this file on a reliable medium.
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -310,3 +310,4 @@ CrcBufValid: buffer VALID
|
||||
Encoding with Method RS01: 32 roots, 14.3% redundancy.
|
||||
Error correction file "rs01-tmp.ecc" created.
|
||||
Make sure to keep this file on a reliable medium.
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -24,4 +24,4 @@ Creating new rs01-tmp.iso image.
|
||||
* ... more unrecoverable sectors found ...
|
||||
* further messages are suppressed unless the -v option is given.
|
||||
|
||||
All sectors successfully read.
|
||||
All sectors are readable, but 3 contain defective content.
|
||||
|
||||
@@ -10,24 +10,5 @@ Using READ CD.
|
||||
Medium "Random Image": CD-R mode 1, 21000 sectors, created 16-07-2006.
|
||||
|
||||
Completing image rs01-tmp.iso. Only missing sectors will be read.
|
||||
* Unrecoverable sector found!
|
||||
*
|
||||
* Sector 3030 is marked unreadable and annotated to be
|
||||
* in a different location (3130).
|
||||
*
|
||||
* The image was probably mastered from defective content.
|
||||
* For example it might contain one or more files which came
|
||||
* from a damaged medium which was NOT fully recovered.
|
||||
* This means that some files may have been silently corrupted.
|
||||
*
|
||||
* The label of the original (defective) medium was:
|
||||
*
|
||||
* Random Image
|
||||
*
|
||||
* Since the image was already created defective it can not be
|
||||
* repaired by dvdisaster. Also it will not be possible to create
|
||||
* error correction data for it. Sorry for the bad news.
|
||||
* ... more unrecoverable sectors found ...
|
||||
* further messages are suppressed unless the -v option is given.
|
||||
|
||||
3 sectors read.
|
||||
|
||||
@@ -10,24 +10,5 @@ Using READ CD.
|
||||
Medium "Random Image": CD-R mode 1, 21000 sectors, created 16-07-2006.
|
||||
|
||||
Completing image rs01-tmp.iso. Only missing sectors will be read.
|
||||
* Unrecoverable sector found!
|
||||
*
|
||||
* Sector 3030 is marked unreadable and seems to come
|
||||
* from a different medium.
|
||||
*
|
||||
* The image was probably mastered from defective content.
|
||||
* For example it might contain one or more files which came
|
||||
* from a damaged medium which was NOT fully recovered.
|
||||
* This means that some files may have been silently corrupted.
|
||||
*
|
||||
* The label of the original (defective) medium was:
|
||||
*
|
||||
* Random Image 2
|
||||
*
|
||||
* Since the image was already created defective it can not be
|
||||
* repaired by dvdisaster. Also it will not be possible to create
|
||||
* error correction data for it. Sorry for the bad news.
|
||||
* ... more unrecoverable sectors found ...
|
||||
* further messages are suppressed unless the -v option is given.
|
||||
|
||||
3 sectors read.
|
||||
|
||||
@@ -167,108 +167,6 @@ Medium "Random Image": CD-R mode 1, 21000 sectors, created 16-07-2006.
|
||||
|
||||
GetImageFingerprint(16): cached
|
||||
Completing image rs01-tmp.iso. Only missing sectors will be read.
|
||||
* Unrecoverable sector found!
|
||||
*
|
||||
* Sector 3030 is marked unreadable and seems to come
|
||||
* from a different medium.
|
||||
*
|
||||
* The image was probably mastered from defective content.
|
||||
* For example it might contain one or more files which came
|
||||
* from a damaged medium which was NOT fully recovered.
|
||||
* This means that some files may have been silently corrupted.
|
||||
*
|
||||
* The label of the original (defective) medium was:
|
||||
*
|
||||
* Random Image 2
|
||||
*
|
||||
* Since the image was already created defective it can not be
|
||||
* repaired by dvdisaster. Also it will not be possible to create
|
||||
* error correction data for it. Sorry for the bad news.
|
||||
* Unrecoverable sector found!
|
||||
*
|
||||
* Sector 3030 is marked unreadable and seems to come
|
||||
* from a different medium.
|
||||
*
|
||||
* The image was probably mastered from defective content.
|
||||
* For example it might contain one or more files which came
|
||||
* from a damaged medium which was NOT fully recovered.
|
||||
* This means that some files may have been silently corrupted.
|
||||
*
|
||||
* The label of the original (defective) medium was:
|
||||
*
|
||||
* Random Image 2
|
||||
*
|
||||
* Since the image was already created defective it can not be
|
||||
* repaired by dvdisaster. Also it will not be possible to create
|
||||
* error correction data for it. Sorry for the bad news.
|
||||
* Unrecoverable sector found!
|
||||
*
|
||||
* Sector 4400 is marked unreadable and seems to come
|
||||
* from a different medium.
|
||||
*
|
||||
* The image was probably mastered from defective content.
|
||||
* For example it might contain one or more files which came
|
||||
* from a damaged medium which was NOT fully recovered.
|
||||
* This means that some files may have been silently corrupted.
|
||||
*
|
||||
* The label of the original (defective) medium was:
|
||||
*
|
||||
* Random Image
|
||||
*
|
||||
* Since the image was already created defective it can not be
|
||||
* repaired by dvdisaster. Also it will not be possible to create
|
||||
* error correction data for it. Sorry for the bad news.
|
||||
* Unrecoverable sector found!
|
||||
*
|
||||
* Sector 4411 is marked unreadable and seems to come
|
||||
* from a different medium.
|
||||
*
|
||||
* The image was probably mastered from defective content.
|
||||
* For example it might contain one or more files which came
|
||||
* from a damaged medium which was NOT fully recovered.
|
||||
* This means that some files may have been silently corrupted.
|
||||
*
|
||||
* The label of the original (defective) medium was:
|
||||
*
|
||||
* Random Image
|
||||
*
|
||||
* Since the image was already created defective it can not be
|
||||
* repaired by dvdisaster. Also it will not be possible to create
|
||||
* error correction data for it. Sorry for the bad news.
|
||||
* Unrecoverable sector found!
|
||||
*
|
||||
* Sector 4400 is marked unreadable and seems to come
|
||||
* from a different medium.
|
||||
*
|
||||
* The image was probably mastered from defective content.
|
||||
* For example it might contain one or more files which came
|
||||
* from a damaged medium which was NOT fully recovered.
|
||||
* This means that some files may have been silently corrupted.
|
||||
*
|
||||
* The label of the original (defective) medium was:
|
||||
*
|
||||
* Random Image
|
||||
*
|
||||
* Since the image was already created defective it can not be
|
||||
* repaired by dvdisaster. Also it will not be possible to create
|
||||
* error correction data for it. Sorry for the bad news.
|
||||
* Unrecoverable sector found!
|
||||
*
|
||||
* Sector 4411 is marked unreadable and seems to come
|
||||
* from a different medium.
|
||||
*
|
||||
* The image was probably mastered from defective content.
|
||||
* For example it might contain one or more files which came
|
||||
* from a damaged medium which was NOT fully recovered.
|
||||
* This means that some files may have been silently corrupted.
|
||||
*
|
||||
* The label of the original (defective) medium was:
|
||||
*
|
||||
* Random Image
|
||||
*
|
||||
* Since the image was already created defective it can not be
|
||||
* repaired by dvdisaster. Also it will not be possible to create
|
||||
* error correction data for it. Sorry for the bad news.
|
||||
|
||||
3 sectors read.
|
||||
CrcBuf contents, image path none (medium):
|
||||
@@ -276,3 +174,4 @@ CrcBuf contents, image path none (medium):
|
||||
md5State: invalid
|
||||
fp sector: 16; 15c0fd35a0cfa0f83b9ccbd8604c2592
|
||||
missing crcs: 20997
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -167,108 +167,6 @@ Medium "Random Image": CD-R mode 1, 21000 sectors, created 16-07-2006.
|
||||
|
||||
GetImageFingerprint(16): cached
|
||||
Completing image rs01-tmp.iso. Only missing sectors will be read.
|
||||
* Unrecoverable sector found!
|
||||
*
|
||||
* Sector 3030 is marked unreadable and annotated to be
|
||||
* in a different location (3130).
|
||||
*
|
||||
* The image was probably mastered from defective content.
|
||||
* For example it might contain one or more files which came
|
||||
* from a damaged medium which was NOT fully recovered.
|
||||
* This means that some files may have been silently corrupted.
|
||||
*
|
||||
* The label of the original (defective) medium was:
|
||||
*
|
||||
* Random Image
|
||||
*
|
||||
* Since the image was already created defective it can not be
|
||||
* repaired by dvdisaster. Also it will not be possible to create
|
||||
* error correction data for it. Sorry for the bad news.
|
||||
* Unrecoverable sector found!
|
||||
*
|
||||
* Sector 3030 is marked unreadable and annotated to be
|
||||
* in a different location (3130).
|
||||
*
|
||||
* The image was probably mastered from defective content.
|
||||
* For example it might contain one or more files which came
|
||||
* from a damaged medium which was NOT fully recovered.
|
||||
* This means that some files may have been silently corrupted.
|
||||
*
|
||||
* The label of the original (defective) medium was:
|
||||
*
|
||||
* Random Image
|
||||
*
|
||||
* Since the image was already created defective it can not be
|
||||
* repaired by dvdisaster. Also it will not be possible to create
|
||||
* error correction data for it. Sorry for the bad news.
|
||||
* Unrecoverable sector found!
|
||||
*
|
||||
* Sector 4400 is marked unreadable and annotated to be
|
||||
* in a different location (4500).
|
||||
*
|
||||
* The image was probably mastered from defective content.
|
||||
* For example it might contain one or more files which came
|
||||
* from a damaged medium which was NOT fully recovered.
|
||||
* This means that some files may have been silently corrupted.
|
||||
*
|
||||
* The label of the original (defective) medium was:
|
||||
*
|
||||
* Random Image
|
||||
*
|
||||
* Since the image was already created defective it can not be
|
||||
* repaired by dvdisaster. Also it will not be possible to create
|
||||
* error correction data for it. Sorry for the bad news.
|
||||
* Unrecoverable sector found!
|
||||
*
|
||||
* Sector 4411 is marked unreadable and annotated to be
|
||||
* in a different location (4511).
|
||||
*
|
||||
* The image was probably mastered from defective content.
|
||||
* For example it might contain one or more files which came
|
||||
* from a damaged medium which was NOT fully recovered.
|
||||
* This means that some files may have been silently corrupted.
|
||||
*
|
||||
* The label of the original (defective) medium was:
|
||||
*
|
||||
* Random Image
|
||||
*
|
||||
* Since the image was already created defective it can not be
|
||||
* repaired by dvdisaster. Also it will not be possible to create
|
||||
* error correction data for it. Sorry for the bad news.
|
||||
* Unrecoverable sector found!
|
||||
*
|
||||
* Sector 4400 is marked unreadable and annotated to be
|
||||
* in a different location (4500).
|
||||
*
|
||||
* The image was probably mastered from defective content.
|
||||
* For example it might contain one or more files which came
|
||||
* from a damaged medium which was NOT fully recovered.
|
||||
* This means that some files may have been silently corrupted.
|
||||
*
|
||||
* The label of the original (defective) medium was:
|
||||
*
|
||||
* Random Image
|
||||
*
|
||||
* Since the image was already created defective it can not be
|
||||
* repaired by dvdisaster. Also it will not be possible to create
|
||||
* error correction data for it. Sorry for the bad news.
|
||||
* Unrecoverable sector found!
|
||||
*
|
||||
* Sector 4411 is marked unreadable and annotated to be
|
||||
* in a different location (4511).
|
||||
*
|
||||
* The image was probably mastered from defective content.
|
||||
* For example it might contain one or more files which came
|
||||
* from a damaged medium which was NOT fully recovered.
|
||||
* This means that some files may have been silently corrupted.
|
||||
*
|
||||
* The label of the original (defective) medium was:
|
||||
*
|
||||
* Random Image
|
||||
*
|
||||
* Since the image was already created defective it can not be
|
||||
* repaired by dvdisaster. Also it will not be possible to create
|
||||
* error correction data for it. Sorry for the bad news.
|
||||
|
||||
3 sectors read.
|
||||
CrcBuf contents, image path none (medium):
|
||||
@@ -276,3 +174,4 @@ CrcBuf contents, image path none (medium):
|
||||
md5State: invalid
|
||||
fp sector: 16; 15c0fd35a0cfa0f83b9ccbd8604c2592
|
||||
missing crcs: 20997
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -200,7 +200,7 @@ Creating new rs01-tmp.iso image.
|
||||
* repaired by dvdisaster. Also it will not be possible to create
|
||||
* error correction data for it. Sorry for the bad news.
|
||||
|
||||
All sectors successfully read.
|
||||
All sectors are readable, but 3 contain defective content.
|
||||
CrcBuf contents, image path none (medium):
|
||||
crcSize: 21000, dataSectors: 21000, coveredSectors: 21000, allSectors: 21000
|
||||
md5State: data_complete image_complete
|
||||
@@ -208,3 +208,4 @@ CrcBuf contents, image path none (medium):
|
||||
full: 1c479ed0276128f79fd72f7b3d087441
|
||||
fp sector: 16; 15c0fd35a0cfa0f83b9ccbd8604c2592
|
||||
missing crcs: 0
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
c7945e8f9e09517842c1bb435b51bc74
|
||||
3f793d792a261cc98268182085034ae7
|
||||
ignore
|
||||
This software comes with ABSOLUTELY NO WARRANTY. This
|
||||
is free software and you are welcome to redistribute it
|
||||
@@ -12,5 +12,7 @@ Medium "Random Image": CD-R mode 1, 21000 sectors, created 16-07-2006.
|
||||
Creating new rs01-tmp.iso image.
|
||||
Sector 4992, try 1: Hardware Error; Focus servo failure.
|
||||
Sector 4992: Hardware Error; Focus servo failure. Skipping 15 sectors.
|
||||
Sector 6000, try 1: Hardware Error; Focus servo failure.
|
||||
Sector 6000: Hardware Error; Focus servo failure. Skipping 15 sectors.
|
||||
|
||||
16 unreadable sectors.
|
||||
32 unreadable sectors.
|
||||
|
||||
@@ -21,5 +21,7 @@ Scanning medium for read errors.
|
||||
* Since the medium was already created defective it can not be
|
||||
* repaired by dvdisaster. Also it will not be possible to create
|
||||
* error correction data for it. Sorry for the bad news.
|
||||
* ... more unrecoverable sectors found ...
|
||||
* further messages are suppressed unless the -v option is given.
|
||||
|
||||
All sectors successfully read.
|
||||
All sectors are readable, but 2 contain defective content.
|
||||
|
||||
@@ -19,5 +19,5 @@ Sector 21001: Medium Error; Unrecovered read error.
|
||||
2 unreadable sectors.
|
||||
* Warning: 2 sectors missing at the end of the disc.
|
||||
* This is okay if the CD was written in TAO (track at once) mode.
|
||||
* The Image will be truncated accordingly. See the manual for details.
|
||||
* Use the --dao option to disable image truncating.
|
||||
* See the manual for details.
|
||||
* Use the --dao option to disable this message.
|
||||
|
||||
@@ -12,7 +12,7 @@ Medium "Random Image": CD-R mode 1, 34932 sectors, Ecc, created 16-07-2006.
|
||||
RS02-type ECC found
|
||||
* Warning: This image requires dvdisaster-99.99!
|
||||
* Proceeding could trigger incorrect behaviour.
|
||||
* Please visit http://www.dvdisaster.org for an upgrade.
|
||||
* Please upgrade dvdisaster.
|
||||
|
||||
Adaptive reading: Trying to collect enough data for error correction.
|
||||
Creating new rs02-tmp.iso image.
|
||||
|
||||
@@ -4,19 +4,463 @@ This software comes with ABSOLUTELY NO WARRANTY. This
|
||||
is free software and you are welcome to redistribute it
|
||||
under the conditions of the GNU GENERAL PUBLIC LICENSE.
|
||||
See the file "COPYING" for further information.
|
||||
# *** OpenImageFromDevice(sim-cd) ***
|
||||
# InquireDevice returned: Simulated CD drive 1.00
|
||||
|
||||
Device: sim-cd, Simulated CD drive 1.00
|
||||
# *** query_type(Simulated CD drive 1.00, 0) ***
|
||||
# *** get_configuration(Simulated CD drive 1.00) ***
|
||||
# 8 data len, 9 current
|
||||
-> profile 9: CD-R
|
||||
# trying READ DISC INFORMATION for size
|
||||
# size returned is 32
|
||||
# trying READ DISC INFORMATION for real info
|
||||
0000: 00 20 1e 00 00 00 00 00 00 00 00 00 00 00 00 00 . ...... ........
|
||||
0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
|
||||
# status is 1e, disc type 0
|
||||
#CD: starting media probe
|
||||
#CD: querying size of READ TOC/PMA/ATIP (for TOC)
|
||||
#CD: size returned is 12
|
||||
#CD: querying real READ TOC/PMA/ATIP (for TOC)
|
||||
0000: 00 0a 00 00 00 14 00 00 00 00 00 00 ........ ....
|
||||
#CD: control is 0x14
|
||||
#CD: querying size of READ TOC/PMA/ATIP (for full TOC)
|
||||
# Warning: Realigning length from 26 to 24
|
||||
#CD: size returned is 24
|
||||
#CD: querying real READ TOC/PMA/ATIP (for full TOC)
|
||||
0000: 00 18 00 01 00 00 00 a0 00 00 00 00 00 00 00 00 ........ ........
|
||||
0010: 00 00 00 00 00 00 00 00 ........
|
||||
#CD: 1 sessions
|
||||
#CD: CD medium detected, type: CD-R mode 1
|
||||
# query_type() returned.
|
||||
# deciding reading strategy...
|
||||
Using READ CD.
|
||||
GetImageFingerprint(16): read & cached
|
||||
|
||||
ExamineUDF(Device: Simulated CD drive 1.00)
|
||||
Examining the ISO file system...
|
||||
Sector 16:
|
||||
Volume descriptor type = 1
|
||||
Volume descriptor version = 1
|
||||
Standard identifier = CD001
|
||||
-> primary volume descriptor:
|
||||
System identifier : | |
|
||||
Volume identifier : |RANDOM IMAGE |
|
||||
Volume space size : 30000 sectors
|
||||
Volume set size : 1
|
||||
Volume sequence size : 1
|
||||
Logical block size : 2048
|
||||
Path table size : 10 bytes
|
||||
L-Path table location : 19
|
||||
Opt L-Path table location : 0
|
||||
M-Path table location : 20
|
||||
Opt M-Path table location : 0
|
||||
Volume creation date/time : 16-07-2006 10:35:46.23
|
||||
Volume modification d/t : 16-07-2006 10:35:46.23
|
||||
Volume expiration d/t : 16-07-2106 10:35:46.23
|
||||
Volume effective d/t : 16-07-2006 10:35:46.23
|
||||
File structure version : 1
|
||||
Sector 17:
|
||||
Volume descriptor type = 2
|
||||
Volume descriptor version = 1
|
||||
Standard identifier = CD001
|
||||
-> supplementary volume descriptor: *skipped*
|
||||
Sector 18:
|
||||
Volume descriptor type = 255
|
||||
Volume descriptor version = 1
|
||||
Standard identifier = CD001
|
||||
-> volume descriptor set terminator;
|
||||
end of ISO file system parsing.
|
||||
Examining the UDF file system...
|
||||
not yet implemented.
|
||||
|
||||
# *** read_capacity(Simulated CD drive 1.00) ***
|
||||
-> 29999
|
||||
ExamineECC() started
|
||||
...trying RS01
|
||||
...trying RS02
|
||||
RS02Recognize: medium sim-cd
|
||||
try_sector: trying sector 30000
|
||||
try_sector: read error, trying next header
|
||||
try_sector: trying sector 29850
|
||||
try_sector: no cookie, skipping current modulo
|
||||
RS02Recognize: quick RS02 search, attempting up to 3 sector reads max
|
||||
Medium rewriteable: FALSE
|
||||
FindHeaderInMedium: Trying modulo 4611686018427387904
|
||||
FindHeaderInMedium: Trying modulo 2305843009213693952
|
||||
FindHeaderInMedium: Trying modulo 1152921504606846976
|
||||
FindHeaderInMedium: Trying modulo 576460752303423488
|
||||
FindHeaderInMedium: Trying modulo 288230376151711744
|
||||
FindHeaderInMedium: Trying modulo 144115188075855872
|
||||
FindHeaderInMedium: Trying modulo 72057594037927936
|
||||
FindHeaderInMedium: Trying modulo 36028797018963968
|
||||
FindHeaderInMedium: Trying modulo 18014398509481984
|
||||
FindHeaderInMedium: Trying modulo 9007199254740992
|
||||
FindHeaderInMedium: Trying modulo 4503599627370496
|
||||
FindHeaderInMedium: Trying modulo 2251799813685248
|
||||
FindHeaderInMedium: Trying modulo 1125899906842624
|
||||
FindHeaderInMedium: Trying modulo 562949953421312
|
||||
FindHeaderInMedium: Trying modulo 281474976710656
|
||||
FindHeaderInMedium: Trying modulo 140737488355328
|
||||
FindHeaderInMedium: Trying modulo 70368744177664
|
||||
FindHeaderInMedium: Trying modulo 35184372088832
|
||||
FindHeaderInMedium: Trying modulo 17592186044416
|
||||
FindHeaderInMedium: Trying modulo 8796093022208
|
||||
FindHeaderInMedium: Trying modulo 4398046511104
|
||||
FindHeaderInMedium: Trying modulo 2199023255552
|
||||
FindHeaderInMedium: Trying modulo 1099511627776
|
||||
FindHeaderInMedium: Trying modulo 549755813888
|
||||
FindHeaderInMedium: Trying modulo 274877906944
|
||||
FindHeaderInMedium: Trying modulo 137438953472
|
||||
FindHeaderInMedium: Trying modulo 68719476736
|
||||
FindHeaderInMedium: Trying modulo 34359738368
|
||||
FindHeaderInMedium: Trying modulo 17179869184
|
||||
FindHeaderInMedium: Trying modulo 8589934592
|
||||
FindHeaderInMedium: Trying modulo 4294967296
|
||||
FindHeaderInMedium: Trying modulo 2147483648
|
||||
FindHeaderInMedium: Trying modulo 1073741824
|
||||
FindHeaderInMedium: Trying modulo 536870912
|
||||
FindHeaderInMedium: Trying modulo 268435456
|
||||
FindHeaderInMedium: Trying modulo 134217728
|
||||
FindHeaderInMedium: Trying modulo 67108864
|
||||
FindHeaderInMedium: Trying modulo 33554432
|
||||
FindHeaderInMedium: Trying modulo 16777216
|
||||
FindHeaderInMedium: Trying modulo 8388608
|
||||
FindHeaderInMedium: Trying modulo 4194304
|
||||
FindHeaderInMedium: Trying modulo 2097152
|
||||
FindHeaderInMedium: Trying modulo 1048576
|
||||
FindHeaderInMedium: Trying modulo 524288
|
||||
FindHeaderInMedium: Trying modulo 262144
|
||||
FindHeaderInMedium: Trying modulo 131072
|
||||
FindHeaderInMedium: Trying modulo 65536
|
||||
FindHeaderInMedium: Trying modulo 32768
|
||||
FindHeaderInMedium: Trying modulo 16384
|
||||
try_sector: trying sector 16384
|
||||
try_sector: no cookie, skipping current modulo
|
||||
FindHeaderInMedium: Trying modulo 8192
|
||||
try_sector: trying sector 24576
|
||||
try_sector: no cookie, skipping current modulo
|
||||
FindHeaderInMedium: Trying modulo 4096
|
||||
try_sector: trying sector 28672
|
||||
try_sector: no cookie, skipping current modulo
|
||||
...trying RS03
|
||||
RS03RecognizeImage: medium sim-cd
|
||||
FindRS03HeaderInImage: medium sim-cd
|
||||
RS03RecognizeImage: quick RS03 search, attempting up to 3 sector reads max
|
||||
Warning: image size set to 35000 for debugging!
|
||||
.. trying layer size 137
|
||||
Scanning layers for signatures.
|
||||
- layer slice 0
|
||||
RS03: tries left = 2, reading sector 11508
|
||||
RS03: tries left = 1, reading sector 11645
|
||||
RS03: tries left = 0, reading sector 11782
|
||||
RS03: max tries reached, stopping search
|
||||
...no augmented image detected.
|
||||
# Calling query_size()
|
||||
# *** query_size(Simulated CD drive 1.00) ***
|
||||
Medium size could NOT be determined from ECC header.
|
||||
Medium size obtained from ISO/UDF file system: 30000 sectors
|
||||
# returned: 30000 sectors
|
||||
Medium "Random Image": CD-R mode 1, 30000 sectors, created 16-07-2006.
|
||||
|
||||
GetImageFingerprint(16): cached
|
||||
Completing image rs02-tmp.iso. Only missing sectors will be read.
|
||||
|
||||
1000 sectors read.
|
||||
CrcBuf contents, image path none (medium):
|
||||
crcSize: 30000, dataSectors: 30000, coveredSectors: 30000, allSectors: 30000
|
||||
md5State: invalid
|
||||
fp sector: 16; abe80d3600553a8dce779713afd94f3c
|
||||
missing crcs: 29000
|
||||
|
||||
Opening rs02-tmp.iso
|
||||
ExamineUDF(File: rs02-tmp.iso)
|
||||
Examining the ISO file system...
|
||||
Sector 16:
|
||||
Volume descriptor type = 1
|
||||
Volume descriptor version = 1
|
||||
Standard identifier = CD001
|
||||
-> primary volume descriptor:
|
||||
System identifier : | |
|
||||
Volume identifier : |RANDOM IMAGE |
|
||||
Volume space size : 30000 sectors
|
||||
Volume set size : 1
|
||||
Volume sequence size : 1
|
||||
Logical block size : 2048
|
||||
Path table size : 10 bytes
|
||||
L-Path table location : 19
|
||||
Opt L-Path table location : 0
|
||||
M-Path table location : 20
|
||||
Opt M-Path table location : 0
|
||||
Volume creation date/time : 16-07-2006 10:35:46.23
|
||||
Volume modification d/t : 16-07-2006 10:35:46.23
|
||||
Volume expiration d/t : 16-07-2106 10:35:46.23
|
||||
Volume effective d/t : 16-07-2006 10:35:46.23
|
||||
File structure version : 1
|
||||
Sector 17:
|
||||
Volume descriptor type = 2
|
||||
Volume descriptor version = 1
|
||||
Standard identifier = CD001
|
||||
-> supplementary volume descriptor: *skipped*
|
||||
Sector 18:
|
||||
Volume descriptor type = 255
|
||||
Volume descriptor version = 1
|
||||
Standard identifier = CD001
|
||||
-> volume descriptor set terminator;
|
||||
end of ISO file system parsing.
|
||||
Examining the UDF file system...
|
||||
not yet implemented.
|
||||
|
||||
ExamineECC() started
|
||||
...trying RS01
|
||||
...trying RS02
|
||||
RS02Recognize: file rs02-tmp.iso
|
||||
try_sector: trying sector 30000
|
||||
try_sector: read error, trying next header
|
||||
try_sector: trying sector 29850
|
||||
try_sector: no cookie, skipping current modulo
|
||||
RS02Recognize: No EH, entering exhaustive search
|
||||
FindHeaderInMedium: Trying modulo 4611686018427387904
|
||||
FindHeaderInMedium: Trying modulo 2305843009213693952
|
||||
FindHeaderInMedium: Trying modulo 1152921504606846976
|
||||
FindHeaderInMedium: Trying modulo 576460752303423488
|
||||
FindHeaderInMedium: Trying modulo 288230376151711744
|
||||
FindHeaderInMedium: Trying modulo 144115188075855872
|
||||
FindHeaderInMedium: Trying modulo 72057594037927936
|
||||
FindHeaderInMedium: Trying modulo 36028797018963968
|
||||
FindHeaderInMedium: Trying modulo 18014398509481984
|
||||
FindHeaderInMedium: Trying modulo 9007199254740992
|
||||
FindHeaderInMedium: Trying modulo 4503599627370496
|
||||
FindHeaderInMedium: Trying modulo 2251799813685248
|
||||
FindHeaderInMedium: Trying modulo 1125899906842624
|
||||
FindHeaderInMedium: Trying modulo 562949953421312
|
||||
FindHeaderInMedium: Trying modulo 281474976710656
|
||||
FindHeaderInMedium: Trying modulo 140737488355328
|
||||
FindHeaderInMedium: Trying modulo 70368744177664
|
||||
FindHeaderInMedium: Trying modulo 35184372088832
|
||||
FindHeaderInMedium: Trying modulo 17592186044416
|
||||
FindHeaderInMedium: Trying modulo 8796093022208
|
||||
FindHeaderInMedium: Trying modulo 4398046511104
|
||||
FindHeaderInMedium: Trying modulo 2199023255552
|
||||
FindHeaderInMedium: Trying modulo 1099511627776
|
||||
FindHeaderInMedium: Trying modulo 549755813888
|
||||
FindHeaderInMedium: Trying modulo 274877906944
|
||||
FindHeaderInMedium: Trying modulo 137438953472
|
||||
FindHeaderInMedium: Trying modulo 68719476736
|
||||
FindHeaderInMedium: Trying modulo 34359738368
|
||||
FindHeaderInMedium: Trying modulo 17179869184
|
||||
FindHeaderInMedium: Trying modulo 8589934592
|
||||
FindHeaderInMedium: Trying modulo 4294967296
|
||||
FindHeaderInMedium: Trying modulo 2147483648
|
||||
FindHeaderInMedium: Trying modulo 1073741824
|
||||
FindHeaderInMedium: Trying modulo 536870912
|
||||
FindHeaderInMedium: Trying modulo 268435456
|
||||
FindHeaderInMedium: Trying modulo 134217728
|
||||
FindHeaderInMedium: Trying modulo 67108864
|
||||
FindHeaderInMedium: Trying modulo 33554432
|
||||
FindHeaderInMedium: Trying modulo 16777216
|
||||
FindHeaderInMedium: Trying modulo 8388608
|
||||
FindHeaderInMedium: Trying modulo 4194304
|
||||
FindHeaderInMedium: Trying modulo 2097152
|
||||
FindHeaderInMedium: Trying modulo 1048576
|
||||
FindHeaderInMedium: Trying modulo 524288
|
||||
FindHeaderInMedium: Trying modulo 262144
|
||||
FindHeaderInMedium: Trying modulo 131072
|
||||
FindHeaderInMedium: Trying modulo 65536
|
||||
FindHeaderInMedium: Trying modulo 32768
|
||||
FindHeaderInMedium: Trying modulo 16384
|
||||
try_sector: trying sector 16384
|
||||
try_sector: no cookie, skipping current modulo
|
||||
FindHeaderInMedium: Trying modulo 8192
|
||||
try_sector: trying sector 24576
|
||||
try_sector: no cookie, skipping current modulo
|
||||
FindHeaderInMedium: Trying modulo 4096
|
||||
try_sector: trying sector 28672
|
||||
try_sector: no cookie, skipping current modulo
|
||||
FindHeaderInMedium: Trying modulo 2048
|
||||
Sector 28672 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 1024
|
||||
try_sector: trying sector 29696
|
||||
try_sector: no cookie, skipping current modulo
|
||||
FindHeaderInMedium: Trying modulo 512
|
||||
Sector 29696 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 256
|
||||
try_sector: trying sector 29952
|
||||
try_sector: no cookie, skipping current modulo
|
||||
FindHeaderInMedium: Trying modulo 128
|
||||
Sector 29952 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 64
|
||||
Sector 29952 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 32
|
||||
try_sector: trying sector 29984
|
||||
try_sector: no cookie, skipping current modulo
|
||||
...trying RS03
|
||||
RS03RecognizeImage: file rs02-tmp.iso
|
||||
FindRS03HeaderInImage: file rs02-tmp.iso
|
||||
RS03RecognizeImage: No EH, entering exhaustive search
|
||||
Warning: image size set to 35000 for debugging!
|
||||
.. trying layer size 137
|
||||
Scanning layers for signatures.
|
||||
- layer slice 0
|
||||
RS03: try number = 1, reading sector 11508
|
||||
RS03: try number = 2, reading sector 11645
|
||||
RS03: try number = 3, reading sector 11782
|
||||
RS03: try number = 4, reading sector 11919
|
||||
RS03: try number = 5, reading sector 12056
|
||||
RS03: try number = 6, reading sector 12193
|
||||
RS03: try number = 7, reading sector 12330
|
||||
RS03: try number = 8, reading sector 12467
|
||||
RS03: try number = 9, reading sector 12604
|
||||
RS03: try number = 10, reading sector 12741
|
||||
RS03: try number = 11, reading sector 12878
|
||||
RS03: try number = 12, reading sector 13015
|
||||
RS03: try number = 13, reading sector 13152
|
||||
RS03: try number = 14, reading sector 13289
|
||||
RS03: try number = 15, reading sector 13426
|
||||
RS03: try number = 16, reading sector 13563
|
||||
RS03: try number = 17, reading sector 13700
|
||||
RS03: try number = 18, reading sector 13837
|
||||
RS03: try number = 19, reading sector 13974
|
||||
RS03: try number = 20, reading sector 14111
|
||||
RS03: try number = 21, reading sector 14248
|
||||
RS03: try number = 22, reading sector 14385
|
||||
RS03: try number = 23, reading sector 14522
|
||||
RS03: try number = 24, reading sector 14659
|
||||
RS03: try number = 25, reading sector 14796
|
||||
RS03: try number = 26, reading sector 14933
|
||||
RS03: try number = 27, reading sector 15070
|
||||
RS03: try number = 28, reading sector 15207
|
||||
RS03: try number = 29, reading sector 15344
|
||||
RS03: try number = 30, reading sector 15481
|
||||
RS03: try number = 31, reading sector 15618
|
||||
RS03: try number = 32, reading sector 15755
|
||||
RS03: try number = 33, reading sector 15892
|
||||
RS03: try number = 34, reading sector 16029
|
||||
RS03: try number = 35, reading sector 16166
|
||||
RS03: try number = 36, reading sector 16303
|
||||
RS03: try number = 37, reading sector 16440
|
||||
RS03: try number = 38, reading sector 16577
|
||||
RS03: try number = 39, reading sector 16714
|
||||
RS03: try number = 40, reading sector 16851
|
||||
RS03: try number = 41, reading sector 16988
|
||||
RS03: try number = 42, reading sector 17125
|
||||
RS03: try number = 43, reading sector 17262
|
||||
RS03: try number = 44, reading sector 17399
|
||||
RS03: try number = 45, reading sector 17536
|
||||
RS03: try number = 46, reading sector 17673
|
||||
RS03: try number = 47, reading sector 17810
|
||||
RS03: try number = 48, reading sector 17947
|
||||
RS03: try number = 49, reading sector 18084
|
||||
RS03: try number = 50, reading sector 18221
|
||||
RS03: try number = 51, reading sector 18358
|
||||
RS03: try number = 52, reading sector 18495
|
||||
RS03: try number = 53, reading sector 18632
|
||||
RS03: try number = 54, reading sector 18769
|
||||
RS03: try number = 55, reading sector 18906
|
||||
RS03: try number = 56, reading sector 19043
|
||||
RS03: try number = 57, reading sector 19180
|
||||
RS03: try number = 58, reading sector 19317
|
||||
RS03: try number = 59, reading sector 19454
|
||||
RS03: try number = 60, reading sector 19591
|
||||
RS03: try number = 61, reading sector 19728
|
||||
RS03: try number = 62, reading sector 19865
|
||||
RS03: try number = 63, reading sector 20002
|
||||
RS03: try number = 64, reading sector 20139
|
||||
RS03: try number = 65, reading sector 20276
|
||||
RS03: try number = 66, reading sector 20413
|
||||
RS03: try number = 67, reading sector 20550
|
||||
RS03: try number = 68, reading sector 20687
|
||||
RS03: try number = 69, reading sector 20824
|
||||
RS03: try number = 70, reading sector 20961
|
||||
RS03: try number = 71, reading sector 21098
|
||||
RS03: try number = 72, reading sector 21235
|
||||
RS03: try number = 73, reading sector 21372
|
||||
RS03: try number = 74, reading sector 21509
|
||||
RS03: try number = 75, reading sector 21646
|
||||
RS03: try number = 76, reading sector 21783
|
||||
RS03: try number = 77, reading sector 21920
|
||||
RS03: try number = 78, reading sector 22057
|
||||
RS03: try number = 79, reading sector 22194
|
||||
RS03: try number = 80, reading sector 22331
|
||||
RS03: try number = 81, reading sector 22468
|
||||
RS03: try number = 82, reading sector 22605
|
||||
RS03: try number = 83, reading sector 22742
|
||||
RS03: try number = 84, reading sector 22879
|
||||
RS03: try number = 85, reading sector 23016
|
||||
RS03: try number = 86, reading sector 23153
|
||||
RS03: try number = 87, reading sector 23290
|
||||
RS03: try number = 88, reading sector 23427
|
||||
RS03: try number = 89, reading sector 23564
|
||||
RS03: try number = 90, reading sector 23701
|
||||
RS03: try number = 91, reading sector 23838
|
||||
RS03: try number = 92, reading sector 23975
|
||||
RS03: try number = 93, reading sector 24112
|
||||
RS03: try number = 94, reading sector 24249
|
||||
RS03: try number = 95, reading sector 24386
|
||||
RS03: try number = 96, reading sector 24523
|
||||
RS03: try number = 97, reading sector 24660
|
||||
RS03: try number = 98, reading sector 24797
|
||||
RS03: try number = 99, reading sector 24934
|
||||
RS03: try number = 100, reading sector 25071
|
||||
RS03: try number = 101, reading sector 25208
|
||||
RS03: try number = 102, reading sector 25345
|
||||
RS03: try number = 103, reading sector 25482
|
||||
RS03: try number = 104, reading sector 25619
|
||||
RS03: try number = 105, reading sector 25756
|
||||
RS03: try number = 106, reading sector 25893
|
||||
RS03: try number = 107, reading sector 26030
|
||||
RS03: try number = 108, reading sector 26167
|
||||
RS03: try number = 109, reading sector 26304
|
||||
RS03: try number = 110, reading sector 26441
|
||||
RS03: try number = 111, reading sector 26578
|
||||
RS03: try number = 112, reading sector 26715
|
||||
RS03: try number = 113, reading sector 26852
|
||||
RS03: try number = 114, reading sector 26989
|
||||
RS03: try number = 115, reading sector 27126
|
||||
RS03: try number = 116, reading sector 27263
|
||||
RS03: try number = 117, reading sector 27400
|
||||
RS03: try number = 118, reading sector 27537
|
||||
RS03: try number = 119, reading sector 27674
|
||||
RS03: try number = 120, reading sector 27811
|
||||
RS03: try number = 121, reading sector 27948
|
||||
RS03: try number = 122, reading sector 28085
|
||||
RS03: try number = 123, reading sector 28222
|
||||
RS03: try number = 124, reading sector 28359
|
||||
RS03: try number = 125, reading sector 28496
|
||||
RS03: try number = 126, reading sector 28633
|
||||
RS03: try number = 127, reading sector 28770
|
||||
RS03: try number = 128, reading sector 28907
|
||||
RS03: try number = 129, reading sector 29044
|
||||
RS03: try number = 130, reading sector 29181
|
||||
RS03: try number = 131, reading sector 29318
|
||||
RS03: try number = 132, reading sector 29455
|
||||
RS03: try number = 133, reading sector 29592
|
||||
RS03: try number = 134, reading sector 29729
|
||||
RS03: try number = 135, reading sector 29866
|
||||
** All layers tested -> no RS03 data found
|
||||
...no augmented image detected.
|
||||
GetImageFingerprint(16): read & cached
|
||||
: 30000 medium sectors.
|
||||
Calculated layout for RS02 image:
|
||||
data sectors = 30000
|
||||
crc sectors = 59
|
||||
protected sectors = 30061 (incl. 2 hdr sectors)
|
||||
reed solomon secs = 4795 (35 roots, 220 data)
|
||||
header repeats = 38 (using modulo 128)
|
||||
added sectors = 4932
|
||||
total image size = 34932
|
||||
medium capacity = 35000
|
||||
|
||||
Interleaving layout:
|
||||
137 sectors per ecc layer
|
||||
first layer sector with CRC data 136 (sector# 30002)
|
||||
|
||||
Opening rs02-tmp.iso: 30000 medium sectors.
|
||||
Augmenting image with Method RS02:
|
||||
58 MiB data, 9 MiB ecc (35 roots; 15.9% redundancy).
|
||||
* Warning: Using redundancies below 20% may not give
|
||||
* the expected data loss protection.
|
||||
CrcBufValid: NOT complete
|
||||
FreeCrcBuf - buffer cleared
|
||||
Image has been augmented with error correction data.
|
||||
New image size is 68 MiB (34932 sectors).
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -4,19 +4,463 @@ This software comes with ABSOLUTELY NO WARRANTY. This
|
||||
is free software and you are welcome to redistribute it
|
||||
under the conditions of the GNU GENERAL PUBLIC LICENSE.
|
||||
See the file "COPYING" for further information.
|
||||
# *** OpenImageFromDevice(sim-cd) ***
|
||||
# InquireDevice returned: Simulated CD drive 1.00
|
||||
|
||||
Device: sim-cd, Simulated CD drive 1.00
|
||||
# *** query_type(Simulated CD drive 1.00, 0) ***
|
||||
# *** get_configuration(Simulated CD drive 1.00) ***
|
||||
# 8 data len, 9 current
|
||||
-> profile 9: CD-R
|
||||
# trying READ DISC INFORMATION for size
|
||||
# size returned is 32
|
||||
# trying READ DISC INFORMATION for real info
|
||||
0000: 00 20 1e 00 00 00 00 00 00 00 00 00 00 00 00 00 . ...... ........
|
||||
0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
|
||||
# status is 1e, disc type 0
|
||||
#CD: starting media probe
|
||||
#CD: querying size of READ TOC/PMA/ATIP (for TOC)
|
||||
#CD: size returned is 12
|
||||
#CD: querying real READ TOC/PMA/ATIP (for TOC)
|
||||
0000: 00 0a 00 00 00 14 00 00 00 00 00 00 ........ ....
|
||||
#CD: control is 0x14
|
||||
#CD: querying size of READ TOC/PMA/ATIP (for full TOC)
|
||||
# Warning: Realigning length from 26 to 24
|
||||
#CD: size returned is 24
|
||||
#CD: querying real READ TOC/PMA/ATIP (for full TOC)
|
||||
0000: 00 18 00 01 00 00 00 a0 00 00 00 00 00 00 00 00 ........ ........
|
||||
0010: 00 00 00 00 00 00 00 00 ........
|
||||
#CD: 1 sessions
|
||||
#CD: CD medium detected, type: CD-R mode 1
|
||||
# query_type() returned.
|
||||
# deciding reading strategy...
|
||||
Using READ CD.
|
||||
GetImageFingerprint(16): read & cached
|
||||
|
||||
ExamineUDF(Device: Simulated CD drive 1.00)
|
||||
Examining the ISO file system...
|
||||
Sector 16:
|
||||
Volume descriptor type = 1
|
||||
Volume descriptor version = 1
|
||||
Standard identifier = CD001
|
||||
-> primary volume descriptor:
|
||||
System identifier : | |
|
||||
Volume identifier : |RANDOM IMAGE |
|
||||
Volume space size : 30000 sectors
|
||||
Volume set size : 1
|
||||
Volume sequence size : 1
|
||||
Logical block size : 2048
|
||||
Path table size : 10 bytes
|
||||
L-Path table location : 19
|
||||
Opt L-Path table location : 0
|
||||
M-Path table location : 20
|
||||
Opt M-Path table location : 0
|
||||
Volume creation date/time : 16-07-2006 10:35:46.23
|
||||
Volume modification d/t : 16-07-2006 10:35:46.23
|
||||
Volume expiration d/t : 16-07-2106 10:35:46.23
|
||||
Volume effective d/t : 16-07-2006 10:35:46.23
|
||||
File structure version : 1
|
||||
Sector 17:
|
||||
Volume descriptor type = 2
|
||||
Volume descriptor version = 1
|
||||
Standard identifier = CD001
|
||||
-> supplementary volume descriptor: *skipped*
|
||||
Sector 18:
|
||||
Volume descriptor type = 255
|
||||
Volume descriptor version = 1
|
||||
Standard identifier = CD001
|
||||
-> volume descriptor set terminator;
|
||||
end of ISO file system parsing.
|
||||
Examining the UDF file system...
|
||||
not yet implemented.
|
||||
|
||||
# *** read_capacity(Simulated CD drive 1.00) ***
|
||||
-> 29999
|
||||
ExamineECC() started
|
||||
...trying RS01
|
||||
...trying RS02
|
||||
RS02Recognize: medium sim-cd
|
||||
try_sector: trying sector 30000
|
||||
try_sector: read error, trying next header
|
||||
try_sector: trying sector 29850
|
||||
try_sector: no cookie, skipping current modulo
|
||||
RS02Recognize: quick RS02 search, attempting up to 3 sector reads max
|
||||
Medium rewriteable: FALSE
|
||||
FindHeaderInMedium: Trying modulo 4611686018427387904
|
||||
FindHeaderInMedium: Trying modulo 2305843009213693952
|
||||
FindHeaderInMedium: Trying modulo 1152921504606846976
|
||||
FindHeaderInMedium: Trying modulo 576460752303423488
|
||||
FindHeaderInMedium: Trying modulo 288230376151711744
|
||||
FindHeaderInMedium: Trying modulo 144115188075855872
|
||||
FindHeaderInMedium: Trying modulo 72057594037927936
|
||||
FindHeaderInMedium: Trying modulo 36028797018963968
|
||||
FindHeaderInMedium: Trying modulo 18014398509481984
|
||||
FindHeaderInMedium: Trying modulo 9007199254740992
|
||||
FindHeaderInMedium: Trying modulo 4503599627370496
|
||||
FindHeaderInMedium: Trying modulo 2251799813685248
|
||||
FindHeaderInMedium: Trying modulo 1125899906842624
|
||||
FindHeaderInMedium: Trying modulo 562949953421312
|
||||
FindHeaderInMedium: Trying modulo 281474976710656
|
||||
FindHeaderInMedium: Trying modulo 140737488355328
|
||||
FindHeaderInMedium: Trying modulo 70368744177664
|
||||
FindHeaderInMedium: Trying modulo 35184372088832
|
||||
FindHeaderInMedium: Trying modulo 17592186044416
|
||||
FindHeaderInMedium: Trying modulo 8796093022208
|
||||
FindHeaderInMedium: Trying modulo 4398046511104
|
||||
FindHeaderInMedium: Trying modulo 2199023255552
|
||||
FindHeaderInMedium: Trying modulo 1099511627776
|
||||
FindHeaderInMedium: Trying modulo 549755813888
|
||||
FindHeaderInMedium: Trying modulo 274877906944
|
||||
FindHeaderInMedium: Trying modulo 137438953472
|
||||
FindHeaderInMedium: Trying modulo 68719476736
|
||||
FindHeaderInMedium: Trying modulo 34359738368
|
||||
FindHeaderInMedium: Trying modulo 17179869184
|
||||
FindHeaderInMedium: Trying modulo 8589934592
|
||||
FindHeaderInMedium: Trying modulo 4294967296
|
||||
FindHeaderInMedium: Trying modulo 2147483648
|
||||
FindHeaderInMedium: Trying modulo 1073741824
|
||||
FindHeaderInMedium: Trying modulo 536870912
|
||||
FindHeaderInMedium: Trying modulo 268435456
|
||||
FindHeaderInMedium: Trying modulo 134217728
|
||||
FindHeaderInMedium: Trying modulo 67108864
|
||||
FindHeaderInMedium: Trying modulo 33554432
|
||||
FindHeaderInMedium: Trying modulo 16777216
|
||||
FindHeaderInMedium: Trying modulo 8388608
|
||||
FindHeaderInMedium: Trying modulo 4194304
|
||||
FindHeaderInMedium: Trying modulo 2097152
|
||||
FindHeaderInMedium: Trying modulo 1048576
|
||||
FindHeaderInMedium: Trying modulo 524288
|
||||
FindHeaderInMedium: Trying modulo 262144
|
||||
FindHeaderInMedium: Trying modulo 131072
|
||||
FindHeaderInMedium: Trying modulo 65536
|
||||
FindHeaderInMedium: Trying modulo 32768
|
||||
FindHeaderInMedium: Trying modulo 16384
|
||||
try_sector: trying sector 16384
|
||||
try_sector: no cookie, skipping current modulo
|
||||
FindHeaderInMedium: Trying modulo 8192
|
||||
try_sector: trying sector 24576
|
||||
try_sector: no cookie, skipping current modulo
|
||||
FindHeaderInMedium: Trying modulo 4096
|
||||
try_sector: trying sector 28672
|
||||
try_sector: no cookie, skipping current modulo
|
||||
...trying RS03
|
||||
RS03RecognizeImage: medium sim-cd
|
||||
FindRS03HeaderInImage: medium sim-cd
|
||||
RS03RecognizeImage: quick RS03 search, attempting up to 3 sector reads max
|
||||
Warning: image size set to 35000 for debugging!
|
||||
.. trying layer size 137
|
||||
Scanning layers for signatures.
|
||||
- layer slice 0
|
||||
RS03: tries left = 2, reading sector 11508
|
||||
RS03: tries left = 1, reading sector 11645
|
||||
RS03: tries left = 0, reading sector 11782
|
||||
RS03: max tries reached, stopping search
|
||||
...no augmented image detected.
|
||||
# Calling query_size()
|
||||
# *** query_size(Simulated CD drive 1.00) ***
|
||||
Medium size could NOT be determined from ECC header.
|
||||
Medium size obtained from ISO/UDF file system: 30000 sectors
|
||||
# returned: 30000 sectors
|
||||
Medium "Random Image": CD-R mode 1, 30000 sectors, created 16-07-2006.
|
||||
|
||||
Creating new rs02-tmp.iso image.
|
||||
|
||||
All sectors successfully read.
|
||||
CrcBuf contents, image path none (medium):
|
||||
crcSize: 30000, dataSectors: 30000, coveredSectors: 30000, allSectors: 30000
|
||||
md5State: data_complete image_complete
|
||||
data: cbadac3ca7b6e9bccfc889b7eaded254
|
||||
full: cbadac3ca7b6e9bccfc889b7eaded254
|
||||
fp sector: 16; abe80d3600553a8dce779713afd94f3c
|
||||
missing crcs: 0
|
||||
|
||||
Opening rs02-tmp.iso
|
||||
ExamineUDF(File: rs02-tmp.iso)
|
||||
Examining the ISO file system...
|
||||
Sector 16:
|
||||
Volume descriptor type = 1
|
||||
Volume descriptor version = 1
|
||||
Standard identifier = CD001
|
||||
-> primary volume descriptor:
|
||||
System identifier : | |
|
||||
Volume identifier : |RANDOM IMAGE |
|
||||
Volume space size : 30000 sectors
|
||||
Volume set size : 1
|
||||
Volume sequence size : 1
|
||||
Logical block size : 2048
|
||||
Path table size : 10 bytes
|
||||
L-Path table location : 19
|
||||
Opt L-Path table location : 0
|
||||
M-Path table location : 20
|
||||
Opt M-Path table location : 0
|
||||
Volume creation date/time : 16-07-2006 10:35:46.23
|
||||
Volume modification d/t : 16-07-2006 10:35:46.23
|
||||
Volume expiration d/t : 16-07-2106 10:35:46.23
|
||||
Volume effective d/t : 16-07-2006 10:35:46.23
|
||||
File structure version : 1
|
||||
Sector 17:
|
||||
Volume descriptor type = 2
|
||||
Volume descriptor version = 1
|
||||
Standard identifier = CD001
|
||||
-> supplementary volume descriptor: *skipped*
|
||||
Sector 18:
|
||||
Volume descriptor type = 255
|
||||
Volume descriptor version = 1
|
||||
Standard identifier = CD001
|
||||
-> volume descriptor set terminator;
|
||||
end of ISO file system parsing.
|
||||
Examining the UDF file system...
|
||||
not yet implemented.
|
||||
|
||||
ExamineECC() started
|
||||
...trying RS01
|
||||
...trying RS02
|
||||
RS02Recognize: file rs02-tmp.iso
|
||||
try_sector: trying sector 30000
|
||||
try_sector: read error, trying next header
|
||||
try_sector: trying sector 29850
|
||||
try_sector: no cookie, skipping current modulo
|
||||
RS02Recognize: No EH, entering exhaustive search
|
||||
FindHeaderInMedium: Trying modulo 4611686018427387904
|
||||
FindHeaderInMedium: Trying modulo 2305843009213693952
|
||||
FindHeaderInMedium: Trying modulo 1152921504606846976
|
||||
FindHeaderInMedium: Trying modulo 576460752303423488
|
||||
FindHeaderInMedium: Trying modulo 288230376151711744
|
||||
FindHeaderInMedium: Trying modulo 144115188075855872
|
||||
FindHeaderInMedium: Trying modulo 72057594037927936
|
||||
FindHeaderInMedium: Trying modulo 36028797018963968
|
||||
FindHeaderInMedium: Trying modulo 18014398509481984
|
||||
FindHeaderInMedium: Trying modulo 9007199254740992
|
||||
FindHeaderInMedium: Trying modulo 4503599627370496
|
||||
FindHeaderInMedium: Trying modulo 2251799813685248
|
||||
FindHeaderInMedium: Trying modulo 1125899906842624
|
||||
FindHeaderInMedium: Trying modulo 562949953421312
|
||||
FindHeaderInMedium: Trying modulo 281474976710656
|
||||
FindHeaderInMedium: Trying modulo 140737488355328
|
||||
FindHeaderInMedium: Trying modulo 70368744177664
|
||||
FindHeaderInMedium: Trying modulo 35184372088832
|
||||
FindHeaderInMedium: Trying modulo 17592186044416
|
||||
FindHeaderInMedium: Trying modulo 8796093022208
|
||||
FindHeaderInMedium: Trying modulo 4398046511104
|
||||
FindHeaderInMedium: Trying modulo 2199023255552
|
||||
FindHeaderInMedium: Trying modulo 1099511627776
|
||||
FindHeaderInMedium: Trying modulo 549755813888
|
||||
FindHeaderInMedium: Trying modulo 274877906944
|
||||
FindHeaderInMedium: Trying modulo 137438953472
|
||||
FindHeaderInMedium: Trying modulo 68719476736
|
||||
FindHeaderInMedium: Trying modulo 34359738368
|
||||
FindHeaderInMedium: Trying modulo 17179869184
|
||||
FindHeaderInMedium: Trying modulo 8589934592
|
||||
FindHeaderInMedium: Trying modulo 4294967296
|
||||
FindHeaderInMedium: Trying modulo 2147483648
|
||||
FindHeaderInMedium: Trying modulo 1073741824
|
||||
FindHeaderInMedium: Trying modulo 536870912
|
||||
FindHeaderInMedium: Trying modulo 268435456
|
||||
FindHeaderInMedium: Trying modulo 134217728
|
||||
FindHeaderInMedium: Trying modulo 67108864
|
||||
FindHeaderInMedium: Trying modulo 33554432
|
||||
FindHeaderInMedium: Trying modulo 16777216
|
||||
FindHeaderInMedium: Trying modulo 8388608
|
||||
FindHeaderInMedium: Trying modulo 4194304
|
||||
FindHeaderInMedium: Trying modulo 2097152
|
||||
FindHeaderInMedium: Trying modulo 1048576
|
||||
FindHeaderInMedium: Trying modulo 524288
|
||||
FindHeaderInMedium: Trying modulo 262144
|
||||
FindHeaderInMedium: Trying modulo 131072
|
||||
FindHeaderInMedium: Trying modulo 65536
|
||||
FindHeaderInMedium: Trying modulo 32768
|
||||
FindHeaderInMedium: Trying modulo 16384
|
||||
try_sector: trying sector 16384
|
||||
try_sector: no cookie, skipping current modulo
|
||||
FindHeaderInMedium: Trying modulo 8192
|
||||
try_sector: trying sector 24576
|
||||
try_sector: no cookie, skipping current modulo
|
||||
FindHeaderInMedium: Trying modulo 4096
|
||||
try_sector: trying sector 28672
|
||||
try_sector: no cookie, skipping current modulo
|
||||
FindHeaderInMedium: Trying modulo 2048
|
||||
Sector 28672 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 1024
|
||||
try_sector: trying sector 29696
|
||||
try_sector: no cookie, skipping current modulo
|
||||
FindHeaderInMedium: Trying modulo 512
|
||||
Sector 29696 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 256
|
||||
try_sector: trying sector 29952
|
||||
try_sector: no cookie, skipping current modulo
|
||||
FindHeaderInMedium: Trying modulo 128
|
||||
Sector 29952 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 64
|
||||
Sector 29952 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 32
|
||||
try_sector: trying sector 29984
|
||||
try_sector: no cookie, skipping current modulo
|
||||
...trying RS03
|
||||
RS03RecognizeImage: file rs02-tmp.iso
|
||||
FindRS03HeaderInImage: file rs02-tmp.iso
|
||||
RS03RecognizeImage: No EH, entering exhaustive search
|
||||
Warning: image size set to 35000 for debugging!
|
||||
.. trying layer size 137
|
||||
Scanning layers for signatures.
|
||||
- layer slice 0
|
||||
RS03: try number = 1, reading sector 11508
|
||||
RS03: try number = 2, reading sector 11645
|
||||
RS03: try number = 3, reading sector 11782
|
||||
RS03: try number = 4, reading sector 11919
|
||||
RS03: try number = 5, reading sector 12056
|
||||
RS03: try number = 6, reading sector 12193
|
||||
RS03: try number = 7, reading sector 12330
|
||||
RS03: try number = 8, reading sector 12467
|
||||
RS03: try number = 9, reading sector 12604
|
||||
RS03: try number = 10, reading sector 12741
|
||||
RS03: try number = 11, reading sector 12878
|
||||
RS03: try number = 12, reading sector 13015
|
||||
RS03: try number = 13, reading sector 13152
|
||||
RS03: try number = 14, reading sector 13289
|
||||
RS03: try number = 15, reading sector 13426
|
||||
RS03: try number = 16, reading sector 13563
|
||||
RS03: try number = 17, reading sector 13700
|
||||
RS03: try number = 18, reading sector 13837
|
||||
RS03: try number = 19, reading sector 13974
|
||||
RS03: try number = 20, reading sector 14111
|
||||
RS03: try number = 21, reading sector 14248
|
||||
RS03: try number = 22, reading sector 14385
|
||||
RS03: try number = 23, reading sector 14522
|
||||
RS03: try number = 24, reading sector 14659
|
||||
RS03: try number = 25, reading sector 14796
|
||||
RS03: try number = 26, reading sector 14933
|
||||
RS03: try number = 27, reading sector 15070
|
||||
RS03: try number = 28, reading sector 15207
|
||||
RS03: try number = 29, reading sector 15344
|
||||
RS03: try number = 30, reading sector 15481
|
||||
RS03: try number = 31, reading sector 15618
|
||||
RS03: try number = 32, reading sector 15755
|
||||
RS03: try number = 33, reading sector 15892
|
||||
RS03: try number = 34, reading sector 16029
|
||||
RS03: try number = 35, reading sector 16166
|
||||
RS03: try number = 36, reading sector 16303
|
||||
RS03: try number = 37, reading sector 16440
|
||||
RS03: try number = 38, reading sector 16577
|
||||
RS03: try number = 39, reading sector 16714
|
||||
RS03: try number = 40, reading sector 16851
|
||||
RS03: try number = 41, reading sector 16988
|
||||
RS03: try number = 42, reading sector 17125
|
||||
RS03: try number = 43, reading sector 17262
|
||||
RS03: try number = 44, reading sector 17399
|
||||
RS03: try number = 45, reading sector 17536
|
||||
RS03: try number = 46, reading sector 17673
|
||||
RS03: try number = 47, reading sector 17810
|
||||
RS03: try number = 48, reading sector 17947
|
||||
RS03: try number = 49, reading sector 18084
|
||||
RS03: try number = 50, reading sector 18221
|
||||
RS03: try number = 51, reading sector 18358
|
||||
RS03: try number = 52, reading sector 18495
|
||||
RS03: try number = 53, reading sector 18632
|
||||
RS03: try number = 54, reading sector 18769
|
||||
RS03: try number = 55, reading sector 18906
|
||||
RS03: try number = 56, reading sector 19043
|
||||
RS03: try number = 57, reading sector 19180
|
||||
RS03: try number = 58, reading sector 19317
|
||||
RS03: try number = 59, reading sector 19454
|
||||
RS03: try number = 60, reading sector 19591
|
||||
RS03: try number = 61, reading sector 19728
|
||||
RS03: try number = 62, reading sector 19865
|
||||
RS03: try number = 63, reading sector 20002
|
||||
RS03: try number = 64, reading sector 20139
|
||||
RS03: try number = 65, reading sector 20276
|
||||
RS03: try number = 66, reading sector 20413
|
||||
RS03: try number = 67, reading sector 20550
|
||||
RS03: try number = 68, reading sector 20687
|
||||
RS03: try number = 69, reading sector 20824
|
||||
RS03: try number = 70, reading sector 20961
|
||||
RS03: try number = 71, reading sector 21098
|
||||
RS03: try number = 72, reading sector 21235
|
||||
RS03: try number = 73, reading sector 21372
|
||||
RS03: try number = 74, reading sector 21509
|
||||
RS03: try number = 75, reading sector 21646
|
||||
RS03: try number = 76, reading sector 21783
|
||||
RS03: try number = 77, reading sector 21920
|
||||
RS03: try number = 78, reading sector 22057
|
||||
RS03: try number = 79, reading sector 22194
|
||||
RS03: try number = 80, reading sector 22331
|
||||
RS03: try number = 81, reading sector 22468
|
||||
RS03: try number = 82, reading sector 22605
|
||||
RS03: try number = 83, reading sector 22742
|
||||
RS03: try number = 84, reading sector 22879
|
||||
RS03: try number = 85, reading sector 23016
|
||||
RS03: try number = 86, reading sector 23153
|
||||
RS03: try number = 87, reading sector 23290
|
||||
RS03: try number = 88, reading sector 23427
|
||||
RS03: try number = 89, reading sector 23564
|
||||
RS03: try number = 90, reading sector 23701
|
||||
RS03: try number = 91, reading sector 23838
|
||||
RS03: try number = 92, reading sector 23975
|
||||
RS03: try number = 93, reading sector 24112
|
||||
RS03: try number = 94, reading sector 24249
|
||||
RS03: try number = 95, reading sector 24386
|
||||
RS03: try number = 96, reading sector 24523
|
||||
RS03: try number = 97, reading sector 24660
|
||||
RS03: try number = 98, reading sector 24797
|
||||
RS03: try number = 99, reading sector 24934
|
||||
RS03: try number = 100, reading sector 25071
|
||||
RS03: try number = 101, reading sector 25208
|
||||
RS03: try number = 102, reading sector 25345
|
||||
RS03: try number = 103, reading sector 25482
|
||||
RS03: try number = 104, reading sector 25619
|
||||
RS03: try number = 105, reading sector 25756
|
||||
RS03: try number = 106, reading sector 25893
|
||||
RS03: try number = 107, reading sector 26030
|
||||
RS03: try number = 108, reading sector 26167
|
||||
RS03: try number = 109, reading sector 26304
|
||||
RS03: try number = 110, reading sector 26441
|
||||
RS03: try number = 111, reading sector 26578
|
||||
RS03: try number = 112, reading sector 26715
|
||||
RS03: try number = 113, reading sector 26852
|
||||
RS03: try number = 114, reading sector 26989
|
||||
RS03: try number = 115, reading sector 27126
|
||||
RS03: try number = 116, reading sector 27263
|
||||
RS03: try number = 117, reading sector 27400
|
||||
RS03: try number = 118, reading sector 27537
|
||||
RS03: try number = 119, reading sector 27674
|
||||
RS03: try number = 120, reading sector 27811
|
||||
RS03: try number = 121, reading sector 27948
|
||||
RS03: try number = 122, reading sector 28085
|
||||
RS03: try number = 123, reading sector 28222
|
||||
RS03: try number = 124, reading sector 28359
|
||||
RS03: try number = 125, reading sector 28496
|
||||
RS03: try number = 126, reading sector 28633
|
||||
RS03: try number = 127, reading sector 28770
|
||||
RS03: try number = 128, reading sector 28907
|
||||
RS03: try number = 129, reading sector 29044
|
||||
RS03: try number = 130, reading sector 29181
|
||||
RS03: try number = 131, reading sector 29318
|
||||
RS03: try number = 132, reading sector 29455
|
||||
RS03: try number = 133, reading sector 29592
|
||||
RS03: try number = 134, reading sector 29729
|
||||
RS03: try number = 135, reading sector 29866
|
||||
** All layers tested -> no RS03 data found
|
||||
...no augmented image detected.
|
||||
GetImageFingerprint(16): read & cached
|
||||
: 30000 medium sectors.
|
||||
Calculated layout for RS02 image:
|
||||
data sectors = 30000
|
||||
crc sectors = 59
|
||||
protected sectors = 30061 (incl. 2 hdr sectors)
|
||||
reed solomon secs = 4795 (35 roots, 220 data)
|
||||
header repeats = 38 (using modulo 128)
|
||||
added sectors = 4932
|
||||
total image size = 34932
|
||||
medium capacity = 35000
|
||||
|
||||
Interleaving layout:
|
||||
137 sectors per ecc layer
|
||||
first layer sector with CRC data 136 (sector# 30002)
|
||||
|
||||
Opening rs02-tmp.iso: 30000 medium sectors.
|
||||
Augmenting image with Method RS02:
|
||||
58 MiB data, 9 MiB ecc (35 roots; 15.9% redundancy).
|
||||
* Warning: Using redundancies below 20% may not give
|
||||
* the expected data loss protection.
|
||||
CrcBufValid: buffer VALID
|
||||
Image has been augmented with error correction data.
|
||||
New image size is 68 MiB (34932 sectors).
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -5,10 +5,10 @@ is free software and you are welcome to redistribute it
|
||||
under the conditions of the GNU GENERAL PUBLIC LICENSE.
|
||||
See the file "COPYING" for further information.
|
||||
|
||||
Opening none.iso: No such file or directory.
|
||||
Opening none.file: No such file or directory.
|
||||
|
||||
*
|
||||
* dvdisaster - can not continue:
|
||||
*
|
||||
Image file none.iso: No such file or directory.
|
||||
Image file none.file: No such file or directory.
|
||||
|
||||
|
||||
@@ -4,20 +4,465 @@ This software comes with ABSOLUTELY NO WARRANTY. This
|
||||
is free software and you are welcome to redistribute it
|
||||
under the conditions of the GNU GENERAL PUBLIC LICENSE.
|
||||
See the file "COPYING" for further information.
|
||||
# *** OpenImageFromDevice(sim-cd) ***
|
||||
# InquireDevice returned: Simulated CD drive 1.00
|
||||
|
||||
Device: sim-cd, Simulated CD drive 1.00
|
||||
# *** query_type(Simulated CD drive 1.00, 0) ***
|
||||
# *** get_configuration(Simulated CD drive 1.00) ***
|
||||
# 8 data len, 9 current
|
||||
-> profile 9: CD-R
|
||||
# trying READ DISC INFORMATION for size
|
||||
# size returned is 32
|
||||
# trying READ DISC INFORMATION for real info
|
||||
0000: 00 20 1e 00 00 00 00 00 00 00 00 00 00 00 00 00 . ...... ........
|
||||
0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
|
||||
# status is 1e, disc type 0
|
||||
#CD: starting media probe
|
||||
#CD: querying size of READ TOC/PMA/ATIP (for TOC)
|
||||
#CD: size returned is 12
|
||||
#CD: querying real READ TOC/PMA/ATIP (for TOC)
|
||||
0000: 00 0a 00 00 00 14 00 00 00 00 00 00 ........ ....
|
||||
#CD: control is 0x14
|
||||
#CD: querying size of READ TOC/PMA/ATIP (for full TOC)
|
||||
# Warning: Realigning length from 26 to 24
|
||||
#CD: size returned is 24
|
||||
#CD: querying real READ TOC/PMA/ATIP (for full TOC)
|
||||
0000: 00 18 00 01 00 00 00 a0 00 00 00 00 00 00 00 00 ........ ........
|
||||
0010: 00 00 00 00 00 00 00 00 ........
|
||||
#CD: 1 sessions
|
||||
#CD: CD medium detected, type: CD-R mode 1
|
||||
# query_type() returned.
|
||||
# deciding reading strategy...
|
||||
Using READ CD.
|
||||
GetImageFingerprint(16): read & cached
|
||||
|
||||
ExamineUDF(Device: Simulated CD drive 1.00)
|
||||
Examining the ISO file system...
|
||||
Sector 16:
|
||||
Volume descriptor type = 1
|
||||
Volume descriptor version = 1
|
||||
Standard identifier = CD001
|
||||
-> primary volume descriptor:
|
||||
System identifier : | |
|
||||
Volume identifier : |RANDOM IMAGE |
|
||||
Volume space size : 30000 sectors
|
||||
Volume set size : 1
|
||||
Volume sequence size : 1
|
||||
Logical block size : 2048
|
||||
Path table size : 10 bytes
|
||||
L-Path table location : 19
|
||||
Opt L-Path table location : 0
|
||||
M-Path table location : 20
|
||||
Opt M-Path table location : 0
|
||||
Volume creation date/time : 16-07-2006 10:35:46.23
|
||||
Volume modification d/t : 16-07-2006 10:35:46.23
|
||||
Volume expiration d/t : 16-07-2106 10:35:46.23
|
||||
Volume effective d/t : 16-07-2006 10:35:46.23
|
||||
File structure version : 1
|
||||
Sector 17:
|
||||
Volume descriptor type = 2
|
||||
Volume descriptor version = 1
|
||||
Standard identifier = CD001
|
||||
-> supplementary volume descriptor: *skipped*
|
||||
Sector 18:
|
||||
Volume descriptor type = 255
|
||||
Volume descriptor version = 1
|
||||
Standard identifier = CD001
|
||||
-> volume descriptor set terminator;
|
||||
end of ISO file system parsing.
|
||||
Examining the UDF file system...
|
||||
not yet implemented.
|
||||
|
||||
# *** read_capacity(Simulated CD drive 1.00) ***
|
||||
-> 29999
|
||||
ExamineECC() started
|
||||
...trying RS01
|
||||
...trying RS02
|
||||
RS02Recognize: medium sim-cd
|
||||
try_sector: trying sector 30000
|
||||
try_sector: read error, trying next header
|
||||
try_sector: trying sector 29850
|
||||
try_sector: no cookie, skipping current modulo
|
||||
RS02Recognize: quick RS02 search, attempting up to 3 sector reads max
|
||||
Medium rewriteable: FALSE
|
||||
FindHeaderInMedium: Trying modulo 4611686018427387904
|
||||
FindHeaderInMedium: Trying modulo 2305843009213693952
|
||||
FindHeaderInMedium: Trying modulo 1152921504606846976
|
||||
FindHeaderInMedium: Trying modulo 576460752303423488
|
||||
FindHeaderInMedium: Trying modulo 288230376151711744
|
||||
FindHeaderInMedium: Trying modulo 144115188075855872
|
||||
FindHeaderInMedium: Trying modulo 72057594037927936
|
||||
FindHeaderInMedium: Trying modulo 36028797018963968
|
||||
FindHeaderInMedium: Trying modulo 18014398509481984
|
||||
FindHeaderInMedium: Trying modulo 9007199254740992
|
||||
FindHeaderInMedium: Trying modulo 4503599627370496
|
||||
FindHeaderInMedium: Trying modulo 2251799813685248
|
||||
FindHeaderInMedium: Trying modulo 1125899906842624
|
||||
FindHeaderInMedium: Trying modulo 562949953421312
|
||||
FindHeaderInMedium: Trying modulo 281474976710656
|
||||
FindHeaderInMedium: Trying modulo 140737488355328
|
||||
FindHeaderInMedium: Trying modulo 70368744177664
|
||||
FindHeaderInMedium: Trying modulo 35184372088832
|
||||
FindHeaderInMedium: Trying modulo 17592186044416
|
||||
FindHeaderInMedium: Trying modulo 8796093022208
|
||||
FindHeaderInMedium: Trying modulo 4398046511104
|
||||
FindHeaderInMedium: Trying modulo 2199023255552
|
||||
FindHeaderInMedium: Trying modulo 1099511627776
|
||||
FindHeaderInMedium: Trying modulo 549755813888
|
||||
FindHeaderInMedium: Trying modulo 274877906944
|
||||
FindHeaderInMedium: Trying modulo 137438953472
|
||||
FindHeaderInMedium: Trying modulo 68719476736
|
||||
FindHeaderInMedium: Trying modulo 34359738368
|
||||
FindHeaderInMedium: Trying modulo 17179869184
|
||||
FindHeaderInMedium: Trying modulo 8589934592
|
||||
FindHeaderInMedium: Trying modulo 4294967296
|
||||
FindHeaderInMedium: Trying modulo 2147483648
|
||||
FindHeaderInMedium: Trying modulo 1073741824
|
||||
FindHeaderInMedium: Trying modulo 536870912
|
||||
FindHeaderInMedium: Trying modulo 268435456
|
||||
FindHeaderInMedium: Trying modulo 134217728
|
||||
FindHeaderInMedium: Trying modulo 67108864
|
||||
FindHeaderInMedium: Trying modulo 33554432
|
||||
FindHeaderInMedium: Trying modulo 16777216
|
||||
FindHeaderInMedium: Trying modulo 8388608
|
||||
FindHeaderInMedium: Trying modulo 4194304
|
||||
FindHeaderInMedium: Trying modulo 2097152
|
||||
FindHeaderInMedium: Trying modulo 1048576
|
||||
FindHeaderInMedium: Trying modulo 524288
|
||||
FindHeaderInMedium: Trying modulo 262144
|
||||
FindHeaderInMedium: Trying modulo 131072
|
||||
FindHeaderInMedium: Trying modulo 65536
|
||||
FindHeaderInMedium: Trying modulo 32768
|
||||
FindHeaderInMedium: Trying modulo 16384
|
||||
try_sector: trying sector 16384
|
||||
try_sector: no cookie, skipping current modulo
|
||||
FindHeaderInMedium: Trying modulo 8192
|
||||
try_sector: trying sector 24576
|
||||
try_sector: no cookie, skipping current modulo
|
||||
FindHeaderInMedium: Trying modulo 4096
|
||||
try_sector: trying sector 28672
|
||||
try_sector: no cookie, skipping current modulo
|
||||
...trying RS03
|
||||
RS03RecognizeImage: medium sim-cd
|
||||
FindRS03HeaderInImage: medium sim-cd
|
||||
RS03RecognizeImage: quick RS03 search, attempting up to 3 sector reads max
|
||||
Warning: image size set to 35000 for debugging!
|
||||
.. trying layer size 137
|
||||
Scanning layers for signatures.
|
||||
- layer slice 0
|
||||
RS03: tries left = 2, reading sector 11508
|
||||
RS03: tries left = 1, reading sector 11645
|
||||
RS03: tries left = 0, reading sector 11782
|
||||
RS03: max tries reached, stopping search
|
||||
...no augmented image detected.
|
||||
# Calling query_size()
|
||||
# *** query_size(Simulated CD drive 1.00) ***
|
||||
Medium size could NOT be determined from ECC header.
|
||||
Medium size obtained from ISO/UDF file system: 30000 sectors
|
||||
# returned: 30000 sectors
|
||||
Medium "Random Image": CD-R mode 1, 30000 sectors, created 16-07-2006.
|
||||
|
||||
GetImageFingerprint(16): cached
|
||||
Creating new rs02-tmp.iso image.
|
||||
Reading CRC information from ecc data (RS01) ... done.
|
||||
|
||||
All sectors successfully read. Checksums match.
|
||||
CrcBuf contents, image path none (medium):
|
||||
crcSize: 30000, dataSectors: 30000, coveredSectors: 30000, allSectors: 30000
|
||||
md5State: data_complete image_complete
|
||||
data: cbadac3ca7b6e9bccfc889b7eaded254
|
||||
full: cbadac3ca7b6e9bccfc889b7eaded254
|
||||
fp sector: 16; abe80d3600553a8dce779713afd94f3c
|
||||
missing crcs: 0
|
||||
|
||||
Opening rs02-tmp.iso
|
||||
ExamineUDF(File: rs02-tmp.iso)
|
||||
Examining the ISO file system...
|
||||
Sector 16:
|
||||
Volume descriptor type = 1
|
||||
Volume descriptor version = 1
|
||||
Standard identifier = CD001
|
||||
-> primary volume descriptor:
|
||||
System identifier : | |
|
||||
Volume identifier : |RANDOM IMAGE |
|
||||
Volume space size : 30000 sectors
|
||||
Volume set size : 1
|
||||
Volume sequence size : 1
|
||||
Logical block size : 2048
|
||||
Path table size : 10 bytes
|
||||
L-Path table location : 19
|
||||
Opt L-Path table location : 0
|
||||
M-Path table location : 20
|
||||
Opt M-Path table location : 0
|
||||
Volume creation date/time : 16-07-2006 10:35:46.23
|
||||
Volume modification d/t : 16-07-2006 10:35:46.23
|
||||
Volume expiration d/t : 16-07-2106 10:35:46.23
|
||||
Volume effective d/t : 16-07-2006 10:35:46.23
|
||||
File structure version : 1
|
||||
Sector 17:
|
||||
Volume descriptor type = 2
|
||||
Volume descriptor version = 1
|
||||
Standard identifier = CD001
|
||||
-> supplementary volume descriptor: *skipped*
|
||||
Sector 18:
|
||||
Volume descriptor type = 255
|
||||
Volume descriptor version = 1
|
||||
Standard identifier = CD001
|
||||
-> volume descriptor set terminator;
|
||||
end of ISO file system parsing.
|
||||
Examining the UDF file system...
|
||||
not yet implemented.
|
||||
|
||||
ExamineECC() started
|
||||
...trying RS01
|
||||
...trying RS02
|
||||
RS02Recognize: file rs02-tmp.iso
|
||||
try_sector: trying sector 30000
|
||||
try_sector: read error, trying next header
|
||||
try_sector: trying sector 29850
|
||||
try_sector: no cookie, skipping current modulo
|
||||
RS02Recognize: No EH, entering exhaustive search
|
||||
FindHeaderInMedium: Trying modulo 4611686018427387904
|
||||
FindHeaderInMedium: Trying modulo 2305843009213693952
|
||||
FindHeaderInMedium: Trying modulo 1152921504606846976
|
||||
FindHeaderInMedium: Trying modulo 576460752303423488
|
||||
FindHeaderInMedium: Trying modulo 288230376151711744
|
||||
FindHeaderInMedium: Trying modulo 144115188075855872
|
||||
FindHeaderInMedium: Trying modulo 72057594037927936
|
||||
FindHeaderInMedium: Trying modulo 36028797018963968
|
||||
FindHeaderInMedium: Trying modulo 18014398509481984
|
||||
FindHeaderInMedium: Trying modulo 9007199254740992
|
||||
FindHeaderInMedium: Trying modulo 4503599627370496
|
||||
FindHeaderInMedium: Trying modulo 2251799813685248
|
||||
FindHeaderInMedium: Trying modulo 1125899906842624
|
||||
FindHeaderInMedium: Trying modulo 562949953421312
|
||||
FindHeaderInMedium: Trying modulo 281474976710656
|
||||
FindHeaderInMedium: Trying modulo 140737488355328
|
||||
FindHeaderInMedium: Trying modulo 70368744177664
|
||||
FindHeaderInMedium: Trying modulo 35184372088832
|
||||
FindHeaderInMedium: Trying modulo 17592186044416
|
||||
FindHeaderInMedium: Trying modulo 8796093022208
|
||||
FindHeaderInMedium: Trying modulo 4398046511104
|
||||
FindHeaderInMedium: Trying modulo 2199023255552
|
||||
FindHeaderInMedium: Trying modulo 1099511627776
|
||||
FindHeaderInMedium: Trying modulo 549755813888
|
||||
FindHeaderInMedium: Trying modulo 274877906944
|
||||
FindHeaderInMedium: Trying modulo 137438953472
|
||||
FindHeaderInMedium: Trying modulo 68719476736
|
||||
FindHeaderInMedium: Trying modulo 34359738368
|
||||
FindHeaderInMedium: Trying modulo 17179869184
|
||||
FindHeaderInMedium: Trying modulo 8589934592
|
||||
FindHeaderInMedium: Trying modulo 4294967296
|
||||
FindHeaderInMedium: Trying modulo 2147483648
|
||||
FindHeaderInMedium: Trying modulo 1073741824
|
||||
FindHeaderInMedium: Trying modulo 536870912
|
||||
FindHeaderInMedium: Trying modulo 268435456
|
||||
FindHeaderInMedium: Trying modulo 134217728
|
||||
FindHeaderInMedium: Trying modulo 67108864
|
||||
FindHeaderInMedium: Trying modulo 33554432
|
||||
FindHeaderInMedium: Trying modulo 16777216
|
||||
FindHeaderInMedium: Trying modulo 8388608
|
||||
FindHeaderInMedium: Trying modulo 4194304
|
||||
FindHeaderInMedium: Trying modulo 2097152
|
||||
FindHeaderInMedium: Trying modulo 1048576
|
||||
FindHeaderInMedium: Trying modulo 524288
|
||||
FindHeaderInMedium: Trying modulo 262144
|
||||
FindHeaderInMedium: Trying modulo 131072
|
||||
FindHeaderInMedium: Trying modulo 65536
|
||||
FindHeaderInMedium: Trying modulo 32768
|
||||
FindHeaderInMedium: Trying modulo 16384
|
||||
try_sector: trying sector 16384
|
||||
try_sector: no cookie, skipping current modulo
|
||||
FindHeaderInMedium: Trying modulo 8192
|
||||
try_sector: trying sector 24576
|
||||
try_sector: no cookie, skipping current modulo
|
||||
FindHeaderInMedium: Trying modulo 4096
|
||||
try_sector: trying sector 28672
|
||||
try_sector: no cookie, skipping current modulo
|
||||
FindHeaderInMedium: Trying modulo 2048
|
||||
Sector 28672 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 1024
|
||||
try_sector: trying sector 29696
|
||||
try_sector: no cookie, skipping current modulo
|
||||
FindHeaderInMedium: Trying modulo 512
|
||||
Sector 29696 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 256
|
||||
try_sector: trying sector 29952
|
||||
try_sector: no cookie, skipping current modulo
|
||||
FindHeaderInMedium: Trying modulo 128
|
||||
Sector 29952 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 64
|
||||
Sector 29952 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 32
|
||||
try_sector: trying sector 29984
|
||||
try_sector: no cookie, skipping current modulo
|
||||
...trying RS03
|
||||
RS03RecognizeImage: file rs02-tmp.iso
|
||||
FindRS03HeaderInImage: file rs02-tmp.iso
|
||||
RS03RecognizeImage: No EH, entering exhaustive search
|
||||
Warning: image size set to 35000 for debugging!
|
||||
.. trying layer size 137
|
||||
Scanning layers for signatures.
|
||||
- layer slice 0
|
||||
RS03: try number = 1, reading sector 11508
|
||||
RS03: try number = 2, reading sector 11645
|
||||
RS03: try number = 3, reading sector 11782
|
||||
RS03: try number = 4, reading sector 11919
|
||||
RS03: try number = 5, reading sector 12056
|
||||
RS03: try number = 6, reading sector 12193
|
||||
RS03: try number = 7, reading sector 12330
|
||||
RS03: try number = 8, reading sector 12467
|
||||
RS03: try number = 9, reading sector 12604
|
||||
RS03: try number = 10, reading sector 12741
|
||||
RS03: try number = 11, reading sector 12878
|
||||
RS03: try number = 12, reading sector 13015
|
||||
RS03: try number = 13, reading sector 13152
|
||||
RS03: try number = 14, reading sector 13289
|
||||
RS03: try number = 15, reading sector 13426
|
||||
RS03: try number = 16, reading sector 13563
|
||||
RS03: try number = 17, reading sector 13700
|
||||
RS03: try number = 18, reading sector 13837
|
||||
RS03: try number = 19, reading sector 13974
|
||||
RS03: try number = 20, reading sector 14111
|
||||
RS03: try number = 21, reading sector 14248
|
||||
RS03: try number = 22, reading sector 14385
|
||||
RS03: try number = 23, reading sector 14522
|
||||
RS03: try number = 24, reading sector 14659
|
||||
RS03: try number = 25, reading sector 14796
|
||||
RS03: try number = 26, reading sector 14933
|
||||
RS03: try number = 27, reading sector 15070
|
||||
RS03: try number = 28, reading sector 15207
|
||||
RS03: try number = 29, reading sector 15344
|
||||
RS03: try number = 30, reading sector 15481
|
||||
RS03: try number = 31, reading sector 15618
|
||||
RS03: try number = 32, reading sector 15755
|
||||
RS03: try number = 33, reading sector 15892
|
||||
RS03: try number = 34, reading sector 16029
|
||||
RS03: try number = 35, reading sector 16166
|
||||
RS03: try number = 36, reading sector 16303
|
||||
RS03: try number = 37, reading sector 16440
|
||||
RS03: try number = 38, reading sector 16577
|
||||
RS03: try number = 39, reading sector 16714
|
||||
RS03: try number = 40, reading sector 16851
|
||||
RS03: try number = 41, reading sector 16988
|
||||
RS03: try number = 42, reading sector 17125
|
||||
RS03: try number = 43, reading sector 17262
|
||||
RS03: try number = 44, reading sector 17399
|
||||
RS03: try number = 45, reading sector 17536
|
||||
RS03: try number = 46, reading sector 17673
|
||||
RS03: try number = 47, reading sector 17810
|
||||
RS03: try number = 48, reading sector 17947
|
||||
RS03: try number = 49, reading sector 18084
|
||||
RS03: try number = 50, reading sector 18221
|
||||
RS03: try number = 51, reading sector 18358
|
||||
RS03: try number = 52, reading sector 18495
|
||||
RS03: try number = 53, reading sector 18632
|
||||
RS03: try number = 54, reading sector 18769
|
||||
RS03: try number = 55, reading sector 18906
|
||||
RS03: try number = 56, reading sector 19043
|
||||
RS03: try number = 57, reading sector 19180
|
||||
RS03: try number = 58, reading sector 19317
|
||||
RS03: try number = 59, reading sector 19454
|
||||
RS03: try number = 60, reading sector 19591
|
||||
RS03: try number = 61, reading sector 19728
|
||||
RS03: try number = 62, reading sector 19865
|
||||
RS03: try number = 63, reading sector 20002
|
||||
RS03: try number = 64, reading sector 20139
|
||||
RS03: try number = 65, reading sector 20276
|
||||
RS03: try number = 66, reading sector 20413
|
||||
RS03: try number = 67, reading sector 20550
|
||||
RS03: try number = 68, reading sector 20687
|
||||
RS03: try number = 69, reading sector 20824
|
||||
RS03: try number = 70, reading sector 20961
|
||||
RS03: try number = 71, reading sector 21098
|
||||
RS03: try number = 72, reading sector 21235
|
||||
RS03: try number = 73, reading sector 21372
|
||||
RS03: try number = 74, reading sector 21509
|
||||
RS03: try number = 75, reading sector 21646
|
||||
RS03: try number = 76, reading sector 21783
|
||||
RS03: try number = 77, reading sector 21920
|
||||
RS03: try number = 78, reading sector 22057
|
||||
RS03: try number = 79, reading sector 22194
|
||||
RS03: try number = 80, reading sector 22331
|
||||
RS03: try number = 81, reading sector 22468
|
||||
RS03: try number = 82, reading sector 22605
|
||||
RS03: try number = 83, reading sector 22742
|
||||
RS03: try number = 84, reading sector 22879
|
||||
RS03: try number = 85, reading sector 23016
|
||||
RS03: try number = 86, reading sector 23153
|
||||
RS03: try number = 87, reading sector 23290
|
||||
RS03: try number = 88, reading sector 23427
|
||||
RS03: try number = 89, reading sector 23564
|
||||
RS03: try number = 90, reading sector 23701
|
||||
RS03: try number = 91, reading sector 23838
|
||||
RS03: try number = 92, reading sector 23975
|
||||
RS03: try number = 93, reading sector 24112
|
||||
RS03: try number = 94, reading sector 24249
|
||||
RS03: try number = 95, reading sector 24386
|
||||
RS03: try number = 96, reading sector 24523
|
||||
RS03: try number = 97, reading sector 24660
|
||||
RS03: try number = 98, reading sector 24797
|
||||
RS03: try number = 99, reading sector 24934
|
||||
RS03: try number = 100, reading sector 25071
|
||||
RS03: try number = 101, reading sector 25208
|
||||
RS03: try number = 102, reading sector 25345
|
||||
RS03: try number = 103, reading sector 25482
|
||||
RS03: try number = 104, reading sector 25619
|
||||
RS03: try number = 105, reading sector 25756
|
||||
RS03: try number = 106, reading sector 25893
|
||||
RS03: try number = 107, reading sector 26030
|
||||
RS03: try number = 108, reading sector 26167
|
||||
RS03: try number = 109, reading sector 26304
|
||||
RS03: try number = 110, reading sector 26441
|
||||
RS03: try number = 111, reading sector 26578
|
||||
RS03: try number = 112, reading sector 26715
|
||||
RS03: try number = 113, reading sector 26852
|
||||
RS03: try number = 114, reading sector 26989
|
||||
RS03: try number = 115, reading sector 27126
|
||||
RS03: try number = 116, reading sector 27263
|
||||
RS03: try number = 117, reading sector 27400
|
||||
RS03: try number = 118, reading sector 27537
|
||||
RS03: try number = 119, reading sector 27674
|
||||
RS03: try number = 120, reading sector 27811
|
||||
RS03: try number = 121, reading sector 27948
|
||||
RS03: try number = 122, reading sector 28085
|
||||
RS03: try number = 123, reading sector 28222
|
||||
RS03: try number = 124, reading sector 28359
|
||||
RS03: try number = 125, reading sector 28496
|
||||
RS03: try number = 126, reading sector 28633
|
||||
RS03: try number = 127, reading sector 28770
|
||||
RS03: try number = 128, reading sector 28907
|
||||
RS03: try number = 129, reading sector 29044
|
||||
RS03: try number = 130, reading sector 29181
|
||||
RS03: try number = 131, reading sector 29318
|
||||
RS03: try number = 132, reading sector 29455
|
||||
RS03: try number = 133, reading sector 29592
|
||||
RS03: try number = 134, reading sector 29729
|
||||
RS03: try number = 135, reading sector 29866
|
||||
** All layers tested -> no RS03 data found
|
||||
...no augmented image detected.
|
||||
GetImageFingerprint(16): read & cached
|
||||
: 30000 medium sectors.
|
||||
Calculated layout for RS02 image:
|
||||
data sectors = 30000
|
||||
crc sectors = 59
|
||||
protected sectors = 30061 (incl. 2 hdr sectors)
|
||||
reed solomon secs = 4795 (35 roots, 220 data)
|
||||
header repeats = 38 (using modulo 128)
|
||||
added sectors = 4932
|
||||
total image size = 34932
|
||||
medium capacity = 35000
|
||||
|
||||
Interleaving layout:
|
||||
137 sectors per ecc layer
|
||||
first layer sector with CRC data 136 (sector# 30002)
|
||||
|
||||
Opening rs02-tmp.iso: 30000 medium sectors.
|
||||
Augmenting image with Method RS02:
|
||||
58 MiB data, 9 MiB ecc (35 roots; 15.9% redundancy).
|
||||
* Warning: Using redundancies below 20% may not give
|
||||
* the expected data loss protection.
|
||||
CrcBufValid: buffer VALID
|
||||
Image has been augmented with error correction data.
|
||||
New image size is 68 MiB (34932 sectors).
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -4,23 +4,216 @@ This software comes with ABSOLUTELY NO WARRANTY. This
|
||||
is free software and you are welcome to redistribute it
|
||||
under the conditions of the GNU GENERAL PUBLIC LICENSE.
|
||||
See the file "COPYING" for further information.
|
||||
# *** OpenImageFromDevice(sim-cd) ***
|
||||
# InquireDevice returned: Simulated CD drive 1.00
|
||||
|
||||
Device: sim-cd, Simulated CD drive 1.00
|
||||
# *** query_type(Simulated CD drive 1.00, 0) ***
|
||||
# *** get_configuration(Simulated CD drive 1.00) ***
|
||||
# 8 data len, 9 current
|
||||
-> profile 9: CD-R
|
||||
# trying READ DISC INFORMATION for size
|
||||
# size returned is 32
|
||||
# trying READ DISC INFORMATION for real info
|
||||
0000: 00 20 1e 00 00 00 00 00 00 00 00 00 00 00 00 00 . ...... ........
|
||||
0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
|
||||
# status is 1e, disc type 0
|
||||
#CD: starting media probe
|
||||
#CD: querying size of READ TOC/PMA/ATIP (for TOC)
|
||||
#CD: size returned is 12
|
||||
#CD: querying real READ TOC/PMA/ATIP (for TOC)
|
||||
0000: 00 0a 00 00 00 14 00 00 00 00 00 00 ........ ....
|
||||
#CD: control is 0x14
|
||||
#CD: querying size of READ TOC/PMA/ATIP (for full TOC)
|
||||
# Warning: Realigning length from 26 to 24
|
||||
#CD: size returned is 24
|
||||
#CD: querying real READ TOC/PMA/ATIP (for full TOC)
|
||||
0000: 00 18 00 01 00 00 00 a0 00 00 00 00 00 00 00 00 ........ ........
|
||||
0010: 00 00 00 00 00 00 00 00 ........
|
||||
#CD: 1 sessions
|
||||
#CD: CD medium detected, type: CD-R mode 1
|
||||
# query_type() returned.
|
||||
# deciding reading strategy...
|
||||
Using READ CD.
|
||||
GetImageFingerprint(16): read & cached
|
||||
|
||||
ExamineUDF(Device: Simulated CD drive 1.00)
|
||||
Examining the ISO file system...
|
||||
Sector 16:
|
||||
Volume descriptor type = 1
|
||||
Volume descriptor version = 1
|
||||
Standard identifier = CD001
|
||||
-> primary volume descriptor:
|
||||
System identifier : | |
|
||||
Volume identifier : |RANDOM IMAGE |
|
||||
Volume space size : 30000 sectors
|
||||
Volume set size : 1
|
||||
Volume sequence size : 1
|
||||
Logical block size : 2048
|
||||
Path table size : 10 bytes
|
||||
L-Path table location : 19
|
||||
Opt L-Path table location : 0
|
||||
M-Path table location : 20
|
||||
Opt M-Path table location : 0
|
||||
Volume creation date/time : 16-07-2006 10:35:46.23
|
||||
Volume modification d/t : 16-07-2006 10:35:46.23
|
||||
Volume expiration d/t : 16-07-2106 10:35:46.23
|
||||
Volume effective d/t : 16-07-2006 10:35:46.23
|
||||
File structure version : 1
|
||||
Sector 17:
|
||||
Volume descriptor type = 2
|
||||
Volume descriptor version = 1
|
||||
Standard identifier = CD001
|
||||
-> supplementary volume descriptor: *skipped*
|
||||
Sector 18:
|
||||
Volume descriptor type = 255
|
||||
Volume descriptor version = 1
|
||||
Standard identifier = CD001
|
||||
-> volume descriptor set terminator;
|
||||
end of ISO file system parsing.
|
||||
Examining the UDF file system...
|
||||
not yet implemented.
|
||||
|
||||
# *** read_capacity(Simulated CD drive 1.00) ***
|
||||
-> 49934
|
||||
ExamineECC() started
|
||||
...trying RS01
|
||||
...trying RS02
|
||||
RS02Recognize: medium sim-cd
|
||||
try_sector: trying sector 30000
|
||||
try_sector: header at 30000: magic cookie found
|
||||
try_sector: CRC okay
|
||||
GetImageFingerprint(16): cached
|
||||
try_sector: fingerprint okay, header good
|
||||
Root sector search at +0 successful
|
||||
...augmented image found
|
||||
Expected size calculated from ecc header: 49935
|
||||
--> confirmed layout variant 1
|
||||
Calculated layout for RS02 image:
|
||||
data sectors = 30000
|
||||
crc sectors = 59
|
||||
protected sectors = 30061 (incl. 2 hdr sectors)
|
||||
reed solomon secs = 19796 (101 roots, 154 data)
|
||||
header repeats = 39 (using modulo 512)
|
||||
added sectors = 19935
|
||||
total image size = 49935
|
||||
medium capacity = n.a.
|
||||
|
||||
Interleaving layout:
|
||||
196 sectors per ecc layer
|
||||
first layer sector with CRC data 14 (sector# 30002)
|
||||
|
||||
# Calling query_size()
|
||||
# *** query_size(Simulated CD drive 1.00) ***
|
||||
Medium size obtained from ECC header: 49935 sectors
|
||||
# returned: 49935 sectors
|
||||
Medium "Random Image": CD-R mode 1, 49935 sectors, Ecc, created 16-07-2006.
|
||||
|
||||
Creating new rs02-tmp.iso image.
|
||||
Reading CRC information from ecc data (RS02) ... done.
|
||||
Reading CRC information from ecc data (RS02) ... RS02LayoutFromImage(): returning cached layout
|
||||
done.
|
||||
GOOD Data md5sum
|
||||
GOOD CRC md5sum
|
||||
GOOD ECC md5sum
|
||||
|
||||
All sectors successfully read. Checksums match.
|
||||
CrcBuf contents, image path none (medium):
|
||||
crcSize: 49935, dataSectors: 30000, coveredSectors: 30000, allSectors: 49935
|
||||
md5State: data_complete image_complete
|
||||
data: cbadac3ca7b6e9bccfc889b7eaded254
|
||||
full: 72f8ca714abb3807a2767e4ffce037d1
|
||||
fp sector: 16; abe80d3600553a8dce779713afd94f3c
|
||||
missing crcs: 0
|
||||
|
||||
Opening rs02-tmp.iso: 49935 medium sectors.
|
||||
Opening rs02-tmp.iso
|
||||
ExamineUDF(File: rs02-tmp.iso)
|
||||
Examining the ISO file system...
|
||||
Sector 16:
|
||||
Volume descriptor type = 1
|
||||
Volume descriptor version = 1
|
||||
Standard identifier = CD001
|
||||
-> primary volume descriptor:
|
||||
System identifier : | |
|
||||
Volume identifier : |RANDOM IMAGE |
|
||||
Volume space size : 30000 sectors
|
||||
Volume set size : 1
|
||||
Volume sequence size : 1
|
||||
Logical block size : 2048
|
||||
Path table size : 10 bytes
|
||||
L-Path table location : 19
|
||||
Opt L-Path table location : 0
|
||||
M-Path table location : 20
|
||||
Opt M-Path table location : 0
|
||||
Volume creation date/time : 16-07-2006 10:35:46.23
|
||||
Volume modification d/t : 16-07-2006 10:35:46.23
|
||||
Volume expiration d/t : 16-07-2106 10:35:46.23
|
||||
Volume effective d/t : 16-07-2006 10:35:46.23
|
||||
File structure version : 1
|
||||
Sector 17:
|
||||
Volume descriptor type = 2
|
||||
Volume descriptor version = 1
|
||||
Standard identifier = CD001
|
||||
-> supplementary volume descriptor: *skipped*
|
||||
Sector 18:
|
||||
Volume descriptor type = 255
|
||||
Volume descriptor version = 1
|
||||
Standard identifier = CD001
|
||||
-> volume descriptor set terminator;
|
||||
end of ISO file system parsing.
|
||||
Examining the UDF file system...
|
||||
not yet implemented.
|
||||
|
||||
ExamineECC() started
|
||||
...trying RS01
|
||||
...trying RS02
|
||||
RS02Recognize: file rs02-tmp.iso
|
||||
try_sector: trying sector 30000
|
||||
try_sector: header at 30000: magic cookie found
|
||||
try_sector: CRC okay
|
||||
GetImageFingerprint(16): read & cached
|
||||
try_sector: fingerprint okay, header good
|
||||
Root sector search at +0 successful
|
||||
...augmented image found
|
||||
Expected size calculated from ecc header: 49935
|
||||
--> confirmed layout variant 1
|
||||
Calculated layout for RS02 image:
|
||||
data sectors = 30000
|
||||
crc sectors = 59
|
||||
protected sectors = 30061 (incl. 2 hdr sectors)
|
||||
reed solomon secs = 19796 (101 roots, 154 data)
|
||||
header repeats = 39 (using modulo 512)
|
||||
added sectors = 19935
|
||||
total image size = 49935
|
||||
medium capacity = n.a.
|
||||
|
||||
Interleaving layout:
|
||||
196 sectors per ecc layer
|
||||
first layer sector with CRC data 14 (sector# 30002)
|
||||
|
||||
GetImageFingerprint(16): cached
|
||||
: 49935 medium sectors.
|
||||
* Warning: Image "rs02-tmp.iso" already contains error correction information.
|
||||
* Truncating image to data part (30000 sectors).
|
||||
Image size is now: 30000 medium sectors.
|
||||
Calculated layout for RS02 image:
|
||||
data sectors = 30000
|
||||
crc sectors = 59
|
||||
protected sectors = 30061 (incl. 2 hdr sectors)
|
||||
reed solomon secs = 4795 (35 roots, 220 data)
|
||||
header repeats = 38 (using modulo 128)
|
||||
added sectors = 4932
|
||||
total image size = 34932
|
||||
medium capacity = 35000
|
||||
|
||||
Interleaving layout:
|
||||
137 sectors per ecc layer
|
||||
first layer sector with CRC data 136 (sector# 30002)
|
||||
|
||||
Augmenting image with Method RS02:
|
||||
58 MiB data, 9 MiB ecc (35 roots; 15.9% redundancy).
|
||||
* Warning: Using redundancies below 20% may not give
|
||||
* the expected data loss protection.
|
||||
CrcBufValid: buffer VALID
|
||||
Image has been augmented with error correction data.
|
||||
New image size is 68 MiB (34932 sectors).
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -7,5 +7,5 @@ See the file "COPYING" for further information.
|
||||
|
||||
no.iso: not present
|
||||
|
||||
medium.ecc: not present
|
||||
none.file: not present
|
||||
|
||||
|
||||
@@ -170,3 +170,4 @@ CrcBuf contents, image path none (medium):
|
||||
full: cbadac3ca7b6e9bccfc889b7eaded254
|
||||
fp sector: 16; abe80d3600553a8dce779713afd94f3c
|
||||
missing crcs: 0
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -502,3 +502,4 @@ CrcBuf contents, image path none (medium):
|
||||
md5State: invalid
|
||||
fp sector: 16; abe80d3600553a8dce779713afd94f3c
|
||||
missing crcs: 16
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -124,3 +124,4 @@ CrcBuf contents, image path none (medium):
|
||||
full: 814f4c46fbb687eb43613fdfde9458cf
|
||||
fp sector: 16; abe80d3600553a8dce779713afd94f3c
|
||||
missing crcs: 0
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -124,3 +124,4 @@ CrcBuf contents, image path none (medium):
|
||||
full: 814f4c46fbb687eb43613fdfde9458cf
|
||||
fp sector: 16; abe80d3600553a8dce779713afd94f3c
|
||||
missing crcs: 0
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -124,3 +124,4 @@ CrcBuf contents, image path none (medium):
|
||||
full: 43b5730f46547eb489b81bae16321ea2
|
||||
fp sector: 16; 48a5a2186ffe363bee215f406d033aa7
|
||||
missing crcs: 0
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -125,3 +125,4 @@ CrcBuf contents, image path none (medium):
|
||||
full: 61fc6058150dd48c46648c2fe85f8bd7
|
||||
fp sector: 16; 48a5a2186ffe363bee215f406d033aa7
|
||||
missing crcs: 0
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -294,3 +294,4 @@ CrcBuf contents, image path none (medium):
|
||||
md5State: invalid
|
||||
fp sector: 16; 48a5a2186ffe363bee215f406d033aa7
|
||||
missing crcs: 135
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -5720,3 +5720,4 @@ CrcBuf contents, image path none (medium):
|
||||
md5State: invalid
|
||||
fp sector: 16; 48a5a2186ffe363bee215f406d033aa7
|
||||
missing crcs: 439
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -188,3 +188,4 @@ CrcBuf contents, image path none (medium):
|
||||
md5State: invalid
|
||||
fp sector: 16; abe80d3600553a8dce779713afd94f3c
|
||||
missing crcs: 52
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -124,3 +124,4 @@ CrcBuf contents, image path none (medium):
|
||||
full: 814f4c46fbb687eb43613fdfde9458cf
|
||||
fp sector: 16; abe80d3600553a8dce779713afd94f3c
|
||||
missing crcs: 0
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -124,3 +124,4 @@ CrcBuf contents, image path none (medium):
|
||||
full: 43b5730f46547eb489b81bae16321ea2
|
||||
fp sector: 16; 48a5a2186ffe363bee215f406d033aa7
|
||||
missing crcs: 0
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -125,3 +125,4 @@ CrcBuf contents, image path none (medium):
|
||||
full: 61fc6058150dd48c46648c2fe85f8bd7
|
||||
fp sector: 16; 48a5a2186ffe363bee215f406d033aa7
|
||||
missing crcs: 0
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -294,3 +294,4 @@ CrcBuf contents, image path none (medium):
|
||||
md5State: invalid
|
||||
fp sector: 16; 48a5a2186ffe363bee215f406d033aa7
|
||||
missing crcs: 135
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -5720,3 +5720,4 @@ CrcBuf contents, image path none (medium):
|
||||
md5State: invalid
|
||||
fp sector: 16; 48a5a2186ffe363bee215f406d033aa7
|
||||
missing crcs: 439
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -188,3 +188,4 @@ CrcBuf contents, image path none (medium):
|
||||
md5State: invalid
|
||||
fp sector: 16; abe80d3600553a8dce779713afd94f3c
|
||||
missing crcs: 52
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -322,3 +322,4 @@ CrcBufValid: NOT complete
|
||||
Cache allocation: 120320K+8192K+5120K=130M (data+parity+descrambling)
|
||||
Error correction file "rs03f-tmp.ecc" created.
|
||||
Make sure to keep this file on a reliable medium.
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -324,3 +324,4 @@ CrcBuf present, ecc file: using image MD5 sum
|
||||
Cache allocation: 120320K+8192K+5120K=130M (data+parity+descrambling)
|
||||
Error correction file "rs03f-tmp.ecc" created.
|
||||
Make sure to keep this file on a reliable medium.
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -326,3 +326,4 @@ CrcBuf present, ecc file: using image MD5 sum
|
||||
Cache allocation: 120320K+8192K+5120K=130M (data+parity+descrambling)
|
||||
Error correction file "rs03f-tmp.ecc" created.
|
||||
Make sure to keep this file on a reliable medium.
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -212,3 +212,4 @@ CrcBuf present, ecc file: using image MD5 sum
|
||||
Cache allocation: 120320K+8192K+5120K=130M (data+parity+descrambling)
|
||||
Error correction file "rs03f-tmp.ecc" created.
|
||||
Make sure to keep this file on a reliable medium.
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -340,3 +340,4 @@ CrcBuf present, ecc file: using image MD5 sum
|
||||
Cache allocation: 120320K+8192K+5120K=130M (data+parity+descrambling)
|
||||
Error correction file "rs03f-tmp.ecc" created.
|
||||
Make sure to keep this file on a reliable medium.
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -328,3 +328,4 @@ CrcBuf present, ecc file: using image MD5 sum
|
||||
Cache allocation: 120320K+8192K+5120K=130M (data+parity+descrambling)
|
||||
Error correction file "rs03f-tmp.ecc" created.
|
||||
Make sure to keep this file on a reliable medium.
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -193,3 +193,4 @@ CrcBuf contents, image path none (medium):
|
||||
full: 9503f278d4550a9507a317664481adf8
|
||||
fp sector: 16; 15c0fd35a0cfa0f83b9ccbd8604c2592
|
||||
missing crcs: 0
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -191,3 +191,4 @@ CrcBuf contents, image path none (medium):
|
||||
full: 9503f278d4550a9507a317664481adf8
|
||||
fp sector: 16; 15c0fd35a0cfa0f83b9ccbd8604c2592
|
||||
missing crcs: 0
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -191,3 +191,4 @@ CrcBuf contents, image path none (medium):
|
||||
full: 9503f278d4550a9507a317664481adf8
|
||||
fp sector: 16; 15c0fd35a0cfa0f83b9ccbd8604c2592
|
||||
missing crcs: 0
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -193,3 +193,4 @@ CrcBuf contents, image path none (medium):
|
||||
full: 9503f278d4550a9507a317664481adf8
|
||||
fp sector: 16; 15c0fd35a0cfa0f83b9ccbd8604c2592
|
||||
missing crcs: 0
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -193,3 +193,4 @@ CrcBuf contents, image path none (medium):
|
||||
full: 9503f278d4550a9507a317664481adf8
|
||||
fp sector: 16; 15c0fd35a0cfa0f83b9ccbd8604c2592
|
||||
missing crcs: 0
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -191,3 +191,4 @@ CrcBuf contents, image path none (medium):
|
||||
full: 9503f278d4550a9507a317664481adf8
|
||||
fp sector: 16; 15c0fd35a0cfa0f83b9ccbd8604c2592
|
||||
missing crcs: 0
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -191,3 +191,4 @@ CrcBuf contents, image path none (medium):
|
||||
full: 9503f278d4550a9507a317664481adf8
|
||||
fp sector: 16; 15c0fd35a0cfa0f83b9ccbd8604c2592
|
||||
missing crcs: 0
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -193,3 +193,4 @@ CrcBuf contents, image path none (medium):
|
||||
full: 9503f278d4550a9507a317664481adf8
|
||||
fp sector: 16; 15c0fd35a0cfa0f83b9ccbd8604c2592
|
||||
missing crcs: 0
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -193,3 +193,4 @@ CrcBuf contents, image path none (medium):
|
||||
full: 9503f278d4550a9507a317664481adf8
|
||||
fp sector: 16; 15c0fd35a0cfa0f83b9ccbd8604c2592
|
||||
missing crcs: 3510
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -194,3 +194,4 @@ CrcBuf contents, image path none (medium):
|
||||
full: 9503f278d4550a9507a317664481adf8
|
||||
fp sector: 16; 15c0fd35a0cfa0f83b9ccbd8604c2592
|
||||
missing crcs: 234
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -251,4 +251,13 @@ Error correction properties:
|
||||
|
||||
Data integrity:
|
||||
- medium sectors : 359295 total / 235219 data
|
||||
* quick mode : image NOT scanned
|
||||
CalcRS03Layout(): returning cached layout (augmented)
|
||||
* missing sector : 235219
|
||||
* BAD image/file : 1 sectors missing
|
||||
... data section : 1 sectors missing; 0 CRC errors
|
||||
... crc section : 0 sectors missing
|
||||
... ecc section : 0 sectors missing
|
||||
* Ecc block test : 1408 good, 1 bad; 325 bad sub blocks
|
||||
- erasure counts : avg = 1.0; worst = 1 per ecc block.
|
||||
- prognosis : 359295 of 359295 sectors recoverable (100.0%)
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -350,4 +350,30 @@ Error correction properties:
|
||||
|
||||
Data integrity:
|
||||
- medium sectors : 359295 total / 235219 data
|
||||
* quick mode : image NOT scanned
|
||||
CalcRS03Layout(): returning cached layout (augmented)
|
||||
* missing sector : 169080
|
||||
* missing sector : 170489
|
||||
* missing sector : 171898
|
||||
* missing sector : 173307
|
||||
* missing sector : 174716
|
||||
* missing sector : 176125
|
||||
* missing sector : 177534
|
||||
* missing sector : 178943
|
||||
* missing sector : 180352
|
||||
* missing sector : 181761
|
||||
* missing sector : 183170
|
||||
* missing sector : 184579
|
||||
* missing sector : 185988
|
||||
* missing sector : 187397
|
||||
* missing sector : 188806
|
||||
* missing sector : 190215
|
||||
* missing sector : 235219
|
||||
* missing sector : 235303
|
||||
* BAD image/file : 18 sectors missing
|
||||
... data section : 17 sectors missing; 0 CRC errors
|
||||
... crc section : 1 sectors missing
|
||||
... ecc section : 0 sectors missing
|
||||
* Ecc block test : 1407 good, 2 bad; 2373 bad sub blocks
|
||||
- erasure counts : avg = 9.0; worst = 17 per ecc block.
|
||||
- prognosis : 359295 of 359295 sectors recoverable (100.0%)
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
1f6512e19177b3d371da6843711a58cf
|
||||
2ee5510fa6e73321c2759f89ac018026
|
||||
ignore
|
||||
This software comes with ABSOLUTELY NO WARRANTY. This
|
||||
is free software and you are welcome to redistribute it
|
||||
@@ -304,250 +304,109 @@ RS03: try number = 161, reading sector 343796
|
||||
RS03: try number = 162, reading sector 345205
|
||||
RS03: try number = 163, reading sector 346614
|
||||
RS03: try number = 164, reading sector 348023
|
||||
-> 136 untested layers remaining
|
||||
-> 87 untested layers remaining
|
||||
- layer slice 1
|
||||
RS03: try number = 165, reading sector 140901
|
||||
RS03: try number = 166, reading sector 142310
|
||||
RS03: try number = 167, reading sector 143719
|
||||
RS03: try number = 168, reading sector 145128
|
||||
RS03: try number = 169, reading sector 146537
|
||||
RS03: try number = 170, reading sector 147946
|
||||
RS03: try number = 171, reading sector 149355
|
||||
RS03: try number = 172, reading sector 150764
|
||||
RS03: try number = 173, reading sector 152173
|
||||
RS03: try number = 174, reading sector 153582
|
||||
RS03: try number = 175, reading sector 154991
|
||||
RS03: try number = 176, reading sector 156400
|
||||
RS03: try number = 177, reading sector 157809
|
||||
RS03: try number = 178, reading sector 159218
|
||||
RS03: try number = 179, reading sector 160627
|
||||
RS03: try number = 180, reading sector 162036
|
||||
RS03: try number = 181, reading sector 163445
|
||||
RS03: try number = 182, reading sector 164854
|
||||
RS03: try number = 183, reading sector 166263
|
||||
RS03: try number = 184, reading sector 167672
|
||||
RS03: try number = 185, reading sector 169081
|
||||
RS03: try number = 186, reading sector 170490
|
||||
RS03: try number = 187, reading sector 171899
|
||||
RS03: try number = 188, reading sector 173308
|
||||
RS03: try number = 189, reading sector 174717
|
||||
RS03: try number = 190, reading sector 176126
|
||||
RS03: try number = 191, reading sector 177535
|
||||
RS03: try number = 192, reading sector 178944
|
||||
RS03: try number = 193, reading sector 180353
|
||||
RS03: try number = 194, reading sector 181762
|
||||
RS03: try number = 195, reading sector 183171
|
||||
RS03: try number = 196, reading sector 184580
|
||||
RS03: try number = 197, reading sector 185989
|
||||
RS03: try number = 198, reading sector 187398
|
||||
RS03: try number = 199, reading sector 188807
|
||||
RS03: try number = 200, reading sector 190216
|
||||
RS03: try number = 201, reading sector 191625
|
||||
RS03: try number = 202, reading sector 193034
|
||||
RS03: try number = 203, reading sector 194443
|
||||
RS03: try number = 204, reading sector 195852
|
||||
RS03: try number = 205, reading sector 197261
|
||||
RS03: try number = 206, reading sector 198670
|
||||
RS03: try number = 207, reading sector 200079
|
||||
RS03: try number = 208, reading sector 201488
|
||||
RS03: try number = 209, reading sector 202897
|
||||
RS03: try number = 210, reading sector 204306
|
||||
RS03: try number = 211, reading sector 205715
|
||||
RS03: try number = 212, reading sector 207124
|
||||
RS03: try number = 213, reading sector 208533
|
||||
RS03: try number = 214, reading sector 209942
|
||||
RS03: try number = 215, reading sector 211351
|
||||
RS03: try number = 216, reading sector 212760
|
||||
RS03: try number = 217, reading sector 214169
|
||||
RS03: try number = 218, reading sector 215578
|
||||
RS03: try number = 219, reading sector 216987
|
||||
RS03: try number = 220, reading sector 218396
|
||||
RS03: try number = 221, reading sector 219805
|
||||
RS03: try number = 222, reading sector 221214
|
||||
RS03: try number = 223, reading sector 222623
|
||||
RS03: try number = 224, reading sector 224032
|
||||
RS03: try number = 225, reading sector 225441
|
||||
RS03: try number = 226, reading sector 226850
|
||||
RS03: try number = 227, reading sector 228259
|
||||
RS03: try number = 228, reading sector 229668
|
||||
RS03: try number = 229, reading sector 231077
|
||||
RS03: try number = 230, reading sector 232486
|
||||
RS03: try number = 231, reading sector 233895
|
||||
RS03: try number = 232, reading sector 235304
|
||||
RS03: try number = 165, reading sector 211351
|
||||
RS03: try number = 166, reading sector 212760
|
||||
RS03: try number = 167, reading sector 214169
|
||||
RS03: try number = 168, reading sector 215578
|
||||
RS03: try number = 169, reading sector 216987
|
||||
RS03: try number = 170, reading sector 218396
|
||||
RS03: try number = 171, reading sector 219805
|
||||
RS03: try number = 172, reading sector 221214
|
||||
RS03: try number = 173, reading sector 222623
|
||||
RS03: try number = 174, reading sector 224032
|
||||
RS03: try number = 175, reading sector 225441
|
||||
RS03: try number = 176, reading sector 226850
|
||||
RS03: try number = 177, reading sector 228259
|
||||
RS03: try number = 178, reading sector 229668
|
||||
RS03: try number = 179, reading sector 231077
|
||||
RS03: try number = 180, reading sector 232486
|
||||
RS03: try number = 181, reading sector 233895
|
||||
RS03: try number = 182, reading sector 235304
|
||||
.. invalid CRC block 235304
|
||||
RS03: try number = 233, reading sector 236713
|
||||
RS03: try number = 234, reading sector 238122
|
||||
RS03: try number = 235, reading sector 239531
|
||||
RS03: try number = 236, reading sector 240940
|
||||
RS03: try number = 237, reading sector 242349
|
||||
RS03: try number = 238, reading sector 243758
|
||||
RS03: try number = 239, reading sector 245167
|
||||
RS03: try number = 240, reading sector 246576
|
||||
RS03: try number = 241, reading sector 247985
|
||||
RS03: try number = 242, reading sector 249394
|
||||
RS03: try number = 243, reading sector 250803
|
||||
RS03: try number = 244, reading sector 252212
|
||||
RS03: try number = 245, reading sector 253621
|
||||
RS03: try number = 246, reading sector 255030
|
||||
RS03: try number = 247, reading sector 256439
|
||||
RS03: try number = 248, reading sector 257848
|
||||
RS03: try number = 249, reading sector 259257
|
||||
RS03: try number = 250, reading sector 260666
|
||||
RS03: try number = 251, reading sector 262075
|
||||
RS03: try number = 252, reading sector 263484
|
||||
RS03: try number = 253, reading sector 264893
|
||||
RS03: try number = 254, reading sector 266302
|
||||
RS03: try number = 255, reading sector 267711
|
||||
RS03: try number = 256, reading sector 269120
|
||||
RS03: try number = 257, reading sector 270529
|
||||
RS03: try number = 258, reading sector 271938
|
||||
RS03: try number = 259, reading sector 273347
|
||||
RS03: try number = 260, reading sector 274756
|
||||
RS03: try number = 261, reading sector 276165
|
||||
RS03: try number = 262, reading sector 277574
|
||||
RS03: try number = 263, reading sector 278983
|
||||
RS03: try number = 264, reading sector 280392
|
||||
RS03: try number = 265, reading sector 281801
|
||||
RS03: try number = 266, reading sector 283210
|
||||
RS03: try number = 267, reading sector 284619
|
||||
RS03: try number = 268, reading sector 286028
|
||||
RS03: try number = 269, reading sector 287437
|
||||
RS03: try number = 270, reading sector 288846
|
||||
RS03: try number = 271, reading sector 290255
|
||||
RS03: try number = 272, reading sector 291664
|
||||
RS03: try number = 273, reading sector 293073
|
||||
RS03: try number = 274, reading sector 294482
|
||||
RS03: try number = 275, reading sector 295891
|
||||
RS03: try number = 276, reading sector 297300
|
||||
RS03: try number = 277, reading sector 298709
|
||||
RS03: try number = 278, reading sector 300118
|
||||
RS03: try number = 279, reading sector 301527
|
||||
RS03: try number = 280, reading sector 302936
|
||||
RS03: try number = 281, reading sector 304345
|
||||
RS03: try number = 282, reading sector 305754
|
||||
RS03: try number = 283, reading sector 307163
|
||||
RS03: try number = 284, reading sector 308572
|
||||
RS03: try number = 285, reading sector 309981
|
||||
RS03: try number = 286, reading sector 311390
|
||||
RS03: try number = 287, reading sector 312799
|
||||
RS03: try number = 288, reading sector 314208
|
||||
RS03: try number = 289, reading sector 315617
|
||||
RS03: try number = 290, reading sector 317026
|
||||
RS03: try number = 291, reading sector 318435
|
||||
RS03: try number = 292, reading sector 319844
|
||||
RS03: try number = 293, reading sector 321253
|
||||
RS03: try number = 294, reading sector 322662
|
||||
RS03: try number = 295, reading sector 324071
|
||||
RS03: try number = 296, reading sector 325480
|
||||
RS03: try number = 297, reading sector 326889
|
||||
RS03: try number = 298, reading sector 328298
|
||||
RS03: try number = 299, reading sector 329707
|
||||
RS03: try number = 300, reading sector 331116
|
||||
-> 32 untested layers remaining
|
||||
RS03: try number = 183, reading sector 236713
|
||||
RS03: try number = 184, reading sector 238122
|
||||
RS03: try number = 185, reading sector 239531
|
||||
RS03: try number = 186, reading sector 240940
|
||||
RS03: try number = 187, reading sector 242349
|
||||
RS03: try number = 188, reading sector 243758
|
||||
RS03: try number = 189, reading sector 245167
|
||||
RS03: try number = 190, reading sector 246576
|
||||
RS03: try number = 191, reading sector 247985
|
||||
RS03: try number = 192, reading sector 249394
|
||||
RS03: try number = 193, reading sector 250803
|
||||
RS03: try number = 194, reading sector 252212
|
||||
RS03: try number = 195, reading sector 253621
|
||||
RS03: try number = 196, reading sector 255030
|
||||
RS03: try number = 197, reading sector 256439
|
||||
RS03: try number = 198, reading sector 257848
|
||||
RS03: try number = 199, reading sector 259257
|
||||
RS03: try number = 200, reading sector 260666
|
||||
RS03: try number = 201, reading sector 262075
|
||||
RS03: try number = 202, reading sector 263484
|
||||
RS03: try number = 203, reading sector 264893
|
||||
RS03: try number = 204, reading sector 266302
|
||||
RS03: try number = 205, reading sector 267711
|
||||
RS03: try number = 206, reading sector 269120
|
||||
RS03: try number = 207, reading sector 270529
|
||||
RS03: try number = 208, reading sector 271938
|
||||
RS03: try number = 209, reading sector 273347
|
||||
RS03: try number = 210, reading sector 274756
|
||||
RS03: try number = 211, reading sector 276165
|
||||
RS03: try number = 212, reading sector 277574
|
||||
RS03: try number = 213, reading sector 278983
|
||||
RS03: try number = 214, reading sector 280392
|
||||
RS03: try number = 215, reading sector 281801
|
||||
RS03: try number = 216, reading sector 283210
|
||||
RS03: try number = 217, reading sector 284619
|
||||
RS03: try number = 218, reading sector 286028
|
||||
RS03: try number = 219, reading sector 287437
|
||||
RS03: try number = 220, reading sector 288846
|
||||
RS03: try number = 221, reading sector 290255
|
||||
RS03: try number = 222, reading sector 291664
|
||||
RS03: try number = 223, reading sector 293073
|
||||
RS03: try number = 224, reading sector 294482
|
||||
RS03: try number = 225, reading sector 295891
|
||||
RS03: try number = 226, reading sector 297300
|
||||
RS03: try number = 227, reading sector 298709
|
||||
RS03: try number = 228, reading sector 300118
|
||||
RS03: try number = 229, reading sector 301527
|
||||
RS03: try number = 230, reading sector 302936
|
||||
RS03: try number = 231, reading sector 304345
|
||||
RS03: try number = 232, reading sector 305754
|
||||
RS03: try number = 233, reading sector 307163
|
||||
RS03: try number = 234, reading sector 308572
|
||||
RS03: try number = 235, reading sector 309981
|
||||
RS03: try number = 236, reading sector 311390
|
||||
RS03: try number = 237, reading sector 312799
|
||||
RS03: try number = 238, reading sector 314208
|
||||
RS03: try number = 239, reading sector 315617
|
||||
RS03: try number = 240, reading sector 317026
|
||||
RS03: try number = 241, reading sector 318435
|
||||
RS03: try number = 242, reading sector 319844
|
||||
RS03: try number = 243, reading sector 321253
|
||||
RS03: try number = 244, reading sector 322662
|
||||
RS03: try number = 245, reading sector 324071
|
||||
RS03: try number = 246, reading sector 325480
|
||||
RS03: try number = 247, reading sector 326889
|
||||
RS03: try number = 248, reading sector 328298
|
||||
RS03: try number = 249, reading sector 329707
|
||||
RS03: try number = 250, reading sector 331116
|
||||
RS03: try number = 251, reading sector 332525
|
||||
-> 1 untested layers remaining
|
||||
- layer slice 2
|
||||
RS03: try number = 301, reading sector 154992
|
||||
RS03: try number = 302, reading sector 156401
|
||||
RS03: try number = 303, reading sector 157810
|
||||
RS03: try number = 304, reading sector 159219
|
||||
RS03: try number = 305, reading sector 160628
|
||||
RS03: try number = 306, reading sector 162037
|
||||
RS03: try number = 307, reading sector 163446
|
||||
RS03: try number = 308, reading sector 164855
|
||||
RS03: try number = 309, reading sector 166264
|
||||
RS03: try number = 310, reading sector 167673
|
||||
RS03: try number = 311, reading sector 169082
|
||||
RS03: try number = 312, reading sector 170491
|
||||
RS03: try number = 313, reading sector 171900
|
||||
RS03: try number = 314, reading sector 173309
|
||||
RS03: try number = 315, reading sector 174718
|
||||
RS03: try number = 316, reading sector 176127
|
||||
RS03: try number = 317, reading sector 177536
|
||||
RS03: try number = 318, reading sector 178945
|
||||
RS03: try number = 319, reading sector 180354
|
||||
RS03: try number = 320, reading sector 181763
|
||||
RS03: try number = 321, reading sector 183172
|
||||
RS03: try number = 322, reading sector 184581
|
||||
RS03: try number = 323, reading sector 185990
|
||||
RS03: try number = 324, reading sector 187399
|
||||
RS03: try number = 325, reading sector 188808
|
||||
RS03: try number = 326, reading sector 190217
|
||||
RS03: try number = 327, reading sector 191626
|
||||
RS03: try number = 328, reading sector 193035
|
||||
RS03: try number = 329, reading sector 194444
|
||||
RS03: try number = 330, reading sector 195853
|
||||
RS03: try number = 331, reading sector 197262
|
||||
RS03: try number = 332, reading sector 235305
|
||||
-> 32 untested layers remaining
|
||||
RS03: try number = 252, reading sector 235305
|
||||
-> 1 untested layers remaining
|
||||
- layer slice 3
|
||||
RS03: try number = 333, reading sector 154993
|
||||
RS03: try number = 334, reading sector 156402
|
||||
RS03: try number = 335, reading sector 157811
|
||||
RS03: try number = 336, reading sector 159220
|
||||
RS03: try number = 337, reading sector 160629
|
||||
RS03: try number = 338, reading sector 162038
|
||||
RS03: try number = 339, reading sector 163447
|
||||
RS03: try number = 340, reading sector 164856
|
||||
RS03: try number = 341, reading sector 166265
|
||||
RS03: try number = 342, reading sector 167674
|
||||
RS03: try number = 343, reading sector 169083
|
||||
RS03: try number = 344, reading sector 170492
|
||||
RS03: try number = 345, reading sector 171901
|
||||
RS03: try number = 346, reading sector 173310
|
||||
RS03: try number = 347, reading sector 174719
|
||||
RS03: try number = 348, reading sector 176128
|
||||
RS03: try number = 349, reading sector 177537
|
||||
RS03: try number = 350, reading sector 178946
|
||||
RS03: try number = 351, reading sector 180355
|
||||
RS03: try number = 352, reading sector 181764
|
||||
RS03: try number = 353, reading sector 183173
|
||||
RS03: try number = 354, reading sector 184582
|
||||
RS03: try number = 355, reading sector 185991
|
||||
RS03: try number = 356, reading sector 187400
|
||||
RS03: try number = 357, reading sector 188809
|
||||
RS03: try number = 358, reading sector 190218
|
||||
RS03: try number = 359, reading sector 191627
|
||||
RS03: try number = 360, reading sector 193036
|
||||
RS03: try number = 361, reading sector 194445
|
||||
RS03: try number = 362, reading sector 195854
|
||||
RS03: try number = 363, reading sector 197263
|
||||
RS03: try number = 364, reading sector 235306
|
||||
RS03: try number = 253, reading sector 235306
|
||||
.. invalid CRC block 235306
|
||||
-> 31 untested layers remaining
|
||||
-> 1 untested layers remaining
|
||||
- layer slice 4
|
||||
RS03: try number = 365, reading sector 154994
|
||||
RS03: try number = 366, reading sector 156403
|
||||
RS03: try number = 367, reading sector 157812
|
||||
RS03: try number = 368, reading sector 159221
|
||||
RS03: try number = 369, reading sector 160630
|
||||
RS03: try number = 370, reading sector 162039
|
||||
RS03: try number = 371, reading sector 163448
|
||||
RS03: try number = 372, reading sector 164857
|
||||
RS03: try number = 373, reading sector 166266
|
||||
RS03: try number = 374, reading sector 167675
|
||||
RS03: try number = 375, reading sector 169084
|
||||
RS03: try number = 376, reading sector 170493
|
||||
RS03: try number = 377, reading sector 171902
|
||||
RS03: try number = 378, reading sector 173311
|
||||
RS03: try number = 379, reading sector 174720
|
||||
RS03: try number = 380, reading sector 176129
|
||||
RS03: try number = 381, reading sector 177538
|
||||
RS03: try number = 382, reading sector 178947
|
||||
RS03: try number = 383, reading sector 180356
|
||||
RS03: try number = 384, reading sector 181765
|
||||
RS03: try number = 385, reading sector 183174
|
||||
RS03: try number = 386, reading sector 184583
|
||||
RS03: try number = 387, reading sector 185992
|
||||
RS03: try number = 388, reading sector 187401
|
||||
RS03: try number = 389, reading sector 188810
|
||||
RS03: try number = 390, reading sector 190219
|
||||
RS03: try number = 391, reading sector 191628
|
||||
RS03: try number = 392, reading sector 193037
|
||||
RS03: try number = 393, reading sector 194446
|
||||
RS03: try number = 394, reading sector 195855
|
||||
RS03: try number = 395, reading sector 235307
|
||||
RS03: try number = 254, reading sector 235307
|
||||
-> 1 untested layers remaining
|
||||
- layer slice 5
|
||||
RS03: try number = 396, reading sector 235308
|
||||
RS03: try number = 255, reading sector 235308
|
||||
** Success: sector 235308, rediscovered format with 87 roots
|
||||
...augmented image found
|
||||
GetImageFingerprint(16): read & cached
|
||||
@@ -575,4 +434,132 @@ Error correction properties:
|
||||
|
||||
Data integrity:
|
||||
- medium sectors : 359295 total / 235219 data
|
||||
* quick mode : image NOT scanned
|
||||
CalcRS03Layout(): returning cached layout (augmented)
|
||||
* missing sectors : 154991 - 154993
|
||||
* missing sectors : 156400 - 156402
|
||||
* missing sectors : 157809 - 157811
|
||||
* missing sectors : 159218 - 159220
|
||||
* missing sectors : 160627 - 160629
|
||||
* missing sectors : 162036 - 162038
|
||||
* missing sectors : 163445 - 163447
|
||||
* missing sectors : 164854 - 164856
|
||||
* missing sectors : 166263 - 166265
|
||||
* missing sectors : 167672 - 167674
|
||||
* missing sectors : 169081 - 169083
|
||||
* missing sectors : 170490 - 170492
|
||||
* missing sectors : 171899 - 171901
|
||||
* missing sectors : 173308 - 173310
|
||||
* missing sectors : 174717 - 174719
|
||||
* missing sectors : 176126 - 176128
|
||||
* missing sectors : 177535 - 177537
|
||||
* missing sectors : 178944 - 178946
|
||||
* missing sectors : 180353 - 180355
|
||||
* missing sectors : 181762 - 181764
|
||||
* missing sectors : 183171 - 183173
|
||||
* missing sectors : 184580 - 184582
|
||||
* missing sectors : 185989 - 185991
|
||||
* missing sectors : 187398 - 187400
|
||||
* missing sectors : 188807 - 188809
|
||||
* missing sectors : 190216 - 190218
|
||||
* missing sectors : 191625 - 191627
|
||||
* missing sectors : 193034 - 193036
|
||||
* missing sectors : 194443 - 194445
|
||||
* missing sectors : 195852 - 195854
|
||||
* missing sectors : 197261 - 197262
|
||||
* missing sector : 211350
|
||||
* missing sector : 212759
|
||||
* missing sector : 214168
|
||||
* missing sector : 215577
|
||||
* missing sector : 216986
|
||||
* missing sector : 218395
|
||||
* missing sector : 219804
|
||||
* missing sector : 221213
|
||||
* missing sector : 222622
|
||||
* missing sector : 224031
|
||||
* missing sector : 225440
|
||||
* missing sector : 226849
|
||||
* missing sector : 228258
|
||||
* missing sector : 229667
|
||||
* missing sector : 231076
|
||||
* missing sector : 232485
|
||||
* missing sector : 233894
|
||||
* missing sector : 235219
|
||||
* missing sector : 235303
|
||||
* missing sector : 235305
|
||||
* missing sector : 235307
|
||||
* missing sector : 236712
|
||||
* missing sector : 238121
|
||||
* missing sector : 239530
|
||||
* missing sector : 240939
|
||||
* missing sector : 242348
|
||||
* missing sector : 243757
|
||||
* missing sector : 245166
|
||||
* missing sector : 246575
|
||||
* missing sector : 247984
|
||||
* missing sector : 249393
|
||||
* missing sector : 250802
|
||||
* missing sector : 252211
|
||||
* missing sector : 253620
|
||||
* missing sector : 255029
|
||||
* missing sector : 256438
|
||||
* missing sector : 257847
|
||||
* missing sector : 259256
|
||||
* missing sector : 260665
|
||||
* missing sector : 262074
|
||||
* missing sector : 263483
|
||||
* missing sector : 264892
|
||||
* missing sector : 266301
|
||||
* missing sector : 267710
|
||||
* missing sector : 269119
|
||||
* missing sector : 270528
|
||||
* missing sector : 271937
|
||||
* missing sector : 273346
|
||||
* missing sector : 274755
|
||||
* missing sector : 276164
|
||||
* missing sector : 277573
|
||||
* missing sector : 278982
|
||||
* missing sector : 280391
|
||||
* missing sector : 281800
|
||||
* missing sector : 283209
|
||||
* missing sector : 284618
|
||||
* missing sector : 286027
|
||||
* missing sector : 287436
|
||||
* missing sector : 288845
|
||||
* missing sector : 290254
|
||||
* missing sector : 291663
|
||||
* missing sector : 293072
|
||||
* missing sector : 294481
|
||||
* missing sector : 295890
|
||||
* missing sector : 297299
|
||||
* missing sector : 298708
|
||||
* missing sector : 300117
|
||||
* missing sector : 301526
|
||||
* missing sector : 302935
|
||||
* missing sector : 304344
|
||||
* missing sector : 305753
|
||||
* missing sector : 307162
|
||||
* missing sector : 308571
|
||||
* missing sector : 309980
|
||||
* missing sector : 311389
|
||||
* missing sector : 312798
|
||||
* missing sector : 314207
|
||||
* missing sector : 315616
|
||||
* missing sector : 317025
|
||||
* missing sector : 318434
|
||||
* missing sector : 319843
|
||||
* missing sector : 321252
|
||||
* missing sector : 322661
|
||||
* missing sector : 324070
|
||||
* missing sector : 325479
|
||||
* missing sector : 326888
|
||||
* missing sector : 328297
|
||||
* missing sector : 329706
|
||||
* missing sector : 331115
|
||||
* missing sector : 332524
|
||||
... data section : 110 sectors missing; 0 CRC errors
|
||||
... crc section : 3 sectors missing; 2 signature errors
|
||||
... ecc section : 69 sectors missing
|
||||
* Ecc block test : 1403 good, 6 bad; 9268 bad sub blocks
|
||||
- erasure counts : avg = 30.3; worst = 87 per ecc block.
|
||||
- prognosis : 359295 of 359295 sectors recoverable (100.0%)
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
263
regtest/database/RS03i_missing_header5
Normal file
263
regtest/database/RS03i_missing_header5
Normal file
@@ -0,0 +1,263 @@
|
||||
58ad0723e8e92a23b2c302a01caad422
|
||||
ignore
|
||||
This software comes with ABSOLUTELY NO WARRANTY. This
|
||||
is free software and you are welcome to redistribute it
|
||||
under the conditions of the GNU GENERAL PUBLIC LICENSE.
|
||||
See the file "COPYING" for further information.
|
||||
|
||||
ExamineUDF(File: rs03i-tmp.iso)
|
||||
Examining the ISO file system...
|
||||
Sector 16:
|
||||
Volume descriptor type = 1
|
||||
Volume descriptor version = 1
|
||||
Standard identifier = CD001
|
||||
-> primary volume descriptor:
|
||||
System identifier : | |
|
||||
Volume identifier : |RANDOM IMAGE |
|
||||
Volume space size : 235219 sectors
|
||||
Volume set size : 1
|
||||
Volume sequence size : 1
|
||||
Logical block size : 2048
|
||||
Path table size : 10 bytes
|
||||
L-Path table location : 19
|
||||
Opt L-Path table location : 0
|
||||
M-Path table location : 20
|
||||
Opt M-Path table location : 0
|
||||
Volume creation date/time : 16-07-2006 10:35:46.23
|
||||
Volume modification d/t : 16-07-2006 10:35:46.23
|
||||
Volume expiration d/t : 16-07-2106 10:35:46.23
|
||||
Volume effective d/t : 16-07-2006 10:35:46.23
|
||||
File structure version : 1
|
||||
Sector 17:
|
||||
Volume descriptor type = 2
|
||||
Volume descriptor version = 1
|
||||
Standard identifier = CD001
|
||||
-> supplementary volume descriptor: *skipped*
|
||||
Sector 18:
|
||||
Volume descriptor type = 255
|
||||
Volume descriptor version = 1
|
||||
Standard identifier = CD001
|
||||
-> volume descriptor set terminator;
|
||||
end of ISO file system parsing.
|
||||
Examining the UDF file system...
|
||||
not yet implemented.
|
||||
|
||||
ExamineECC() started
|
||||
...trying RS01
|
||||
...trying RS02
|
||||
RS02Recognize: file rs03i-tmp.iso
|
||||
try_sector: trying sector 235219
|
||||
try_sector: read error, trying next header
|
||||
try_sector: trying sector 235069
|
||||
try_sector: no cookie, skipping current modulo
|
||||
RS02Recognize: No EH, entering exhaustive search
|
||||
FindHeaderInMedium: Trying modulo 4611686018427387904
|
||||
FindHeaderInMedium: Trying modulo 2305843009213693952
|
||||
FindHeaderInMedium: Trying modulo 1152921504606846976
|
||||
FindHeaderInMedium: Trying modulo 576460752303423488
|
||||
FindHeaderInMedium: Trying modulo 288230376151711744
|
||||
FindHeaderInMedium: Trying modulo 144115188075855872
|
||||
FindHeaderInMedium: Trying modulo 72057594037927936
|
||||
FindHeaderInMedium: Trying modulo 36028797018963968
|
||||
FindHeaderInMedium: Trying modulo 18014398509481984
|
||||
FindHeaderInMedium: Trying modulo 9007199254740992
|
||||
FindHeaderInMedium: Trying modulo 4503599627370496
|
||||
FindHeaderInMedium: Trying modulo 2251799813685248
|
||||
FindHeaderInMedium: Trying modulo 1125899906842624
|
||||
FindHeaderInMedium: Trying modulo 562949953421312
|
||||
FindHeaderInMedium: Trying modulo 281474976710656
|
||||
FindHeaderInMedium: Trying modulo 140737488355328
|
||||
FindHeaderInMedium: Trying modulo 70368744177664
|
||||
FindHeaderInMedium: Trying modulo 35184372088832
|
||||
FindHeaderInMedium: Trying modulo 17592186044416
|
||||
FindHeaderInMedium: Trying modulo 8796093022208
|
||||
FindHeaderInMedium: Trying modulo 4398046511104
|
||||
FindHeaderInMedium: Trying modulo 2199023255552
|
||||
FindHeaderInMedium: Trying modulo 1099511627776
|
||||
FindHeaderInMedium: Trying modulo 549755813888
|
||||
FindHeaderInMedium: Trying modulo 274877906944
|
||||
FindHeaderInMedium: Trying modulo 137438953472
|
||||
FindHeaderInMedium: Trying modulo 68719476736
|
||||
FindHeaderInMedium: Trying modulo 34359738368
|
||||
FindHeaderInMedium: Trying modulo 17179869184
|
||||
FindHeaderInMedium: Trying modulo 8589934592
|
||||
FindHeaderInMedium: Trying modulo 4294967296
|
||||
FindHeaderInMedium: Trying modulo 2147483648
|
||||
FindHeaderInMedium: Trying modulo 1073741824
|
||||
FindHeaderInMedium: Trying modulo 536870912
|
||||
FindHeaderInMedium: Trying modulo 268435456
|
||||
FindHeaderInMedium: Trying modulo 134217728
|
||||
FindHeaderInMedium: Trying modulo 67108864
|
||||
FindHeaderInMedium: Trying modulo 33554432
|
||||
FindHeaderInMedium: Trying modulo 16777216
|
||||
FindHeaderInMedium: Trying modulo 8388608
|
||||
FindHeaderInMedium: Trying modulo 4194304
|
||||
FindHeaderInMedium: Trying modulo 2097152
|
||||
FindHeaderInMedium: Trying modulo 1048576
|
||||
FindHeaderInMedium: Trying modulo 524288
|
||||
FindHeaderInMedium: Trying modulo 262144
|
||||
try_sector: trying sector 262144
|
||||
try_sector: no cookie, skipping current modulo
|
||||
FindHeaderInMedium: Trying modulo 131072
|
||||
Sector 262144 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 65536
|
||||
try_sector: trying sector 327680
|
||||
try_sector: no cookie, skipping current modulo
|
||||
FindHeaderInMedium: Trying modulo 32768
|
||||
Sector 327680 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 16384
|
||||
try_sector: trying sector 344064
|
||||
try_sector: no cookie, skipping current modulo
|
||||
FindHeaderInMedium: Trying modulo 8192
|
||||
try_sector: trying sector 352256
|
||||
try_sector: no cookie, skipping current modulo
|
||||
FindHeaderInMedium: Trying modulo 4096
|
||||
try_sector: trying sector 356352
|
||||
try_sector: no cookie, skipping current modulo
|
||||
FindHeaderInMedium: Trying modulo 2048
|
||||
try_sector: trying sector 358400
|
||||
try_sector: no cookie, skipping current modulo
|
||||
FindHeaderInMedium: Trying modulo 1024
|
||||
Sector 358400 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 512
|
||||
try_sector: trying sector 358912
|
||||
try_sector: no cookie, skipping current modulo
|
||||
FindHeaderInMedium: Trying modulo 256
|
||||
try_sector: trying sector 359168
|
||||
try_sector: no cookie, skipping current modulo
|
||||
FindHeaderInMedium: Trying modulo 128
|
||||
Sector 359168 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 64
|
||||
try_sector: trying sector 359232
|
||||
try_sector: no cookie, skipping current modulo
|
||||
FindHeaderInMedium: Trying modulo 32
|
||||
try_sector: trying sector 359264
|
||||
try_sector: no cookie, skipping current modulo
|
||||
...trying RS03
|
||||
RS03RecognizeImage: file rs03i-tmp.iso
|
||||
FindRS03HeaderInImage: file rs03i-tmp.iso
|
||||
RS03RecognizeImage: No EH, entering exhaustive search
|
||||
.. trying layer size 1409
|
||||
Scanning layers for signatures.
|
||||
- layer slice 0
|
||||
RS03: try number = 1, reading sector 118356
|
||||
RS03: try number = 2, reading sector 119765
|
||||
RS03: try number = 3, reading sector 121174
|
||||
RS03: try number = 4, reading sector 122583
|
||||
RS03: try number = 5, reading sector 123992
|
||||
RS03: try number = 6, reading sector 125401
|
||||
RS03: try number = 7, reading sector 126810
|
||||
RS03: try number = 8, reading sector 128219
|
||||
RS03: try number = 9, reading sector 129628
|
||||
RS03: try number = 10, reading sector 131037
|
||||
RS03: try number = 11, reading sector 132446
|
||||
RS03: try number = 12, reading sector 133855
|
||||
RS03: try number = 13, reading sector 135264
|
||||
RS03: try number = 14, reading sector 136673
|
||||
RS03: try number = 15, reading sector 138082
|
||||
RS03: try number = 16, reading sector 139491
|
||||
RS03: try number = 17, reading sector 140900
|
||||
RS03: try number = 18, reading sector 142309
|
||||
RS03: try number = 19, reading sector 143718
|
||||
RS03: try number = 20, reading sector 145127
|
||||
RS03: try number = 21, reading sector 146536
|
||||
RS03: try number = 22, reading sector 147945
|
||||
RS03: try number = 23, reading sector 149354
|
||||
RS03: try number = 24, reading sector 150763
|
||||
RS03: try number = 25, reading sector 152172
|
||||
RS03: try number = 26, reading sector 153581
|
||||
RS03: try number = 27, reading sector 154990
|
||||
RS03: try number = 28, reading sector 156399
|
||||
RS03: try number = 29, reading sector 157808
|
||||
RS03: try number = 30, reading sector 159217
|
||||
RS03: try number = 31, reading sector 160626
|
||||
RS03: try number = 32, reading sector 162035
|
||||
RS03: try number = 33, reading sector 163444
|
||||
RS03: try number = 34, reading sector 164853
|
||||
RS03: try number = 35, reading sector 166262
|
||||
RS03: try number = 36, reading sector 167671
|
||||
RS03: try number = 37, reading sector 169080
|
||||
RS03: try number = 38, reading sector 170489
|
||||
RS03: try number = 39, reading sector 171898
|
||||
RS03: try number = 40, reading sector 173307
|
||||
RS03: try number = 41, reading sector 174716
|
||||
RS03: try number = 42, reading sector 176125
|
||||
RS03: try number = 43, reading sector 177534
|
||||
RS03: try number = 44, reading sector 178943
|
||||
RS03: try number = 45, reading sector 180352
|
||||
RS03: try number = 46, reading sector 181761
|
||||
RS03: try number = 47, reading sector 183170
|
||||
RS03: try number = 48, reading sector 184579
|
||||
RS03: try number = 49, reading sector 185988
|
||||
RS03: try number = 50, reading sector 187397
|
||||
RS03: try number = 51, reading sector 188806
|
||||
RS03: try number = 52, reading sector 190215
|
||||
RS03: try number = 53, reading sector 191624
|
||||
RS03: try number = 54, reading sector 193033
|
||||
RS03: try number = 55, reading sector 194442
|
||||
RS03: try number = 56, reading sector 195851
|
||||
RS03: try number = 57, reading sector 197260
|
||||
RS03: try number = 58, reading sector 198669
|
||||
RS03: try number = 59, reading sector 200078
|
||||
RS03: try number = 60, reading sector 201487
|
||||
RS03: try number = 61, reading sector 202896
|
||||
RS03: try number = 62, reading sector 204305
|
||||
RS03: try number = 63, reading sector 205714
|
||||
RS03: try number = 64, reading sector 207123
|
||||
RS03: try number = 65, reading sector 208532
|
||||
RS03: try number = 66, reading sector 209941
|
||||
RS03: try number = 67, reading sector 211350
|
||||
RS03: try number = 68, reading sector 212759
|
||||
RS03: try number = 69, reading sector 214168
|
||||
RS03: try number = 70, reading sector 215577
|
||||
RS03: try number = 71, reading sector 216986
|
||||
RS03: try number = 72, reading sector 218395
|
||||
RS03: try number = 73, reading sector 219804
|
||||
RS03: try number = 74, reading sector 221213
|
||||
RS03: try number = 75, reading sector 222622
|
||||
RS03: try number = 76, reading sector 224031
|
||||
RS03: try number = 77, reading sector 225440
|
||||
RS03: try number = 78, reading sector 226849
|
||||
RS03: try number = 79, reading sector 228258
|
||||
RS03: try number = 80, reading sector 229667
|
||||
RS03: try number = 81, reading sector 231076
|
||||
RS03: try number = 82, reading sector 232485
|
||||
RS03: try number = 83, reading sector 233894
|
||||
RS03: try number = 84, reading sector 235303
|
||||
** Success: sector 235303, rediscovered format with 87 roots
|
||||
...augmented image found
|
||||
GetImageFingerprint(16): read & cached
|
||||
|
||||
rs03i-tmp.iso present.
|
||||
Calculated layout for RS03 image:
|
||||
data sectors = 235219
|
||||
data padding = 82
|
||||
layer size = 1409
|
||||
total sectors = 359295
|
||||
medium capacity = 0
|
||||
header position = 235219
|
||||
first CRC sector = 235303
|
||||
first ECC sector = 236712
|
||||
ndata = 168
|
||||
nroots = 87 (51.8%)
|
||||
|
||||
|
||||
Error correction properties:
|
||||
- type : Augmented image
|
||||
- method : RS03, 87 roots, 51.8% redundancy.
|
||||
- created by : dvdisaster-0.80
|
||||
- requires : dvdisaster-0.79
|
||||
- data md5sum : none available
|
||||
|
||||
Data integrity:
|
||||
- medium sectors : 359295 total / 235219 data
|
||||
CalcRS03Layout(): returning cached layout (augmented)
|
||||
* missing sector : 235220
|
||||
* BAD image/file : 1 sectors missing
|
||||
... data section : 1 sectors missing; 0 CRC errors
|
||||
... crc section : 0 sectors missing
|
||||
... ecc section : 0 sectors missing
|
||||
* Ecc block test : 1408 good, 1 bad; 325 bad sub blocks
|
||||
- erasure counts : avg = 1.0; worst = 1 per ecc block.
|
||||
- prognosis : 359295 of 359295 sectors recoverable (100.0%)
|
||||
FreeCrcBuf - buffer cleared
|
||||
263
regtest/database/RS03i_missing_header6
Normal file
263
regtest/database/RS03i_missing_header6
Normal file
@@ -0,0 +1,263 @@
|
||||
c34c0a65564384174fce7a172b243718
|
||||
ignore
|
||||
This software comes with ABSOLUTELY NO WARRANTY. This
|
||||
is free software and you are welcome to redistribute it
|
||||
under the conditions of the GNU GENERAL PUBLIC LICENSE.
|
||||
See the file "COPYING" for further information.
|
||||
|
||||
ExamineUDF(File: rs03i-tmp.iso)
|
||||
Examining the ISO file system...
|
||||
Sector 16:
|
||||
Volume descriptor type = 1
|
||||
Volume descriptor version = 1
|
||||
Standard identifier = CD001
|
||||
-> primary volume descriptor:
|
||||
System identifier : | |
|
||||
Volume identifier : |RANDOM IMAGE |
|
||||
Volume space size : 235219 sectors
|
||||
Volume set size : 1
|
||||
Volume sequence size : 1
|
||||
Logical block size : 2048
|
||||
Path table size : 10 bytes
|
||||
L-Path table location : 19
|
||||
Opt L-Path table location : 0
|
||||
M-Path table location : 20
|
||||
Opt M-Path table location : 0
|
||||
Volume creation date/time : 16-07-2006 10:35:46.23
|
||||
Volume modification d/t : 16-07-2006 10:35:46.23
|
||||
Volume expiration d/t : 16-07-2106 10:35:46.23
|
||||
Volume effective d/t : 16-07-2006 10:35:46.23
|
||||
File structure version : 1
|
||||
Sector 17:
|
||||
Volume descriptor type = 2
|
||||
Volume descriptor version = 1
|
||||
Standard identifier = CD001
|
||||
-> supplementary volume descriptor: *skipped*
|
||||
Sector 18:
|
||||
Volume descriptor type = 255
|
||||
Volume descriptor version = 1
|
||||
Standard identifier = CD001
|
||||
-> volume descriptor set terminator;
|
||||
end of ISO file system parsing.
|
||||
Examining the UDF file system...
|
||||
not yet implemented.
|
||||
|
||||
ExamineECC() started
|
||||
...trying RS01
|
||||
...trying RS02
|
||||
RS02Recognize: file rs03i-tmp.iso
|
||||
try_sector: trying sector 235219
|
||||
try_sector: read error, trying next header
|
||||
try_sector: trying sector 235069
|
||||
try_sector: no cookie, skipping current modulo
|
||||
RS02Recognize: No EH, entering exhaustive search
|
||||
FindHeaderInMedium: Trying modulo 4611686018427387904
|
||||
FindHeaderInMedium: Trying modulo 2305843009213693952
|
||||
FindHeaderInMedium: Trying modulo 1152921504606846976
|
||||
FindHeaderInMedium: Trying modulo 576460752303423488
|
||||
FindHeaderInMedium: Trying modulo 288230376151711744
|
||||
FindHeaderInMedium: Trying modulo 144115188075855872
|
||||
FindHeaderInMedium: Trying modulo 72057594037927936
|
||||
FindHeaderInMedium: Trying modulo 36028797018963968
|
||||
FindHeaderInMedium: Trying modulo 18014398509481984
|
||||
FindHeaderInMedium: Trying modulo 9007199254740992
|
||||
FindHeaderInMedium: Trying modulo 4503599627370496
|
||||
FindHeaderInMedium: Trying modulo 2251799813685248
|
||||
FindHeaderInMedium: Trying modulo 1125899906842624
|
||||
FindHeaderInMedium: Trying modulo 562949953421312
|
||||
FindHeaderInMedium: Trying modulo 281474976710656
|
||||
FindHeaderInMedium: Trying modulo 140737488355328
|
||||
FindHeaderInMedium: Trying modulo 70368744177664
|
||||
FindHeaderInMedium: Trying modulo 35184372088832
|
||||
FindHeaderInMedium: Trying modulo 17592186044416
|
||||
FindHeaderInMedium: Trying modulo 8796093022208
|
||||
FindHeaderInMedium: Trying modulo 4398046511104
|
||||
FindHeaderInMedium: Trying modulo 2199023255552
|
||||
FindHeaderInMedium: Trying modulo 1099511627776
|
||||
FindHeaderInMedium: Trying modulo 549755813888
|
||||
FindHeaderInMedium: Trying modulo 274877906944
|
||||
FindHeaderInMedium: Trying modulo 137438953472
|
||||
FindHeaderInMedium: Trying modulo 68719476736
|
||||
FindHeaderInMedium: Trying modulo 34359738368
|
||||
FindHeaderInMedium: Trying modulo 17179869184
|
||||
FindHeaderInMedium: Trying modulo 8589934592
|
||||
FindHeaderInMedium: Trying modulo 4294967296
|
||||
FindHeaderInMedium: Trying modulo 2147483648
|
||||
FindHeaderInMedium: Trying modulo 1073741824
|
||||
FindHeaderInMedium: Trying modulo 536870912
|
||||
FindHeaderInMedium: Trying modulo 268435456
|
||||
FindHeaderInMedium: Trying modulo 134217728
|
||||
FindHeaderInMedium: Trying modulo 67108864
|
||||
FindHeaderInMedium: Trying modulo 33554432
|
||||
FindHeaderInMedium: Trying modulo 16777216
|
||||
FindHeaderInMedium: Trying modulo 8388608
|
||||
FindHeaderInMedium: Trying modulo 4194304
|
||||
FindHeaderInMedium: Trying modulo 2097152
|
||||
FindHeaderInMedium: Trying modulo 1048576
|
||||
FindHeaderInMedium: Trying modulo 524288
|
||||
FindHeaderInMedium: Trying modulo 262144
|
||||
try_sector: trying sector 262144
|
||||
try_sector: no cookie, skipping current modulo
|
||||
FindHeaderInMedium: Trying modulo 131072
|
||||
Sector 262144 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 65536
|
||||
try_sector: trying sector 327680
|
||||
try_sector: no cookie, skipping current modulo
|
||||
FindHeaderInMedium: Trying modulo 32768
|
||||
Sector 327680 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 16384
|
||||
try_sector: trying sector 344064
|
||||
try_sector: no cookie, skipping current modulo
|
||||
FindHeaderInMedium: Trying modulo 8192
|
||||
try_sector: trying sector 352256
|
||||
try_sector: no cookie, skipping current modulo
|
||||
FindHeaderInMedium: Trying modulo 4096
|
||||
try_sector: trying sector 356352
|
||||
try_sector: no cookie, skipping current modulo
|
||||
FindHeaderInMedium: Trying modulo 2048
|
||||
try_sector: trying sector 358400
|
||||
try_sector: no cookie, skipping current modulo
|
||||
FindHeaderInMedium: Trying modulo 1024
|
||||
Sector 358400 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 512
|
||||
try_sector: trying sector 358912
|
||||
try_sector: no cookie, skipping current modulo
|
||||
FindHeaderInMedium: Trying modulo 256
|
||||
try_sector: trying sector 359168
|
||||
try_sector: no cookie, skipping current modulo
|
||||
FindHeaderInMedium: Trying modulo 128
|
||||
Sector 359168 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 64
|
||||
try_sector: trying sector 359232
|
||||
try_sector: no cookie, skipping current modulo
|
||||
FindHeaderInMedium: Trying modulo 32
|
||||
try_sector: trying sector 359264
|
||||
try_sector: no cookie, skipping current modulo
|
||||
...trying RS03
|
||||
RS03RecognizeImage: file rs03i-tmp.iso
|
||||
FindRS03HeaderInImage: file rs03i-tmp.iso
|
||||
RS03RecognizeImage: No EH, entering exhaustive search
|
||||
.. trying layer size 1409
|
||||
Scanning layers for signatures.
|
||||
- layer slice 0
|
||||
RS03: try number = 1, reading sector 118356
|
||||
RS03: try number = 2, reading sector 119765
|
||||
RS03: try number = 3, reading sector 121174
|
||||
RS03: try number = 4, reading sector 122583
|
||||
RS03: try number = 5, reading sector 123992
|
||||
RS03: try number = 6, reading sector 125401
|
||||
RS03: try number = 7, reading sector 126810
|
||||
RS03: try number = 8, reading sector 128219
|
||||
RS03: try number = 9, reading sector 129628
|
||||
RS03: try number = 10, reading sector 131037
|
||||
RS03: try number = 11, reading sector 132446
|
||||
RS03: try number = 12, reading sector 133855
|
||||
RS03: try number = 13, reading sector 135264
|
||||
RS03: try number = 14, reading sector 136673
|
||||
RS03: try number = 15, reading sector 138082
|
||||
RS03: try number = 16, reading sector 139491
|
||||
RS03: try number = 17, reading sector 140900
|
||||
RS03: try number = 18, reading sector 142309
|
||||
RS03: try number = 19, reading sector 143718
|
||||
RS03: try number = 20, reading sector 145127
|
||||
RS03: try number = 21, reading sector 146536
|
||||
RS03: try number = 22, reading sector 147945
|
||||
RS03: try number = 23, reading sector 149354
|
||||
RS03: try number = 24, reading sector 150763
|
||||
RS03: try number = 25, reading sector 152172
|
||||
RS03: try number = 26, reading sector 153581
|
||||
RS03: try number = 27, reading sector 154990
|
||||
RS03: try number = 28, reading sector 156399
|
||||
RS03: try number = 29, reading sector 157808
|
||||
RS03: try number = 30, reading sector 159217
|
||||
RS03: try number = 31, reading sector 160626
|
||||
RS03: try number = 32, reading sector 162035
|
||||
RS03: try number = 33, reading sector 163444
|
||||
RS03: try number = 34, reading sector 164853
|
||||
RS03: try number = 35, reading sector 166262
|
||||
RS03: try number = 36, reading sector 167671
|
||||
RS03: try number = 37, reading sector 169080
|
||||
RS03: try number = 38, reading sector 170489
|
||||
RS03: try number = 39, reading sector 171898
|
||||
RS03: try number = 40, reading sector 173307
|
||||
RS03: try number = 41, reading sector 174716
|
||||
RS03: try number = 42, reading sector 176125
|
||||
RS03: try number = 43, reading sector 177534
|
||||
RS03: try number = 44, reading sector 178943
|
||||
RS03: try number = 45, reading sector 180352
|
||||
RS03: try number = 46, reading sector 181761
|
||||
RS03: try number = 47, reading sector 183170
|
||||
RS03: try number = 48, reading sector 184579
|
||||
RS03: try number = 49, reading sector 185988
|
||||
RS03: try number = 50, reading sector 187397
|
||||
RS03: try number = 51, reading sector 188806
|
||||
RS03: try number = 52, reading sector 190215
|
||||
RS03: try number = 53, reading sector 191624
|
||||
RS03: try number = 54, reading sector 193033
|
||||
RS03: try number = 55, reading sector 194442
|
||||
RS03: try number = 56, reading sector 195851
|
||||
RS03: try number = 57, reading sector 197260
|
||||
RS03: try number = 58, reading sector 198669
|
||||
RS03: try number = 59, reading sector 200078
|
||||
RS03: try number = 60, reading sector 201487
|
||||
RS03: try number = 61, reading sector 202896
|
||||
RS03: try number = 62, reading sector 204305
|
||||
RS03: try number = 63, reading sector 205714
|
||||
RS03: try number = 64, reading sector 207123
|
||||
RS03: try number = 65, reading sector 208532
|
||||
RS03: try number = 66, reading sector 209941
|
||||
RS03: try number = 67, reading sector 211350
|
||||
RS03: try number = 68, reading sector 212759
|
||||
RS03: try number = 69, reading sector 214168
|
||||
RS03: try number = 70, reading sector 215577
|
||||
RS03: try number = 71, reading sector 216986
|
||||
RS03: try number = 72, reading sector 218395
|
||||
RS03: try number = 73, reading sector 219804
|
||||
RS03: try number = 74, reading sector 221213
|
||||
RS03: try number = 75, reading sector 222622
|
||||
RS03: try number = 76, reading sector 224031
|
||||
RS03: try number = 77, reading sector 225440
|
||||
RS03: try number = 78, reading sector 226849
|
||||
RS03: try number = 79, reading sector 228258
|
||||
RS03: try number = 80, reading sector 229667
|
||||
RS03: try number = 81, reading sector 231076
|
||||
RS03: try number = 82, reading sector 232485
|
||||
RS03: try number = 83, reading sector 233894
|
||||
RS03: try number = 84, reading sector 235303
|
||||
** Success: sector 235303, rediscovered format with 87 roots
|
||||
...augmented image found
|
||||
GetImageFingerprint(16): read & cached
|
||||
|
||||
rs03i-tmp.iso present.
|
||||
Calculated layout for RS03 image:
|
||||
data sectors = 235219
|
||||
data padding = 82
|
||||
layer size = 1409
|
||||
total sectors = 359295
|
||||
medium capacity = 0
|
||||
header position = 235219
|
||||
first CRC sector = 235303
|
||||
first ECC sector = 236712
|
||||
ndata = 168
|
||||
nroots = 87 (51.8%)
|
||||
|
||||
|
||||
Error correction properties:
|
||||
- type : Augmented image
|
||||
- method : RS03, 87 roots, 51.8% redundancy.
|
||||
- created by : dvdisaster-0.80
|
||||
- requires : dvdisaster-0.79
|
||||
- data md5sum : none available
|
||||
|
||||
Data integrity:
|
||||
- medium sectors : 359295 total / 235219 data
|
||||
CalcRS03Layout(): returning cached layout (augmented)
|
||||
* missing sectors : 235219 - 235220
|
||||
* BAD image/file : 2 sectors missing
|
||||
... data section : 2 sectors missing; 0 CRC errors
|
||||
... crc section : 0 sectors missing
|
||||
... ecc section : 0 sectors missing
|
||||
* Ecc block test : 1407 good, 2 bad; 650 bad sub blocks
|
||||
- erasure counts : avg = 1.0; worst = 1 per ecc block.
|
||||
- prognosis : 359295 of 359295 sectors recoverable (100.0%)
|
||||
FreeCrcBuf - buffer cleared
|
||||
@@ -4535,7 +4535,9 @@ RS03: try number = 1572, reading sector 236711
|
||||
GetImageFingerprint(16): read & cached
|
||||
|
||||
rs03i-tmp.iso: present, contains 359295 medium sectors.
|
||||
* quick mode : image NOT scanned
|
||||
* missing sector : 235219
|
||||
* missing sectors : 235303 - 236711
|
||||
* BAD image : 1410 sectors missing
|
||||
|
||||
medium.ecc: not present
|
||||
none.file: not present
|
||||
|
||||
|
||||
@@ -314,4 +314,31 @@ Error correction properties:
|
||||
|
||||
Data integrity:
|
||||
* medium sectors : 300000 (359295 expected)
|
||||
* quick mode : image NOT scanned
|
||||
CalcRS03Layout(): returning cached layout (augmented)
|
||||
* missing sector : 169080
|
||||
* missing sector : 170489
|
||||
* missing sector : 171898
|
||||
* missing sector : 173307
|
||||
* missing sector : 174716
|
||||
* missing sector : 176125
|
||||
* missing sector : 177534
|
||||
* missing sector : 178943
|
||||
* missing sector : 180352
|
||||
* missing sector : 181761
|
||||
* missing sector : 183170
|
||||
* missing sector : 184579
|
||||
* missing sector : 185988
|
||||
* missing sector : 187397
|
||||
* missing sector : 188806
|
||||
* missing sector : 190215
|
||||
* missing sector : 235219
|
||||
* missing sector : 235303
|
||||
* missing sectors : 300000 - 359294
|
||||
* BAD image/file : 59313 sectors missing
|
||||
... data section : 17 sectors missing; 0 CRC errors
|
||||
... crc section : 1 sectors missing
|
||||
... ecc section : 59295 sectors missing
|
||||
* Ecc block test : 0 good, 1409 bad; 2885632 bad sub blocks
|
||||
- erasure counts : avg = 42.1; worst = 59 per ecc block.
|
||||
- prognosis : 359295 of 359295 sectors recoverable (100.0%)
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -7,5 +7,5 @@ See the file "COPYING" for further information.
|
||||
|
||||
no.iso: not present
|
||||
|
||||
medium.ecc: not present
|
||||
no.ecc: not present
|
||||
|
||||
|
||||
@@ -311,5 +311,5 @@ GetImageFingerprint(16): read & cached
|
||||
rs03i-tmp.iso: present, contains 359295 medium sectors.
|
||||
* quick mode : image NOT scanned
|
||||
|
||||
medium.ecc: not present
|
||||
none.file: not present
|
||||
|
||||
|
||||
@@ -321,3 +321,4 @@ CrcBuf contents, image path none (medium):
|
||||
md5State: invalid
|
||||
fp sector: 16; 15c0fd35a0cfa0f83b9ccbd8604c2592
|
||||
missing crcs: 0
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -25,4 +25,4 @@ Reading CRC information from ecc data (RS03) ... done.
|
||||
* ... more unrecoverable sectors found ...
|
||||
* further messages are suppressed unless the -v option is given.
|
||||
|
||||
All sectors successfully read, but incomplete or damaged checksums.
|
||||
All sectors are readable, but 3 contain defective content.
|
||||
|
||||
@@ -185,3 +185,4 @@ CrcBuf contents, image path none (medium):
|
||||
full: 95b221fd894f6adb6f6e8d3b89583fb6
|
||||
fp sector: 16; 15c0fd35a0cfa0f83b9ccbd8604c2592
|
||||
missing crcs: 0
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -185,3 +185,4 @@ CrcBuf contents, image path none (medium):
|
||||
full: 95b221fd894f6adb6f6e8d3b89583fb6
|
||||
fp sector: 16; 15c0fd35a0cfa0f83b9ccbd8604c2592
|
||||
missing crcs: 0
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -1889,3 +1889,4 @@ CrcBuf contents, image path none (medium):
|
||||
md5State: invalid
|
||||
fp sector: 16; invalid
|
||||
missing crcs: 0
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -637,3 +637,4 @@ CrcBuf contents, image path none (medium):
|
||||
md5State: invalid
|
||||
fp sector: 16; 15c0fd35a0cfa0f83b9ccbd8604c2592
|
||||
missing crcs: 0
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -322,3 +322,4 @@ CrcBuf contents, image path none (medium):
|
||||
md5State: invalid
|
||||
fp sector: 16; 15c0fd35a0cfa0f83b9ccbd8604c2592
|
||||
missing crcs: 0
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -12589,3 +12589,4 @@ CrcBuf contents, image path none (medium):
|
||||
md5State: invalid
|
||||
fp sector: 16; 33b0c14f099f69c29719b7a181c0241d
|
||||
missing crcs: 176
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -22727,3 +22727,4 @@ CrcBuf contents, image path none (medium):
|
||||
md5State: invalid
|
||||
fp sector: 16; invalid
|
||||
missing crcs: 0
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -168,4 +168,13 @@ Error correction properties:
|
||||
|
||||
Data integrity:
|
||||
- medium sectors : 359295 total / 118354 data
|
||||
* quick mode : image NOT scanned
|
||||
CalcRS03Layout(): returning cached layout (augmented)
|
||||
* missing sector : 118354
|
||||
* BAD image/file : 1 sectors missing
|
||||
... data section : 1 sectors missing; 0 CRC errors
|
||||
... crc section : 0 sectors missing
|
||||
... ecc section : 0 sectors missing
|
||||
* Ecc block test : 1408 good, 1 bad; 325 bad sub blocks
|
||||
- erasure counts : avg = 1.0; worst = 1 per ecc block.
|
||||
- prognosis : 359295 of 359295 sectors recoverable (100.0%)
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -347,4 +347,14 @@ Error correction properties:
|
||||
|
||||
Data integrity:
|
||||
- medium sectors : 359295 total / 112354 data
|
||||
* quick mode : image NOT scanned
|
||||
CalcRS03Layout(): returning cached layout (augmented)
|
||||
* missing sector : 112354
|
||||
* missing sectors : 118356 - 118360
|
||||
* BAD image/file : 6 sectors missing
|
||||
... data section : 1 sectors missing; 0 CRC errors
|
||||
... crc section : 5 sectors missing
|
||||
... ecc section : 0 sectors missing
|
||||
* Ecc block test : 1403 good, 6 bad; 2925 bad sub blocks
|
||||
- erasure counts : avg = 1.0; worst = 1 per ecc block.
|
||||
- prognosis : 359295 of 359295 sectors recoverable (100.0%)
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -346,4 +346,13 @@ Error correction properties:
|
||||
|
||||
Data integrity:
|
||||
- medium sectors : 359295 total / 118354 data
|
||||
* quick mode : image NOT scanned
|
||||
CalcRS03Layout(): returning cached layout (augmented)
|
||||
* missing sectors : 118354 - 118360
|
||||
* BAD image/file : 7 sectors missing
|
||||
... data section : 2 sectors missing; 0 CRC errors
|
||||
... crc section : 5 sectors missing
|
||||
... ecc section : 0 sectors missing
|
||||
* Ecc block test : 1402 good, 7 bad; 3251 bad sub blocks
|
||||
- erasure counts : avg = 1.0; worst = 1 per ecc block.
|
||||
- prognosis : 359295 of 359295 sectors recoverable (100.0%)
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -330,4 +330,13 @@ Error correction properties:
|
||||
|
||||
Data integrity:
|
||||
- medium sectors : 359295 total / 346612 data
|
||||
* quick mode : image NOT scanned
|
||||
CalcRS03Layout(): returning cached layout (augmented)
|
||||
* missing sector : 346612
|
||||
* BAD image/file : 1 sectors missing
|
||||
... data section : 1 sectors missing; 0 CRC errors
|
||||
... crc section : 0 sectors missing
|
||||
... ecc section : 0 sectors missing
|
||||
* Ecc block test : 1408 good, 1 bad; 324 bad sub blocks
|
||||
- erasure counts : avg = 1.0; worst = 1 per ecc block.
|
||||
- prognosis : 359295 of 359295 sectors recoverable (100.0%)
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -352,4 +352,13 @@ Error correction properties:
|
||||
|
||||
Data integrity:
|
||||
- medium sectors : 359295 total / 346612 data
|
||||
* quick mode : image NOT scanned
|
||||
CalcRS03Layout(): returning cached layout (augmented)
|
||||
* missing sectors : 346612 - 346620
|
||||
* BAD image/file : 9 sectors missing
|
||||
... data section : 2 sectors missing; 0 CRC errors
|
||||
... crc section : 7 sectors missing
|
||||
... ecc section : 0 sectors missing
|
||||
* Ecc block test : 1400 good, 9 bad; 8097 bad sub blocks
|
||||
- erasure counts : avg = 1.0; worst = 1 per ecc block.
|
||||
- prognosis : 359295 of 359295 sectors recoverable (100.0%)
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -185,3 +185,4 @@ CrcBuf contents, image path none (medium):
|
||||
full: 95b221fd894f6adb6f6e8d3b89583fb6
|
||||
fp sector: 16; 15c0fd35a0cfa0f83b9ccbd8604c2592
|
||||
missing crcs: 0
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -185,3 +185,4 @@ CrcBuf contents, image path none (medium):
|
||||
full: 95b221fd894f6adb6f6e8d3b89583fb6
|
||||
fp sector: 16; 15c0fd35a0cfa0f83b9ccbd8604c2592
|
||||
missing crcs: 0
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -8050,3 +8050,4 @@ CrcBuf contents, image path none (medium):
|
||||
md5State: invalid
|
||||
fp sector: 16; 33b0c14f099f69c29719b7a181c0241d
|
||||
missing crcs: 0
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user