Compare commits
55 Commits
v0.79.6-pl
...
v0.79.10-p
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
06b367e1cd | ||
|
|
3d3a65d8c2 | ||
|
|
50ff1c0403 | ||
|
|
65976868cf | ||
|
|
62b602030a | ||
|
|
db4d3af31d | ||
|
|
244111e7db | ||
|
|
eb4c232059 | ||
|
|
1382e19eb5 | ||
|
|
8d088fc6e4 | ||
|
|
a8eb4acf08 | ||
|
|
90b5ab6443 | ||
|
|
eac7884373 | ||
|
|
8d080d69c5 | ||
|
|
70342e3174 | ||
|
|
d7a1936536 | ||
|
|
3147aa3ce8 | ||
|
|
ab057244b4 | ||
|
|
275decd40e | ||
|
|
9264713614 | ||
|
|
d0fd46c97c | ||
|
|
451bdf9a7e | ||
|
|
58b558ea7e | ||
|
|
6444ff67c5 | ||
|
|
bd9777a531 | ||
|
|
464f2b8bfa | ||
|
|
af178e89bc | ||
|
|
8710519821 | ||
|
|
36fa2db965 | ||
|
|
442af06f7a | ||
|
|
d8773e5ee6 | ||
|
|
5063106418 | ||
|
|
430fc71932 | ||
|
|
c336d039a9 | ||
|
|
fd4f8424f7 | ||
|
|
cc4547810f | ||
|
|
f5fa3d9952 | ||
|
|
dac6f14af0 | ||
|
|
fef782b246 | ||
|
|
9916ce74bc | ||
|
|
355427b6e0 | ||
|
|
da44e81561 | ||
|
|
9e5ba80e29 | ||
|
|
c72b85bb9a | ||
|
|
97a4df2f21 | ||
|
|
f68efb758e | ||
|
|
66cf0d25ee | ||
|
|
e8eb7824aa | ||
|
|
a3aedbd4a2 | ||
|
|
83acea4684 | ||
|
|
3bd06abbda | ||
|
|
901e87dfcd | ||
|
|
4518992908 | ||
|
|
802e095cfb | ||
|
|
8332b845a7 |
7
.github/workflows/make-dist.sh
vendored
7
.github/workflows/make-dist.sh
vendored
@@ -28,9 +28,9 @@ mkdir -p dist/locale
|
||||
cp -vr locale/*/ dist/locale/
|
||||
if [ "$os" != "linux64" ]; then
|
||||
if [ "$GUI" = 1 ]; then
|
||||
mkdir -p dist/share/themes
|
||||
mkdir -p dist/share/themes dist/lib/gtk-2.0
|
||||
cp -vr $MINGW_PREFIX/share/themes/MS-Windows dist/share/themes/
|
||||
cp -vr $MINGW_PREFIX/lib/gtk-2.0 dist/lib/
|
||||
cp -vr $MINGW_PREFIX/lib/gtk-2.0/* dist/lib/gtk-2.0/
|
||||
rm -rf dist/lib/gtk-2.0/include
|
||||
fi
|
||||
mkdir -p dist/lib
|
||||
@@ -42,8 +42,7 @@ if [ "$os" != "linux64" ]; then
|
||||
find dist -type f -name "*.a" -delete
|
||||
fi
|
||||
man -t documentation/dvdisaster.en.1 | ps2pdf - dist/dvdisaster.pdf
|
||||
cp CHANGELOG TODO dvdisaster documentation/dvdisaster.*.1 documentation/user-manual/manual.pdf dist/
|
||||
cp CREDITS.en dist/CREDITS
|
||||
cp CHANGELOG TODO COPYING CREDITS.* dvdisaster documentation/dvdisaster.*.1 documentation/user-manual/manual.pdf dist/
|
||||
if command -v zip >/dev/null; then
|
||||
mv dist ${archive/.zip/}
|
||||
zip -9r $archive ${archive/.zip/}
|
||||
|
||||
10
.github/workflows/release.yml
vendored
10
.github/workflows/release.yml
vendored
@@ -19,7 +19,7 @@ jobs:
|
||||
msystem: MINGW32
|
||||
grep: 386
|
||||
- ui: cli
|
||||
clionly: 1
|
||||
clionly: --with-gui=no
|
||||
defaults:
|
||||
run:
|
||||
shell: msys2 {0}
|
||||
@@ -37,9 +37,7 @@ jobs:
|
||||
shell: bash
|
||||
- uses: actions/checkout@v2
|
||||
- name: configure
|
||||
env:
|
||||
CLI_ONLY: ${{ matrix.clionly }}
|
||||
run: ./configure
|
||||
run: ./configure ${{ matrix.clionly }}
|
||||
- name: make
|
||||
run: nproc && make -j$(nproc)
|
||||
- name: check executable
|
||||
@@ -80,7 +78,7 @@ jobs:
|
||||
- name: install prerequisites
|
||||
run: sudo apt update && sudo apt install -y libglib2.0-dev ghostscript man
|
||||
- name: configure
|
||||
run: env CLI_ONLY=1 ./configure
|
||||
run: ./configure --with-gui=no
|
||||
- name: make
|
||||
run: nproc && make -j$(nproc) && make static && mv -f dvdisaster-static dvdisaster
|
||||
- name: check executable
|
||||
@@ -103,7 +101,7 @@ jobs:
|
||||
asset_content_type: application/zip
|
||||
|
||||
linux64-appimage:
|
||||
runs-on: ubuntu-16.04
|
||||
runs-on: ubuntu-18.04
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: install prerequisites
|
||||
|
||||
223
.github/workflows/tests.yml
vendored
223
.github/workflows/tests.yml
vendored
@@ -3,185 +3,114 @@ name: non-regression tests
|
||||
on: [pull_request]
|
||||
|
||||
jobs:
|
||||
|
||||
win64-gui:
|
||||
win:
|
||||
runs-on: windows-2016
|
||||
strategy:
|
||||
matrix:
|
||||
arch: [x86_64, i686]
|
||||
ui: [cli, gui]
|
||||
printf: [fmtdbg, normal]
|
||||
include:
|
||||
- arch: x86_64
|
||||
msystem: MINGW64
|
||||
grep: x86-64
|
||||
- arch: i686
|
||||
msystem: MINGW32
|
||||
grep: 386
|
||||
- ui: cli
|
||||
clionly: --with-gui=no
|
||||
- printf: fmtdbg
|
||||
debugprintf: --with-debug-printf-format
|
||||
defaults:
|
||||
run:
|
||||
shell: msys2 {0}
|
||||
steps:
|
||||
- uses: msys2/setup-msys2@v2
|
||||
with:
|
||||
msystem: MINGW64
|
||||
msystem: ${{ matrix.msystem }}
|
||||
update: false
|
||||
install: git diffutils make pkg-config mingw-w64-x86_64-gtk2 mingw-w64-x86_64-glib2 mingw-w64-x86_64-gcc mingw-w64-x86_64-ghostscript mingw-w64-x86_64-jq mingw-w64-x86_64-ntldd-git man zip
|
||||
- run: git config --global core.autocrlf input
|
||||
install: git diffutils make pkg-config mingw-w64-${{ matrix.arch }}-glib2 mingw-w64-${{ matrix.arch }}-gcc mingw-w64-${{ matrix.arch }}-ghostscript mingw-w64-${{ matrix.arch }}-ntldd-git man zip
|
||||
- name: install GUI prereqs
|
||||
if: matrix.ui == 'gui'
|
||||
run: pacman -S --noconfirm mingw-w64-${{ matrix.arch }}-gtk2
|
||||
- name: git config
|
||||
run: git config --global core.autocrlf input
|
||||
shell: bash
|
||||
- uses: actions/checkout@v2
|
||||
- name: configure
|
||||
run: ./configure
|
||||
run: |
|
||||
echo running ./configure ${{ matrix.clionly }} ${{ matrix.debugprintf }} --with-werror
|
||||
./configure ${{ matrix.clionly }} ${{ matrix.debugprintf }} --with-werror
|
||||
- name: make
|
||||
run: nproc && make -j$(nproc)
|
||||
- name: check executable
|
||||
run: |
|
||||
./dvdisaster.exe --version
|
||||
file dvdisaster.exe
|
||||
./dvdisaster.exe --version | grep -q -e dirty -e NOGUI && exit 1
|
||||
file dvdisaster.exe | grep -q 'x86-64, for MS Windows'
|
||||
- name: prepare dist
|
||||
run: ./.github/workflows/make-dist.sh ${{ github.ref }}
|
||||
id: dist
|
||||
- name: check executability of dist from cmd.exe
|
||||
shell: cmd
|
||||
run: |
|
||||
cd dist
|
||||
dvdisaster.exe --version
|
||||
- name: regression tests
|
||||
run: mkdir /var/tmp/regtest && export REGTEST_NO_UTF8=1 && ./regtest/runtests.sh
|
||||
|
||||
win32-gui:
|
||||
runs-on: windows-2016
|
||||
defaults:
|
||||
run:
|
||||
shell: msys2 {0}
|
||||
steps:
|
||||
- uses: msys2/setup-msys2@v2
|
||||
with:
|
||||
msystem: MINGW32
|
||||
update: false
|
||||
install: git diffutils make pkg-config mingw-w64-i686-gtk2 mingw-w64-i686-glib2 mingw-w64-i686-gcc mingw-w64-i686-ghostscript mingw-w64-i686-jq mingw-w64-i686-ntldd-git man zip
|
||||
- run: git config --global core.autocrlf input
|
||||
shell: bash
|
||||
- uses: actions/checkout@v2
|
||||
- name: configure
|
||||
run: ./configure
|
||||
- name: make
|
||||
run: nproc && make -j$(nproc)
|
||||
- name: check executable
|
||||
if ./dvdisaster.exe --version | grep dirty; then exit 1; fi
|
||||
file dvdisaster.exe | grep -q '${{ matrix.grep }}, for MS Windows'
|
||||
- name: check executable (GUI)
|
||||
if: matrix.ui == 'gui'
|
||||
run: |
|
||||
./dvdisaster.exe --version
|
||||
file dvdisaster.exe
|
||||
./dvdisaster.exe --version | grep -q -e dirty -e NOGUI && exit 1
|
||||
file dvdisaster.exe | grep -q '386, for MS Windows'
|
||||
- name: prepare dist
|
||||
run: ./.github/workflows/make-dist.sh ${{ github.ref }}
|
||||
id: dist
|
||||
- name: check executability of dist from cmd.exe
|
||||
shell: cmd
|
||||
run: |
|
||||
cd dist
|
||||
dvdisaster.exe --version
|
||||
- name: regression tests
|
||||
run: mkdir /var/tmp/regtest && export REGTEST_NO_UTF8=1 && ./regtest/runtests.sh
|
||||
|
||||
win64-cli:
|
||||
runs-on: windows-2016
|
||||
defaults:
|
||||
run:
|
||||
shell: msys2 {0}
|
||||
steps:
|
||||
- uses: msys2/setup-msys2@v2
|
||||
with:
|
||||
msystem: MINGW64
|
||||
update: false
|
||||
install: git diffutils make pkg-config mingw-w64-x86_64-glib2 mingw-w64-x86_64-gcc mingw-w64-x86_64-ghostscript mingw-w64-x86_64-jq mingw-w64-x86_64-ntldd-git man zip
|
||||
- run: git config --global core.autocrlf input
|
||||
shell: bash
|
||||
- uses: actions/checkout@v2
|
||||
- name: configure
|
||||
run: env CLI_ONLY=1 ./configure
|
||||
- name: make
|
||||
run: nproc && make -j$(nproc)
|
||||
- name: check executable
|
||||
if ./dvdisaster.exe --version | grep NOGUI; then exit 1; fi
|
||||
- name: check executable (CLI)
|
||||
if: matrix.ui == 'cli'
|
||||
run: |
|
||||
./dvdisaster.exe --version
|
||||
file dvdisaster.exe
|
||||
./dvdisaster.exe --version | grep -q -e dirty && exit 1
|
||||
./dvdisaster.exe --version | grep -q NOGUI
|
||||
file dvdisaster.exe | grep -q 'x86-64, for MS Windows'
|
||||
- name: prepare dist
|
||||
./dvdisaster.exe --version | grep NOGUI
|
||||
- name: try to prepare dist
|
||||
run: ./.github/workflows/make-dist.sh ${{ github.ref }}
|
||||
id: dist
|
||||
- name: check executability of dist from cmd.exe
|
||||
shell: cmd
|
||||
run: |
|
||||
cd dist
|
||||
dvdisaster.exe --version
|
||||
- name: regression tests
|
||||
run: mkdir /var/tmp/regtest && export REGTEST_NO_UTF8=1 && ./regtest/runtests.sh
|
||||
- name: run regression tests
|
||||
if: matrix.printf == 'normal'
|
||||
env:
|
||||
REGTEST_NO_UTF8: 1
|
||||
run: mkdir /var/tmp/regtest && ./regtest/runtests.sh
|
||||
|
||||
win32-cli:
|
||||
runs-on: windows-2016
|
||||
defaults:
|
||||
run:
|
||||
shell: msys2 {0}
|
||||
steps:
|
||||
- uses: msys2/setup-msys2@v2
|
||||
with:
|
||||
msystem: MINGW32
|
||||
update: false
|
||||
install: git diffutils make pkg-config mingw-w64-i686-glib2 mingw-w64-i686-gcc mingw-w64-i686-ghostscript mingw-w64-i686-jq mingw-w64-i686-ntldd-git man zip
|
||||
- run: git config --global core.autocrlf input
|
||||
shell: bash
|
||||
- uses: actions/checkout@v2
|
||||
- name: configure
|
||||
run: env CLI_ONLY=1 ./configure
|
||||
- name: make
|
||||
run: nproc && make -j$(nproc)
|
||||
- name: check executable
|
||||
run: |
|
||||
./dvdisaster.exe --version
|
||||
file dvdisaster.exe
|
||||
./dvdisaster.exe --version | grep -q -e dirty && exit 1
|
||||
./dvdisaster.exe --version | grep -q NOGUI
|
||||
file dvdisaster.exe | grep -q '386, for MS Windows'
|
||||
- name: prepare dist
|
||||
run: ./.github/workflows/make-dist.sh ${{ github.ref }}
|
||||
id: dist
|
||||
- name: check executability of dist from cmd.exe
|
||||
shell: cmd
|
||||
run: |
|
||||
cd dist
|
||||
dvdisaster.exe --version
|
||||
- name: regression tests
|
||||
run: mkdir /var/tmp/regtest && export REGTEST_NO_UTF8=1 && ./regtest/runtests.sh
|
||||
|
||||
linux64-cli:
|
||||
linux:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
ui: [cli, gui]
|
||||
printf: [fmtdbg, normal]
|
||||
include:
|
||||
- ui: cli
|
||||
clionly: --with-gui=no
|
||||
- printf: fmtdbg
|
||||
debugprintf: --with-debug-printf-format
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: install prerequisites
|
||||
run: sudo apt update && sudo apt install -y libglib2.0-dev ghostscript man jq
|
||||
env:
|
||||
DEBIAN_FRONTEND: noninteractive
|
||||
run: sudo apt-get update && sudo apt-get install -y libglib2.0-dev ghostscript man jq
|
||||
- name: install prerequisites (GUI)
|
||||
if: matrix.ui == 'gui'
|
||||
env:
|
||||
DEBIAN_FRONTEND: noninteractive
|
||||
run: sudo apt-get install -y libgtk2.0-dev
|
||||
- name: configure
|
||||
run: env CLI_ONLY=1 ./configure
|
||||
run: |
|
||||
echo ./configure ${{ matrix.clionly }} ${{ matrix.debugprintf }} --with-werror
|
||||
./configure ${{ matrix.clionly }} ${{ matrix.debugprintf }} --with-werror
|
||||
- name: make
|
||||
run: nproc && make -j$(nproc)
|
||||
- name: check executability
|
||||
run: ./dvdisaster --version
|
||||
- name: check executable
|
||||
run: file dvdisaster && file dvdisaster | grep -q 'ELF 64'
|
||||
- name: check executable (GUI)
|
||||
if: matrix.ui == 'gui'
|
||||
run: |
|
||||
./dvdisaster --version
|
||||
if ./dvdisaster --version | grep NOGUI; then exit 1; fi
|
||||
- name: check executable (CLI)
|
||||
if: matrix.ui == 'cli'
|
||||
run: |
|
||||
./dvdisaster --version
|
||||
./dvdisaster --version | grep NOGUI
|
||||
- name: prepare dist
|
||||
run: ./.github/workflows/make-dist.sh ${{ github.ref }}
|
||||
- name: regression tests
|
||||
run: mkdir /var/tmp/regtest && export REGTEST_NO_UTF8=1 && ./regtest/runtests.sh
|
||||
|
||||
linux64-gui:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: install prerequisites
|
||||
run: sudo apt update && sudo apt install -y libglib2.0-dev ghostscript man jq libgtk2.0-dev
|
||||
- name: configure
|
||||
run: ./configure
|
||||
- name: make
|
||||
run: nproc && make -j$(nproc)
|
||||
- name: check executability
|
||||
run: ./dvdisaster --version
|
||||
- name: check executable
|
||||
run: file dvdisaster && file dvdisaster | grep -q 'ELF 64'
|
||||
- name: prepare dist
|
||||
run: ./.github/workflows/make-dist.sh ${{ github.ref }}
|
||||
- name: regression tests
|
||||
run: mkdir /var/tmp/regtest && export REGTEST_NO_UTF8=1 && ./regtest/runtests.sh
|
||||
|
||||
if: matrix.printf == 'normal'
|
||||
env:
|
||||
REGTEST_NO_UTF8: 1
|
||||
run: mkdir /var/tmp/regtest && ./regtest/runtests.sh
|
||||
|
||||
143
CHANGELOG
143
CHANGELOG
@@ -1,11 +1,138 @@
|
||||
# dvdisaster changelog -*-text-*-
|
||||
# dvdisaster changelog -*-text-*-
|
||||
# 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/>.
|
||||
|
||||
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
|
||||
resulting from gtk-2 / glib mismatches
|
||||
- safeguarded install and uninstall against blanks in path names
|
||||
|
||||
0.79.8 11-05-2021
|
||||
- Revised code for clean compile under gcc-8 and Debian 10 (Buster).
|
||||
- Simplyfied display of URLS and PDF via xdg-open
|
||||
- minor rework of user manual
|
||||
- added skip feature to regtests: sometimes, output rows are permutated due to
|
||||
a race condition between printf()s. This is rather hard to control.
|
||||
|
||||
0.79.7 09-04-2019
|
||||
- Cleanup of documentation and files for new contact address
|
||||
|
||||
0.79.6.patchlevel-9 27-06-2021 *UNOFFICIAL*
|
||||
- fix: using --strip in console without X server would segfault at program exit
|
||||
- enh: windows: hide useless background console
|
||||
- enh: linear read: log amount of correctly read sectors during a sesssion
|
||||
- enh: log window: use a bigger scrollback buffer
|
||||
- doc: regenerate codecs.pdf to get proper page numbers
|
||||
- chore: fix codec-specs Makefile
|
||||
|
||||
0.79.6.patchlevel-8 22-02-2021 *UNOFFICIAL*
|
||||
- enh: gui: medium-info: add an 'exhaustive search' when not enabled in options
|
||||
- enh: gui: prefs: add a visual cue of tooltips
|
||||
|
||||
0.79.6.patchlevel-7 30-01-2021 *UNOFFICIAL*
|
||||
- feat: add a new button to remove ECC data from an iso ("strip"), restoring an ISO to its previous non-augmented state (option: -z/--strip)
|
||||
- enh: try harder to find RS02/RS03 sigs in non-exhaustive mode (#19)
|
||||
- enh: add --examine-rs0[23] in --debug mode for CLI, to force exhaustive search with --medium-info
|
||||
- enh: more logs around exhaustive RS03 search in verbose
|
||||
- fix: windows: get rid of the last few warnings, build with -Werror for releases
|
||||
- chore: update tests, locales & readme
|
||||
|
||||
0.79.6.patchlevel-6 17-01-2021 *UNOFFICIAL*
|
||||
- fix: allow blank media in Preferences>Error correction>RS02>query medium (#19)
|
||||
- fix: tested compilation under clang, detected a reversed order or arguments in a call to memset(), fixed
|
||||
- fix: printf: added --with-debug-print-format configure option to permit compile-time detection of printf format errors:
|
||||
- fixed some potentially severe ones
|
||||
- replaced %ldd/%ld by PRId64 to remove warnings on all archs
|
||||
- fix: appimage: adjust docdir for help menu
|
||||
- chore: ensure configure works properly even if user adds -Werror to CFLAGS
|
||||
- chore: added --with-werror to configure
|
||||
- chore: replaced CLI_ONLY=1 by --with-cli-only in configure
|
||||
- chore: update locales
|
||||
- chore: debug printf format in GitHub actions tests
|
||||
|
||||
0.79.6.patchlevel-5 12-01-2021 *UNOFFICIAL*
|
||||
fix: don't error on blank media in medium-info (#19), bug present upstream since 0.79.5
|
||||
fix: gui: fix the 'SetLabelText() failed' error caption on the medium-info window (#19), bug present upstream since 0.72.3
|
||||
fix: add CHANGELOG, TODO, CREDITS to dist for the Help menu
|
||||
chore: appimage: add missing gtk engines and adjust docdir for help menu
|
||||
chore: enhance packaging, update locales, changelog et al.
|
||||
- fix: don't error on blank media in medium-info (#19), bug present upstream since 0.79.5
|
||||
- fix: gui: fix the 'SetLabelText() failed' error caption on the medium-info window (#19), bug present upstream since 0.72.3
|
||||
- fix: add CHANGELOG, TODO, CREDITS to dist for the Help menu
|
||||
- chore: appimage: add missing gtk engines and adjust docdir for help menu
|
||||
- chore: enhance packaging, update locales, changelog et al.
|
||||
|
||||
0.79.6.patchlevel-4 04-09-2020 *UNOFFICIAL*
|
||||
- feat: allow adaptive reading again*
|
||||
@@ -90,8 +217,6 @@ chore: enhance packaging, update locales, changelog et al.
|
||||
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
|
||||
@@ -126,7 +251,7 @@ do not affect already created RS03 data.
|
||||
0.79.4 07-10-2012 (not released)
|
||||
## 0.79.4 is a technical release in order to freeze
|
||||
## and archive some parts of the source code.
|
||||
## Do not use for anything prodictive.
|
||||
## Do not use for anything productive.
|
||||
## The next useful release will be 0.79.5.
|
||||
- optical drives would only be detected for /dev/pass[0-9]
|
||||
on FreeBSD. Fixed to work with arbitrary /dev/pass
|
||||
|
||||
@@ -10,6 +10,10 @@ Harald Bögeholz (hwb@heise.de)
|
||||
Anregungen und Ideen zurück; er hatte zuvor schon eine ähnliche
|
||||
Strategie entwickelt und in Ausgabe 16/2005 der c't veröffentlicht.
|
||||
|
||||
Jesus Cea <jcea@jcea.es>
|
||||
hat das Projekt am Leben erhalten und ermöglicht momentan das
|
||||
Datenhosting.
|
||||
|
||||
Julian Einwag (julian@einwag.de)
|
||||
erstellt und pflegt die Mac OS X / Darwin - spezifischen Anpassungen.
|
||||
|
||||
@@ -30,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.
|
||||
|
||||
|
||||
@@ -10,6 +10,9 @@ Harald Bögeholz (hwb@heise.de)
|
||||
suggestions and ideas; he had implemented a similar strategy
|
||||
before and published in issue 16/2005 of the german periodical "c't".
|
||||
|
||||
Jesus Cea <jcea@jcea.es>
|
||||
for keeping the project alive and providing hosting for the project
|
||||
|
||||
Julian Einwag (julian@einwag.de).
|
||||
provides and maintains the Mac OS X / Darwin port.
|
||||
|
||||
@@ -29,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.
|
||||
|
||||
|
||||
@@ -1,3 +1,24 @@
|
||||
# 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/>.
|
||||
|
||||
######################################################################
|
||||
# Begin of dvdisaster makefile template
|
||||
######################################################################
|
||||
@@ -15,6 +36,10 @@ MAN_LOCALES = de
|
||||
# Where to put tar archives (arch, srcdist)
|
||||
TAR_PREFIX=/dev/shm
|
||||
|
||||
# current project homepage
|
||||
|
||||
HOMEPAGE="https://dvdisaster.jcea.es/"
|
||||
|
||||
######################################################################
|
||||
# Take over variables from configure
|
||||
######################################################################
|
||||
@@ -39,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)
|
||||
@@ -50,15 +79,15 @@ SYS_OPTIONS = $(CFG_SYS_OPTIONS)
|
||||
SYS_NAME = $(CFG_SYS_NAME)
|
||||
HAVE_OPTIONS = $(CFG_HAVE_OPTIONS)
|
||||
WITH_OPTIONS = $(CFG_WITH_OPTIONS)
|
||||
OTHER_OPTIONS = $(CFG_OTHER_OPTIONS) -DVERSION=\"$(VERSION)\"
|
||||
OTHER_OPTIONS = $(CFG_OTHER_OPTIONS) -DVERSION="\"$(VERSION)\""
|
||||
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)
|
||||
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) $(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)
|
||||
@@ -77,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
|
||||
|
||||
@@ -89,8 +118,12 @@ ${BUILDTMP}/build.o : src/build.c src/build.h
|
||||
@echo "Compiling:" src/build.o
|
||||
@$(CC) $(COPTS) -c src/build.c -o $@
|
||||
|
||||
${BUILDTMP}/closure.o : src/closure.c src/inlined-icons.h
|
||||
@echo "Compiling:" src/closure.c
|
||||
@$(CC) $(COPTS) -c src/closure.c -o $@
|
||||
|
||||
${BUILDTMP}/icon-factory.o : src/icon-factory.c src/inlined-icons.h
|
||||
@echo "Compiling:" src/icon-factory.o
|
||||
@echo "Compiling:" src/icon-factory.c
|
||||
@$(CC) $(COPTS) -c src/icon-factory.c -o $@
|
||||
|
||||
# Building the dvdisaster binary
|
||||
@@ -108,35 +141,28 @@ dvdisaster: $(ICONS) $(OFILES)
|
||||
else $(MAKE) --no-print-directory -C locale; \
|
||||
fi
|
||||
|
||||
src/inlined-icons.h: icons/read.png icons/create.png icons/scan.png icons/fix.png icons/verify.png
|
||||
@gdk-pixbuf-csource --raw --name=dvdisaster_read icons/read.png >src/inlined-icons.h
|
||||
@gdk-pixbuf-csource --raw --name=dvdisaster_create icons/create.png >>src/inlined-icons.h
|
||||
@gdk-pixbuf-csource --raw --name=dvdisaster_scan icons/scan.png >>src/inlined-icons.h
|
||||
@gdk-pixbuf-csource --raw --name=dvdisaster_fix icons/fix.png >>src/inlined-icons.h
|
||||
@gdk-pixbuf-csource --raw --name=dvdisaster_verify icons/verify.png >>src/inlined-icons.h
|
||||
@gdk-pixbuf-csource --raw --name=dvdisaster_open_ecc icons/open-ecc.png >>src/inlined-icons.h
|
||||
@gdk-pixbuf-csource --raw --name=dvdisaster_open_img icons/open-img.png >>src/inlined-icons.h
|
||||
@gdk-pixbuf-csource --raw --name=dvdisaster_cd icons/cd.png >>src/inlined-icons.h
|
||||
@gdk-pixbuf-csource --raw --name=dvdisaster_gtk_help icons/gtk-help.png >>src/inlined-icons.h
|
||||
@gdk-pixbuf-csource --raw --name=dvdisaster_gtk_index icons/gtk-index.png >>src/inlined-icons.h
|
||||
@gdk-pixbuf-csource --raw --name=dvdisaster_gtk_preferences icons/gtk-preferences.png >>src/inlined-icons.h
|
||||
@gdk-pixbuf-csource --raw --name=dvdisaster_gtk_quit icons/gtk-quit.png >>src/inlined-icons.h
|
||||
@gdk-pixbuf-csource --raw --name=dvdisaster_gtk_stop icons/gtk-stop.png >>src/inlined-icons.h
|
||||
|
||||
$(BUILDTMP)/help-dialogs.o: src/help-dialogs.c simple-md5sum
|
||||
@if test -e fingerprints.md5; \
|
||||
then if test -e src/help-dialogs.h; then rm src/help-dialogs.h; fi; \
|
||||
./simple-md5sum -b src/*.h src/*.c | grep -vF -e inlined-icons.h -e build.h | sort -k2 >tmp.md5; \
|
||||
sort -k2 < fingerprints.md5 >tmp2.md5; \
|
||||
if ! cmp tmp2.md5 tmp.md5 >/dev/null; \
|
||||
then echo "#define MODIFIED_SOURCE 1" >> src/help-dialogs.h; \
|
||||
else echo "#define UNMODIFIED_SOURCE 1" >> src/help-dialogs.h; \
|
||||
fi; \
|
||||
rm tmp.md5 tmp2.md5; \
|
||||
else echo "#define MODIFIED_SOURCE 1" >> src/help-dialogs.h; \
|
||||
fi
|
||||
@echo "Compiling:" src/help-dialogs.c
|
||||
@$(CC) $(COPTS) -c src/help-dialogs.c -o $(BUILDTMP)/help-dialogs.o
|
||||
# gdk-pixbuf-csource sometimes produces truncated output, so we have to ensure the output
|
||||
# is valid before appending it to inlined-icons.h:
|
||||
src/inlined-icons.h: icons/read.png icons/create.png icons/scan.png icons/fix.png icons/verify.png icons/strip.png icons/open-ecc.png icons/open-img.png icons/cd.png icons/gtk-help.png icons/gtk-index.png icons/gtk-preferences.png icons/gtk-quit.png icons/gtk-stop.png icons/tooltip.png icons/nothing.png
|
||||
@echo "Building:" src/inlined-icons.h
|
||||
@rm -f src/inlined-icons.h
|
||||
@while gdk-pixbuf-csource --raw --name=dvdisaster_read icons/read.png >src/.icons.tmp; do grep -q '"};' src/.icons.tmp && break; done; cat src/.icons.tmp >>src/inlined-icons.h
|
||||
@while gdk-pixbuf-csource --raw --name=dvdisaster_create icons/create.png >src/.icons.tmp; do grep -q '"};' src/.icons.tmp && break; done; cat src/.icons.tmp >>src/inlined-icons.h
|
||||
@while gdk-pixbuf-csource --raw --name=dvdisaster_scan icons/scan.png >src/.icons.tmp; do grep -q '"};' src/.icons.tmp && break; done; cat src/.icons.tmp >>src/inlined-icons.h
|
||||
@while gdk-pixbuf-csource --raw --name=dvdisaster_fix icons/fix.png >src/.icons.tmp; do grep -q '"};' src/.icons.tmp && break; done; cat src/.icons.tmp >>src/inlined-icons.h
|
||||
@while gdk-pixbuf-csource --raw --name=dvdisaster_verify icons/verify.png >src/.icons.tmp; do grep -q '"};' src/.icons.tmp && break; done; cat src/.icons.tmp >>src/inlined-icons.h
|
||||
@while gdk-pixbuf-csource --raw --name=dvdisaster_strip icons/strip.png >src/.icons.tmp; do grep -q '"};' src/.icons.tmp && break; done; cat src/.icons.tmp >>src/inlined-icons.h
|
||||
@while gdk-pixbuf-csource --raw --name=dvdisaster_open_ecc icons/open-ecc.png >src/.icons.tmp; do grep -q '"};' src/.icons.tmp && break; done; cat src/.icons.tmp >>src/inlined-icons.h
|
||||
@while gdk-pixbuf-csource --raw --name=dvdisaster_open_img icons/open-img.png >src/.icons.tmp; do grep -q '"};' src/.icons.tmp && break; done; cat src/.icons.tmp >>src/inlined-icons.h
|
||||
@while gdk-pixbuf-csource --raw --name=dvdisaster_cd icons/cd.png >src/.icons.tmp; do grep -q '"};' src/.icons.tmp && break; done; cat src/.icons.tmp >>src/inlined-icons.h
|
||||
@while gdk-pixbuf-csource --raw --name=dvdisaster_gtk_help icons/gtk-help.png >src/.icons.tmp; do grep -q '"};' src/.icons.tmp && break; done; cat src/.icons.tmp >>src/inlined-icons.h
|
||||
@while gdk-pixbuf-csource --raw --name=dvdisaster_gtk_index icons/gtk-index.png >src/.icons.tmp; do grep -q '"};' src/.icons.tmp && break; done; cat src/.icons.tmp >>src/inlined-icons.h
|
||||
@while gdk-pixbuf-csource --raw --name=dvdisaster_gtk_preferences icons/gtk-preferences.png >src/.icons.tmp; do grep -q '"};' src/.icons.tmp && break; done; cat src/.icons.tmp >>src/inlined-icons.h
|
||||
@while gdk-pixbuf-csource --raw --name=dvdisaster_gtk_quit icons/gtk-quit.png >src/.icons.tmp; do grep -q '"};' src/.icons.tmp && break; done; cat src/.icons.tmp >>src/inlined-icons.h
|
||||
@while gdk-pixbuf-csource --raw --name=dvdisaster_gtk_stop icons/gtk-stop.png >src/.icons.tmp; do grep -q '"};' src/.icons.tmp && break; done; cat src/.icons.tmp >>src/inlined-icons.h
|
||||
@while gdk-pixbuf-csource --raw --name=dvdisaster_tooltip icons/tooltip.png >src/.icons.tmp; do grep -q '"};' src/.icons.tmp && break; done; cat src/.icons.tmp >>src/inlined-icons.h
|
||||
@while gdk-pixbuf-csource --raw --name=dvdisaster_nothing icons/nothing.png >src/.icons.tmp; do grep -q '"};' src/.icons.tmp && break; done; cat src/.icons.tmp >>src/inlined-icons.h
|
||||
@rm -f src/.icons.tmp
|
||||
|
||||
$(BUILDTMP)/rs-encoder-sse2.o: src/rs-encoder-sse2.c
|
||||
@echo "Compiling:" src/rs-encoder-sse2.c
|
||||
@@ -152,12 +178,10 @@ locale:
|
||||
untranslated:
|
||||
@$(MAKE) --no-print-directory -C locale check-untranslated
|
||||
|
||||
simple-md5sum: src/md5.c
|
||||
@$(CC) $(COPTS) $(MUDFLAP_CFLAGS) -DSIMPLE_MD5SUM src/md5.c $(LDFLAGS) $(MUDFLAP_LFLAGS) $(MUDFLAP_LIBS) -o simple-md5sum
|
||||
|
||||
version.tex:
|
||||
@test -d $(SRCDIR)/documentation/config || mkdir $(SRCDIR)/documentation/config
|
||||
@echo "\\newcommand{\\projectversion}{$(VERSION)}" >$(SRCDIR)/documentation/config/version.tex
|
||||
@echo "\\newcommand{\\homepage}{\\url{$(HOMEPAGE)}}" >>$(SRCDIR)/documentation/config/version.tex
|
||||
|
||||
manual: version.tex
|
||||
@echo "Producing user manual... "
|
||||
@@ -167,6 +191,21 @@ manualclean:
|
||||
@echo "Removing temporary user manual files... "
|
||||
@$(MAKE) --no-print-directory -C documentation/user-manual clean
|
||||
|
||||
manualarchclean:
|
||||
@echo "Removing generated user manual files... "
|
||||
@$(MAKE) --no-print-directory -C documentation/user-manual archclean
|
||||
|
||||
codecs:
|
||||
@echo "Producing codecs specification documentation... "
|
||||
@$(MAKE) --no-print-directory -C documentation/codec-specs
|
||||
|
||||
codecsclean:
|
||||
@echo "Removing temporary codecs specification documentation files... "
|
||||
@$(MAKE) --no-print-directory -C documentation/codec-specs clean
|
||||
|
||||
codecsarchclean:
|
||||
@echo "Removing generated codecs specification documentation files... "
|
||||
@$(MAKE) --no-print-directory -C documentation/codec-specs archclean
|
||||
|
||||
# Some usage info
|
||||
|
||||
@@ -179,6 +218,7 @@ help:
|
||||
@echo
|
||||
@echo "Documentation related:"
|
||||
@echo "manual - create the user manual (requires LaTeX)"
|
||||
@echo "codecs - create the codecs spec documentation (requires LaTeX)"
|
||||
@echo
|
||||
@echo "Locale related:"
|
||||
@echo "locale - update locale files"
|
||||
@@ -241,56 +281,67 @@ show:
|
||||
|
||||
install: dvdisaster manual
|
||||
@echo "Installing package..."
|
||||
install -d $(BUILDROOT)$(BINDIR)
|
||||
install dvdisaster $(BUILDROOT)$(BINDIR)
|
||||
install -d $(BUILDROOT)$(DOCSUBDIR)
|
||||
install -m 644 CHANGELOG $(BUILDROOT)$(DOCSUBDIR)
|
||||
install -m 644 COPYING $(BUILDROOT)$(DOCSUBDIR)
|
||||
install -m 644 CREDITS* $(BUILDROOT)$(DOCSUBDIR)
|
||||
install -m 644 README.MODIFYING $(BUILDROOT)$(DOCSUBDIR)
|
||||
install -m 644 TODO $(BUILDROOT)$(DOCSUBDIR)
|
||||
install -d $(BUILDROOT)$(DOCSUBDIR)
|
||||
(cd documentation/user-manual; install -m 644 manual.pdf $(BUILDROOT)$(DOCSUBDIR))
|
||||
install -d $(BUILDROOT)$(MANDIR)/man1
|
||||
install -d $(BUILDROOT)$(MANDIR)/de/man1
|
||||
install -d "$(BUILDROOT)$(BINDIR)"
|
||||
install dvdisaster "$(BUILDROOT)$(BINDIR)"
|
||||
install -d "$(BUILDROOT)$(DOCSUBDIR)"
|
||||
install -m 644 CHANGELOG "$(BUILDROOT)$(DOCSUBDIR)"
|
||||
install -m 644 COPYING "$(BUILDROOT)$(DOCSUBDIR)"
|
||||
install -m 644 CREDITS* "$(BUILDROOT)$(DOCSUBDIR)"
|
||||
install -m 644 TODO "$(BUILDROOT)$(DOCSUBDIR)"
|
||||
install -d "$(BUILDROOT)$(DOCSUBDIR)"
|
||||
(cd documentation/user-manual; install -m 644 manual.pdf "$(BUILDROOT)$(DOCSUBDIR)")
|
||||
install -d "$(BUILDROOT)$(MANDIR)/man1"
|
||||
install -d "$(BUILDROOT)$(MANDIR)/de/man1"
|
||||
cd documentation; \
|
||||
ESCAPED_DOCSUBDIR=`echo $(DOCSUBDIR) | sed -e 's/\//\\\\\//g'`; \
|
||||
sed "s/%docdir%/$$ESCAPED_DOCSUBDIR/" <dvdisaster.en.1 >dvdisaster.updated; \
|
||||
install -m 644 dvdisaster.updated $(BUILDROOT)$(MANDIR)/man1/dvdisaster.1; \
|
||||
install -m 644 dvdisaster.updated "$(BUILDROOT)$(MANDIR)/man1/dvdisaster.1"; \
|
||||
sed "s/%docdir%/$$ESCAPED_DOCSUBDIR/" <dvdisaster.de.1 >dvdisaster.updated; \
|
||||
install -m 644 dvdisaster.updated $(BUILDROOT)$(MANDIR)/de/man1/dvdisaster.1; \
|
||||
install -m 644 dvdisaster.updated "$(BUILDROOT)$(MANDIR)/de/man1/dvdisaster.1"; \
|
||||
rm dvdisaster.updated
|
||||
if echo $(WITH_OPTIONS) | grep "NLS_YES" >/dev/null; then \
|
||||
cd locale; \
|
||||
for i in ?? ??_??; do\
|
||||
install -d $(BUILDROOT)$(LOCALEDIR)/$$i/LC_MESSAGES; \
|
||||
install -m 644 $$i/LC_MESSAGES/dvdisaster.mo $(BUILDROOT)$(LOCALEDIR)/$$i/LC_MESSAGES; \
|
||||
install -d "$(BUILDROOT)$(LOCALEDIR)/$$i/LC_MESSAGES"; \
|
||||
install -m 644 $$i/LC_MESSAGES/dvdisaster.mo "$(BUILDROOT)$(LOCALEDIR)/$$i/LC_MESSAGES"; \
|
||||
done \
|
||||
fi
|
||||
@echo "# dvdisaster uninstaller script" > $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
|
||||
@echo "# Usage: sh dvdisaster-uninstall.sh" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
|
||||
@echo >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
|
||||
@echo "rm -f $(BINDIR)/dvdisaster $(BINDIR)/dvdisaster-uninstall.sh" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
|
||||
@echo "rm -rf $(DOCSUBDIR)" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
|
||||
@echo "# dvdisaster uninstaller script" > "$(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh"
|
||||
@echo "# Usage: sh dvdisaster-uninstall.sh" >> "$(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh"
|
||||
@echo >> "$(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh"
|
||||
@echo "rm -f $(BINDIR)/dvdisaster $(BINDIR)/dvdisaster-uninstall.sh" >> "$(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh"
|
||||
@echo "rm -f \"$(DOCSUBDIR)/CHANGELOG\"" >> "$(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh"
|
||||
@echo "rm -f \"$(DOCSUBDIR)/COPYING\"" >> "$(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh"
|
||||
@echo "rm -f \"$(DOCSUBDIR)/CREDITS.de\"" >> "$(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh"
|
||||
@echo "rm -f \"$(DOCSUBDIR)/CREDITS.en\"" >> "$(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh"
|
||||
@echo "rm -f \"$(DOCSUBDIR)/manual.pdf\"" >> "$(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh"
|
||||
@echo "rm -f \"$(DOCSUBDIR)/TODO\"" >> "$(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh"
|
||||
@echo "rmdir \"$(DOCSUBDIR)\"" >> "$(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh"
|
||||
@for i in $(PO_LOCALES); do \
|
||||
echo "rm $(LOCALEDIR)/$$i/LC_MESSAGES/dvdisaster.mo" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh ; \
|
||||
echo "rm \"$(LOCALEDIR)/$$i/LC_MESSAGES/dvdisaster.mo\"" >> "$(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh" ; \
|
||||
done
|
||||
@echo "rm -f $(MANDIR)/man1/dvdisaster.1" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
|
||||
@echo "rm -f \"$(MANDIR)/man1/dvdisaster.1\"" >> "$(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh"
|
||||
@for i in $(MAN_LOCALES); do \
|
||||
echo "rm $(MANDIR)/$$i/man1/dvdisaster.1" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh ; \
|
||||
echo "rm \"$(MANDIR)/$$i/man1/dvdisaster.1\"" >> "$(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh" ; \
|
||||
done
|
||||
@echo "echo \"dvdisaster has been uninstalled.\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
|
||||
@echo "echo \"dvdisaster has been uninstalled.\"" >> "$(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh"
|
||||
|
||||
uninstall:
|
||||
@echo "Uninstalling package..."
|
||||
rm -f $(BINDIR)/dvdisaster $(BINDIR)/dvdisaster-uninstall.sh
|
||||
rm -rf $(DOCSUBDIR)
|
||||
rm -f $(MANDIR)/man1/dvdisaster.1
|
||||
rm -f "$(BINDIR)/dvdisaster" "$(BINDIR)/dvdisaster-uninstall.sh"
|
||||
rm -f "$(DOCSUBDIR)/CHANGELOG"
|
||||
rm -f "$(DOCSUBDIR)/COPYING"
|
||||
rm -f "$(DOCSUBDIR)/CREDITS.de"
|
||||
rm -f "$(DOCSUBDIR)/CREDITS.en"
|
||||
rm -f "$(DOCSUBDIR)/manual.pdf"
|
||||
rm -f "$(DOCSUBDIR)/TODO"
|
||||
rmdir "$(DOCSUBDIR)"
|
||||
rm -f "$(MANDIR)/man1/dvdisaster.1"
|
||||
for i in $(PO_LOCALES); do \
|
||||
rm $(LOCALEDIR)/$$i/LC_MESSAGES/dvdisaster.mo; \
|
||||
rm "$(LOCALEDIR)/$$i/LC_MESSAGES/dvdisaster.mo"; \
|
||||
done
|
||||
for i in $(MAN_LOCALES); do \
|
||||
rm $(MANDIR)/$$i/man1/dvdisaster.1; \
|
||||
rm "$(MANDIR)/$$i/man1/dvdisaster.1"; \
|
||||
done
|
||||
|
||||
archclean: distclean
|
||||
@@ -302,31 +353,16 @@ 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
|
||||
|
||||
# There might be a not executable simple-md5sum from a compiler run
|
||||
# under a different architecture, so make sure we have a working binary
|
||||
# in the clean target.
|
||||
@rm -f dvdisaster-debug
|
||||
|
||||
clean:
|
||||
@echo "Removing rebuildable files"
|
||||
@rm -rf *.o $(BUILDTMP)/*.o medium.* abbild.* dvdisaster .dvdisaster core core.* *.core
|
||||
@rm -f *.o "$(BUILDTMP)"/*.o medium.* abbild.* dvdisaster .dvdisaster core core.* *.core
|
||||
@rm -f src/inlined-icons.h src/help-dialogs.h
|
||||
@find . -name \*\~ -print | xargs rm -f;
|
||||
@find . -name \*.mo -print | xargs rm -f;
|
||||
@find . -name \#\*\# -print | xargs rm -f;
|
||||
@rm -f documentation/config/version.tex
|
||||
@if test -e $(PKGNAME); then rm -rf $(PKGNAME); fi
|
||||
@if test -e ~/.dvdisaster-original-author; then \
|
||||
mv build.h build.saved ;\
|
||||
if ! test -x simple-md5sum || ! ./simple-md5sum >/dev/null 2>&1; then \
|
||||
rm -f simple-md5sum; \
|
||||
$(MAKE) --no-print-directory simple-md5sum; \
|
||||
echo "[simple-md5sum (re-)built]"; \
|
||||
fi; \
|
||||
./simple-md5sum -b src/*.h src/*.c >fingerprints.md5 ;\
|
||||
mv build.saved build.h; \
|
||||
fi
|
||||
@rm -f simple-md5sum
|
||||
@$(MAKE) --no-print-directory -C $(SRCDIR)/documentation/codec-specs clean;
|
||||
@$(MAKE) --no-print-directory -C $(SRCDIR)/documentation/user-manual clean;
|
||||
@$(MAKE) --no-print-directory -C $(SRCDIR)/locale clean;
|
||||
@@ -338,8 +374,8 @@ arch: archclean build.h
|
||||
INSTALL: documentation/install.template
|
||||
@sed "s/@@PKGNAME/$(PKGNAME)/" <documentation/install.template >INSTALL
|
||||
|
||||
srcdist: INSTALL distclean manual manualclean
|
||||
@cd .. ; tar -c -j -X $(PKGNAME)/NODIST -f $(TAR_PREFIX)/$(PKGNAME).tar.bz2 $(PKGNAME)
|
||||
srcdist: INSTALL distclean manual manualclean codecsclean
|
||||
@cd .. ; tar -c -j --owner=dvdisaster --group=devel -X $(PKGNAME)/NODIST -f $(TAR_PREFIX)/$(PKGNAME).tar.bz2 $(PKGNAME)
|
||||
@cd .. ; gpg --homedir .gnupg --default-key 758BCC23 --detach-sign --output $(TAR_PREFIX)/$(PKGNAME).tar.bz2.gpg --armor $(TAR_PREFIX)/$(PKGNAME).tar.bz2
|
||||
|
||||
static: dvdisaster
|
||||
|
||||
23
INSTALL
23
INSTALL
@@ -1,3 +1,24 @@
|
||||
# dvdisaster: Additional error correction for optical media.
|
||||
# Copyright (C) 2004-2018 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/>.
|
||||
|
||||
Installation of the dvdisaster source code distribution
|
||||
=======================================================
|
||||
[don't edit - generated from documentation/install.template]
|
||||
@@ -130,7 +151,7 @@ user@host> ./configure
|
||||
If you want to build a CLI-only version, which doesn't depend
|
||||
on the gtk2 libraries, you can run instead:
|
||||
|
||||
user@host> CLI_ONLY=1 ./configure
|
||||
user@host> ./configure --with-cli-only
|
||||
|
||||
The script will possibly print some errors about missing libraries.
|
||||
Type "configure --help" to learn about pointing configure
|
||||
|
||||
5
Makefile
5
Makefile
@@ -5,8 +5,9 @@
|
||||
all:
|
||||
@echo
|
||||
@echo "Please run \`./configure' first."
|
||||
@echo "To build a CLI-only version,"
|
||||
@echo "run \`CLI_ONLY=1 ./configure' instead."
|
||||
@echo
|
||||
@echo "To build a CLI-only version, run `./configure --with-cli-only'."
|
||||
@echo
|
||||
@echo "Note that dvdisaster requires GNU make to build."
|
||||
@echo "Under non-Linux systems, it might be known as \`gmake'."
|
||||
@echo
|
||||
|
||||
27
README
27
README
@@ -1,3 +1,24 @@
|
||||
# dvdisaster: Additional error correction for optical media.
|
||||
# Copyright (C) 2004-2017 Carsten Gnoerlich.
|
||||
# Copyright (C) 2019-2020 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/>.
|
||||
|
||||
This directory tree contains dvdisaster,
|
||||
a tool providing additional ECC protection for optical media.
|
||||
|
||||
@@ -11,12 +32,6 @@ Roadmap of contained files
|
||||
INSTALL
|
||||
See the file INSTALL on bringing up dvdisaster.
|
||||
|
||||
README.CVS
|
||||
If you got this archive from CVS, make sure to read README.CVS also.
|
||||
|
||||
README.MODIFYING
|
||||
Please read these notes carefully if you plan to modify dvdisaster.
|
||||
|
||||
COPYING
|
||||
This software is distributed under the GNU General Public License,
|
||||
which is contained in the file COPYING.
|
||||
|
||||
@@ -1,37 +0,0 @@
|
||||
Please read these notes carefully if you plan to modify dvdisaster.
|
||||
-------------------------------------------------------------------
|
||||
|
||||
When publishing a modified version of dvdisaster you are kindly
|
||||
asked not to misrepresent your work as the original.
|
||||
|
||||
The original authors have undertaken great efforts for putting the
|
||||
project into shape and earning their reputation. So if you hack and
|
||||
publish your own version of dvdisaster, please RESPECT the original
|
||||
authors vision of what the project should be like.
|
||||
|
||||
Document your changes as explained below so that users can tell
|
||||
the modified version from the original.
|
||||
|
||||
|
||||
How to document your changes.
|
||||
-----------------------------
|
||||
|
||||
Document the changes you made in the source code, NOT in a
|
||||
separate file which might get unbundled from the changed source.
|
||||
|
||||
New files start with your copyright notice; modified files
|
||||
get an additional entry under the original copyright notice.
|
||||
See the file md5.c for an example.
|
||||
|
||||
But this is not enough; most people will not read the source
|
||||
code as they are using binary distributions. Give them a way
|
||||
to find out about your modifications in the "About" dialog.
|
||||
|
||||
The build process will prepare a suitable message template
|
||||
for you if it finds that you have modified the sources.
|
||||
Feel free to further customize this message, and even
|
||||
change the project name if you deem that appropriate.
|
||||
|
||||
|
||||
Thank you for your cooperation.
|
||||
|
||||
102
README.md
102
README.md
@@ -1,68 +1,108 @@
|
||||
# What is dvdisaster?
|
||||
# :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.
|
||||
|
||||
# Unofficial version
|
||||
# :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:
|
||||
|
||||
- Most Debian patches have been applied, those specific to Debian have been omitted
|
||||
- Windows build supported again, it was dropped upstream a few versions back
|
||||
- A CLI-only version, not depending on gtk (`CLI_ONLY=1 ./configure && make clean && make -j4`)
|
||||
- Regression tests confirmed working on Linux64, Windows32 and Windows64, for normal and CLI-only builds
|
||||
- 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-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
|
||||
|
||||
For more information please refer to the [CHANGELOG](CHANGELOG).
|
||||
Please refer to the [CHANGELOG](CHANGELOG) for all the details.
|
||||
|
||||
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.
|
||||
|
||||
## 3 available 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.
|
||||
|
||||
**RS01** creates error correction files which are stored separately from the image they belong to.
|
||||
## :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.
|
||||
|
||||
**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.
|
||||
|
||||
**RS03** is a further development of RS01 and RS02. It can create both error correction files and
|
||||
: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:
|
||||
|
||||
- RS03 can use multiple CPU cores and is therefore much faster than RS01/RS02 on modern hardware.
|
||||
- RS03 can use multiple CPU cores and is therefore **much** faster than RS01/RS02 on modern hardware.
|
||||
- RS03 error correction files are - contrary to RS01, and to a lesser extent RS02 - robust against damage.
|
||||
- RS03 is more robust, but also more restrictive: The augmented image must completely fill the medium now while the size of augmented images can be freely chosen in RS02.
|
||||
The changes for parallel computation and higher robustness make RS03 a bit less space efficient,
|
||||
e.g. RS03 error correction data has slighly less error correction capacity than its RS01/RS02 counterparts on images with equal size.
|
||||
e.g. RS03 error correction data has slighly less (around -3%) error correction capacity than its RS01/RS02 counterparts on images with equal size.
|
||||
|
||||
# Rationale
|
||||
Rough comparison table:
|
||||
|
||||
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!).
|
||||
| Codecs | RS01 | RS02 | RS03 |
|
||||
|------------------|--------------------------------|--------------------------------|--------------------------------|
|
||||
| Robustness\* | :star: | :star::star::star: | :star::star::star::star::star: |
|
||||
| Speed | :star::star: | :star: | :star::star::star::star::star: |
|
||||
| Space efficiency | :star::star::star::star::star: | :star::star::star::star::star: | :star::star::star::star: |
|
||||
| Augmented images | :x: | :heavy_check_mark: | :heavy_check_mark: |
|
||||
| Separate files | :heavy_check_mark: | :x: | :heavy_check_mark: |
|
||||
|
||||
\*Robustness against corruption of the dvdisaster-added ECC parts themselves
|
||||
|
||||
# :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!)~~
|
||||
This is also why precompiled Windows binaries and a precompiled static CLI-only Linux version are available here.
|
||||
|
||||
# Compiling
|
||||
# :hammer: Compiling
|
||||
|
||||
See the [INSTALL](INSTALL) file. The [workflow file](.github/workflows/release.yml) that is used to automatically build binaries for each release can also help.
|
||||
|
||||
# Screenshots
|
||||
# :camera: Screenshots
|
||||
|
||||
### Scanning a damaged CD under Windows
|
||||
### Reading a damaged CD under Windows:
|
||||
|
||||

|
||||

|
||||
|
||||
### Scanning a healthy BD-R (single layer) with Linux GUI
|
||||
### Verifying the ECC correction data from the damaged image:
|
||||
|
||||

|
||||

|
||||
|
||||
### Creating an RS03 error correction file with Linux GUI
|
||||
### Repairing the damaged image thanks to augmented data:
|
||||
|
||||

|
||||

|
||||
|
||||
### Verifying a BD-R image with Linux GUI
|
||||
### Verification of the image after correction:
|
||||
|
||||

|
||||

|
||||
|
||||
### Reading a quad-layer multi-session BDXL with Linux GUI:
|
||||
|
||||

|
||||
|
||||
Note that the disc still has some room for more sessions (capacity is 128 GB).
|
||||
|
||||
52
TODO
52
TODO
@@ -1,37 +1,42 @@
|
||||
|
||||
Tentative to do/ release schedule
|
||||
|
||||
Version 0.79: new RS03 codec (encoding part)
|
||||
- lots of speed optimizations in error correction data encoding
|
||||
- multithreaded / multicore processor support
|
||||
- add missing functionality, e.g. adaptive reading
|
||||
0.79.5: project re-launch
|
||||
0.79.6: re-introduce CRC and MD5 caching between reading
|
||||
and ecc creation; cosmetical changes
|
||||
0.79.7: re-introduce adaptive reading
|
||||
Versions 0.79.x: development releases
|
||||
* restart project, catch up wich recent compiler and OS version
|
||||
* last releases with gtk-2
|
||||
|
||||
Version 0.80: milestone release
|
||||
work in progress (this release):
|
||||
|
||||
- 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 stable release):
|
||||
|
||||
- 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
|
||||
|
||||
- upgrade from gtk-2 to gtk-4
|
||||
- remove obsolete features, especially from the GUI
|
||||
- ... many more will likely be added ...
|
||||
|
||||
Version 0.82: milestone/stable release
|
||||
- RS03 encoding considered feature complete
|
||||
|
||||
Version 0.81:
|
||||
Version 0.83: development releases
|
||||
- multithreaded decoding (error correction/repair)
|
||||
for RS01/RS02/RS03
|
||||
- RS01 encoding (not decoding of course) will be
|
||||
removed as RS03 fully replaces it
|
||||
|
||||
Version 0.82: milestone release
|
||||
Version 0.84: milestone/stable release
|
||||
- RS03 decoding considered feature complete
|
||||
|
||||
Version 0.84:
|
||||
- compile option to create a CLI-only binary
|
||||
(without GTK+ linkage)
|
||||
|
||||
Version 0.86:
|
||||
- maybe upgrade from GTK+ 2 to version 3
|
||||
(not decided yet)
|
||||
|
||||
Version 0.90:
|
||||
- Grand finale: add a new feature which isn't jaw dropping
|
||||
- Grand finale: add a last new feature which isn't jaw dropping
|
||||
but very convenient to have (sorry - has nothing to do
|
||||
with ripping). Since I'm not sure whether there
|
||||
is prior art to this feature, I won't get into
|
||||
@@ -49,11 +54,10 @@ Version 1.00: maintenance releases
|
||||
|
||||
Unspecified schedule / later releases
|
||||
|
||||
- native Windows fork
|
||||
- add pause/resume button
|
||||
- optionally pause after n read errors for drives which
|
||||
need to cool down
|
||||
- add function for stripping RS02 data from image
|
||||
- add function for stripping RS02 data from image [done in pl7]
|
||||
- add quiet option for command line mode
|
||||
- display estimated finishing time for encoding/decoding
|
||||
- catch up with many other queued up suggestions
|
||||
|
||||
@@ -1,3 +1,23 @@
|
||||
# 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/>.
|
||||
|
||||
This document describes the process of adding a new translation
|
||||
to dvdisaster. It is work in progress and not yet complete.
|
||||
|
||||
77
configure
vendored
77
configure
vendored
@@ -1,19 +1,34 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# dvdisaster: Additional error correction for optical media.
|
||||
# Copyright (C) 2004-2018 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/>.
|
||||
|
||||
# Load the shell functions needed for the rest of this script.
|
||||
|
||||
BASH_BASED_CONFIGURE=./scripts/bash-based-configure
|
||||
BASH_BASED_CONFIGURE_OPTS="--buildtmp=$(pwd)/build $@"
|
||||
REQUIRED_CFLAGS="-DPATCHLEVEL=5 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I. -pipe"
|
||||
RECOMMENDED_CFLAGS="-O2 -fomit-frame-pointer -Wall -Wno-deprecated-declarations -Wno-stringop-truncation"
|
||||
REQUIRED_CFLAGS="-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I. -pipe"
|
||||
RECOMMENDED_CFLAGS="-O2 -fomit-frame-pointer -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-stringop-truncation -Wno-format-zero-length"
|
||||
DEBUG_CFLAGS="-ggdb -Wall"
|
||||
|
||||
if [ "$CLI_ONLY" = 1 ]; then
|
||||
REQUIRED_CFLAGS="-DCLI $REQUIRED_CFLAGS"
|
||||
fi
|
||||
|
||||
CFG_USE_CYGWIN="no" # do not change
|
||||
|
||||
if test -e $BASH_BASED_CONFIGURE; then
|
||||
source $BASH_BASED_CONFIGURE $BASH_BASED_CONFIGURE_OPTS
|
||||
else
|
||||
@@ -24,9 +39,10 @@ fi
|
||||
|
||||
# Set the package name and version
|
||||
|
||||
PACKAGE dvdisaster 0.79.6
|
||||
CFG_HAVE_OPTIONS="$CFG_HAVE_OPTIONS -DHAVE_UNSTABLE_RELEASE"
|
||||
|
||||
PACKAGE dvdisaster 0.79.10
|
||||
DEFINE_INT PATCHLEVEL 1
|
||||
DEFINE_STRING HAVE_UNSTABLE_RELEASE 1
|
||||
DEFINE_STRING HOMEPAGE "https://dvdisaster.jcea.es"
|
||||
|
||||
# Check for some essential tools.
|
||||
|
||||
@@ -48,15 +64,25 @@ GET_LOCALEDIR
|
||||
GET_BUILDROOT
|
||||
GET_BUILDTMP
|
||||
|
||||
PRINT_MESSAGE "\nDetermining build flavor:"
|
||||
|
||||
WITH_OPTION gui yes "[yes | no]"
|
||||
|
||||
# Remove the useless CLI console under windows
|
||||
if [[ $(uname) =~ MINGW ]] && [ "$cfg_with_gui" == "yes" ]; then
|
||||
CFG_LDFLAGS="$CFG_LDFLAGS -mwindows"
|
||||
fi
|
||||
|
||||
# Look for required libraries
|
||||
|
||||
PRINT_MESSAGE "\nLooking for includes and libraries:"
|
||||
|
||||
REQUIRE_GLIB2 2 32 0
|
||||
if [ "$CLI_ONLY" != 1 ]; 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]"
|
||||
@@ -117,7 +143,7 @@ if ! EXECUTE_PROGRAM "xgettext --help" xgettext \
|
||||
cfg_force_with_nls=no
|
||||
fi
|
||||
|
||||
if [ "$CLI_ONLY" != 1 ]; 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."
|
||||
@@ -135,6 +161,24 @@ WITH_OPTION embedded-src-path yes "[yes | no]"
|
||||
PRINT_MESSAGE "\nDebugging options (do not use in production system):"
|
||||
|
||||
WITH_OPTION memdebug no "[no | yes]"
|
||||
WITH_OPTION debug-printf-format no "[no | yes]"
|
||||
WITH_OPTION werror no "[no | yes]"
|
||||
|
||||
if test "$cfg_with_debug_printf_format" == "yes"; then
|
||||
# don't use the binary compiled with this,
|
||||
# it's only useful to properly get all the build-time
|
||||
# warnings around printf-errors, that are otherwise
|
||||
# not catched by the compiler because of the _() macro
|
||||
DEFINE_STRING DEBUG_PRINTF_FORMAT 1
|
||||
else
|
||||
# warnings given by -Wformat-security are bogus because of _(),
|
||||
# see above comment if you actually want to check for format errors
|
||||
CFG_CFLAGS="$CFG_CFLAGS -Wno-format-security"
|
||||
fi
|
||||
|
||||
if test "$cfg_with_werror" == "yes"; then
|
||||
CFG_CFLAGS="$CFG_CFLAGS -Werror"
|
||||
fi
|
||||
|
||||
if test "$cfg_with_efence" == "yes"; then
|
||||
if ! CHECK_LIBRARY efence malloc efence; then
|
||||
@@ -160,9 +204,6 @@ cfiles="src/method-link.c"
|
||||
ofiles="$BUILDTMP/method-link.o"
|
||||
|
||||
for cfile in src/*.c; do
|
||||
if [ "$CLI_ONLY" = 1 ]; 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)"
|
||||
@@ -172,7 +213,7 @@ done
|
||||
echo
|
||||
echo -e "\nCFG_CFILES = $cfiles" >> Makefile.config
|
||||
echo "CFG_OFILES = $ofiles" >> Makefile.config
|
||||
if [ "$CLI_ONLY" != 1 ]; then
|
||||
if test "$cfg_with_gui" == "yes"; then
|
||||
echo "ICONS = src/inlined-icons.h" >> Makefile.config
|
||||
fi
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
.PHONY : all codecs clean
|
||||
.PHONY : all clean
|
||||
|
||||
all: codecs
|
||||
all: codecs.pdf
|
||||
|
||||
clean:
|
||||
@rm -f *~ *.aux *.log *.bak *.out *.toc *.dvi *.ps
|
||||
@@ -8,7 +8,9 @@ clean:
|
||||
archclean: clean
|
||||
@rm -f *.pdf
|
||||
|
||||
codecs:
|
||||
# run latex twice to get the proper number of pages, fig numbers and index table
|
||||
codecs.pdf: *.tex *.fig *.eps
|
||||
latex codecs
|
||||
latex codecs
|
||||
dvips codecs.dvi
|
||||
ps2pdf codecs.ps
|
||||
|
||||
Binary file not shown.
@@ -35,12 +35,14 @@
|
||||
\fancyfoot[LO]{created: \today}
|
||||
\fancyfoot[RE]{\paperversion}
|
||||
|
||||
\input{../config/version.tex}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\definecolor{lightblue}{RGB}{224,224,255}
|
||||
\pagecolor{lightblue}
|
||||
\title{The dvdisaster Reed-Solomon Codec specification}
|
||||
\author{Carsten Gnörlich\\carsten@dvdisaster.org}
|
||||
\author{The dvdisaster development team\\support@dvdisaster.org}
|
||||
\date{}
|
||||
\maketitle
|
||||
\thispagestyle{empty}
|
||||
@@ -59,7 +61,7 @@ Reed-Solomon codecs which are currently called RS01, RS02 and RS03.
|
||||
The codecs create Reed-Solomon parity data to protect data stored on optical media.
|
||||
Depending on the codec, parity data can either be stored in a separate file
|
||||
or be integrated with the .iso image on the same medium.
|
||||
See \url{http://dvdisaster.org} for additional resources on the dvdisaster project,
|
||||
See \homepage for additional resources on the dvdisaster pro\-ject,
|
||||
e.g. for the {\em orange manual} (manual.pdf) containing information for end users.
|
||||
\end{abstract}
|
||||
|
||||
@@ -69,7 +71,7 @@ e.g. for the {\em orange manual} (manual.pdf) containing information for end use
|
||||
dvdisaster developers and, when the final version has been crafted, as an implementation
|
||||
guide for third party developers who wish to create and process dvdisaster error correction data.
|
||||
It is {\bf neither intended nor suitable} as end-user documentation; for usage information
|
||||
please refer to the online documentation at \url{http://dvdisaster.org}.
|
||||
please refer to the online documentation at \homepage.
|
||||
|
||||
\bigskip
|
||||
|
||||
@@ -81,7 +83,8 @@ of programming in C is also assumed.
|
||||
\vfill
|
||||
\begin{center}
|
||||
{\em
|
||||
Copyright 2008-2015 Carsten Gnörlich.
|
||||
Copyright 2008-2015 Carsten Gnörlich.\\
|
||||
Copyright 2021 The dvdisaster development team.\\
|
||||
Verbatim copying and distribution of this entire article is permitted in any medium,
|
||||
provided this notice is preserved.}
|
||||
\end{center}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.TH DVDISASTER 1 "2010-02-07" "0.80" "Schutz f\[:u]r optische Datentr\[:a]ger"
|
||||
.TH DVDISASTER 1 "2018-05-14" "0.79.7" "Schutz f\[:u]r optische Datentr\[:a]ger"
|
||||
|
||||
.SH NAME
|
||||
DVDISASTER \- Schutz f\[:u]r optische Datentr\[:a]ger gegen Datenverlust durch Alterung
|
||||
@@ -67,6 +67,7 @@ oder Kratzer
|
||||
.IR n \|]
|
||||
.RB [\| \-\-spinup\-delay
|
||||
.IR n \|]
|
||||
.RB [\| \-\-version \|]
|
||||
|
||||
.SH BESCHREIBUNG
|
||||
.B DVDISASTER
|
||||
@@ -334,7 +335,7 @@ funktioniert am besten beim direkten Arbeiten mit Dateien im Arbeitsspeicher (z.
|
||||
.RE
|
||||
.TP
|
||||
.B \-\-fill-unreadable n
|
||||
f\[:u]lle unlesbare Sektoren mit Byte n.
|
||||
f\[:u]lle unlesbare Sektoren mit Byte n. Hilfreich um Abbilder zu verarbeiten, die von anderen Werkzeugen angelegt wurden. Beispielsweise f\[:u]llt ddrescue unlesbare Sektoren mit Null auf; dementsprechend w\[:a]re \-\-fill-unreadable=0 zu verwenden. Bitte dabei beachten: Sparse files k\[:o]nnen nicht mit dvdisaster verarbeitet werden.
|
||||
.TP
|
||||
.B \-\-ignore-fatal-sense
|
||||
Lesen nach m\[:o]glicherweise schwerwiegenden Fehlern fortsetzen.
|
||||
@@ -422,6 +423,9 @@ warnt bei Geschwindigkeits\[:a]nderung um mehr als n Prozent.
|
||||
.TP
|
||||
.B \-\-spinup-delay n
|
||||
gibt dem Laufwerk n Sekunden Zeit zum Hochlaufen.
|
||||
.TP
|
||||
.B \-\-version
|
||||
gibt die Versionsnummer und einige Konfigurationseigenschaften aus
|
||||
.PP
|
||||
|
||||
.SH SIEHE AUCH
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.TH DVDISASTER 1 "2020-08-30" "0.80" "protection for optical media"
|
||||
.TH DVDISASTER 1 "2018-05-14" "0.79.7" "protection for optical media"
|
||||
|
||||
.SH NAME
|
||||
DVDISASTER \- data loss/scratch/aging protection for optical media
|
||||
@@ -67,6 +67,7 @@ DVDISASTER \- data loss/scratch/aging protection for optical media
|
||||
.IR n \|]
|
||||
.RB [\| \-\-spinup\-delay
|
||||
.IR n \|]
|
||||
.RB [\| \-\-version \|]
|
||||
|
||||
.SH DESCRIPTION
|
||||
.B DVDISASTER
|
||||
@@ -348,7 +349,7 @@ and on very fast media with low latency such as SSDs.
|
||||
.RE
|
||||
.TP
|
||||
.B \-\-fill-unreadable n
|
||||
fill unreadable sectors with byte n
|
||||
fill unreadable sectors with byte n. Useful for processing images which have been created by other tools. For example, ddrescue fills unreadable sectors with zeros; therefore \-\-fill-unreadable=0 should be used. Please note: Sparse files can not be processed with dvdisaster.
|
||||
.TP
|
||||
.B \-\-ignore-fatal-sense
|
||||
continue reading after potentially fatal error condition.
|
||||
@@ -432,6 +433,9 @@ print warning if speed changes by more than n percent.
|
||||
.TP
|
||||
.B \-\-spinup-delay n
|
||||
wait n seconds for drive to spin up.
|
||||
.TP
|
||||
.B \-\-version
|
||||
print version number and some configuration information.
|
||||
.PP
|
||||
|
||||
.SH SEE ALSO
|
||||
|
||||
@@ -11,7 +11,7 @@ archclean: clean
|
||||
single:
|
||||
pdflatex manual
|
||||
|
||||
manual.pdf: preface.tex background.tex defect-reporting.tex howtos.tex manual.tex qa.tex burning-compatibility.tex download.tex local.tex overview.tex
|
||||
manual.pdf: preface.tex background.tex defect-reporting.tex howtos.tex manual.tex qa.tex download.tex local.tex overview.tex
|
||||
pdflatex manual
|
||||
pdflatex manual
|
||||
pdflatex manual
|
||||
|
||||
@@ -1,196 +0,0 @@
|
||||
\section{Burning software compatibility}
|
||||
\label{burning-compatibility}
|
||||
|
||||
dvdisaster must be used in conjunction with a CD/DVD/BD writing suite (``burning program'')
|
||||
in order to generate ISO images and to write augmented ISO image files. Unfortunately,
|
||||
not all burning programs provide the required features to work with dvdisaster.
|
||||
Some burning programs may even produce media and/or ISO images which can not be
|
||||
used with dvdisaster.
|
||||
|
||||
\smallskip
|
||||
|
||||
For your convenience, the dvdisaster project has tested some free burning programs
|
||||
available for GNU/Linux. Please note that this list will always be incomplete and
|
||||
only be a snapshot of a certain program version. It is likely to be outdated when
|
||||
you are reading this page. It is therefore recommended that you test your specific
|
||||
burning program version by following the \tlnk{howto-compat-overview}{instructions} given
|
||||
in the howto section.
|
||||
|
||||
\paragraph{Recommended software}\quad
|
||||
|
||||
\medskip
|
||||
|
||||
The dvdisaster project recommends either using the command line tools
|
||||
listed below or using the K3B burning application (which is actually
|
||||
a graphical wrapper around the command line tools).
|
||||
|
||||
\paragraph{Burning program compatibility table}\quad
|
||||
|
||||
\medskip
|
||||
|
||||
\newcommand{\tgrey}[1]{\cellcolor{dkgrey}#1}
|
||||
\newcommand{\tturquoise}[1]{\cellcolor{turquoise}#1}
|
||||
\newcommand{\tpink}[1]{\cellcolor{pink}#1}
|
||||
\newcommand{\tblue}[1]{\cellcolor{dkblue}#1}
|
||||
|
||||
\newcommand{\tred}[1]{&\begin{minipage}{10mm}{\cellcolor{ltred}#1}\end{minipage}}
|
||||
\newcommand{\tyellow}[1]{&\begin{minipage}{10mm}\cellcolor{ltyellow}{#1}\end{minipage}}
|
||||
\newcommand{\ok}{&\cellcolor{ltgreen}OK}
|
||||
\newcommand{\na}{&\cellcolor{ltgrey}n.a.}
|
||||
\newcommand{\nt}{&\begin{minipage}{10mm}{not tested}\end{minipage}}
|
||||
|
||||
\begin{tabular}{|c|c|c|c|c|c|c|c|c|c|}
|
||||
\hline
|
||||
\tgrey{} & \tgrey{} & \tgrey{} & \tturquoise{Create} &
|
||||
\multicolumn{3}{c|}{\tpink{Burning images}} & \multicolumn{3}{c|}{\tblue{Burning images}} \\
|
||||
|
||||
\tgrey{Program} & \tgrey{Version} & \tgrey{Testing} & \tturquoise{ISO/} &
|
||||
\multicolumn{3}{c|}{\tpink{for error}} &
|
||||
\multicolumn{3}{c|}{\tblue{with embedded}} \\
|
||||
|
||||
\tgrey{} & \tgrey{} & \tgrey{Date} & \tturquoise{UDF} &
|
||||
\multicolumn{3}{c|}{\tpink{correction files}} &
|
||||
\multicolumn{3}{c|}{\tblue{error correction}} \\
|
||||
|
||||
\cline{5-10}
|
||||
\tgrey{} & \tgrey{} & \tgrey{} &\tturquoise{Image} &\tpink{CD} &\tpink{DVD} &\tpink{BD} &\tblue{CD} &\tblue{DVD} &\tblue{BD} \\
|
||||
|
||||
\hline
|
||||
\multicolumn{10}{|c|}{\cellcolor{ltgrey}Command line tools} \\
|
||||
|
||||
\hline
|
||||
genisoimage & 1.1.11 & Jul'14 \ok \na \na \na \na \na \na \\
|
||||
|
||||
\hline
|
||||
wodim & 1.1.11 & Jul'14 \na \ok \ok \na \ok \ok \na \\
|
||||
|
||||
\hline
|
||||
growisofs & 7.1 & Jul'14 \na \na \ok \ok \na \ok \ok \\
|
||||
|
||||
\hline
|
||||
\multicolumn{10}{|c|}{\cellcolor{ltgrey}Tools with a graphical user interface} \\
|
||||
|
||||
\hline
|
||||
brasero & 3.4.1 & Jul'14 \tred{no UDF$^{1)}$} \tyellow{avoid$^{2)}$} \ok \na \tyellow{avoid$^{2)}$} \ok \na \\
|
||||
|
||||
\hline
|
||||
K3B & 2.0.2 & Jul'14 \ok \ok \ok \na \ok \ok \na \\
|
||||
|
||||
\hline
|
||||
xfburn & 0.4.3 & Jul'14 \ok \tyellow{re-read only$^{3)}$} \tyellow{re-read only$^{3)}$} \na \tred{do not use$^{3)}$} \tred{do not use$^{3)}$} \na \\
|
||||
\hline
|
||||
\end{tabular}
|
||||
|
||||
\bigskip
|
||||
|
||||
\paragraph{Testing conditions and objectives}\quad
|
||||
\medskip
|
||||
|
||||
Testing was done using Debian 7.5 (wheezy) on an amd64 machine.
|
||||
Versions of the tested writing software are indicated in the table above.
|
||||
|
||||
\medskip
|
||||
|
||||
Evaluation of the burning software is done for the two major cases where
|
||||
interoperability with dvdisaster is required:
|
||||
|
||||
\bigskip
|
||||
|
||||
a) Creating error correction files
|
||||
|
||||
\medskip
|
||||
|
||||
The burning program is used to assemble an ISO image from a selected set of files,
|
||||
and to write a CD, DVD or BD disc from it. An \tlnk{howto-eccfile}{error correction file} will
|
||||
be created to protect this medium.
|
||||
|
||||
\smallskip
|
||||
|
||||
There are two ways of obtaining the ISO image for creating the error correction file:
|
||||
|
||||
\begin{enumerate}
|
||||
\item The burning program is used to create an ISO image which is stored on hard disk.
|
||||
This image is used for burning the medium and for creating the error correction file.
|
||||
If the writing software creates a medium which does not exactly match the image,
|
||||
the resulting error correction file may be useless.
|
||||
A respective \tlnk{howto-compat-file}{testing method} is described
|
||||
in the ``Howtos'' section. An ``OK'' in the table above indicates that
|
||||
this test has been passed. But you are strongly advised to
|
||||
\tlnk{howto-compat-file}{do your own test} at least
|
||||
once to make sure that you are working on the same versions and premises.
|
||||
|
||||
\smallskip
|
||||
|
||||
If it is not possible to use a pre-made ISO image for both writing the medium
|
||||
and for creating the error correction file, the writing software is
|
||||
rated ``Re-read only'' in the table. In that case, use the alternative
|
||||
approach described below (topic 2).
|
||||
|
||||
\item The burning program is used to write a medium, either by using a
|
||||
pre-made ISO image or by creating the image on-the-fly while writing
|
||||
the medium. Afterwards, the pre-made ISO image is discarded. dvdisaster
|
||||
is used to read back a new ISO image from the newly written medium. From
|
||||
this newly created ISO image the error correction file is created. This
|
||||
process should always work; if not, the respective burning software is
|
||||
marked as being unusable in the table.
|
||||
\end{enumerate}
|
||||
|
||||
\bigskip
|
||||
|
||||
b) Augmenting a medium with error correction data
|
||||
|
||||
\medskip
|
||||
|
||||
\tlnk{howto-augment-write-iso}{Creating a medium}
|
||||
\tlnk{howto-augment}{with embedded error correction data} is comprised of
|
||||
several sub tasks: First, the burning application converts a selection of files
|
||||
into an ISO image stored on hard disk. dvdisaster augments the image residing
|
||||
on the hard disk with error correction data. Then, the burning application
|
||||
writes the augmented image to the CD, DVD or BD. The ISO image content or format
|
||||
must not be altered during the writing process. Especially, the added error correction
|
||||
sectors must not be removed and no padding sectors must be added to the image during
|
||||
the writing process. The ``Howto'' section describes
|
||||
\tlnk{howto-compat-augment}{a test for compatibility between
|
||||
a writing software and dvdisaster}. An ``OK'' in the table above indicates that this
|
||||
test has been passed; otherwise you can not use the respective software for writing
|
||||
augmented images. You are strongly advised to \tlnk{howto-compat-augment}{do your own test} at
|
||||
least once to make sure that you are working on the same versions
|
||||
and premises even with software marked as compatible in the table above.
|
||||
|
||||
\bigskip
|
||||
|
||||
c) Creating ISO images
|
||||
|
||||
\medskip
|
||||
|
||||
In addition, the table indicates whether the burning application can convert
|
||||
a selection of files into an ISO image and store that ISO image on hard disk
|
||||
for further processing with dvdisaster.
|
||||
|
||||
\paragraph{Notes (why a certain software failed a test)}\quad
|
||||
\medskip
|
||||
|
||||
$^{1)}${\bf brasero} can only create ISO images, not ISO/UDF. This is not
|
||||
recommended for DVD-Video authoring and has the disadvantage that files
|
||||
with sizes greater than 2GiB can not be used in a portable way (the tested
|
||||
version can not use files larger than 2GiB at all even if it says otherwise).
|
||||
|
||||
\bigskip
|
||||
|
||||
$^{2)}${\bf brasero} does not support the ``disc at once'' writing strategy. This
|
||||
creates two spurious unreadable sectors at the end of CD media. dvdisaster
|
||||
can handle such media, but will issue a warning and requires a preferences
|
||||
setting each time such media is processed.
|
||||
|
||||
\bigskip
|
||||
|
||||
$^{3)}${\bf xfburn} can not be used to write RS02/RS03 augmented images due to a
|
||||
wrong implementation of padding sector handling. In a correct implementation,
|
||||
a burning program would add 150 zero padding sectors to an image it has created
|
||||
itself. However padding sectors must never be added to an image which was created
|
||||
or manipulated by a foreign application, such as an image being augmented by dvdisaster.
|
||||
This results in the image being read back with wrong checksums, and dvdisaster will
|
||||
rightfully complain that the ``Image file is 150 sectors longer than expected.''.
|
||||
Error correction files can - for the same reason - not be used when created from
|
||||
the original image, but it is possible to re-read the image from the written
|
||||
medium and create error correction files from that image.
|
||||
@@ -15,8 +15,8 @@ the \href{http://www.gnu.org/licenses/gpl-3.0.txt}{GNU General Public License v3
|
||||
|
||||
\bigskip
|
||||
|
||||
The dvdisaster developer site (\url{https://web.archive.org/web/20180428070843/http://dvdisaster.net}) contains
|
||||
the latest source code releases for the FreeBSD, GNU/Linux and NetBSD
|
||||
The dvdisaster developer site (\homepage) contains
|
||||
source code releases for the FreeBSD, GNU/Linux and NetBSD
|
||||
operating systems. These are mostly aimed at maintainers of binary packages for
|
||||
the beforementioned platforms. As an end user you might find it more convenient
|
||||
to install dvdisaster from the package system of your operating system bundle or
|
||||
@@ -36,7 +36,7 @@ is optional; you can use dvdisaster directly from the build tree.
|
||||
\paragraph{Hardware requirements}\quad
|
||||
|
||||
\begin{itemize}
|
||||
\item x86, PowerPC or Sparc processor;
|
||||
\item x86, ARM or PowerPC processor;
|
||||
\item an up-to-date CD/DVD/BD drive with ATAPI, SATA or SCSI interface;
|
||||
\item enough hard disk space for creating .iso images from processed media.
|
||||
\end{itemize}
|
||||
@@ -73,7 +73,7 @@ NetBSD & 6.1.5 \\
|
||||
|
||||
\medskip
|
||||
|
||||
Support for Windows and Mac OS has been ended
|
||||
Support for Windows and Mac OS X has been ended
|
||||
and is not planned to be resumed in the
|
||||
future (see \tlnk{qa-discontinued-os}{QA item 2.4 for an explanation)}.
|
||||
|
||||
@@ -93,6 +93,13 @@ won't do, we have compiled the following list:
|
||||
|
||||
\smallskip
|
||||
|
||||
The dvdisaster project uses the following web site for supplying software downloads:
|
||||
|
||||
\begin{center}
|
||||
\homepage
|
||||
\end{center}
|
||||
|
||||
\begin{comment}
|
||||
The dvdisaster project uses the following internet domains for publishing
|
||||
its web sites and supplying software downloads:
|
||||
|
||||
@@ -106,6 +113,8 @@ dvdisaster.org
|
||||
\end{center}
|
||||
|
||||
All domains are forwarded to the same site at dvdisaster.net.
|
||||
\end{comment}
|
||||
|
||||
No other internet or download sites are run by the dvdisaster project.
|
||||
|
||||
\paragraph{No money or personal data required.}\quad
|
||||
|
||||
@@ -2069,9 +2069,8 @@ want to re-invent medium writing in dvdisaster, as a lot of useful programs
|
||||
have already been written for this task. You should however pick a writing
|
||||
application which supports SAO/DAO (session at once / disc at once) writing
|
||||
on CD media and does not modify ISO images supplied by third-party software
|
||||
(like dvdisaster). Some common free burning programs for GNU/Linux have been
|
||||
\tlnk{burning-compatibility}{evaluated in the burning software compatibility section}.
|
||||
For a start try using the K3B burning program.
|
||||
(like dvdisaster). Not all burning programs are \tlnk{howto-compat-overview}{compatible with dvdisaster}, so new programs should be
|
||||
\tlnk{howto-compat-augment}{checked before using}. For a start we recommend the K3B burning program.
|
||||
|
||||
\bigskip
|
||||
|
||||
@@ -3625,14 +3624,6 @@ writing the error correction data to the medium. Make sure that your
|
||||
writing software does \tlnk{howto-compat-augment}{correctly transfer the error correction data}
|
||||
when using it with augmented images for the first time.
|
||||
\end{itemize}
|
||||
|
||||
\smallskip
|
||||
|
||||
Please see also the \tlnk{burning-compatibility}{burning software compatibility list}. From time
|
||||
to time the dvdisaster project evaluates some of the most popular burning
|
||||
software for the GNU/Linux platform and summarizes the results there.
|
||||
|
||||
%\newpage
|
||||
|
||||
\subsubsection{Testing compatibility with CD/DVD/BD writing software for error correction files}
|
||||
\label{howto-compat-file}
|
||||
@@ -3646,6 +3637,8 @@ In order to save time you do the following:
|
||||
\item You create the error correction file from the same image.
|
||||
\end{enumerate}
|
||||
|
||||
\newpage
|
||||
|
||||
\paragraph{Possible incompatibility:} The writing software creates a medium which
|
||||
does not exactly match the image. This might prevent the error correction from recovering
|
||||
the medium contents when it becomes defective.
|
||||
|
||||
Binary file not shown.
@@ -11,6 +11,7 @@
|
||||
\usepackage{color}
|
||||
\usepackage[table]{xcolor}
|
||||
\usepackage{hyperref}
|
||||
\usepackage{comment}
|
||||
|
||||
\marginsize{30mm}{20mm}{20mm}{20mm} % Seitenränder links, rechts, oben, unten
|
||||
\parindent0em % Keine amerikanische Einrückung am Anfang von Paragraphen
|
||||
@@ -40,7 +41,7 @@
|
||||
|
||||
\hypersetup{
|
||||
pdftitle={dvdisaster User's Manual},
|
||||
pdfauthor={Carsten Gnörlich},
|
||||
pdfauthor={Written by the dvdisaster development team},
|
||||
colorlinks=true,
|
||||
linkcolor=linkblue,
|
||||
citecolor=linkblue,
|
||||
@@ -72,7 +73,7 @@
|
||||
\definecolor{lightorange}{RGB}{255,224,150}
|
||||
\pagecolor{lightorange}
|
||||
\title{The dvdisaster User's Manual}
|
||||
\author{Carsten Gnörlich\\carsten@dvdisaster.org}
|
||||
\author{Written by the dvdisaster development team\\support@dvdisaster.org}
|
||||
\date{}
|
||||
\maketitle
|
||||
\thispagestyle{empty}
|
||||
@@ -92,7 +93,7 @@ for optical media such as CD, DVD and BD discs.
|
||||
Use cases for creating ecc data, recovering defective media
|
||||
using ecc data and for general maintenanance of optical
|
||||
media are given.
|
||||
See \url{http://dvdisaster.org} for additional resources on
|
||||
See \homepage for additional resources on
|
||||
the dvdisaster project, e.g. for the {\em blue} manual (codecs.pdf)
|
||||
containing a formal specification of the error correction data format.
|
||||
\end{abstract}
|
||||
@@ -100,9 +101,10 @@ containing a formal specification of the error correction data format.
|
||||
\vfill
|
||||
\begin{center}
|
||||
{\em
|
||||
Copyright 2008-2017 Carsten Gnörlich.
|
||||
Verbatim copying and distribution of this entire article is permitted in any medium,
|
||||
provided this notice is preserved.}
|
||||
Copyright 2008-2017 Carsten Gnörlich.\\
|
||||
Copyright 2019-2021 The dvdisaster development team.\\
|
||||
Verbatim copying and distribution of this entire article is permitted in
|
||||
any medium, provided this notice is preserved.}
|
||||
\end{center}
|
||||
|
||||
\newpage
|
||||
@@ -131,9 +133,6 @@ provided this notice is preserved.}
|
||||
\input{background}
|
||||
\newpage
|
||||
|
||||
\input{burning-compatibility}
|
||||
\newpage
|
||||
|
||||
\input{defect-reporting}
|
||||
|
||||
\label{LastPage}\label{missing}
|
||||
|
||||
@@ -37,7 +37,7 @@ protected media, you're looking at the wrong place. Such functions are
|
||||
outside the scope of dvdisaster's internal design and goals.
|
||||
Contrary to some myths saying otherwise: dvdisaster contains
|
||||
no hidden program fragments or switches for reading protected discs.
|
||||
Check the source code for yourself if you don't trust me.
|
||||
Check the source code for yourself if you don't trust us.
|
||||
|
||||
|
||||
\subsection{How to use this manual}
|
||||
@@ -79,9 +79,8 @@ and finally a few \tlnk{background-eccfile-storage}{hints for storing error corr
|
||||
\smallskip
|
||||
|
||||
As not all optical disc burning software may be compatible with dvdisaster,
|
||||
you might want to check
|
||||
the \tlnk{burning-compatibility}{compatibility table} and the additional
|
||||
information provided with it.
|
||||
you might want to
|
||||
the \tlnk{howto-compat-overview}{perform compatibility tests} before using it .
|
||||
|
||||
\smallskip
|
||||
|
||||
|
||||
@@ -1,6 +1,19 @@
|
||||
\section*{Preface}
|
||||
\markboth{Preface}{Preface}
|
||||
\label{preface}
|
||||
|
||||
After the publishing of version 0.79.5, the project has been dormant for another half decade. As time has passed by, it is foreseeable that optical media will become extinct just like floppy discs did long ago. Still, it is important to preserve the contents of already existing optical media. Towards this end, we will maintain dvdisaster to keep it usable on current hardware and OS versions.
|
||||
|
||||
We do not plan for a rapid release cycle. Neither will many new features be introduduced like it was at the beginning of the project. Instead, we will strive to fill in the missing gaps left over from the still open RS03 release cycle. Afterwards, dvdisaster shall be kept sound and complete as long as optical media are still in use.
|
||||
|
||||
\bigskip
|
||||
|
||||
{\em -- -- The dvdisaster development team, Spring 2021}
|
||||
|
||||
|
||||
\newpage
|
||||
\section*{Preface for version 0.79.5}
|
||||
|
||||
Since the release of dvdisaster 0.79.3\footnote{Version 0.79.4 was never finished
|
||||
and released.}, nearly five years have passed.
|
||||
This was partly due to changed circumstances in its
|
||||
|
||||
@@ -359,6 +359,18 @@ Usable media by type:
|
||||
You are welcome, of course, to provide an unoffical translation of the
|
||||
project documentation on your own webspace and at your own discretion. }
|
||||
|
||||
\qa{There are problems opening this manual from dvdisaster\label{qa-manual}}
|
||||
{dvdisaster uses {\tt xdg-open} for bringing up the PDF viewer. {\tt xdg-open} keeps a record of file types and applications capable of displaying them. However on some systems, {\tt xdg-open} is either not configured properly for viewing PDF, or misconfigured to use inappropriate programs like {\em Gimp}.
|
||||
|
||||
\smallskip
|
||||
|
||||
\paragraph{Remedy.} Configure {\tt xdg-open} properly. Usually the configuration is found in the ``settings'' menu of your desktop. As an alternative, use the command line to configure it for {\em xpdf}:
|
||||
|
||||
\smallskip
|
||||
|
||||
{\tt xdg-mime default xpdf.desktop application/pdf}}
|
||||
|
||||
|
||||
%\newpage
|
||||
|
||||
\subsection{Error messages}
|
||||
|
||||
@@ -1,83 +0,0 @@
|
||||
b064d001e5e4ed8221eb9f10d784cf45 *src/dvdisaster.h
|
||||
79abb986b900ec06a73256876ba0d65c *src/galois-inlines.h
|
||||
14eb94f981903fcffe2ccb33aa2cb9db *src/md5.h
|
||||
f2d723717ca5f450ee8cc0b556f5506a *src/read-linear.h
|
||||
100127beaecc24b28b2b80d76bbf68c8 *src/rs01-includes.h
|
||||
5b39a23de01c988d562d70ed68682ab7 *src/rs02-includes.h
|
||||
4407ce43eae55b19409be9980432c94f *src/rs03-includes.h
|
||||
2a5980c706c67bec479e4532ab9a7093 *src/scsi-layer.h
|
||||
c779a2908542c6a519ed7cdfc4e5e073 *src/udf.h
|
||||
8f86a75f83a3bc9b6ce54cce037b3c75 *src/bitmap.c
|
||||
5230bd572fc8ef1857063c885c00463a *src/build.c
|
||||
7b59033ebffd6d8230efaf6834b2f942 *src/cacheprobe.c
|
||||
bfb6d7ed2a921ce18dc0339774f72f41 *src/closure.c
|
||||
e5bd212395758ae0b7e97d70c7a2df55 *src/crc32.c
|
||||
7f5951182421a0366782b191a0b4ba82 *src/crcbuf.c
|
||||
abb7c9decfd43935c943bc0dd1bab0d5 *src/curve.c
|
||||
f96a3e006fc5d1c5d181e5056377c9ce *src/debug.c
|
||||
6f8843d1cccc55506771ab02168b2df3 *src/ds-marker.c
|
||||
19d0f85d035115f3bd8d4472e6379058 *src/dvdisaster.c
|
||||
1c8136affed485adaf60e7904d9930a4 *src/ecc-rs01.c
|
||||
7b301352a60c18c25f84c8cc7a36fd48 *src/ecc-rs02.c
|
||||
91aa71f03dc9dade2e97dc59d7ec38f0 *src/ecc-rs03.c
|
||||
39900d26ddcbb7c7e2a9198de14bace1 *src/endian.c
|
||||
3f6e9dffb9de733dcccc916ca38292ca *src/galois.c
|
||||
abc8a8d55248eab5416c45104a033171 *src/help-dialogs.c
|
||||
547bf9a9d005419a0ed601317aeb4e14 *src/heuristic-lec.c
|
||||
746666ade12c2db41ce9af6f55e4c13c *src/icon-factory.c
|
||||
b3db603f77fd2735a6e8b1c568f7bdac *src/image.c
|
||||
fe9de426f96e6d206d1482a24f589253 *src/large-io.c
|
||||
abed1a50b9751387dc1e3cbc84a61fba *src/l-ec.c
|
||||
6960647dc7fc5ce8a2727326946aaff1 *src/logfile.c
|
||||
92e81646ef4e8618ded5d82db6a6163a *src/maintenance.c
|
||||
3c3eebc43fc7aff3865022207e06153b *src/main-window.c
|
||||
913554f7e994e212f6a52b769eef24bb *src/md5.c
|
||||
8f0acf2f7d98a55d05a4721d97741c7c *src/medium-info.c
|
||||
ce145372a25e0fb96070d460da7bdbb4 *src/memtrack.c
|
||||
66cdf82b59fd973e3060d163b6887a20 *src/menubar.c
|
||||
5006b2db93b210be3fb630e8d9463239 *src/method.c
|
||||
17183bad35db217e2c352178844ceda3 *src/method-link.c
|
||||
2af6685017c247de7458e9c4d39b6ed5 *src/misc.c
|
||||
6523662e8e5aa2daf38a7e8c07ce1180 *src/preferences.c
|
||||
5e7b077020e063951cc72ea57f5f046a *src/print-sense.c
|
||||
cdde449dd2a8f64b560ff18a36f86234 *src/random.c
|
||||
28f42d264cd18bb2e0ccdd8e15a0172e *src/raw-editor.c
|
||||
1d416f611a175ba15be27f7f5686dd98 *src/raw-sector-cache.c
|
||||
7f281312b3a65666f7eebaadb62e7f6e *src/read-adaptive.c
|
||||
ccdc572bb24d20ae6fb53f360318b492 *src/read-adaptive-window.c
|
||||
af7a757cad586d3766a3eaad382c6737 *src/read-linear.c
|
||||
47dc58effd96f2b23182a4595ca36171 *src/read-linear-window.c
|
||||
edc0e564573d595c1196c4dc0e70e659 *src/recover-raw.c
|
||||
ea4d6894e717d4957cde686f88d7bdfd *src/rs01-common.c
|
||||
aa9d409ee4eeaa7ba92d731cf32ee727 *src/rs01-create.c
|
||||
ab15d7470a2fe950ebb33134018f044f *src/rs01-fix.c
|
||||
cb3722894665baf9c4ff4c26ff79737b *src/rs01-verify.c
|
||||
5cdecc33da1579733f0545944c4069ab *src/rs01-window.c
|
||||
b33a0982df485b4e52e56fc1c61285ae *src/rs02-common.c
|
||||
a1025fcc9455219937bae5bfadf0abf5 *src/rs02-create.c
|
||||
f466c8296a37ea88b64aec9c870d6d75 *src/rs02-fix.c
|
||||
369ec37d67674ffd2627f0373a566f0c *src/rs02-recognize.c
|
||||
8cc283e60a73493ac6ba60a2f4af1754 *src/rs02-verify.c
|
||||
eccac3ed74b32508b27de0e0d363c6b1 *src/rs02-window.c
|
||||
9a9b966171f1b375cf3381b545a1c6d4 *src/rs03-common.c
|
||||
2502514702687a2a252feace096d20f4 *src/rs03-create.c
|
||||
19676ef95e635206c19dfe12b957e4b2 *src/rs03-fix.c
|
||||
b012df78d2c546c87f6dd75769515409 *src/rs03-preferences.c
|
||||
7d6101e6a95aeb45d6cd03ffe8891b96 *src/rs03-recognize.c
|
||||
b7a6a6c64b4034380c581a5499940db4 *src/rs03-verify.c
|
||||
1d2b071943c121bf0c47a2e047317262 *src/rs03-window.c
|
||||
a2e1e28a609af85d9b83f01339b33a62 *src/rs-decoder.c
|
||||
3882a92849cd23e64c81262be6e52650 *src/rs-encoder-altivec.c
|
||||
1fc6cad3af2461e7974bf49e8f1bf5e9 *src/rs-encoder.c
|
||||
f7f3e2708f0c389ed53c0f1083567a55 *src/rs-encoder-sse2.c
|
||||
2e099a3d88f25f81420b96fe9bd62f44 *src/scsi-freebsd.c
|
||||
cd58a45387267fe0728f439d7bb2045d *src/scsi-layer.c
|
||||
b1b6bd57433eedab3a4f35389a182d14 *src/scsi-linux.c
|
||||
7064327dc15a2d88e5375176d4c64132 *src/scsi-netbsd.c
|
||||
3c0e100cdd499b1c23ac5e12b1fd6694 *src/scsi-simulated.c
|
||||
be42d574e6340845d984c21dc902af1a *src/scsi-unknown.c
|
||||
85aa8093f41c36ce791363e94f488dec *src/show-manual.c
|
||||
6099911dd508701b0b8b5d09105faf95 *src/smart-lec.c
|
||||
10f3e2b054fe3c1ac69c738b97f1beaa *src/spiral.c
|
||||
dec5fbde631058d48866cc1d77446d37 *src/udf.c
|
||||
6741fc5457e9c2026451403f2d45096c *src/welcome-window.c
|
||||
BIN
icons/nothing.png
Normal file
BIN
icons/nothing.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 193 B |
BIN
icons/strip.png
Normal file
BIN
icons/strip.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 8.1 KiB |
BIN
icons/tooltip.png
Normal file
BIN
icons/tooltip.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 421 B |
3948
locale/cs.po
3948
locale/cs.po
File diff suppressed because it is too large
Load Diff
4076
locale/de.po
4076
locale/de.po
File diff suppressed because it is too large
Load Diff
3464
locale/it.po
3464
locale/it.po
File diff suppressed because it is too large
Load Diff
3745
locale/pt_BR.po
3745
locale/pt_BR.po
File diff suppressed because it is too large
Load Diff
3754
locale/ru.po
3754
locale/ru.po
File diff suppressed because it is too large
Load Diff
3714
locale/sv.po
3714
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
|
||||
@@ -30,16 +40,11 @@ fi
|
||||
|
||||
nbfailed=0
|
||||
|
||||
# Assemble sed expressions for removal of variable output contents
|
||||
|
||||
SED_REMOVE_ISO_DIR="([a-zA-Z]:/[a-zA-Z0-9/]+)?${ISODIR}/"
|
||||
|
||||
# For MSYS2
|
||||
|
||||
if [ -n "$ORIGINAL_TEMP" ]; then
|
||||
ISODIR="$ORIGINAL_TEMP"
|
||||
# /c/ => C:/
|
||||
SED_REMOVE_ISO_DIR="$(echo "$ISODIR" | cut -c2 | tr a-z A-Z):$(echo "$ISODIR" | cut -c3-)/"
|
||||
NON_EXISTENT_DEVICE=V:
|
||||
fi
|
||||
|
||||
@@ -196,7 +201,7 @@ function run_regtest()
|
||||
local testeccopt=""
|
||||
local image_md5=""
|
||||
local ecc_md5=""
|
||||
local pass="true"
|
||||
local pass="false"
|
||||
|
||||
local fail_on_bad=$(grep "FAIL_ON_BAD" $CONFIGFILE)
|
||||
fail_on_bad=$(echo $fail_on_bad | cut -d\ -f 2)
|
||||
@@ -206,6 +211,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}"
|
||||
@@ -214,66 +224,79 @@ function run_regtest()
|
||||
REFLOG=${DATABASE}/${CODEC_PREFIX}_${testsymbol}
|
||||
|
||||
if test "$gui_mode" == "false"; then
|
||||
rm -f $NEWLOG
|
||||
rm -f $NEWLOG
|
||||
|
||||
echo "LANG=en_EN.UTF-8 $NEWVER --regtest --no-progress -i${testiso} ${testeccopt} ${extra_args} ${testparms}" >>$LOGFILE
|
||||
LANG=en_EN.UTF-8 $NEWVER --regtest --no-progress -i${testiso} ${testeccopt} ${extra_args} ${testparms} 2>&1 | tail -n +3 >>$NEWLOG
|
||||
echo "LANG=en_EN.UTF-8 $NEWVER --regtest --no-progress -i${testiso} ${testeccopt} ${extra_args} ${testparms}" >>$LOGFILE
|
||||
LANG=en_EN.UTF-8 $NEWVER --regtest --no-progress -i${testiso} ${testeccopt} ${extra_args} ${testparms} 2>&1 | tail -n +4 >>$NEWLOG
|
||||
|
||||
if ! test -r $REFLOG; then
|
||||
echo -e "FAIL\n$REFLOG missing in log file database"
|
||||
return
|
||||
fi
|
||||
if ! test -r $REFLOG; then
|
||||
pass="false"
|
||||
if [ "$REGTEST_NO_UTF8" = 1 ]; then
|
||||
echo "BAD; '$REFLOG' is missing in log file database"
|
||||
else
|
||||
printf "%b\r%b\n" "BAD; '$REFLOG' is missing in log file database" "[\e[31m✘\e[0m]"
|
||||
fi
|
||||
else
|
||||
# ignore the memory tracker line when no memory leaks
|
||||
# have been found
|
||||
|
||||
# ignore the memory tracker line when no memory leaks
|
||||
# have been found
|
||||
|
||||
grep -va "dvdisaster: No memory leaks found." $NEWLOG >$TMPLOG
|
||||
mv $TMPLOG $NEWLOG
|
||||
|
||||
# ignore log lines specified by user
|
||||
|
||||
if test -n "$IGNORE_LOG_LINE"; then
|
||||
grep -Eva "$IGNORE_LOG_LINE" $NEWLOG >$TMPLOG
|
||||
mv $TMPLOG $NEWLOG
|
||||
fi
|
||||
grep -va "dvdisaster: No memory leaks found." $NEWLOG >$TMPLOG
|
||||
mv $TMPLOG $NEWLOG
|
||||
|
||||
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
|
||||
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=${SED_REMOVE_ISO_DIR}==g" $NEWLOG | $filter) >${DIFFLOG}; then
|
||||
if [ "$REGTEST_NO_UTF8" = 1 ]; then
|
||||
echo "BAD; diffs found (<expected; >created):"
|
||||
else
|
||||
printf "%b\r%b\n" "BAD; diffs found (<expected; >created):" "[\e[31m✘\e[0m]"
|
||||
fi
|
||||
cat ${DIFFLOG}
|
||||
# ignore log lines specified by user
|
||||
|
||||
if test "$interactive_diff" == "yes"; then
|
||||
while true; do
|
||||
read -n 1 -p ">> Press 'a' to accept this diff; 'v' to vimdiff; any other key to fail this test:" -e answer
|
||||
if test "$answer" == "a"; then
|
||||
cp $REFLOG $LOGDIR
|
||||
head -n 2 $LOGDIR/${CODEC_PREFIX}_${testsymbol} >$REFLOG
|
||||
sed -e "s=${SED_REMOVE_ISO_DIR}==g" $NEWLOG >>$REFLOG
|
||||
pass="skip"
|
||||
elif test "$answer" == "v"; then
|
||||
vimdiff $REFLOG $NEWLOG
|
||||
continue
|
||||
else
|
||||
pass="false"
|
||||
fi
|
||||
break
|
||||
done
|
||||
else
|
||||
pass="false"
|
||||
fi
|
||||
fi
|
||||
if test -n "$IGNORE_LOG_LINE"; then
|
||||
grep -Eva "$IGNORE_LOG_LINE" $NEWLOG >$TMPLOG
|
||||
mv $TMPLOG $NEWLOG
|
||||
fi
|
||||
|
||||
filter=cat
|
||||
echo "$options" | grep -qw SORTED && filter=sort
|
||||
|
||||
# for Windows
|
||||
if [[ $testsymbol =~ _no_device$ ]]; then
|
||||
sed -i -re "s=device $NON_EXISTENT_DEVICE\.=/dev/sdz: No such file or directory=" $NEWLOG
|
||||
fi
|
||||
|
||||
# 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
|
||||
printf "%b\r%b\n" "BAD; diffs found (<expected; >created):" "[\e[31m✘\e[0m]"
|
||||
fi
|
||||
cat ${DIFFLOG}
|
||||
|
||||
if test "$interactive_diff" == "yes"; then
|
||||
while true; do
|
||||
read -n 1 -p ">> Press 'a' to accept this diff; 'i' to ignore; 'v' to vimdiff; any other key to fail this test:" -e answer
|
||||
if test "$answer" == "a"; then
|
||||
cp $REFLOG $LOGDIR
|
||||
head -n 2 $LOGDIR/${CODEC_PREFIX}_${testsymbol} >$REFLOG
|
||||
cat $NEWLOG >>$REFLOG
|
||||
pass="skip"
|
||||
elif test "$answer" == "v"; then
|
||||
vimdiff $REFLOG $NEWLOG
|
||||
continue
|
||||
else
|
||||
if test "$answer" == "i"; then
|
||||
pass="skip"
|
||||
else
|
||||
pass="false"
|
||||
fi
|
||||
fi
|
||||
break
|
||||
done
|
||||
fi
|
||||
else
|
||||
pass="true"
|
||||
fi
|
||||
fi
|
||||
else # gui mode
|
||||
replace_config last-image "$testiso"
|
||||
if test -n "${testecc}"; then
|
||||
@@ -292,10 +315,15 @@ function run_regtest()
|
||||
|
||||
unset extra_args
|
||||
|
||||
image_md5=$(head -n 1 $REFLOG)
|
||||
ecc_md5=$(head -n 2 $REFLOG | tail -n 1)
|
||||
if test -r "$REFLOG"; then
|
||||
image_md5=$(head -n 1 $REFLOG)
|
||||
ecc_md5=$(head -n 2 $REFLOG | tail -n 1)
|
||||
else
|
||||
image_md5=ignore
|
||||
ecc_md5=ignore
|
||||
fi
|
||||
|
||||
if test ${image_md5} != "ignore"; then
|
||||
if test "${image_md5}" != "ignore"; then
|
||||
md5=$($MD5SUM ${testiso} | cut -d\ -f 1)
|
||||
if test "$image_md5" != "$md5"; then
|
||||
if [ "$REGTEST_NO_UTF8" = 1 ]; then
|
||||
@@ -309,7 +337,7 @@ function run_regtest()
|
||||
fi
|
||||
fi
|
||||
|
||||
if test ${ecc_md5} != "ignore"; then
|
||||
if test "${ecc_md5}" != "ignore"; then
|
||||
md5=$($MD5SUM ${testecc} | cut -d\ -f 1)
|
||||
if test "$ecc_md5" != "$md5"; then
|
||||
if [ "$pass" = false ] || [ "$REGTEST_NO_UTF8" = 1 ]; then
|
||||
@@ -340,7 +368,7 @@ function run_regtest()
|
||||
[ $nbfailed -ge 256 ] && nbfailed=255
|
||||
echo "test symbol for config: $testsymbol"
|
||||
if test "$fail_on_bad" == "yes"; then
|
||||
next=$(grep -A 1 ${CODEC_PREFIX}_$testsymbol config.txt | tail -n 1 | cut -d\ -f 1)
|
||||
next=$(grep -A 1 "${CODEC_PREFIX}_$testsymbol" config.txt | tail -n 1 | cut -d\ -f 1)
|
||||
echo "FAIL_ON_BAD set to yes -- exiting"
|
||||
if test "$gui_mode" == "true"; then
|
||||
guiarg="gui"
|
||||
|
||||
@@ -170,6 +170,11 @@ RS01_adaptive_medium_with_dsm yes
|
||||
|
||||
### RS02 tests
|
||||
|
||||
# Strip tests
|
||||
|
||||
RS02_strip_ecc yes
|
||||
RS02_strip_ecc_not yes
|
||||
|
||||
# Verify tests
|
||||
RS02_good yes
|
||||
RS02_good_quick yes
|
||||
@@ -227,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
|
||||
@@ -335,6 +340,11 @@ RS02_adaptive_with_wrong_rs03_file yes
|
||||
|
||||
### RS03 augmented image tests
|
||||
|
||||
# Strip tests
|
||||
|
||||
RS03i_strip_ecc yes
|
||||
RS03i_strip_ecc_not yes
|
||||
|
||||
# Verify tests
|
||||
|
||||
RS03i_good yes
|
||||
@@ -368,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
|
||||
|
||||
@@ -84,11 +84,79 @@ try_sector: trying sector 21000
|
||||
try_sector: read error, trying next header
|
||||
try_sector: trying sector 20850
|
||||
try_sector: no cookie, skipping current modulo
|
||||
RS02Recognize: skipping exhaustive RS02 search
|
||||
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
|
||||
Sector 16384 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 4096
|
||||
try_sector: trying sector 20480
|
||||
try_sector: no cookie, skipping current modulo
|
||||
FindHeaderInMedium: Trying modulo 2048
|
||||
Sector 20480 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 1024
|
||||
Sector 20480 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 512
|
||||
try_sector: trying sector 20992
|
||||
try_sector: no cookie, skipping current modulo
|
||||
...trying RS03
|
||||
RS03RecognizeImage: medium sim-cd
|
||||
FindRS03HeaderInImage: medium sim-cd
|
||||
RS03RecognizeImage: skipping exhaustive RS03 search
|
||||
RS03RecognizeImage: quick RS03 search, attempting up to 3 sector reads max
|
||||
.. trying layer size 1409
|
||||
Scanning layers for signatures.
|
||||
- layer slice 0
|
||||
** All layers tested -> no RS03 data found
|
||||
...no augmented image detected.
|
||||
# Calling query_size()
|
||||
# *** query_size(Simulated CD drive 1.00) ***
|
||||
|
||||
@@ -84,11 +84,79 @@ try_sector: trying sector 21000
|
||||
try_sector: read error, trying next header
|
||||
try_sector: trying sector 20850
|
||||
try_sector: no cookie, skipping current modulo
|
||||
RS02Recognize: skipping exhaustive RS02 search
|
||||
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
|
||||
Sector 16384 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 4096
|
||||
try_sector: trying sector 20480
|
||||
try_sector: no cookie, skipping current modulo
|
||||
FindHeaderInMedium: Trying modulo 2048
|
||||
Sector 20480 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 1024
|
||||
Sector 20480 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 512
|
||||
try_sector: trying sector 20992
|
||||
try_sector: no cookie, skipping current modulo
|
||||
...trying RS03
|
||||
RS03RecognizeImage: medium sim-cd
|
||||
FindRS03HeaderInImage: medium sim-cd
|
||||
RS03RecognizeImage: skipping exhaustive RS03 search
|
||||
RS03RecognizeImage: quick RS03 search, attempting up to 3 sector reads max
|
||||
.. trying layer size 1409
|
||||
Scanning layers for signatures.
|
||||
- layer slice 0
|
||||
** All layers tested -> no RS03 data found
|
||||
...no augmented image detected.
|
||||
# Calling query_size()
|
||||
# *** query_size(Simulated CD drive 1.00) ***
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -84,11 +84,79 @@ try_sector: trying sector 21000
|
||||
try_sector: read error, trying next header
|
||||
try_sector: trying sector 20850
|
||||
try_sector: read error, trying next header
|
||||
RS02Recognize: skipping exhaustive RS02 search
|
||||
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
|
||||
Sector 16384 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 4096
|
||||
try_sector: trying sector 20480
|
||||
try_sector: no cookie, skipping current modulo
|
||||
FindHeaderInMedium: Trying modulo 2048
|
||||
Sector 20480 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 1024
|
||||
Sector 20480 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 512
|
||||
try_sector: trying sector 20992
|
||||
try_sector: no cookie, skipping current modulo
|
||||
...trying RS03
|
||||
RS03RecognizeImage: medium sim-cd
|
||||
FindRS03HeaderInImage: medium sim-cd
|
||||
RS03RecognizeImage: skipping exhaustive RS03 search
|
||||
RS03RecognizeImage: quick RS03 search, attempting up to 3 sector reads max
|
||||
.. trying layer size 1409
|
||||
Scanning layers for signatures.
|
||||
- layer slice 0
|
||||
** All layers tested -> no RS03 data found
|
||||
...no augmented image detected.
|
||||
# Calling query_size()
|
||||
# *** query_size(Simulated CD drive 1.00) ***
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -84,11 +84,79 @@ try_sector: trying sector 21000
|
||||
try_sector: read error, trying next header
|
||||
try_sector: trying sector 20850
|
||||
try_sector: no cookie, skipping current modulo
|
||||
RS02Recognize: skipping exhaustive RS02 search
|
||||
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
|
||||
Sector 16384 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 4096
|
||||
try_sector: trying sector 20480
|
||||
try_sector: no cookie, skipping current modulo
|
||||
FindHeaderInMedium: Trying modulo 2048
|
||||
Sector 20480 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 1024
|
||||
Sector 20480 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 512
|
||||
try_sector: trying sector 20992
|
||||
try_sector: no cookie, skipping current modulo
|
||||
...trying RS03
|
||||
RS03RecognizeImage: medium sim-cd
|
||||
FindRS03HeaderInImage: medium sim-cd
|
||||
RS03RecognizeImage: skipping exhaustive RS03 search
|
||||
RS03RecognizeImage: quick RS03 search, attempting up to 3 sector reads max
|
||||
.. trying layer size 1409
|
||||
Scanning layers for signatures.
|
||||
- layer slice 0
|
||||
** All layers tested -> no RS03 data found
|
||||
...no augmented image detected.
|
||||
# Calling query_size()
|
||||
# *** query_size(Simulated CD drive 1.00) ***
|
||||
@@ -153,6 +221,7 @@ try_sector: trying sector 21000
|
||||
try_sector: read error, trying next header
|
||||
try_sector: trying sector 20850
|
||||
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
|
||||
|
||||
@@ -84,11 +84,79 @@ try_sector: trying sector 21000
|
||||
try_sector: read error, trying next header
|
||||
try_sector: trying sector 20850
|
||||
try_sector: no cookie, skipping current modulo
|
||||
RS02Recognize: skipping exhaustive RS02 search
|
||||
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
|
||||
Sector 16384 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 4096
|
||||
try_sector: trying sector 20480
|
||||
try_sector: no cookie, skipping current modulo
|
||||
FindHeaderInMedium: Trying modulo 2048
|
||||
Sector 20480 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 1024
|
||||
Sector 20480 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 512
|
||||
try_sector: trying sector 20992
|
||||
try_sector: no cookie, skipping current modulo
|
||||
...trying RS03
|
||||
RS03RecognizeImage: medium sim-cd
|
||||
FindRS03HeaderInImage: medium sim-cd
|
||||
RS03RecognizeImage: skipping exhaustive RS03 search
|
||||
RS03RecognizeImage: quick RS03 search, attempting up to 3 sector reads max
|
||||
.. trying layer size 1409
|
||||
Scanning layers for signatures.
|
||||
- layer slice 0
|
||||
** All layers tested -> no RS03 data found
|
||||
...no augmented image detected.
|
||||
# Calling query_size()
|
||||
# *** query_size(Simulated CD drive 1.00) ***
|
||||
@@ -154,6 +222,7 @@ try_sector: trying sector 21000
|
||||
try_sector: read error, trying next header
|
||||
try_sector: trying sector 20850
|
||||
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
|
||||
@@ -240,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
|
||||
|
||||
@@ -84,11 +84,79 @@ try_sector: trying sector 21000
|
||||
try_sector: read error, trying next header
|
||||
try_sector: trying sector 20850
|
||||
try_sector: no cookie, skipping current modulo
|
||||
RS02Recognize: skipping exhaustive RS02 search
|
||||
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
|
||||
Sector 16384 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 4096
|
||||
try_sector: trying sector 20480
|
||||
try_sector: no cookie, skipping current modulo
|
||||
FindHeaderInMedium: Trying modulo 2048
|
||||
Sector 20480 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 1024
|
||||
Sector 20480 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 512
|
||||
try_sector: trying sector 20992
|
||||
try_sector: no cookie, skipping current modulo
|
||||
...trying RS03
|
||||
RS03RecognizeImage: medium sim-cd
|
||||
FindRS03HeaderInImage: medium sim-cd
|
||||
RS03RecognizeImage: skipping exhaustive RS03 search
|
||||
RS03RecognizeImage: quick RS03 search, attempting up to 3 sector reads max
|
||||
.. trying layer size 1409
|
||||
Scanning layers for signatures.
|
||||
- layer slice 0
|
||||
** All layers tested -> no RS03 data found
|
||||
...no augmented image detected.
|
||||
# Calling query_size()
|
||||
# *** query_size(Simulated CD drive 1.00) ***
|
||||
@@ -156,6 +224,7 @@ try_sector: trying sector 21000
|
||||
try_sector: read error, trying next header
|
||||
try_sector: trying sector 20850
|
||||
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
|
||||
@@ -242,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
|
||||
|
||||
@@ -84,11 +84,79 @@ try_sector: trying sector 21000
|
||||
try_sector: read error, trying next header
|
||||
try_sector: trying sector 20850
|
||||
try_sector: no cookie, skipping current modulo
|
||||
RS02Recognize: skipping exhaustive RS02 search
|
||||
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
|
||||
Sector 16384 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 4096
|
||||
try_sector: trying sector 20480
|
||||
try_sector: no cookie, skipping current modulo
|
||||
FindHeaderInMedium: Trying modulo 2048
|
||||
Sector 20480 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 1024
|
||||
Sector 20480 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 512
|
||||
try_sector: trying sector 20992
|
||||
try_sector: no cookie, skipping current modulo
|
||||
...trying RS03
|
||||
RS03RecognizeImage: medium sim-cd
|
||||
FindRS03HeaderInImage: medium sim-cd
|
||||
RS03RecognizeImage: skipping exhaustive RS03 search
|
||||
RS03RecognizeImage: quick RS03 search, attempting up to 3 sector reads max
|
||||
.. trying layer size 1409
|
||||
Scanning layers for signatures.
|
||||
- layer slice 0
|
||||
** All layers tested -> no RS03 data found
|
||||
...no augmented image detected.
|
||||
# Calling query_size()
|
||||
# *** query_size(Simulated CD drive 1.00) ***
|
||||
@@ -170,6 +238,7 @@ try_sector: trying sector 21000
|
||||
try_sector: read error, trying next header
|
||||
try_sector: trying sector 20850
|
||||
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
|
||||
@@ -256,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
|
||||
|
||||
@@ -84,7 +84,67 @@ try_sector: trying sector 21000
|
||||
try_sector: no cookie, skipping current modulo
|
||||
try_sector: trying sector 20850
|
||||
try_sector: no cookie, skipping current modulo
|
||||
RS02Recognize: skipping exhaustive RS02 search
|
||||
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
|
||||
Sector 24576 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 2048
|
||||
try_sector: trying sector 26624
|
||||
try_sector: no cookie, skipping current modulo
|
||||
...trying RS03
|
||||
RS03RecognizeImage: medium sim-cd
|
||||
FindRS03HeaderInImage: medium sim-cd
|
||||
@@ -166,6 +226,7 @@ try_sector: trying sector 21000
|
||||
try_sector: no cookie, skipping current modulo
|
||||
try_sector: trying sector 20850
|
||||
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
|
||||
@@ -249,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.
|
||||
|
||||
@@ -84,11 +84,79 @@ try_sector: trying sector 21000
|
||||
try_sector: read error, trying next header
|
||||
try_sector: trying sector 20850
|
||||
try_sector: no cookie, skipping current modulo
|
||||
RS02Recognize: skipping exhaustive RS02 search
|
||||
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
|
||||
Sector 16384 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 4096
|
||||
try_sector: trying sector 20480
|
||||
try_sector: no cookie, skipping current modulo
|
||||
FindHeaderInMedium: Trying modulo 2048
|
||||
Sector 20480 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 1024
|
||||
Sector 20480 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 512
|
||||
try_sector: trying sector 20992
|
||||
try_sector: no cookie, skipping current modulo
|
||||
...trying RS03
|
||||
RS03RecognizeImage: medium sim-cd
|
||||
FindRS03HeaderInImage: medium sim-cd
|
||||
RS03RecognizeImage: skipping exhaustive RS03 search
|
||||
RS03RecognizeImage: quick RS03 search, attempting up to 3 sector reads max
|
||||
.. trying layer size 1409
|
||||
Scanning layers for signatures.
|
||||
- layer slice 0
|
||||
** All layers tested -> no RS03 data found
|
||||
...no augmented image detected.
|
||||
# Calling query_size()
|
||||
# *** query_size(Simulated CD drive 1.00) ***
|
||||
@@ -99,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):
|
||||
@@ -208,3 +174,4 @@ CrcBuf contents, image path none (medium):
|
||||
md5State: invalid
|
||||
fp sector: 16; 15c0fd35a0cfa0f83b9ccbd8604c2592
|
||||
missing crcs: 20997
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -84,11 +84,79 @@ try_sector: trying sector 21000
|
||||
try_sector: read error, trying next header
|
||||
try_sector: trying sector 20850
|
||||
try_sector: no cookie, skipping current modulo
|
||||
RS02Recognize: skipping exhaustive RS02 search
|
||||
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
|
||||
Sector 16384 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 4096
|
||||
try_sector: trying sector 20480
|
||||
try_sector: no cookie, skipping current modulo
|
||||
FindHeaderInMedium: Trying modulo 2048
|
||||
Sector 20480 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 1024
|
||||
Sector 20480 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 512
|
||||
try_sector: trying sector 20992
|
||||
try_sector: no cookie, skipping current modulo
|
||||
...trying RS03
|
||||
RS03RecognizeImage: medium sim-cd
|
||||
FindRS03HeaderInImage: medium sim-cd
|
||||
RS03RecognizeImage: skipping exhaustive RS03 search
|
||||
RS03RecognizeImage: quick RS03 search, attempting up to 3 sector reads max
|
||||
.. trying layer size 1409
|
||||
Scanning layers for signatures.
|
||||
- layer slice 0
|
||||
** All layers tested -> no RS03 data found
|
||||
...no augmented image detected.
|
||||
# Calling query_size()
|
||||
# *** query_size(Simulated CD drive 1.00) ***
|
||||
@@ -99,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):
|
||||
@@ -208,3 +174,4 @@ CrcBuf contents, image path none (medium):
|
||||
md5State: invalid
|
||||
fp sector: 16; 15c0fd35a0cfa0f83b9ccbd8604c2592
|
||||
missing crcs: 20997
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -84,11 +84,79 @@ try_sector: trying sector 21000
|
||||
try_sector: read error, trying next header
|
||||
try_sector: trying sector 20850
|
||||
try_sector: no cookie, skipping current modulo
|
||||
RS02Recognize: skipping exhaustive RS02 search
|
||||
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
|
||||
Sector 16384 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 4096
|
||||
try_sector: trying sector 20480
|
||||
try_sector: no cookie, skipping current modulo
|
||||
FindHeaderInMedium: Trying modulo 2048
|
||||
Sector 20480 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 1024
|
||||
Sector 20480 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 512
|
||||
try_sector: trying sector 20992
|
||||
try_sector: no cookie, skipping current modulo
|
||||
...trying RS03
|
||||
RS03RecognizeImage: medium sim-cd
|
||||
FindRS03HeaderInImage: medium sim-cd
|
||||
RS03RecognizeImage: skipping exhaustive RS03 search
|
||||
RS03RecognizeImage: quick RS03 search, attempting up to 3 sector reads max
|
||||
.. trying layer size 1409
|
||||
Scanning layers for signatures.
|
||||
- layer slice 0
|
||||
** All layers tested -> no RS03 data found
|
||||
...no augmented image detected.
|
||||
# Calling query_size()
|
||||
# *** query_size(Simulated CD drive 1.00) ***
|
||||
@@ -132,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
|
||||
@@ -140,3 +208,4 @@ CrcBuf contents, image path none (medium):
|
||||
full: 1c479ed0276128f79fd72f7b3d087441
|
||||
fp sector: 16; 15c0fd35a0cfa0f83b9ccbd8604c2592
|
||||
missing crcs: 0
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
Creating new rs01-tmp.iso image.
|
||||
Reading CRC information from ecc data (RS01) ... done.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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, 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.
|
||||
|
||||
Scanning medium for read errors.
|
||||
Reading CRC information from ecc data (RS01) ... done.
|
||||
|
||||
@@ -50,6 +50,7 @@ try_sector: trying sector 21000
|
||||
try_sector: read error, trying next header
|
||||
try_sector: trying sector 20850
|
||||
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
|
||||
|
||||
@@ -50,6 +50,7 @@ try_sector: trying sector 21000
|
||||
try_sector: read error, trying next header
|
||||
try_sector: trying sector 20850
|
||||
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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -50,6 +50,7 @@ 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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -84,11 +84,74 @@ 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: skipping exhaustive RS02 search
|
||||
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
|
||||
try_sector: trying sector 32768
|
||||
try_sector: read error, trying next header
|
||||
FindHeaderInMedium: Trying modulo 16384
|
||||
Sector 32768 cached; skipping
|
||||
try_sector: trying sector 16384
|
||||
try_sector: no cookie, skipping current modulo
|
||||
FindHeaderInMedium: Trying modulo 8192
|
||||
Sector 32768 cached; skipping
|
||||
try_sector: trying sector 24576
|
||||
try_sector: no cookie, skipping current modulo
|
||||
...trying RS03
|
||||
RS03RecognizeImage: medium sim-cd
|
||||
FindRS03HeaderInImage: medium sim-cd
|
||||
RS03RecognizeImage: skipping exhaustive RS03 search
|
||||
RS03RecognizeImage: quick RS03 search, attempting up to 3 sector reads max
|
||||
.. trying layer size 1409
|
||||
Scanning layers for signatures.
|
||||
- layer slice 0
|
||||
** All layers tested -> no RS03 data found
|
||||
...no augmented image detected.
|
||||
# Calling query_size()
|
||||
# *** query_size(Simulated CD drive 1.00) ***
|
||||
@@ -107,3 +170,4 @@ CrcBuf contents, image path none (medium):
|
||||
full: cbadac3ca7b6e9bccfc889b7eaded254
|
||||
fp sector: 16; abe80d3600553a8dce779713afd94f3c
|
||||
missing crcs: 0
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -84,6 +84,7 @@ 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
|
||||
Medium rewriteable: FALSE
|
||||
FindHeaderInMedium: Trying modulo 4611686018427387904
|
||||
FindHeaderInMedium: Trying modulo 2305843009213693952
|
||||
@@ -166,6 +167,334 @@ Reading CRC information from ecc data (RS02) ... RS02LayoutFromImage(): returnin
|
||||
done.
|
||||
Sector 30000, try 1: Medium Error; Unrecovered read error.
|
||||
Sector 30000: Medium Error; Unrecovered read error. Skipping 15 sectors.
|
||||
Current sector: 30001. This session: NewSectorsReadOK=30000, ReadErrors=1
|
||||
Current sector: 30002. This session: NewSectorsReadOK=30000, ReadErrors=2
|
||||
Current sector: 30003. This session: NewSectorsReadOK=30000, ReadErrors=3
|
||||
Current sector: 30004. This session: NewSectorsReadOK=30000, ReadErrors=4
|
||||
Current sector: 30005. This session: NewSectorsReadOK=30000, ReadErrors=5
|
||||
Current sector: 30006. This session: NewSectorsReadOK=30000, ReadErrors=6
|
||||
Current sector: 30007. This session: NewSectorsReadOK=30000, ReadErrors=7
|
||||
Current sector: 30008. This session: NewSectorsReadOK=30000, ReadErrors=8
|
||||
Current sector: 30009. This session: NewSectorsReadOK=30000, ReadErrors=9
|
||||
Current sector: 30010. This session: NewSectorsReadOK=30000, ReadErrors=10
|
||||
Current sector: 30011. This session: NewSectorsReadOK=30000, ReadErrors=11
|
||||
Current sector: 30012. This session: NewSectorsReadOK=30000, ReadErrors=12
|
||||
Current sector: 30013. This session: NewSectorsReadOK=30000, ReadErrors=13
|
||||
Current sector: 30014. This session: NewSectorsReadOK=30000, ReadErrors=14
|
||||
Current sector: 30015. This session: NewSectorsReadOK=30000, ReadErrors=15
|
||||
Current sector: 30016. This session: NewSectorsReadOK=30000, ReadErrors=16
|
||||
Current sector: 30016. This session: NewSectorsReadOK=30000, ReadErrors=16
|
||||
Current sector: 30032. This session: NewSectorsReadOK=30016, ReadErrors=16
|
||||
Current sector: 30048. This session: NewSectorsReadOK=30032, ReadErrors=16
|
||||
Current sector: 30064. This session: NewSectorsReadOK=30048, ReadErrors=16
|
||||
Current sector: 30080. This session: NewSectorsReadOK=30064, ReadErrors=16
|
||||
Current sector: 30096. This session: NewSectorsReadOK=30080, ReadErrors=16
|
||||
Current sector: 30112. This session: NewSectorsReadOK=30096, ReadErrors=16
|
||||
Current sector: 30128. This session: NewSectorsReadOK=30112, ReadErrors=16
|
||||
Current sector: 30144. This session: NewSectorsReadOK=30128, ReadErrors=16
|
||||
Current sector: 30160. This session: NewSectorsReadOK=30144, ReadErrors=16
|
||||
Current sector: 30176. This session: NewSectorsReadOK=30160, ReadErrors=16
|
||||
Current sector: 30192. This session: NewSectorsReadOK=30176, ReadErrors=16
|
||||
Current sector: 30208. This session: NewSectorsReadOK=30192, ReadErrors=16
|
||||
Current sector: 30224. This session: NewSectorsReadOK=30208, ReadErrors=16
|
||||
Current sector: 30240. This session: NewSectorsReadOK=30224, ReadErrors=16
|
||||
Current sector: 30256. This session: NewSectorsReadOK=30240, ReadErrors=16
|
||||
Current sector: 30272. This session: NewSectorsReadOK=30256, ReadErrors=16
|
||||
Current sector: 30288. This session: NewSectorsReadOK=30272, ReadErrors=16
|
||||
Current sector: 30304. This session: NewSectorsReadOK=30288, ReadErrors=16
|
||||
Current sector: 30320. This session: NewSectorsReadOK=30304, ReadErrors=16
|
||||
Current sector: 30336. This session: NewSectorsReadOK=30320, ReadErrors=16
|
||||
Current sector: 30352. This session: NewSectorsReadOK=30336, ReadErrors=16
|
||||
Current sector: 30368. This session: NewSectorsReadOK=30352, ReadErrors=16
|
||||
Current sector: 30384. This session: NewSectorsReadOK=30368, ReadErrors=16
|
||||
Current sector: 30400. This session: NewSectorsReadOK=30384, ReadErrors=16
|
||||
Current sector: 30416. This session: NewSectorsReadOK=30400, ReadErrors=16
|
||||
Current sector: 30432. This session: NewSectorsReadOK=30416, ReadErrors=16
|
||||
Current sector: 30448. This session: NewSectorsReadOK=30432, ReadErrors=16
|
||||
Current sector: 30464. This session: NewSectorsReadOK=30448, ReadErrors=16
|
||||
Current sector: 30480. This session: NewSectorsReadOK=30464, ReadErrors=16
|
||||
Current sector: 30496. This session: NewSectorsReadOK=30480, ReadErrors=16
|
||||
Current sector: 30512. This session: NewSectorsReadOK=30496, ReadErrors=16
|
||||
Current sector: 30528. This session: NewSectorsReadOK=30512, ReadErrors=16
|
||||
Current sector: 30544. This session: NewSectorsReadOK=30528, ReadErrors=16
|
||||
Current sector: 30560. This session: NewSectorsReadOK=30544, ReadErrors=16
|
||||
Current sector: 30576. This session: NewSectorsReadOK=30560, ReadErrors=16
|
||||
Current sector: 30592. This session: NewSectorsReadOK=30576, ReadErrors=16
|
||||
Current sector: 30608. This session: NewSectorsReadOK=30592, ReadErrors=16
|
||||
Current sector: 30624. This session: NewSectorsReadOK=30608, ReadErrors=16
|
||||
Current sector: 30640. This session: NewSectorsReadOK=30624, ReadErrors=16
|
||||
Current sector: 30656. This session: NewSectorsReadOK=30640, ReadErrors=16
|
||||
Current sector: 30672. This session: NewSectorsReadOK=30656, ReadErrors=16
|
||||
Current sector: 30688. This session: NewSectorsReadOK=30672, ReadErrors=16
|
||||
Current sector: 30704. This session: NewSectorsReadOK=30688, ReadErrors=16
|
||||
Current sector: 30720. This session: NewSectorsReadOK=30704, ReadErrors=16
|
||||
Current sector: 30736. This session: NewSectorsReadOK=30720, ReadErrors=16
|
||||
Current sector: 30752. This session: NewSectorsReadOK=30736, ReadErrors=16
|
||||
Current sector: 30768. This session: NewSectorsReadOK=30752, ReadErrors=16
|
||||
Current sector: 30784. This session: NewSectorsReadOK=30768, ReadErrors=16
|
||||
Current sector: 30800. This session: NewSectorsReadOK=30784, ReadErrors=16
|
||||
Current sector: 30816. This session: NewSectorsReadOK=30800, ReadErrors=16
|
||||
Current sector: 30832. This session: NewSectorsReadOK=30816, ReadErrors=16
|
||||
Current sector: 30848. This session: NewSectorsReadOK=30832, ReadErrors=16
|
||||
Current sector: 30864. This session: NewSectorsReadOK=30848, ReadErrors=16
|
||||
Current sector: 30880. This session: NewSectorsReadOK=30864, ReadErrors=16
|
||||
Current sector: 30896. This session: NewSectorsReadOK=30880, ReadErrors=16
|
||||
Current sector: 30912. This session: NewSectorsReadOK=30896, ReadErrors=16
|
||||
Current sector: 30928. This session: NewSectorsReadOK=30912, ReadErrors=16
|
||||
Current sector: 30944. This session: NewSectorsReadOK=30928, ReadErrors=16
|
||||
Current sector: 30960. This session: NewSectorsReadOK=30944, ReadErrors=16
|
||||
Current sector: 30976. This session: NewSectorsReadOK=30960, ReadErrors=16
|
||||
Current sector: 30992. This session: NewSectorsReadOK=30976, ReadErrors=16
|
||||
Current sector: 31008. This session: NewSectorsReadOK=30992, ReadErrors=16
|
||||
Current sector: 31024. This session: NewSectorsReadOK=31008, ReadErrors=16
|
||||
Current sector: 31040. This session: NewSectorsReadOK=31024, ReadErrors=16
|
||||
Current sector: 31056. This session: NewSectorsReadOK=31040, ReadErrors=16
|
||||
Current sector: 31072. This session: NewSectorsReadOK=31056, ReadErrors=16
|
||||
Current sector: 31088. This session: NewSectorsReadOK=31072, ReadErrors=16
|
||||
Current sector: 31104. This session: NewSectorsReadOK=31088, ReadErrors=16
|
||||
Current sector: 31120. This session: NewSectorsReadOK=31104, ReadErrors=16
|
||||
Current sector: 31136. This session: NewSectorsReadOK=31120, ReadErrors=16
|
||||
Current sector: 31152. This session: NewSectorsReadOK=31136, ReadErrors=16
|
||||
Current sector: 31168. This session: NewSectorsReadOK=31152, ReadErrors=16
|
||||
Current sector: 31184. This session: NewSectorsReadOK=31168, ReadErrors=16
|
||||
Current sector: 31200. This session: NewSectorsReadOK=31184, ReadErrors=16
|
||||
Current sector: 31216. This session: NewSectorsReadOK=31200, ReadErrors=16
|
||||
Current sector: 31232. This session: NewSectorsReadOK=31216, ReadErrors=16
|
||||
Current sector: 31248. This session: NewSectorsReadOK=31232, ReadErrors=16
|
||||
Current sector: 31264. This session: NewSectorsReadOK=31248, ReadErrors=16
|
||||
Current sector: 31280. This session: NewSectorsReadOK=31264, ReadErrors=16
|
||||
Current sector: 31296. This session: NewSectorsReadOK=31280, ReadErrors=16
|
||||
Current sector: 31312. This session: NewSectorsReadOK=31296, ReadErrors=16
|
||||
Current sector: 31328. This session: NewSectorsReadOK=31312, ReadErrors=16
|
||||
Current sector: 31344. This session: NewSectorsReadOK=31328, ReadErrors=16
|
||||
Current sector: 31360. This session: NewSectorsReadOK=31344, ReadErrors=16
|
||||
Current sector: 31376. This session: NewSectorsReadOK=31360, ReadErrors=16
|
||||
Current sector: 31392. This session: NewSectorsReadOK=31376, ReadErrors=16
|
||||
Current sector: 31408. This session: NewSectorsReadOK=31392, ReadErrors=16
|
||||
Current sector: 31424. This session: NewSectorsReadOK=31408, ReadErrors=16
|
||||
Current sector: 31440. This session: NewSectorsReadOK=31424, ReadErrors=16
|
||||
Current sector: 31456. This session: NewSectorsReadOK=31440, ReadErrors=16
|
||||
Current sector: 31472. This session: NewSectorsReadOK=31456, ReadErrors=16
|
||||
Current sector: 31488. This session: NewSectorsReadOK=31472, ReadErrors=16
|
||||
Current sector: 31504. This session: NewSectorsReadOK=31488, ReadErrors=16
|
||||
Current sector: 31520. This session: NewSectorsReadOK=31504, ReadErrors=16
|
||||
Current sector: 31536. This session: NewSectorsReadOK=31520, ReadErrors=16
|
||||
Current sector: 31552. This session: NewSectorsReadOK=31536, ReadErrors=16
|
||||
Current sector: 31568. This session: NewSectorsReadOK=31552, ReadErrors=16
|
||||
Current sector: 31584. This session: NewSectorsReadOK=31568, ReadErrors=16
|
||||
Current sector: 31600. This session: NewSectorsReadOK=31584, ReadErrors=16
|
||||
Current sector: 31616. This session: NewSectorsReadOK=31600, ReadErrors=16
|
||||
Current sector: 31632. This session: NewSectorsReadOK=31616, ReadErrors=16
|
||||
Current sector: 31648. This session: NewSectorsReadOK=31632, ReadErrors=16
|
||||
Current sector: 31664. This session: NewSectorsReadOK=31648, ReadErrors=16
|
||||
Current sector: 31680. This session: NewSectorsReadOK=31664, ReadErrors=16
|
||||
Current sector: 31696. This session: NewSectorsReadOK=31680, ReadErrors=16
|
||||
Current sector: 31712. This session: NewSectorsReadOK=31696, ReadErrors=16
|
||||
Current sector: 31728. This session: NewSectorsReadOK=31712, ReadErrors=16
|
||||
Current sector: 31744. This session: NewSectorsReadOK=31728, ReadErrors=16
|
||||
Current sector: 31760. This session: NewSectorsReadOK=31744, ReadErrors=16
|
||||
Current sector: 31776. This session: NewSectorsReadOK=31760, ReadErrors=16
|
||||
Current sector: 31792. This session: NewSectorsReadOK=31776, ReadErrors=16
|
||||
Current sector: 31808. This session: NewSectorsReadOK=31792, ReadErrors=16
|
||||
Current sector: 31824. This session: NewSectorsReadOK=31808, ReadErrors=16
|
||||
Current sector: 31840. This session: NewSectorsReadOK=31824, ReadErrors=16
|
||||
Current sector: 31856. This session: NewSectorsReadOK=31840, ReadErrors=16
|
||||
Current sector: 31872. This session: NewSectorsReadOK=31856, ReadErrors=16
|
||||
Current sector: 31888. This session: NewSectorsReadOK=31872, ReadErrors=16
|
||||
Current sector: 31904. This session: NewSectorsReadOK=31888, ReadErrors=16
|
||||
Current sector: 31920. This session: NewSectorsReadOK=31904, ReadErrors=16
|
||||
Current sector: 31936. This session: NewSectorsReadOK=31920, ReadErrors=16
|
||||
Current sector: 31952. This session: NewSectorsReadOK=31936, ReadErrors=16
|
||||
Current sector: 31968. This session: NewSectorsReadOK=31952, ReadErrors=16
|
||||
Current sector: 31984. This session: NewSectorsReadOK=31968, ReadErrors=16
|
||||
Current sector: 32000. This session: NewSectorsReadOK=31984, ReadErrors=16
|
||||
Current sector: 32016. This session: NewSectorsReadOK=32000, ReadErrors=16
|
||||
Current sector: 32032. This session: NewSectorsReadOK=32016, ReadErrors=16
|
||||
Current sector: 32048. This session: NewSectorsReadOK=32032, ReadErrors=16
|
||||
Current sector: 32064. This session: NewSectorsReadOK=32048, ReadErrors=16
|
||||
Current sector: 32080. This session: NewSectorsReadOK=32064, ReadErrors=16
|
||||
Current sector: 32096. This session: NewSectorsReadOK=32080, ReadErrors=16
|
||||
Current sector: 32112. This session: NewSectorsReadOK=32096, ReadErrors=16
|
||||
Current sector: 32128. This session: NewSectorsReadOK=32112, ReadErrors=16
|
||||
Current sector: 32144. This session: NewSectorsReadOK=32128, ReadErrors=16
|
||||
Current sector: 32160. This session: NewSectorsReadOK=32144, ReadErrors=16
|
||||
Current sector: 32176. This session: NewSectorsReadOK=32160, ReadErrors=16
|
||||
Current sector: 32192. This session: NewSectorsReadOK=32176, ReadErrors=16
|
||||
Current sector: 32208. This session: NewSectorsReadOK=32192, ReadErrors=16
|
||||
Current sector: 32224. This session: NewSectorsReadOK=32208, ReadErrors=16
|
||||
Current sector: 32240. This session: NewSectorsReadOK=32224, ReadErrors=16
|
||||
Current sector: 32256. This session: NewSectorsReadOK=32240, ReadErrors=16
|
||||
Current sector: 32272. This session: NewSectorsReadOK=32256, ReadErrors=16
|
||||
Current sector: 32288. This session: NewSectorsReadOK=32272, ReadErrors=16
|
||||
Current sector: 32304. This session: NewSectorsReadOK=32288, ReadErrors=16
|
||||
Current sector: 32320. This session: NewSectorsReadOK=32304, ReadErrors=16
|
||||
Current sector: 32336. This session: NewSectorsReadOK=32320, ReadErrors=16
|
||||
Current sector: 32352. This session: NewSectorsReadOK=32336, ReadErrors=16
|
||||
Current sector: 32368. This session: NewSectorsReadOK=32352, ReadErrors=16
|
||||
Current sector: 32384. This session: NewSectorsReadOK=32368, ReadErrors=16
|
||||
Current sector: 32400. This session: NewSectorsReadOK=32384, ReadErrors=16
|
||||
Current sector: 32416. This session: NewSectorsReadOK=32400, ReadErrors=16
|
||||
Current sector: 32432. This session: NewSectorsReadOK=32416, ReadErrors=16
|
||||
Current sector: 32448. This session: NewSectorsReadOK=32432, ReadErrors=16
|
||||
Current sector: 32464. This session: NewSectorsReadOK=32448, ReadErrors=16
|
||||
Current sector: 32480. This session: NewSectorsReadOK=32464, ReadErrors=16
|
||||
Current sector: 32496. This session: NewSectorsReadOK=32480, ReadErrors=16
|
||||
Current sector: 32512. This session: NewSectorsReadOK=32496, ReadErrors=16
|
||||
Current sector: 32528. This session: NewSectorsReadOK=32512, ReadErrors=16
|
||||
Current sector: 32544. This session: NewSectorsReadOK=32528, ReadErrors=16
|
||||
Current sector: 32560. This session: NewSectorsReadOK=32544, ReadErrors=16
|
||||
Current sector: 32576. This session: NewSectorsReadOK=32560, ReadErrors=16
|
||||
Current sector: 32592. This session: NewSectorsReadOK=32576, ReadErrors=16
|
||||
Current sector: 32608. This session: NewSectorsReadOK=32592, ReadErrors=16
|
||||
Current sector: 32624. This session: NewSectorsReadOK=32608, ReadErrors=16
|
||||
Current sector: 32640. This session: NewSectorsReadOK=32624, ReadErrors=16
|
||||
Current sector: 32656. This session: NewSectorsReadOK=32640, ReadErrors=16
|
||||
Current sector: 32672. This session: NewSectorsReadOK=32656, ReadErrors=16
|
||||
Current sector: 32688. This session: NewSectorsReadOK=32672, ReadErrors=16
|
||||
Current sector: 32704. This session: NewSectorsReadOK=32688, ReadErrors=16
|
||||
Current sector: 32720. This session: NewSectorsReadOK=32704, ReadErrors=16
|
||||
Current sector: 32736. This session: NewSectorsReadOK=32720, ReadErrors=16
|
||||
Current sector: 32752. This session: NewSectorsReadOK=32736, ReadErrors=16
|
||||
Current sector: 32768. This session: NewSectorsReadOK=32752, ReadErrors=16
|
||||
Current sector: 32784. This session: NewSectorsReadOK=32768, ReadErrors=16
|
||||
Current sector: 32800. This session: NewSectorsReadOK=32784, ReadErrors=16
|
||||
Current sector: 32816. This session: NewSectorsReadOK=32800, ReadErrors=16
|
||||
Current sector: 32832. This session: NewSectorsReadOK=32816, ReadErrors=16
|
||||
Current sector: 32848. This session: NewSectorsReadOK=32832, ReadErrors=16
|
||||
Current sector: 32864. This session: NewSectorsReadOK=32848, ReadErrors=16
|
||||
Current sector: 32880. This session: NewSectorsReadOK=32864, ReadErrors=16
|
||||
Current sector: 32896. This session: NewSectorsReadOK=32880, ReadErrors=16
|
||||
Current sector: 32912. This session: NewSectorsReadOK=32896, ReadErrors=16
|
||||
Current sector: 32928. This session: NewSectorsReadOK=32912, ReadErrors=16
|
||||
Current sector: 32944. This session: NewSectorsReadOK=32928, ReadErrors=16
|
||||
Current sector: 32960. This session: NewSectorsReadOK=32944, ReadErrors=16
|
||||
Current sector: 32976. This session: NewSectorsReadOK=32960, ReadErrors=16
|
||||
Current sector: 32992. This session: NewSectorsReadOK=32976, ReadErrors=16
|
||||
Current sector: 33008. This session: NewSectorsReadOK=32992, ReadErrors=16
|
||||
Current sector: 33024. This session: NewSectorsReadOK=33008, ReadErrors=16
|
||||
Current sector: 33040. This session: NewSectorsReadOK=33024, ReadErrors=16
|
||||
Current sector: 33056. This session: NewSectorsReadOK=33040, ReadErrors=16
|
||||
Current sector: 33072. This session: NewSectorsReadOK=33056, ReadErrors=16
|
||||
Current sector: 33088. This session: NewSectorsReadOK=33072, ReadErrors=16
|
||||
Current sector: 33104. This session: NewSectorsReadOK=33088, ReadErrors=16
|
||||
Current sector: 33120. This session: NewSectorsReadOK=33104, ReadErrors=16
|
||||
Current sector: 33136. This session: NewSectorsReadOK=33120, ReadErrors=16
|
||||
Current sector: 33152. This session: NewSectorsReadOK=33136, ReadErrors=16
|
||||
Current sector: 33168. This session: NewSectorsReadOK=33152, ReadErrors=16
|
||||
Current sector: 33184. This session: NewSectorsReadOK=33168, ReadErrors=16
|
||||
Current sector: 33200. This session: NewSectorsReadOK=33184, ReadErrors=16
|
||||
Current sector: 33216. This session: NewSectorsReadOK=33200, ReadErrors=16
|
||||
Current sector: 33232. This session: NewSectorsReadOK=33216, ReadErrors=16
|
||||
Current sector: 33248. This session: NewSectorsReadOK=33232, ReadErrors=16
|
||||
Current sector: 33264. This session: NewSectorsReadOK=33248, ReadErrors=16
|
||||
Current sector: 33280. This session: NewSectorsReadOK=33264, ReadErrors=16
|
||||
Current sector: 33296. This session: NewSectorsReadOK=33280, ReadErrors=16
|
||||
Current sector: 33312. This session: NewSectorsReadOK=33296, ReadErrors=16
|
||||
Current sector: 33328. This session: NewSectorsReadOK=33312, ReadErrors=16
|
||||
Current sector: 33344. This session: NewSectorsReadOK=33328, ReadErrors=16
|
||||
Current sector: 33360. This session: NewSectorsReadOK=33344, ReadErrors=16
|
||||
Current sector: 33376. This session: NewSectorsReadOK=33360, ReadErrors=16
|
||||
Current sector: 33392. This session: NewSectorsReadOK=33376, ReadErrors=16
|
||||
Current sector: 33408. This session: NewSectorsReadOK=33392, ReadErrors=16
|
||||
Current sector: 33424. This session: NewSectorsReadOK=33408, ReadErrors=16
|
||||
Current sector: 33440. This session: NewSectorsReadOK=33424, ReadErrors=16
|
||||
Current sector: 33456. This session: NewSectorsReadOK=33440, ReadErrors=16
|
||||
Current sector: 33472. This session: NewSectorsReadOK=33456, ReadErrors=16
|
||||
Current sector: 33488. This session: NewSectorsReadOK=33472, ReadErrors=16
|
||||
Current sector: 33504. This session: NewSectorsReadOK=33488, ReadErrors=16
|
||||
Current sector: 33520. This session: NewSectorsReadOK=33504, ReadErrors=16
|
||||
Current sector: 33536. This session: NewSectorsReadOK=33520, ReadErrors=16
|
||||
Current sector: 33552. This session: NewSectorsReadOK=33536, ReadErrors=16
|
||||
Current sector: 33568. This session: NewSectorsReadOK=33552, ReadErrors=16
|
||||
Current sector: 33584. This session: NewSectorsReadOK=33568, ReadErrors=16
|
||||
Current sector: 33600. This session: NewSectorsReadOK=33584, ReadErrors=16
|
||||
Current sector: 33616. This session: NewSectorsReadOK=33600, ReadErrors=16
|
||||
Current sector: 33632. This session: NewSectorsReadOK=33616, ReadErrors=16
|
||||
Current sector: 33648. This session: NewSectorsReadOK=33632, ReadErrors=16
|
||||
Current sector: 33664. This session: NewSectorsReadOK=33648, ReadErrors=16
|
||||
Current sector: 33680. This session: NewSectorsReadOK=33664, ReadErrors=16
|
||||
Current sector: 33696. This session: NewSectorsReadOK=33680, ReadErrors=16
|
||||
Current sector: 33712. This session: NewSectorsReadOK=33696, ReadErrors=16
|
||||
Current sector: 33728. This session: NewSectorsReadOK=33712, ReadErrors=16
|
||||
Current sector: 33744. This session: NewSectorsReadOK=33728, ReadErrors=16
|
||||
Current sector: 33760. This session: NewSectorsReadOK=33744, ReadErrors=16
|
||||
Current sector: 33776. This session: NewSectorsReadOK=33760, ReadErrors=16
|
||||
Current sector: 33792. This session: NewSectorsReadOK=33776, ReadErrors=16
|
||||
Current sector: 33808. This session: NewSectorsReadOK=33792, ReadErrors=16
|
||||
Current sector: 33824. This session: NewSectorsReadOK=33808, ReadErrors=16
|
||||
Current sector: 33840. This session: NewSectorsReadOK=33824, ReadErrors=16
|
||||
Current sector: 33856. This session: NewSectorsReadOK=33840, ReadErrors=16
|
||||
Current sector: 33872. This session: NewSectorsReadOK=33856, ReadErrors=16
|
||||
Current sector: 33888. This session: NewSectorsReadOK=33872, ReadErrors=16
|
||||
Current sector: 33904. This session: NewSectorsReadOK=33888, ReadErrors=16
|
||||
Current sector: 33920. This session: NewSectorsReadOK=33904, ReadErrors=16
|
||||
Current sector: 33936. This session: NewSectorsReadOK=33920, ReadErrors=16
|
||||
Current sector: 33952. This session: NewSectorsReadOK=33936, ReadErrors=16
|
||||
Current sector: 33968. This session: NewSectorsReadOK=33952, ReadErrors=16
|
||||
Current sector: 33984. This session: NewSectorsReadOK=33968, ReadErrors=16
|
||||
Current sector: 34000. This session: NewSectorsReadOK=33984, ReadErrors=16
|
||||
Current sector: 34016. This session: NewSectorsReadOK=34000, ReadErrors=16
|
||||
Current sector: 34032. This session: NewSectorsReadOK=34016, ReadErrors=16
|
||||
Current sector: 34048. This session: NewSectorsReadOK=34032, ReadErrors=16
|
||||
Current sector: 34064. This session: NewSectorsReadOK=34048, ReadErrors=16
|
||||
Current sector: 34080. This session: NewSectorsReadOK=34064, ReadErrors=16
|
||||
Current sector: 34096. This session: NewSectorsReadOK=34080, ReadErrors=16
|
||||
Current sector: 34112. This session: NewSectorsReadOK=34096, ReadErrors=16
|
||||
Current sector: 34128. This session: NewSectorsReadOK=34112, ReadErrors=16
|
||||
Current sector: 34144. This session: NewSectorsReadOK=34128, ReadErrors=16
|
||||
Current sector: 34160. This session: NewSectorsReadOK=34144, ReadErrors=16
|
||||
Current sector: 34176. This session: NewSectorsReadOK=34160, ReadErrors=16
|
||||
Current sector: 34192. This session: NewSectorsReadOK=34176, ReadErrors=16
|
||||
Current sector: 34208. This session: NewSectorsReadOK=34192, ReadErrors=16
|
||||
Current sector: 34224. This session: NewSectorsReadOK=34208, ReadErrors=16
|
||||
Current sector: 34240. This session: NewSectorsReadOK=34224, ReadErrors=16
|
||||
Current sector: 34256. This session: NewSectorsReadOK=34240, ReadErrors=16
|
||||
Current sector: 34272. This session: NewSectorsReadOK=34256, ReadErrors=16
|
||||
Current sector: 34288. This session: NewSectorsReadOK=34272, ReadErrors=16
|
||||
Current sector: 34304. This session: NewSectorsReadOK=34288, ReadErrors=16
|
||||
Current sector: 34320. This session: NewSectorsReadOK=34304, ReadErrors=16
|
||||
Current sector: 34336. This session: NewSectorsReadOK=34320, ReadErrors=16
|
||||
Current sector: 34352. This session: NewSectorsReadOK=34336, ReadErrors=16
|
||||
Current sector: 34368. This session: NewSectorsReadOK=34352, ReadErrors=16
|
||||
Current sector: 34384. This session: NewSectorsReadOK=34368, ReadErrors=16
|
||||
Current sector: 34400. This session: NewSectorsReadOK=34384, ReadErrors=16
|
||||
Current sector: 34416. This session: NewSectorsReadOK=34400, ReadErrors=16
|
||||
Current sector: 34432. This session: NewSectorsReadOK=34416, ReadErrors=16
|
||||
Current sector: 34448. This session: NewSectorsReadOK=34432, ReadErrors=16
|
||||
Current sector: 34464. This session: NewSectorsReadOK=34448, ReadErrors=16
|
||||
Current sector: 34480. This session: NewSectorsReadOK=34464, ReadErrors=16
|
||||
Current sector: 34496. This session: NewSectorsReadOK=34480, ReadErrors=16
|
||||
Current sector: 34512. This session: NewSectorsReadOK=34496, ReadErrors=16
|
||||
Current sector: 34528. This session: NewSectorsReadOK=34512, ReadErrors=16
|
||||
Current sector: 34544. This session: NewSectorsReadOK=34528, ReadErrors=16
|
||||
Current sector: 34560. This session: NewSectorsReadOK=34544, ReadErrors=16
|
||||
Current sector: 34576. This session: NewSectorsReadOK=34560, ReadErrors=16
|
||||
Current sector: 34592. This session: NewSectorsReadOK=34576, ReadErrors=16
|
||||
Current sector: 34608. This session: NewSectorsReadOK=34592, ReadErrors=16
|
||||
Current sector: 34624. This session: NewSectorsReadOK=34608, ReadErrors=16
|
||||
Current sector: 34640. This session: NewSectorsReadOK=34624, ReadErrors=16
|
||||
Current sector: 34656. This session: NewSectorsReadOK=34640, ReadErrors=16
|
||||
Current sector: 34672. This session: NewSectorsReadOK=34656, ReadErrors=16
|
||||
Current sector: 34688. This session: NewSectorsReadOK=34672, ReadErrors=16
|
||||
Current sector: 34704. This session: NewSectorsReadOK=34688, ReadErrors=16
|
||||
Current sector: 34720. This session: NewSectorsReadOK=34704, ReadErrors=16
|
||||
Current sector: 34736. This session: NewSectorsReadOK=34720, ReadErrors=16
|
||||
Current sector: 34752. This session: NewSectorsReadOK=34736, ReadErrors=16
|
||||
Current sector: 34768. This session: NewSectorsReadOK=34752, ReadErrors=16
|
||||
Current sector: 34784. This session: NewSectorsReadOK=34768, ReadErrors=16
|
||||
Current sector: 34800. This session: NewSectorsReadOK=34784, ReadErrors=16
|
||||
Current sector: 34816. This session: NewSectorsReadOK=34800, ReadErrors=16
|
||||
Current sector: 34832. This session: NewSectorsReadOK=34816, ReadErrors=16
|
||||
Current sector: 34848. This session: NewSectorsReadOK=34832, ReadErrors=16
|
||||
Current sector: 34864. This session: NewSectorsReadOK=34848, ReadErrors=16
|
||||
Current sector: 34880. This session: NewSectorsReadOK=34864, ReadErrors=16
|
||||
Current sector: 34896. This session: NewSectorsReadOK=34880, ReadErrors=16
|
||||
Current sector: 34912. This session: NewSectorsReadOK=34896, ReadErrors=16
|
||||
Current sector: 34928. This session: NewSectorsReadOK=34912, ReadErrors=16
|
||||
Current sector: 34929. This session: NewSectorsReadOK=34913, ReadErrors=16
|
||||
Current sector: 34930. This session: NewSectorsReadOK=34914, ReadErrors=16
|
||||
Current sector: 34931. This session: NewSectorsReadOK=34915, ReadErrors=16
|
||||
Current sector: 34932. This session: NewSectorsReadOK=34916, ReadErrors=16
|
||||
|
||||
16 unreadable sectors.
|
||||
CrcBuf contents, image path none (medium):
|
||||
@@ -173,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
|
||||
|
||||
@@ -11,7 +11,7 @@ Medium "Random Image": CD-R mode 1, 34932 sectors, Ecc, created 16-07-2006.
|
||||
|
||||
* Warning: This image requires dvdisaster-99.99!
|
||||
* Proceeding could trigger incorrect behaviour.
|
||||
* Please visit http://www.dvdisaster.org for an upgrade.
|
||||
* Please upgrade dvdisaster.
|
||||
|
||||
Creating new rs02-tmp.iso image.
|
||||
Reading CRC information from ecc data (RS02) ... done.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -116,34 +116,177 @@ Reading CRC information from ecc data (RS02) ... RS02LayoutFromImage(): returnin
|
||||
done.
|
||||
Sector 357520, try 1: Illegal Request; Logical block address out of range.
|
||||
Sector 357520: Illegal Request; Logical block address out of range. Skipping 15 sectors.
|
||||
Current sector: 357521. This session: NewSectorsReadOK=357520, ReadErrors=1
|
||||
Current sector: 357522. This session: NewSectorsReadOK=357520, ReadErrors=2
|
||||
Current sector: 357523. This session: NewSectorsReadOK=357520, ReadErrors=3
|
||||
Current sector: 357524. This session: NewSectorsReadOK=357520, ReadErrors=4
|
||||
Current sector: 357525. This session: NewSectorsReadOK=357520, ReadErrors=5
|
||||
Current sector: 357526. This session: NewSectorsReadOK=357520, ReadErrors=6
|
||||
Current sector: 357527. This session: NewSectorsReadOK=357520, ReadErrors=7
|
||||
Current sector: 357528. This session: NewSectorsReadOK=357520, ReadErrors=8
|
||||
Current sector: 357529. This session: NewSectorsReadOK=357520, ReadErrors=9
|
||||
Current sector: 357530. This session: NewSectorsReadOK=357520, ReadErrors=10
|
||||
Current sector: 357531. This session: NewSectorsReadOK=357520, ReadErrors=11
|
||||
Current sector: 357532. This session: NewSectorsReadOK=357520, ReadErrors=12
|
||||
Current sector: 357533. This session: NewSectorsReadOK=357520, ReadErrors=13
|
||||
Current sector: 357534. This session: NewSectorsReadOK=357520, ReadErrors=14
|
||||
Current sector: 357535. This session: NewSectorsReadOK=357520, ReadErrors=15
|
||||
Current sector: 357536. This session: NewSectorsReadOK=357520, ReadErrors=16
|
||||
Current sector: 357536. This session: NewSectorsReadOK=357520, ReadErrors=16
|
||||
Sector 357536, try 1: Illegal Request; Logical block address out of range.
|
||||
Sector 357536: Illegal Request; Logical block address out of range. Skipping 15 sectors.
|
||||
Current sector: 357537. This session: NewSectorsReadOK=357520, ReadErrors=17
|
||||
Current sector: 357538. This session: NewSectorsReadOK=357520, ReadErrors=18
|
||||
Current sector: 357539. This session: NewSectorsReadOK=357520, ReadErrors=19
|
||||
Current sector: 357540. This session: NewSectorsReadOK=357520, ReadErrors=20
|
||||
Current sector: 357541. This session: NewSectorsReadOK=357520, ReadErrors=21
|
||||
Current sector: 357542. This session: NewSectorsReadOK=357520, ReadErrors=22
|
||||
Current sector: 357543. This session: NewSectorsReadOK=357520, ReadErrors=23
|
||||
Current sector: 357544. This session: NewSectorsReadOK=357520, ReadErrors=24
|
||||
Current sector: 357545. This session: NewSectorsReadOK=357520, ReadErrors=25
|
||||
Current sector: 357546. This session: NewSectorsReadOK=357520, ReadErrors=26
|
||||
Current sector: 357547. This session: NewSectorsReadOK=357520, ReadErrors=27
|
||||
Current sector: 357548. This session: NewSectorsReadOK=357520, ReadErrors=28
|
||||
Current sector: 357549. This session: NewSectorsReadOK=357520, ReadErrors=29
|
||||
Current sector: 357550. This session: NewSectorsReadOK=357520, ReadErrors=30
|
||||
Current sector: 357551. This session: NewSectorsReadOK=357520, ReadErrors=31
|
||||
Current sector: 357552. This session: NewSectorsReadOK=357520, ReadErrors=32
|
||||
Current sector: 357552. This session: NewSectorsReadOK=357520, ReadErrors=32
|
||||
Sector 357552, try 1: Illegal Request; Logical block address out of range.
|
||||
Sector 357552: Illegal Request; Logical block address out of range. Skipping 15 sectors.
|
||||
Current sector: 357553. This session: NewSectorsReadOK=357520, ReadErrors=33
|
||||
Current sector: 357554. This session: NewSectorsReadOK=357520, ReadErrors=34
|
||||
Current sector: 357555. This session: NewSectorsReadOK=357520, ReadErrors=35
|
||||
Current sector: 357556. This session: NewSectorsReadOK=357520, ReadErrors=36
|
||||
Current sector: 357557. This session: NewSectorsReadOK=357520, ReadErrors=37
|
||||
Current sector: 357558. This session: NewSectorsReadOK=357520, ReadErrors=38
|
||||
Current sector: 357559. This session: NewSectorsReadOK=357520, ReadErrors=39
|
||||
Current sector: 357560. This session: NewSectorsReadOK=357520, ReadErrors=40
|
||||
Current sector: 357561. This session: NewSectorsReadOK=357520, ReadErrors=41
|
||||
Current sector: 357562. This session: NewSectorsReadOK=357520, ReadErrors=42
|
||||
Current sector: 357563. This session: NewSectorsReadOK=357520, ReadErrors=43
|
||||
Current sector: 357564. This session: NewSectorsReadOK=357520, ReadErrors=44
|
||||
Current sector: 357565. This session: NewSectorsReadOK=357520, ReadErrors=45
|
||||
Current sector: 357566. This session: NewSectorsReadOK=357520, ReadErrors=46
|
||||
Current sector: 357567. This session: NewSectorsReadOK=357520, ReadErrors=47
|
||||
Current sector: 357568. This session: NewSectorsReadOK=357520, ReadErrors=48
|
||||
Current sector: 357568. This session: NewSectorsReadOK=357520, ReadErrors=48
|
||||
Sector 357568, try 1: Illegal Request; Logical block address out of range.
|
||||
Sector 357568: Illegal Request; Logical block address out of range. Skipping 15 sectors.
|
||||
Current sector: 357569. This session: NewSectorsReadOK=357520, ReadErrors=49
|
||||
Current sector: 357570. This session: NewSectorsReadOK=357520, ReadErrors=50
|
||||
Current sector: 357571. This session: NewSectorsReadOK=357520, ReadErrors=51
|
||||
Current sector: 357572. This session: NewSectorsReadOK=357520, ReadErrors=52
|
||||
Current sector: 357573. This session: NewSectorsReadOK=357520, ReadErrors=53
|
||||
Current sector: 357574. This session: NewSectorsReadOK=357520, ReadErrors=54
|
||||
Current sector: 357575. This session: NewSectorsReadOK=357520, ReadErrors=55
|
||||
Current sector: 357576. This session: NewSectorsReadOK=357520, ReadErrors=56
|
||||
Current sector: 357577. This session: NewSectorsReadOK=357520, ReadErrors=57
|
||||
Current sector: 357578. This session: NewSectorsReadOK=357520, ReadErrors=58
|
||||
Current sector: 357579. This session: NewSectorsReadOK=357520, ReadErrors=59
|
||||
Current sector: 357580. This session: NewSectorsReadOK=357520, ReadErrors=60
|
||||
Current sector: 357581. This session: NewSectorsReadOK=357520, ReadErrors=61
|
||||
Current sector: 357582. This session: NewSectorsReadOK=357520, ReadErrors=62
|
||||
Current sector: 357583. This session: NewSectorsReadOK=357520, ReadErrors=63
|
||||
Current sector: 357584. This session: NewSectorsReadOK=357520, ReadErrors=64
|
||||
Current sector: 357584. This session: NewSectorsReadOK=357520, ReadErrors=64
|
||||
Sector 357584, try 1: Illegal Request; Logical block address out of range.
|
||||
Sector 357584: Illegal Request; Logical block address out of range. Skipping 15 sectors.
|
||||
Current sector: 357585. This session: NewSectorsReadOK=357520, ReadErrors=65
|
||||
Current sector: 357586. This session: NewSectorsReadOK=357520, ReadErrors=66
|
||||
Current sector: 357587. This session: NewSectorsReadOK=357520, ReadErrors=67
|
||||
Current sector: 357588. This session: NewSectorsReadOK=357520, ReadErrors=68
|
||||
Current sector: 357589. This session: NewSectorsReadOK=357520, ReadErrors=69
|
||||
Current sector: 357590. This session: NewSectorsReadOK=357520, ReadErrors=70
|
||||
Current sector: 357591. This session: NewSectorsReadOK=357520, ReadErrors=71
|
||||
Current sector: 357592. This session: NewSectorsReadOK=357520, ReadErrors=72
|
||||
Current sector: 357593. This session: NewSectorsReadOK=357520, ReadErrors=73
|
||||
Current sector: 357594. This session: NewSectorsReadOK=357520, ReadErrors=74
|
||||
Current sector: 357595. This session: NewSectorsReadOK=357520, ReadErrors=75
|
||||
Current sector: 357596. This session: NewSectorsReadOK=357520, ReadErrors=76
|
||||
Current sector: 357597. This session: NewSectorsReadOK=357520, ReadErrors=77
|
||||
Current sector: 357598. This session: NewSectorsReadOK=357520, ReadErrors=78
|
||||
Current sector: 357599. This session: NewSectorsReadOK=357520, ReadErrors=79
|
||||
Current sector: 357600. This session: NewSectorsReadOK=357520, ReadErrors=80
|
||||
Current sector: 357600. This session: NewSectorsReadOK=357520, ReadErrors=80
|
||||
Sector 357600, try 1: Illegal Request; Logical block address out of range.
|
||||
Sector 357600: Illegal Request; Logical block address out of range. Skipping 15 sectors.
|
||||
Current sector: 357601. This session: NewSectorsReadOK=357520, ReadErrors=81
|
||||
Current sector: 357602. This session: NewSectorsReadOK=357520, ReadErrors=82
|
||||
Current sector: 357603. This session: NewSectorsReadOK=357520, ReadErrors=83
|
||||
Current sector: 357604. This session: NewSectorsReadOK=357520, ReadErrors=84
|
||||
Current sector: 357605. This session: NewSectorsReadOK=357520, ReadErrors=85
|
||||
Current sector: 357606. This session: NewSectorsReadOK=357520, ReadErrors=86
|
||||
Current sector: 357607. This session: NewSectorsReadOK=357520, ReadErrors=87
|
||||
Current sector: 357608. This session: NewSectorsReadOK=357520, ReadErrors=88
|
||||
Current sector: 357609. This session: NewSectorsReadOK=357520, ReadErrors=89
|
||||
Current sector: 357610. This session: NewSectorsReadOK=357520, ReadErrors=90
|
||||
Current sector: 357611. This session: NewSectorsReadOK=357520, ReadErrors=91
|
||||
Current sector: 357612. This session: NewSectorsReadOK=357520, ReadErrors=92
|
||||
Current sector: 357613. This session: NewSectorsReadOK=357520, ReadErrors=93
|
||||
Current sector: 357614. This session: NewSectorsReadOK=357520, ReadErrors=94
|
||||
Current sector: 357615. This session: NewSectorsReadOK=357520, ReadErrors=95
|
||||
Current sector: 357616. This session: NewSectorsReadOK=357520, ReadErrors=96
|
||||
Current sector: 357616. This session: NewSectorsReadOK=357520, ReadErrors=96
|
||||
Sector 357616, try 1: Illegal Request; Logical block address out of range.
|
||||
Sector 357616: Illegal Request; Logical block address out of range. Skipping 15 sectors.
|
||||
Current sector: 357617. This session: NewSectorsReadOK=357520, ReadErrors=97
|
||||
Current sector: 357618. This session: NewSectorsReadOK=357520, ReadErrors=98
|
||||
Current sector: 357619. This session: NewSectorsReadOK=357520, ReadErrors=99
|
||||
Current sector: 357620. This session: NewSectorsReadOK=357520, ReadErrors=100
|
||||
Current sector: 357621. This session: NewSectorsReadOK=357520, ReadErrors=101
|
||||
Current sector: 357622. This session: NewSectorsReadOK=357520, ReadErrors=102
|
||||
Current sector: 357623. This session: NewSectorsReadOK=357520, ReadErrors=103
|
||||
Current sector: 357624. This session: NewSectorsReadOK=357520, ReadErrors=104
|
||||
Current sector: 357625. This session: NewSectorsReadOK=357520, ReadErrors=105
|
||||
Current sector: 357626. This session: NewSectorsReadOK=357520, ReadErrors=106
|
||||
Current sector: 357627. This session: NewSectorsReadOK=357520, ReadErrors=107
|
||||
Current sector: 357628. This session: NewSectorsReadOK=357520, ReadErrors=108
|
||||
Current sector: 357629. This session: NewSectorsReadOK=357520, ReadErrors=109
|
||||
Current sector: 357630. This session: NewSectorsReadOK=357520, ReadErrors=110
|
||||
Current sector: 357631. This session: NewSectorsReadOK=357520, ReadErrors=111
|
||||
Current sector: 357632. This session: NewSectorsReadOK=357520, ReadErrors=112
|
||||
Current sector: 357632. This session: NewSectorsReadOK=357520, ReadErrors=112
|
||||
Sector 357632, try 1: Illegal Request; Logical block address out of range.
|
||||
Sector 357632: Illegal Request; Logical block address out of range. Skipping 15 sectors.
|
||||
Current sector: 357633. This session: NewSectorsReadOK=357520, ReadErrors=113
|
||||
Current sector: 357634. This session: NewSectorsReadOK=357520, ReadErrors=114
|
||||
Current sector: 357635. This session: NewSectorsReadOK=357520, ReadErrors=115
|
||||
Current sector: 357636. This session: NewSectorsReadOK=357520, ReadErrors=116
|
||||
Current sector: 357637. This session: NewSectorsReadOK=357520, ReadErrors=117
|
||||
Current sector: 357638. This session: NewSectorsReadOK=357520, ReadErrors=118
|
||||
Current sector: 357639. This session: NewSectorsReadOK=357520, ReadErrors=119
|
||||
Current sector: 357640. This session: NewSectorsReadOK=357520, ReadErrors=120
|
||||
Current sector: 357641. This session: NewSectorsReadOK=357520, ReadErrors=121
|
||||
Current sector: 357642. This session: NewSectorsReadOK=357520, ReadErrors=122
|
||||
Current sector: 357643. This session: NewSectorsReadOK=357520, ReadErrors=123
|
||||
Current sector: 357644. This session: NewSectorsReadOK=357520, ReadErrors=124
|
||||
Current sector: 357645. This session: NewSectorsReadOK=357520, ReadErrors=125
|
||||
Current sector: 357646. This session: NewSectorsReadOK=357520, ReadErrors=126
|
||||
Current sector: 357647. This session: NewSectorsReadOK=357520, ReadErrors=127
|
||||
Current sector: 357648. This session: NewSectorsReadOK=357520, ReadErrors=128
|
||||
Current sector: 357648. This session: NewSectorsReadOK=357520, ReadErrors=128
|
||||
Sector 357648, try 1: Illegal Request; Logical block address out of range.
|
||||
Sector 357648: Illegal Request; Logical block address out of range.
|
||||
Current sector: 357649. This session: NewSectorsReadOK=357520, ReadErrors=129
|
||||
Sector 357649, try 1: Illegal Request; Logical block address out of range.
|
||||
Sector 357649: Illegal Request; Logical block address out of range.
|
||||
Current sector: 357650. This session: NewSectorsReadOK=357520, ReadErrors=130
|
||||
Sector 357650, try 1: Illegal Request; Logical block address out of range.
|
||||
Sector 357650: Illegal Request; Logical block address out of range.
|
||||
Current sector: 357651. This session: NewSectorsReadOK=357520, ReadErrors=131
|
||||
Sector 357651, try 1: Illegal Request; Logical block address out of range.
|
||||
Sector 357651: Illegal Request; Logical block address out of range.
|
||||
Current sector: 357652. This session: NewSectorsReadOK=357520, ReadErrors=132
|
||||
Sector 357652, try 1: Illegal Request; Logical block address out of range.
|
||||
Sector 357652: Illegal Request; Logical block address out of range.
|
||||
Current sector: 357653. This session: NewSectorsReadOK=357520, ReadErrors=133
|
||||
Sector 357653, try 1: Illegal Request; Logical block address out of range.
|
||||
Sector 357653: Illegal Request; Logical block address out of range.
|
||||
Current sector: 357654. This session: NewSectorsReadOK=357520, ReadErrors=134
|
||||
Sector 357654, try 1: Illegal Request; Logical block address out of range.
|
||||
Sector 357654: Illegal Request; Logical block address out of range.
|
||||
Current sector: 357655. This session: NewSectorsReadOK=357520, ReadErrors=135
|
||||
|
||||
135 unreadable sectors.
|
||||
CrcBuf contents, image path none (medium):
|
||||
@@ -151,3 +294,4 @@ CrcBuf contents, image path none (medium):
|
||||
md5State: invalid
|
||||
fp sector: 16; 48a5a2186ffe363bee215f406d033aa7
|
||||
missing crcs: 135
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -114,18 +114,73 @@ Reading CRC information from ecc data (RS02) ... RS02LayoutFromImage(): returnin
|
||||
done.
|
||||
Sector 34880, try 1: Illegal Request; Logical block address out of range.
|
||||
Sector 34880: Illegal Request; Logical block address out of range. Skipping 15 sectors.
|
||||
Current sector: 34881. This session: NewSectorsReadOK=34880, ReadErrors=1
|
||||
Current sector: 34882. This session: NewSectorsReadOK=34880, ReadErrors=2
|
||||
Current sector: 34883. This session: NewSectorsReadOK=34880, ReadErrors=3
|
||||
Current sector: 34884. This session: NewSectorsReadOK=34880, ReadErrors=4
|
||||
Current sector: 34885. This session: NewSectorsReadOK=34880, ReadErrors=5
|
||||
Current sector: 34886. This session: NewSectorsReadOK=34880, ReadErrors=6
|
||||
Current sector: 34887. This session: NewSectorsReadOK=34880, ReadErrors=7
|
||||
Current sector: 34888. This session: NewSectorsReadOK=34880, ReadErrors=8
|
||||
Current sector: 34889. This session: NewSectorsReadOK=34880, ReadErrors=9
|
||||
Current sector: 34890. This session: NewSectorsReadOK=34880, ReadErrors=10
|
||||
Current sector: 34891. This session: NewSectorsReadOK=34880, ReadErrors=11
|
||||
Current sector: 34892. This session: NewSectorsReadOK=34880, ReadErrors=12
|
||||
Current sector: 34893. This session: NewSectorsReadOK=34880, ReadErrors=13
|
||||
Current sector: 34894. This session: NewSectorsReadOK=34880, ReadErrors=14
|
||||
Current sector: 34895. This session: NewSectorsReadOK=34880, ReadErrors=15
|
||||
Current sector: 34896. This session: NewSectorsReadOK=34880, ReadErrors=16
|
||||
Current sector: 34896. This session: NewSectorsReadOK=34880, ReadErrors=16
|
||||
Sector 34896, try 1: Illegal Request; Logical block address out of range.
|
||||
Sector 34896: Illegal Request; Logical block address out of range. Skipping 15 sectors.
|
||||
Current sector: 34897. This session: NewSectorsReadOK=34880, ReadErrors=17
|
||||
Current sector: 34898. This session: NewSectorsReadOK=34880, ReadErrors=18
|
||||
Current sector: 34899. This session: NewSectorsReadOK=34880, ReadErrors=19
|
||||
Current sector: 34900. This session: NewSectorsReadOK=34880, ReadErrors=20
|
||||
Current sector: 34901. This session: NewSectorsReadOK=34880, ReadErrors=21
|
||||
Current sector: 34902. This session: NewSectorsReadOK=34880, ReadErrors=22
|
||||
Current sector: 34903. This session: NewSectorsReadOK=34880, ReadErrors=23
|
||||
Current sector: 34904. This session: NewSectorsReadOK=34880, ReadErrors=24
|
||||
Current sector: 34905. This session: NewSectorsReadOK=34880, ReadErrors=25
|
||||
Current sector: 34906. This session: NewSectorsReadOK=34880, ReadErrors=26
|
||||
Current sector: 34907. This session: NewSectorsReadOK=34880, ReadErrors=27
|
||||
Current sector: 34908. This session: NewSectorsReadOK=34880, ReadErrors=28
|
||||
Current sector: 34909. This session: NewSectorsReadOK=34880, ReadErrors=29
|
||||
Current sector: 34910. This session: NewSectorsReadOK=34880, ReadErrors=30
|
||||
Current sector: 34911. This session: NewSectorsReadOK=34880, ReadErrors=31
|
||||
Current sector: 34912. This session: NewSectorsReadOK=34880, ReadErrors=32
|
||||
Current sector: 34912. This session: NewSectorsReadOK=34880, ReadErrors=32
|
||||
Sector 34912, try 1: Illegal Request; Logical block address out of range.
|
||||
Sector 34912: Illegal Request; Logical block address out of range. Skipping 15 sectors.
|
||||
Current sector: 34913. This session: NewSectorsReadOK=34880, ReadErrors=33
|
||||
Current sector: 34914. This session: NewSectorsReadOK=34880, ReadErrors=34
|
||||
Current sector: 34915. This session: NewSectorsReadOK=34880, ReadErrors=35
|
||||
Current sector: 34916. This session: NewSectorsReadOK=34880, ReadErrors=36
|
||||
Current sector: 34917. This session: NewSectorsReadOK=34880, ReadErrors=37
|
||||
Current sector: 34918. This session: NewSectorsReadOK=34880, ReadErrors=38
|
||||
Current sector: 34919. This session: NewSectorsReadOK=34880, ReadErrors=39
|
||||
Current sector: 34920. This session: NewSectorsReadOK=34880, ReadErrors=40
|
||||
Current sector: 34921. This session: NewSectorsReadOK=34880, ReadErrors=41
|
||||
Current sector: 34922. This session: NewSectorsReadOK=34880, ReadErrors=42
|
||||
Current sector: 34923. This session: NewSectorsReadOK=34880, ReadErrors=43
|
||||
Current sector: 34924. This session: NewSectorsReadOK=34880, ReadErrors=44
|
||||
Current sector: 34925. This session: NewSectorsReadOK=34880, ReadErrors=45
|
||||
Current sector: 34926. This session: NewSectorsReadOK=34880, ReadErrors=46
|
||||
Current sector: 34927. This session: NewSectorsReadOK=34880, ReadErrors=47
|
||||
Current sector: 34928. This session: NewSectorsReadOK=34880, ReadErrors=48
|
||||
Current sector: 34928. This session: NewSectorsReadOK=34880, ReadErrors=48
|
||||
Sector 34928, try 1: Illegal Request; Logical block address out of range.
|
||||
Sector 34928: Illegal Request; Logical block address out of range.
|
||||
Current sector: 34929. This session: NewSectorsReadOK=34880, ReadErrors=49
|
||||
Sector 34929, try 1: Illegal Request; Logical block address out of range.
|
||||
Sector 34929: Illegal Request; Logical block address out of range.
|
||||
Current sector: 34930. This session: NewSectorsReadOK=34880, ReadErrors=50
|
||||
Sector 34930, try 1: Illegal Request; Logical block address out of range.
|
||||
Sector 34930: Illegal Request; Logical block address out of range.
|
||||
Current sector: 34931. This session: NewSectorsReadOK=34880, ReadErrors=51
|
||||
Sector 34931, try 1: Illegal Request; Logical block address out of range.
|
||||
Sector 34931: Illegal Request; Logical block address out of range.
|
||||
Current sector: 34932. This session: NewSectorsReadOK=34880, ReadErrors=52
|
||||
|
||||
52 unreadable sectors.
|
||||
CrcBuf contents, image path none (medium):
|
||||
@@ -133,3 +188,4 @@ CrcBuf contents, image path none (medium):
|
||||
md5State: invalid
|
||||
fp sector: 16; abe80d3600553a8dce779713afd94f3c
|
||||
missing crcs: 52
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
@@ -11,7 +11,7 @@ Medium "Random Image": CD-R mode 1, 34932 sectors, Ecc, created 16-07-2006.
|
||||
|
||||
* Warning: This image requires dvdisaster-99.99!
|
||||
* Proceeding could trigger incorrect behaviour.
|
||||
* Please visit http://www.dvdisaster.org for an upgrade.
|
||||
* Please upgrade dvdisaster.
|
||||
|
||||
Scanning medium for read errors.
|
||||
Reading CRC information from ecc data (RS02) ... done.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -116,34 +116,177 @@ Reading CRC information from ecc data (RS02) ... RS02LayoutFromImage(): returnin
|
||||
done.
|
||||
Sector 357520, try 1: Illegal Request; Logical block address out of range.
|
||||
Sector 357520: Illegal Request; Logical block address out of range. Skipping 15 sectors.
|
||||
Current sector: 357521. This session: NewSectorsReadOK=357520, ReadErrors=1
|
||||
Current sector: 357522. This session: NewSectorsReadOK=357520, ReadErrors=2
|
||||
Current sector: 357523. This session: NewSectorsReadOK=357520, ReadErrors=3
|
||||
Current sector: 357524. This session: NewSectorsReadOK=357520, ReadErrors=4
|
||||
Current sector: 357525. This session: NewSectorsReadOK=357520, ReadErrors=5
|
||||
Current sector: 357526. This session: NewSectorsReadOK=357520, ReadErrors=6
|
||||
Current sector: 357527. This session: NewSectorsReadOK=357520, ReadErrors=7
|
||||
Current sector: 357528. This session: NewSectorsReadOK=357520, ReadErrors=8
|
||||
Current sector: 357529. This session: NewSectorsReadOK=357520, ReadErrors=9
|
||||
Current sector: 357530. This session: NewSectorsReadOK=357520, ReadErrors=10
|
||||
Current sector: 357531. This session: NewSectorsReadOK=357520, ReadErrors=11
|
||||
Current sector: 357532. This session: NewSectorsReadOK=357520, ReadErrors=12
|
||||
Current sector: 357533. This session: NewSectorsReadOK=357520, ReadErrors=13
|
||||
Current sector: 357534. This session: NewSectorsReadOK=357520, ReadErrors=14
|
||||
Current sector: 357535. This session: NewSectorsReadOK=357520, ReadErrors=15
|
||||
Current sector: 357536. This session: NewSectorsReadOK=357520, ReadErrors=16
|
||||
Current sector: 357536. This session: NewSectorsReadOK=357520, ReadErrors=16
|
||||
Sector 357536, try 1: Illegal Request; Logical block address out of range.
|
||||
Sector 357536: Illegal Request; Logical block address out of range. Skipping 15 sectors.
|
||||
Current sector: 357537. This session: NewSectorsReadOK=357520, ReadErrors=17
|
||||
Current sector: 357538. This session: NewSectorsReadOK=357520, ReadErrors=18
|
||||
Current sector: 357539. This session: NewSectorsReadOK=357520, ReadErrors=19
|
||||
Current sector: 357540. This session: NewSectorsReadOK=357520, ReadErrors=20
|
||||
Current sector: 357541. This session: NewSectorsReadOK=357520, ReadErrors=21
|
||||
Current sector: 357542. This session: NewSectorsReadOK=357520, ReadErrors=22
|
||||
Current sector: 357543. This session: NewSectorsReadOK=357520, ReadErrors=23
|
||||
Current sector: 357544. This session: NewSectorsReadOK=357520, ReadErrors=24
|
||||
Current sector: 357545. This session: NewSectorsReadOK=357520, ReadErrors=25
|
||||
Current sector: 357546. This session: NewSectorsReadOK=357520, ReadErrors=26
|
||||
Current sector: 357547. This session: NewSectorsReadOK=357520, ReadErrors=27
|
||||
Current sector: 357548. This session: NewSectorsReadOK=357520, ReadErrors=28
|
||||
Current sector: 357549. This session: NewSectorsReadOK=357520, ReadErrors=29
|
||||
Current sector: 357550. This session: NewSectorsReadOK=357520, ReadErrors=30
|
||||
Current sector: 357551. This session: NewSectorsReadOK=357520, ReadErrors=31
|
||||
Current sector: 357552. This session: NewSectorsReadOK=357520, ReadErrors=32
|
||||
Current sector: 357552. This session: NewSectorsReadOK=357520, ReadErrors=32
|
||||
Sector 357552, try 1: Illegal Request; Logical block address out of range.
|
||||
Sector 357552: Illegal Request; Logical block address out of range. Skipping 15 sectors.
|
||||
Current sector: 357553. This session: NewSectorsReadOK=357520, ReadErrors=33
|
||||
Current sector: 357554. This session: NewSectorsReadOK=357520, ReadErrors=34
|
||||
Current sector: 357555. This session: NewSectorsReadOK=357520, ReadErrors=35
|
||||
Current sector: 357556. This session: NewSectorsReadOK=357520, ReadErrors=36
|
||||
Current sector: 357557. This session: NewSectorsReadOK=357520, ReadErrors=37
|
||||
Current sector: 357558. This session: NewSectorsReadOK=357520, ReadErrors=38
|
||||
Current sector: 357559. This session: NewSectorsReadOK=357520, ReadErrors=39
|
||||
Current sector: 357560. This session: NewSectorsReadOK=357520, ReadErrors=40
|
||||
Current sector: 357561. This session: NewSectorsReadOK=357520, ReadErrors=41
|
||||
Current sector: 357562. This session: NewSectorsReadOK=357520, ReadErrors=42
|
||||
Current sector: 357563. This session: NewSectorsReadOK=357520, ReadErrors=43
|
||||
Current sector: 357564. This session: NewSectorsReadOK=357520, ReadErrors=44
|
||||
Current sector: 357565. This session: NewSectorsReadOK=357520, ReadErrors=45
|
||||
Current sector: 357566. This session: NewSectorsReadOK=357520, ReadErrors=46
|
||||
Current sector: 357567. This session: NewSectorsReadOK=357520, ReadErrors=47
|
||||
Current sector: 357568. This session: NewSectorsReadOK=357520, ReadErrors=48
|
||||
Current sector: 357568. This session: NewSectorsReadOK=357520, ReadErrors=48
|
||||
Sector 357568, try 1: Illegal Request; Logical block address out of range.
|
||||
Sector 357568: Illegal Request; Logical block address out of range. Skipping 15 sectors.
|
||||
Current sector: 357569. This session: NewSectorsReadOK=357520, ReadErrors=49
|
||||
Current sector: 357570. This session: NewSectorsReadOK=357520, ReadErrors=50
|
||||
Current sector: 357571. This session: NewSectorsReadOK=357520, ReadErrors=51
|
||||
Current sector: 357572. This session: NewSectorsReadOK=357520, ReadErrors=52
|
||||
Current sector: 357573. This session: NewSectorsReadOK=357520, ReadErrors=53
|
||||
Current sector: 357574. This session: NewSectorsReadOK=357520, ReadErrors=54
|
||||
Current sector: 357575. This session: NewSectorsReadOK=357520, ReadErrors=55
|
||||
Current sector: 357576. This session: NewSectorsReadOK=357520, ReadErrors=56
|
||||
Current sector: 357577. This session: NewSectorsReadOK=357520, ReadErrors=57
|
||||
Current sector: 357578. This session: NewSectorsReadOK=357520, ReadErrors=58
|
||||
Current sector: 357579. This session: NewSectorsReadOK=357520, ReadErrors=59
|
||||
Current sector: 357580. This session: NewSectorsReadOK=357520, ReadErrors=60
|
||||
Current sector: 357581. This session: NewSectorsReadOK=357520, ReadErrors=61
|
||||
Current sector: 357582. This session: NewSectorsReadOK=357520, ReadErrors=62
|
||||
Current sector: 357583. This session: NewSectorsReadOK=357520, ReadErrors=63
|
||||
Current sector: 357584. This session: NewSectorsReadOK=357520, ReadErrors=64
|
||||
Current sector: 357584. This session: NewSectorsReadOK=357520, ReadErrors=64
|
||||
Sector 357584, try 1: Illegal Request; Logical block address out of range.
|
||||
Sector 357584: Illegal Request; Logical block address out of range. Skipping 15 sectors.
|
||||
Current sector: 357585. This session: NewSectorsReadOK=357520, ReadErrors=65
|
||||
Current sector: 357586. This session: NewSectorsReadOK=357520, ReadErrors=66
|
||||
Current sector: 357587. This session: NewSectorsReadOK=357520, ReadErrors=67
|
||||
Current sector: 357588. This session: NewSectorsReadOK=357520, ReadErrors=68
|
||||
Current sector: 357589. This session: NewSectorsReadOK=357520, ReadErrors=69
|
||||
Current sector: 357590. This session: NewSectorsReadOK=357520, ReadErrors=70
|
||||
Current sector: 357591. This session: NewSectorsReadOK=357520, ReadErrors=71
|
||||
Current sector: 357592. This session: NewSectorsReadOK=357520, ReadErrors=72
|
||||
Current sector: 357593. This session: NewSectorsReadOK=357520, ReadErrors=73
|
||||
Current sector: 357594. This session: NewSectorsReadOK=357520, ReadErrors=74
|
||||
Current sector: 357595. This session: NewSectorsReadOK=357520, ReadErrors=75
|
||||
Current sector: 357596. This session: NewSectorsReadOK=357520, ReadErrors=76
|
||||
Current sector: 357597. This session: NewSectorsReadOK=357520, ReadErrors=77
|
||||
Current sector: 357598. This session: NewSectorsReadOK=357520, ReadErrors=78
|
||||
Current sector: 357599. This session: NewSectorsReadOK=357520, ReadErrors=79
|
||||
Current sector: 357600. This session: NewSectorsReadOK=357520, ReadErrors=80
|
||||
Current sector: 357600. This session: NewSectorsReadOK=357520, ReadErrors=80
|
||||
Sector 357600, try 1: Illegal Request; Logical block address out of range.
|
||||
Sector 357600: Illegal Request; Logical block address out of range. Skipping 15 sectors.
|
||||
Current sector: 357601. This session: NewSectorsReadOK=357520, ReadErrors=81
|
||||
Current sector: 357602. This session: NewSectorsReadOK=357520, ReadErrors=82
|
||||
Current sector: 357603. This session: NewSectorsReadOK=357520, ReadErrors=83
|
||||
Current sector: 357604. This session: NewSectorsReadOK=357520, ReadErrors=84
|
||||
Current sector: 357605. This session: NewSectorsReadOK=357520, ReadErrors=85
|
||||
Current sector: 357606. This session: NewSectorsReadOK=357520, ReadErrors=86
|
||||
Current sector: 357607. This session: NewSectorsReadOK=357520, ReadErrors=87
|
||||
Current sector: 357608. This session: NewSectorsReadOK=357520, ReadErrors=88
|
||||
Current sector: 357609. This session: NewSectorsReadOK=357520, ReadErrors=89
|
||||
Current sector: 357610. This session: NewSectorsReadOK=357520, ReadErrors=90
|
||||
Current sector: 357611. This session: NewSectorsReadOK=357520, ReadErrors=91
|
||||
Current sector: 357612. This session: NewSectorsReadOK=357520, ReadErrors=92
|
||||
Current sector: 357613. This session: NewSectorsReadOK=357520, ReadErrors=93
|
||||
Current sector: 357614. This session: NewSectorsReadOK=357520, ReadErrors=94
|
||||
Current sector: 357615. This session: NewSectorsReadOK=357520, ReadErrors=95
|
||||
Current sector: 357616. This session: NewSectorsReadOK=357520, ReadErrors=96
|
||||
Current sector: 357616. This session: NewSectorsReadOK=357520, ReadErrors=96
|
||||
Sector 357616, try 1: Illegal Request; Logical block address out of range.
|
||||
Sector 357616: Illegal Request; Logical block address out of range. Skipping 15 sectors.
|
||||
Current sector: 357617. This session: NewSectorsReadOK=357520, ReadErrors=97
|
||||
Current sector: 357618. This session: NewSectorsReadOK=357520, ReadErrors=98
|
||||
Current sector: 357619. This session: NewSectorsReadOK=357520, ReadErrors=99
|
||||
Current sector: 357620. This session: NewSectorsReadOK=357520, ReadErrors=100
|
||||
Current sector: 357621. This session: NewSectorsReadOK=357520, ReadErrors=101
|
||||
Current sector: 357622. This session: NewSectorsReadOK=357520, ReadErrors=102
|
||||
Current sector: 357623. This session: NewSectorsReadOK=357520, ReadErrors=103
|
||||
Current sector: 357624. This session: NewSectorsReadOK=357520, ReadErrors=104
|
||||
Current sector: 357625. This session: NewSectorsReadOK=357520, ReadErrors=105
|
||||
Current sector: 357626. This session: NewSectorsReadOK=357520, ReadErrors=106
|
||||
Current sector: 357627. This session: NewSectorsReadOK=357520, ReadErrors=107
|
||||
Current sector: 357628. This session: NewSectorsReadOK=357520, ReadErrors=108
|
||||
Current sector: 357629. This session: NewSectorsReadOK=357520, ReadErrors=109
|
||||
Current sector: 357630. This session: NewSectorsReadOK=357520, ReadErrors=110
|
||||
Current sector: 357631. This session: NewSectorsReadOK=357520, ReadErrors=111
|
||||
Current sector: 357632. This session: NewSectorsReadOK=357520, ReadErrors=112
|
||||
Current sector: 357632. This session: NewSectorsReadOK=357520, ReadErrors=112
|
||||
Sector 357632, try 1: Illegal Request; Logical block address out of range.
|
||||
Sector 357632: Illegal Request; Logical block address out of range. Skipping 15 sectors.
|
||||
Current sector: 357633. This session: NewSectorsReadOK=357520, ReadErrors=113
|
||||
Current sector: 357634. This session: NewSectorsReadOK=357520, ReadErrors=114
|
||||
Current sector: 357635. This session: NewSectorsReadOK=357520, ReadErrors=115
|
||||
Current sector: 357636. This session: NewSectorsReadOK=357520, ReadErrors=116
|
||||
Current sector: 357637. This session: NewSectorsReadOK=357520, ReadErrors=117
|
||||
Current sector: 357638. This session: NewSectorsReadOK=357520, ReadErrors=118
|
||||
Current sector: 357639. This session: NewSectorsReadOK=357520, ReadErrors=119
|
||||
Current sector: 357640. This session: NewSectorsReadOK=357520, ReadErrors=120
|
||||
Current sector: 357641. This session: NewSectorsReadOK=357520, ReadErrors=121
|
||||
Current sector: 357642. This session: NewSectorsReadOK=357520, ReadErrors=122
|
||||
Current sector: 357643. This session: NewSectorsReadOK=357520, ReadErrors=123
|
||||
Current sector: 357644. This session: NewSectorsReadOK=357520, ReadErrors=124
|
||||
Current sector: 357645. This session: NewSectorsReadOK=357520, ReadErrors=125
|
||||
Current sector: 357646. This session: NewSectorsReadOK=357520, ReadErrors=126
|
||||
Current sector: 357647. This session: NewSectorsReadOK=357520, ReadErrors=127
|
||||
Current sector: 357648. This session: NewSectorsReadOK=357520, ReadErrors=128
|
||||
Current sector: 357648. This session: NewSectorsReadOK=357520, ReadErrors=128
|
||||
Sector 357648, try 1: Illegal Request; Logical block address out of range.
|
||||
Sector 357648: Illegal Request; Logical block address out of range.
|
||||
Current sector: 357649. This session: NewSectorsReadOK=357520, ReadErrors=129
|
||||
Sector 357649, try 1: Illegal Request; Logical block address out of range.
|
||||
Sector 357649: Illegal Request; Logical block address out of range.
|
||||
Current sector: 357650. This session: NewSectorsReadOK=357520, ReadErrors=130
|
||||
Sector 357650, try 1: Illegal Request; Logical block address out of range.
|
||||
Sector 357650: Illegal Request; Logical block address out of range.
|
||||
Current sector: 357651. This session: NewSectorsReadOK=357520, ReadErrors=131
|
||||
Sector 357651, try 1: Illegal Request; Logical block address out of range.
|
||||
Sector 357651: Illegal Request; Logical block address out of range.
|
||||
Current sector: 357652. This session: NewSectorsReadOK=357520, ReadErrors=132
|
||||
Sector 357652, try 1: Illegal Request; Logical block address out of range.
|
||||
Sector 357652: Illegal Request; Logical block address out of range.
|
||||
Current sector: 357653. This session: NewSectorsReadOK=357520, ReadErrors=133
|
||||
Sector 357653, try 1: Illegal Request; Logical block address out of range.
|
||||
Sector 357653: Illegal Request; Logical block address out of range.
|
||||
Current sector: 357654. This session: NewSectorsReadOK=357520, ReadErrors=134
|
||||
Sector 357654, try 1: Illegal Request; Logical block address out of range.
|
||||
Sector 357654: Illegal Request; Logical block address out of range.
|
||||
Current sector: 357655. This session: NewSectorsReadOK=357520, ReadErrors=135
|
||||
|
||||
135 unreadable sectors.
|
||||
CrcBuf contents, image path none (medium):
|
||||
@@ -151,3 +294,4 @@ CrcBuf contents, image path none (medium):
|
||||
md5State: invalid
|
||||
fp sector: 16; 48a5a2186ffe363bee215f406d033aa7
|
||||
missing crcs: 135
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -114,18 +114,73 @@ Reading CRC information from ecc data (RS02) ... RS02LayoutFromImage(): returnin
|
||||
done.
|
||||
Sector 34880, try 1: Illegal Request; Logical block address out of range.
|
||||
Sector 34880: Illegal Request; Logical block address out of range. Skipping 15 sectors.
|
||||
Current sector: 34881. This session: NewSectorsReadOK=34880, ReadErrors=1
|
||||
Current sector: 34882. This session: NewSectorsReadOK=34880, ReadErrors=2
|
||||
Current sector: 34883. This session: NewSectorsReadOK=34880, ReadErrors=3
|
||||
Current sector: 34884. This session: NewSectorsReadOK=34880, ReadErrors=4
|
||||
Current sector: 34885. This session: NewSectorsReadOK=34880, ReadErrors=5
|
||||
Current sector: 34886. This session: NewSectorsReadOK=34880, ReadErrors=6
|
||||
Current sector: 34887. This session: NewSectorsReadOK=34880, ReadErrors=7
|
||||
Current sector: 34888. This session: NewSectorsReadOK=34880, ReadErrors=8
|
||||
Current sector: 34889. This session: NewSectorsReadOK=34880, ReadErrors=9
|
||||
Current sector: 34890. This session: NewSectorsReadOK=34880, ReadErrors=10
|
||||
Current sector: 34891. This session: NewSectorsReadOK=34880, ReadErrors=11
|
||||
Current sector: 34892. This session: NewSectorsReadOK=34880, ReadErrors=12
|
||||
Current sector: 34893. This session: NewSectorsReadOK=34880, ReadErrors=13
|
||||
Current sector: 34894. This session: NewSectorsReadOK=34880, ReadErrors=14
|
||||
Current sector: 34895. This session: NewSectorsReadOK=34880, ReadErrors=15
|
||||
Current sector: 34896. This session: NewSectorsReadOK=34880, ReadErrors=16
|
||||
Current sector: 34896. This session: NewSectorsReadOK=34880, ReadErrors=16
|
||||
Sector 34896, try 1: Illegal Request; Logical block address out of range.
|
||||
Sector 34896: Illegal Request; Logical block address out of range. Skipping 15 sectors.
|
||||
Current sector: 34897. This session: NewSectorsReadOK=34880, ReadErrors=17
|
||||
Current sector: 34898. This session: NewSectorsReadOK=34880, ReadErrors=18
|
||||
Current sector: 34899. This session: NewSectorsReadOK=34880, ReadErrors=19
|
||||
Current sector: 34900. This session: NewSectorsReadOK=34880, ReadErrors=20
|
||||
Current sector: 34901. This session: NewSectorsReadOK=34880, ReadErrors=21
|
||||
Current sector: 34902. This session: NewSectorsReadOK=34880, ReadErrors=22
|
||||
Current sector: 34903. This session: NewSectorsReadOK=34880, ReadErrors=23
|
||||
Current sector: 34904. This session: NewSectorsReadOK=34880, ReadErrors=24
|
||||
Current sector: 34905. This session: NewSectorsReadOK=34880, ReadErrors=25
|
||||
Current sector: 34906. This session: NewSectorsReadOK=34880, ReadErrors=26
|
||||
Current sector: 34907. This session: NewSectorsReadOK=34880, ReadErrors=27
|
||||
Current sector: 34908. This session: NewSectorsReadOK=34880, ReadErrors=28
|
||||
Current sector: 34909. This session: NewSectorsReadOK=34880, ReadErrors=29
|
||||
Current sector: 34910. This session: NewSectorsReadOK=34880, ReadErrors=30
|
||||
Current sector: 34911. This session: NewSectorsReadOK=34880, ReadErrors=31
|
||||
Current sector: 34912. This session: NewSectorsReadOK=34880, ReadErrors=32
|
||||
Current sector: 34912. This session: NewSectorsReadOK=34880, ReadErrors=32
|
||||
Sector 34912, try 1: Illegal Request; Logical block address out of range.
|
||||
Sector 34912: Illegal Request; Logical block address out of range. Skipping 15 sectors.
|
||||
Current sector: 34913. This session: NewSectorsReadOK=34880, ReadErrors=33
|
||||
Current sector: 34914. This session: NewSectorsReadOK=34880, ReadErrors=34
|
||||
Current sector: 34915. This session: NewSectorsReadOK=34880, ReadErrors=35
|
||||
Current sector: 34916. This session: NewSectorsReadOK=34880, ReadErrors=36
|
||||
Current sector: 34917. This session: NewSectorsReadOK=34880, ReadErrors=37
|
||||
Current sector: 34918. This session: NewSectorsReadOK=34880, ReadErrors=38
|
||||
Current sector: 34919. This session: NewSectorsReadOK=34880, ReadErrors=39
|
||||
Current sector: 34920. This session: NewSectorsReadOK=34880, ReadErrors=40
|
||||
Current sector: 34921. This session: NewSectorsReadOK=34880, ReadErrors=41
|
||||
Current sector: 34922. This session: NewSectorsReadOK=34880, ReadErrors=42
|
||||
Current sector: 34923. This session: NewSectorsReadOK=34880, ReadErrors=43
|
||||
Current sector: 34924. This session: NewSectorsReadOK=34880, ReadErrors=44
|
||||
Current sector: 34925. This session: NewSectorsReadOK=34880, ReadErrors=45
|
||||
Current sector: 34926. This session: NewSectorsReadOK=34880, ReadErrors=46
|
||||
Current sector: 34927. This session: NewSectorsReadOK=34880, ReadErrors=47
|
||||
Current sector: 34928. This session: NewSectorsReadOK=34880, ReadErrors=48
|
||||
Current sector: 34928. This session: NewSectorsReadOK=34880, ReadErrors=48
|
||||
Sector 34928, try 1: Illegal Request; Logical block address out of range.
|
||||
Sector 34928: Illegal Request; Logical block address out of range.
|
||||
Current sector: 34929. This session: NewSectorsReadOK=34880, ReadErrors=49
|
||||
Sector 34929, try 1: Illegal Request; Logical block address out of range.
|
||||
Sector 34929: Illegal Request; Logical block address out of range.
|
||||
Current sector: 34930. This session: NewSectorsReadOK=34880, ReadErrors=50
|
||||
Sector 34930, try 1: Illegal Request; Logical block address out of range.
|
||||
Sector 34930: Illegal Request; Logical block address out of range.
|
||||
Current sector: 34931. This session: NewSectorsReadOK=34880, ReadErrors=51
|
||||
Sector 34931, try 1: Illegal Request; Logical block address out of range.
|
||||
Sector 34931: Illegal Request; Logical block address out of range.
|
||||
Current sector: 34932. This session: NewSectorsReadOK=34880, ReadErrors=52
|
||||
|
||||
52 unreadable sectors.
|
||||
CrcBuf contents, image path none (medium):
|
||||
@@ -133,3 +188,4 @@ CrcBuf contents, image path none (medium):
|
||||
md5State: invalid
|
||||
fp sector: 16; abe80d3600553a8dce779713afd94f3c
|
||||
missing crcs: 52
|
||||
FreeCrcBuf - buffer cleared
|
||||
|
||||
75
regtest/database/RS02_strip_ecc
Normal file
75
regtest/database/RS02_strip_ecc
Normal file
@@ -0,0 +1,75 @@
|
||||
cbadac3ca7b6e9bccfc889b7eaded254
|
||||
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: 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: 34932
|
||||
--> 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 = 4795 (35 roots, 220 data)
|
||||
header repeats = 38 (using modulo 128)
|
||||
added sectors = 4932
|
||||
total image size = 34932
|
||||
medium capacity = n.a.
|
||||
|
||||
Interleaving layout:
|
||||
137 sectors per ecc layer
|
||||
first layer sector with CRC data 136 (sector# 30002)
|
||||
|
||||
GetImageFingerprint(16): cached
|
||||
Image is augmented (expected sectors = 34932)
|
||||
Truncating image to 30000 sectors.
|
||||
Image successfully truncated back to its original size.
|
||||
143
regtest/database/RS02_strip_ecc_not
Normal file
143
regtest/database/RS02_strip_ecc_not
Normal file
@@ -0,0 +1,143 @@
|
||||
cbadac3ca7b6e9bccfc889b7eaded254
|
||||
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: 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
|
||||
.. trying layer size 1409
|
||||
Scanning layers for signatures.
|
||||
- layer slice 0
|
||||
** All layers tested -> no RS03 data found
|
||||
...no augmented image detected.
|
||||
GetImageFingerprint(16): read & cached
|
||||
|
||||
*
|
||||
* dvdisaster - can not continue:
|
||||
*
|
||||
Image is not augmented (no dvdisaster signature found).
|
||||
|
||||
@@ -84,11 +84,79 @@ try_sector: trying sector 21000
|
||||
try_sector: read error, trying next header
|
||||
try_sector: trying sector 20850
|
||||
try_sector: no cookie, skipping current modulo
|
||||
RS02Recognize: skipping exhaustive RS02 search
|
||||
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
|
||||
Sector 16384 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 4096
|
||||
try_sector: trying sector 20480
|
||||
try_sector: no cookie, skipping current modulo
|
||||
FindHeaderInMedium: Trying modulo 2048
|
||||
Sector 20480 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 1024
|
||||
Sector 20480 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 512
|
||||
try_sector: trying sector 20992
|
||||
try_sector: no cookie, skipping current modulo
|
||||
...trying RS03
|
||||
RS03RecognizeImage: medium sim-cd
|
||||
FindRS03HeaderInImage: medium sim-cd
|
||||
RS03RecognizeImage: skipping exhaustive RS03 search
|
||||
RS03RecognizeImage: quick RS03 search, attempting up to 3 sector reads max
|
||||
.. trying layer size 1409
|
||||
Scanning layers for signatures.
|
||||
- layer slice 0
|
||||
** All layers tested -> no RS03 data found
|
||||
...no augmented image detected.
|
||||
# Calling query_size()
|
||||
# *** query_size(Simulated CD drive 1.00) ***
|
||||
@@ -154,6 +222,7 @@ try_sector: trying sector 21000
|
||||
try_sector: read error, trying next header
|
||||
try_sector: trying sector 20850
|
||||
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
|
||||
@@ -253,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
|
||||
|
||||
@@ -84,11 +84,79 @@ try_sector: trying sector 21000
|
||||
try_sector: read error, trying next header
|
||||
try_sector: trying sector 20850
|
||||
try_sector: no cookie, skipping current modulo
|
||||
RS02Recognize: skipping exhaustive RS02 search
|
||||
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
|
||||
Sector 16384 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 4096
|
||||
try_sector: trying sector 20480
|
||||
try_sector: no cookie, skipping current modulo
|
||||
FindHeaderInMedium: Trying modulo 2048
|
||||
Sector 20480 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 1024
|
||||
Sector 20480 cached; skipping modulo
|
||||
FindHeaderInMedium: Trying modulo 512
|
||||
try_sector: trying sector 20992
|
||||
try_sector: no cookie, skipping current modulo
|
||||
...trying RS03
|
||||
RS03RecognizeImage: medium sim-cd
|
||||
FindRS03HeaderInImage: medium sim-cd
|
||||
RS03RecognizeImage: skipping exhaustive RS03 search
|
||||
RS03RecognizeImage: quick RS03 search, attempting up to 3 sector reads max
|
||||
.. trying layer size 1409
|
||||
Scanning layers for signatures.
|
||||
- layer slice 0
|
||||
** All layers tested -> no RS03 data found
|
||||
...no augmented image detected.
|
||||
# Calling query_size()
|
||||
# *** query_size(Simulated CD drive 1.00) ***
|
||||
@@ -155,6 +223,7 @@ try_sector: trying sector 21000
|
||||
try_sector: read error, trying next header
|
||||
try_sector: trying sector 20850
|
||||
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
|
||||
@@ -255,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
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user