Compare commits
4 Commits
ZeroFiveEi
...
ZeroFiveFo
Author | SHA1 | Date | |
---|---|---|---|
757be624b9 | |||
7b5512f84c | |||
40e760532a | |||
129b80cca9 |
@ -101,9 +101,9 @@ test_structest_CPPFLAGS = -Ilibburn
|
||||
test_structest_LDADD = $(libburn_libburn_la_OBJECTS) $(THREAD_LIBS)
|
||||
test_structest_SOURCES = test/structest.c
|
||||
|
||||
## cdrskin construction site - ts A60816 - A81207
|
||||
## cdrskin construction site - ts A60816 - A80820
|
||||
cdrskin_cdrskin_CPPFLAGS = -Ilibburn
|
||||
cdrskin_cdrskin_CFLAGS = -DCdrskin_libburn_0_5_8
|
||||
cdrskin_cdrskin_CFLAGS = -DCdrskin_libburn_0_5_4
|
||||
|
||||
# cdrskin_cdrskin_LDADD = $(libburn_libburn_la_OBJECTS) $(THREAD_LIBS)
|
||||
# ts A80123, change proposed by Simon Huggins to cause dynamic libburn linking
|
||||
|
29
README
29
README
@ -65,11 +65,8 @@ The project comprises of several more or less interdependent parts which
|
||||
together strive to be a usable foundation for application development.
|
||||
These are libraries, language bindings, and middleware binaries which emulate
|
||||
classical (and valuable) Linux tools.
|
||||
Currently it is supported on Linux with kernels >= 2.4 and on FreeBSD versions
|
||||
with ATAPI/CAM support enabled in the kernel, see atapicam(4).
|
||||
|
||||
Our scope is currently Linux 2.4 or 2.6 and FreeBSD versions with ATAPI/CAM
|
||||
support enabled in the kernel, see atapicam(4). For ports to other systems
|
||||
Our scope is currently Linux 2.4 and 2.6 only. For ports to other systems
|
||||
we would need : login on a development machine resp. a live OS on CD or DVD,
|
||||
advise from a system person about the equivalent of Linux sg or FreeBSD CAM,
|
||||
volunteers for testing of realistic use cases.
|
||||
@ -139,8 +136,8 @@ any way and even may revoke such new features before the next release of
|
||||
x.y.*[02468]. As soon as it is released, a feature is promised to persist.
|
||||
|
||||
SONAMES:
|
||||
libburn.so.4 (since 0.3.4, March 2007),
|
||||
libisofs.so.6 (since 0.6.2, February 2008),
|
||||
libburn.so.4 (since 0.3.4, March 2007),
|
||||
libisofs.so.6 (since 0.6.2, February 2008),
|
||||
libisoburn.so.1 (since 0.1.0, February 2008).
|
||||
|
||||
|
||||
@ -316,26 +313,6 @@ Project history as far as known to me:
|
||||
- 6th Oct 2008 libburn-0.5.4 adjusts the changes of 0.5.2 to the needs of
|
||||
Linux kernel 2.4 and introduces human readable SCSI error messages.
|
||||
|
||||
- 6th Oct 2008 libisofs-0.6.10 fixes two bugs which prevented adding and
|
||||
manipulation of ISOLINUX boot images.
|
||||
|
||||
- 15th Oct 2008 libisoburn/xorriso-0.2.8 can activate and maintain an
|
||||
ISOLINUX boot image by an EL Torito boot record.
|
||||
|
||||
- 12th Nov 2008 libburn-0.5.6 fixes usage of freed memory by the fifo thread
|
||||
of an aborted burn run.
|
||||
|
||||
- 26th Nov 2008 libisofs-0.6.12 can produce a ISOLINUX isohybrid MBR on the fly
|
||||
and allows to produce ISO images which resemble old mkisofs images.
|
||||
|
||||
- 2nd Dec 2008 libisoburn-0.3.0. xorriso now is ready for exotic character
|
||||
sets, for legacy FreeBSD systems which expect an outdated Rock Ridge
|
||||
signature, and for producing ISO images with MBR which boot from hard disk
|
||||
or USB stick. Three minor bugs were fixed.
|
||||
|
||||
- 7th Dec 2008 libburn-0.5.8 prevents a SIGSEGV with wierd CD table-of-content
|
||||
and improves BD-RE formatting.
|
||||
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
|
@ -4,7 +4,7 @@
|
||||
cdrskin. By Thomas Schmitt <scdbackup@gmx.net>
|
||||
Integrated sub project of libburnia-project.org but also published via:
|
||||
http://scdbackup.sourceforge.net/cdrskin_eng.html
|
||||
http://scdbackup.sourceforge.net/cdrskin-0.5.8.pl00.tar.gz
|
||||
http://scdbackup.sourceforge.net/cdrskin-0.5.4.pl00.tar.gz
|
||||
Copyright (C) 2006-2008 Thomas Schmitt, provided under GPL version 2.
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
@ -12,8 +12,7 @@ Copyright (C) 2006-2008 Thomas Schmitt, provided under GPL version 2.
|
||||
cdrskin is a limited cdrecord compatibility wrapper which allows to use
|
||||
most of the libburn features from the command line.
|
||||
|
||||
Currently it is supported on Linux with kernels >= 2.4 and on FreeBSD versions
|
||||
with ATAPI/CAM support enabled in the kernel, see atapicam(4).
|
||||
Currently it is only supported on Linux with kernels >= 2.4.
|
||||
|
||||
By using this software you agree to the disclaimer at the end of this text
|
||||
"This software is provided as is. There is no warranty implied and ..."
|
||||
@ -21,10 +20,10 @@ By using this software you agree to the disclaimer at the end of this text
|
||||
|
||||
Compilation, First Glimpse, Installation
|
||||
|
||||
Obtain cdrskin-0.5.8.pl00.tar.gz, take it to a directory of your choice and do:
|
||||
Obtain cdrskin-0.5.4.pl00.tar.gz, take it to a directory of your choice and do:
|
||||
|
||||
tar xzf cdrskin-0.5.8.pl00.tar.gz
|
||||
cd cdrskin-0.5.8
|
||||
tar xzf cdrskin-0.5.4.pl00.tar.gz
|
||||
cd cdrskin-0.5.4
|
||||
|
||||
Within that directory execute:
|
||||
|
||||
|
@ -38,7 +38,7 @@ original="./libburn_svn_release.tgz"
|
||||
# My changes are in $changes , mainly in $changes/cdrskin
|
||||
changes="./libburn-release"
|
||||
|
||||
skin_release="0.5.8"
|
||||
skin_release="0.5.4"
|
||||
patch_level=".pl00"
|
||||
skin_rev="$skin_release""$patch_level"
|
||||
|
@ -38,7 +38,7 @@ original="./libburn_svn.tgz"
|
||||
# My changes are in $changes , mainly in $changes/cdrskin
|
||||
changes="./libburn-develop"
|
||||
|
||||
skin_release="0.5.9"
|
||||
skin_release="0.5.5"
|
||||
patch_level=""
|
||||
skin_rev="$skin_release""$patch_level"
|
||||
|
@ -2,7 +2,7 @@
|
||||
.\" First parameter, NAME, should be all caps
|
||||
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
|
||||
.\" other parameters are allowed: see man(7), man(1)
|
||||
.TH CDRSKIN 1 "Oct 15, 2008"
|
||||
.TH CDRSKIN 1 "Aug 05, 2008"
|
||||
.\" Please adjust this date whenever revising the manpage.
|
||||
.\"
|
||||
.\" Some roff macros, for reference:
|
||||
@ -161,8 +161,7 @@ round of overwriting. Usually
|
||||
is the appropriate option.
|
||||
Blanking damages the previous content but does not
|
||||
make it completely unreadable. It is no effective privacy precaution.
|
||||
Multiple cycles of blanking and overwriting with random numbers might be
|
||||
needed.
|
||||
Multiple cycles of blanking and overwriting with random numbers might be.
|
||||
.SS
|
||||
.B Sequentially Recordable DVD Media:
|
||||
.br
|
||||
|
@ -88,7 +88,7 @@ or
|
||||
|
||||
/** The official program version */
|
||||
#ifndef Cdrskin_prog_versioN
|
||||
#define Cdrskin_prog_versioN "0.5.8"
|
||||
#define Cdrskin_prog_versioN "0.5.4"
|
||||
#endif
|
||||
|
||||
/** The official libburn interface revision to use.
|
||||
@ -101,7 +101,7 @@ or
|
||||
#define Cdrskin_libburn_minoR 5
|
||||
#endif
|
||||
#ifndef Cdrskin_libburn_micrO
|
||||
#define Cdrskin_libburn_micrO 8
|
||||
#define Cdrskin_libburn_micrO 4
|
||||
#endif
|
||||
|
||||
|
||||
@ -135,44 +135,44 @@ or
|
||||
#endif /* Cdrskin_libburn_cvs_A60220_tS */
|
||||
|
||||
|
||||
#ifdef Cdrskin_libburn_0_5_8
|
||||
#define Cdrskin_libburn_versioN "0.5.8"
|
||||
#ifdef Cdrskin_libburn_0_5_4
|
||||
#define Cdrskin_libburn_versioN "0.5.4"
|
||||
#define Cdrskin_libburn_from_pykix_svN 1
|
||||
#endif /* Cdrskin_libburn_0_5_8 */
|
||||
#endif /* Cdrskin_libburn_0_5_4 */
|
||||
|
||||
#ifdef Cdrskin_libburn_0_5_9
|
||||
#define Cdrskin_libburn_versioN "0.5.9"
|
||||
#ifdef Cdrskin_libburn_0_5_5
|
||||
#define Cdrskin_libburn_versioN "0.5.5"
|
||||
#define Cdrskin_libburn_from_pykix_svN 1
|
||||
|
||||
/* Place novelty switch macros here.
|
||||
Move them down to Cdrskin_libburn_from_pykix_svN on version leap
|
||||
*/
|
||||
|
||||
/* there are no libburn novelties in 0.5.9 yet */
|
||||
/* there are no libburn novelties in 0.5.5 yet */
|
||||
|
||||
#endif /* Cdrskin_libburn_0_5_9 */
|
||||
#endif /* Cdrskin_libburn_0_5_5 */
|
||||
|
||||
#ifndef Cdrskin_libburn_versioN
|
||||
#define Cdrskin_libburn_0_5_8
|
||||
#define Cdrskin_libburn_versioN "0.5.8"
|
||||
#define Cdrskin_libburn_0_5_4
|
||||
#define Cdrskin_libburn_versioN "0.5.4"
|
||||
#define Cdrskin_libburn_from_pykix_svN 1
|
||||
#endif
|
||||
|
||||
#ifdef Cdrskin_libburn_0_5_8
|
||||
#ifdef Cdrskin_libburn_0_5_4
|
||||
#undef Cdrskin_libburn_majoR
|
||||
#undef Cdrskin_libburn_minoR
|
||||
#undef Cdrskin_libburn_micrO
|
||||
#define Cdrskin_libburn_majoR 0
|
||||
#define Cdrskin_libburn_minoR 5
|
||||
#define Cdrskin_libburn_micrO 8
|
||||
#define Cdrskin_libburn_micrO 4
|
||||
#endif
|
||||
#ifdef Cdrskin_libburn_0_5_9
|
||||
#ifdef Cdrskin_libburn_0_5_5
|
||||
#undef Cdrskin_libburn_majoR
|
||||
#undef Cdrskin_libburn_minoR
|
||||
#undef Cdrskin_libburn_micrO
|
||||
#define Cdrskin_libburn_majoR 0
|
||||
#define Cdrskin_libburn_minoR 5
|
||||
#define Cdrskin_libburn_micrO 9
|
||||
#define Cdrskin_libburn_micrO 5
|
||||
#endif
|
||||
|
||||
|
||||
@ -251,7 +251,7 @@ or
|
||||
/* 0.4.8 */
|
||||
/* Bug fix release for write_start_address=... on DVD-RAM and BD-RE */
|
||||
|
||||
/* 0.5.0 , 0.5.2 , 0.5.4 , 0.5.6 , 0.5.8 */
|
||||
/* 0.5.0 , 0.5.2 , 0.5.4 */
|
||||
/* novel libburn features are transparent to cdrskin */
|
||||
|
||||
|
||||
@ -3150,7 +3150,7 @@ struct CdrskiN {
|
||||
bit10= format to maximum available size
|
||||
bit11= - reserved -
|
||||
bit12= - reserved -
|
||||
bit13= try to disable eventual defect management
|
||||
bit13= - reserved -
|
||||
bit14= - reserved -
|
||||
bit15= format by index
|
||||
2=deformat_sequential (blank_fast might matter)
|
||||
|
@ -47,8 +47,6 @@ and to MMC-5 for DVD or BD).
|
||||
<DT>Linux with kernel 2.4 or higher (and libc, of course) :</DT>
|
||||
<DD>With kernel 2.4 an ATA drive has to be under ide-scsi emulation.</DD>
|
||||
<DD>With kernel 2.6 the drive should not be under ide-scsi.</DD>
|
||||
<DT>or FreeBSD (with libc, of course) :</DT>
|
||||
<DD>ATAPI/CAM support has to be enabled in the kernel, see atapicam(4).</DD>
|
||||
<DT>libpthread</DT>
|
||||
<DD>is supposed to be a standard system component.</DD>
|
||||
</DL>
|
||||
@ -59,18 +57,15 @@ and to MMC-5 for DVD or BD).
|
||||
GPL software included:<BR>
|
||||
</H2>
|
||||
<DL>
|
||||
<DT>libburn-0.5.8</DT>
|
||||
<DT>libburn-0.5.4</DT>
|
||||
<DD>(founded by Derek Foreman and Ben Jansens,
|
||||
developed and maintained since August 2006 by
|
||||
Thomas Schmitt from team of libburnia-project.org)
|
||||
</DD>
|
||||
furthered since August 2006 by Thomas Schmitt from team of libburnia-project.org)</DD>
|
||||
<DD>transfers data to CD, DVD, BD-RE</DD>
|
||||
</DL>
|
||||
</P>
|
||||
|
||||
<P>
|
||||
This program system has been tested on Intel/AMD Linux and FreeBSD systems
|
||||
only.<BR>
|
||||
This program system has been tested on Intel/AMD Linux systems only.<BR>
|
||||
Ports to other usable systems are appreciated. Reports are welcome.
|
||||
</P>
|
||||
|
||||
@ -191,7 +186,7 @@ or to do experiments on BD-R media.
|
||||
<P>
|
||||
<DL>
|
||||
<DT>Download as source code (see README):</DT>
|
||||
<DD><A HREF="cdrskin-0.5.8.pl00.tar.gz">cdrskin-0.5.8.pl00.tar.gz</A>
|
||||
<DD><A HREF="cdrskin-0.5.4.pl00.tar.gz">cdrskin-0.5.4.pl00.tar.gz</A>
|
||||
(740 KB).
|
||||
</DD>
|
||||
<DD>
|
||||
@ -241,18 +236,18 @@ cdrskin_0.4.2.pl00-x86-suse9_0-static.tar.gz</A>, (310 KB), -static compiled,
|
||||
<HR>
|
||||
|
||||
<P>
|
||||
Enhancements towards previous stable version cdrskin-0.5.6.pl00:
|
||||
Enhancements towards previous stable version cdrskin-0.5.2.pl00:
|
||||
<UL>
|
||||
<LI>Improvements about BD-RE formatting</LI>
|
||||
<LI>Most SCSI errors now get reported with message texts as of MMC-5</LI>
|
||||
<!--
|
||||
<LI>none</LI>
|
||||
-->
|
||||
</UL>
|
||||
|
||||
Bug fixes towards cdrskin-0.5.6.pl00:
|
||||
Bug fixes towards cdrskin-0.5.2.pl00:
|
||||
<UL>
|
||||
<LI>
|
||||
A session without leadout entry on CD caused a SIGSEGV by NULL
|
||||
dev=/dev/srN or dev=/dev/scdN on Linux 2.4 was not converted into dev=/dev/sgM
|
||||
</LI>
|
||||
<!--
|
||||
<LI>none</LI>
|
||||
@ -265,8 +260,8 @@ A session without leadout entry on CD caused a SIGSEGV by NULL
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><H3>Development snapshot, version 0.5.9 :</H3></DT>
|
||||
<DD>Enhancements towards current stable version 0.5.8.pl00:
|
||||
<DT><H3>Development snapshot, version 0.5.5 :</H3></DT>
|
||||
<DD>Enhancements towards current stable version 0.5.4.pl00:
|
||||
<UL>
|
||||
<!--
|
||||
-->
|
||||
@ -275,10 +270,10 @@ A session without leadout entry on CD caused a SIGSEGV by NULL
|
||||
</UL>
|
||||
</DD>
|
||||
<DD> </DD>
|
||||
<DD><A HREF="README_cdrskin_devel">README 0.5.9</A>
|
||||
<DD><A HREF="cdrskin__help_devel">cdrskin_0.5.9 --help</A></DD>
|
||||
<DD><A HREF="cdrskin_help_devel">cdrskin_0.5.9 -help</A></DD>
|
||||
<DD><A HREF="man_1_cdrskin_devel.html">man cdrskin (as of 0.5.9)</A></DD>
|
||||
<DD><A HREF="README_cdrskin_devel">README 0.5.5</A>
|
||||
<DD><A HREF="cdrskin__help_devel">cdrskin_0.5.5 --help</A></DD>
|
||||
<DD><A HREF="cdrskin_help_devel">cdrskin_0.5.5 -help</A></DD>
|
||||
<DD><A HREF="man_1_cdrskin_devel.html">man cdrskin (as of 0.5.5)</A></DD>
|
||||
<DD> </DD>
|
||||
<DT>Maintainers of cdrskin unstable packages please use SVN of
|
||||
<A HREF="http://libburnia-project.org"> libburnia-project.org</A></DT>
|
||||
@ -298,7 +293,7 @@ admins with full system souvereignty.</DT>
|
||||
<A HREF="README_cdrskin_devel">upcoming README</A> ):
|
||||
</DD>
|
||||
<DD>
|
||||
<A HREF="cdrskin-0.5.9.tar.gz">cdrskin-0.5.9.tar.gz</A>
|
||||
<A HREF="cdrskin-0.5.5.tar.gz">cdrskin-0.5.5.tar.gz</A>
|
||||
(740 KB).
|
||||
</DD>
|
||||
|
||||
|
@ -1 +1 @@
|
||||
#define Cdrskin_timestamP "2008.12.07.140001"
|
||||
#define Cdrskin_timestamP "2008.10.05.073001"
|
||||
|
@ -5832,12 +5832,14 @@ Incremented LT_CURRENT and LT_AGE to get libburn.so.4.18.0
|
||||
Makefile.am
|
||||
configure.ac
|
||||
README
|
||||
libburn/libburn.h
|
||||
libburn/libburn.h (burn_header_version_*)
|
||||
cdrskin/cdrskin.c
|
||||
cdrskin/README
|
||||
cdrskin/compile_cdrskin.sh
|
||||
cdrskin/cdrskin_timestamp.h
|
||||
cdrskin/wiki_plain.txt
|
||||
cdrskin/cdrskin_eng.html
|
||||
doc/comments
|
||||
Made number transition
|
||||
|
||||
5 Oct 2008 [2103]
|
||||
@ -5847,7 +5849,7 @@ Made number transition
|
||||
+ cdrskin/add_ts_changes_to_libburn_0_5_5
|
||||
Updated cdrskin tarball generator
|
||||
|
||||
5 Oct 2008 [2104]
|
||||
5 Oct 2008 []
|
||||
cdrskin/changelog.txt
|
||||
Documented changes and release timestamp
|
||||
|
||||
@ -5856,225 +5858,9 @@ Documented changes and release timestamp
|
||||
* Issueing many SCSI error messages in cleartext now
|
||||
|
||||
|
||||
2008.10.05.123737 [2106]
|
||||
Makefile.am
|
||||
configure.ac
|
||||
README
|
||||
libburn/libburn.h
|
||||
cdrskin/cdrskin.c
|
||||
cdrskin/README
|
||||
cdrskin/compile_cdrskin.sh
|
||||
cdrskin/cdrskin_timestamp.h
|
||||
cdrskin/cdrskin_eng.html
|
||||
Made number transition to next development cycle
|
||||
|
||||
5 Oct 2008 [2107]
|
||||
- cdrskin/add_ts_changes_to_libburn_0_5_2
|
||||
- cdrskin/add_ts_changes_to_libburn_0_5_3
|
||||
+ cdrskin/add_ts_changes_to_libburn_0_5_4
|
||||
+ cdrskin/add_ts_changes_to_libburn_0_5_5
|
||||
Updated cdrskin tarball generator
|
||||
|
||||
5 Oct 2008 [2108]
|
||||
cdrskin/changelog.txt
|
||||
Documented changes and release timestamp
|
||||
|
||||
------------------------------------ cycle - cdrskin-0.5.5 - 2008.10.05.130109
|
||||
|
||||
|
||||
2008.10.15.103224 [2126]
|
||||
libburn/libburn.h
|
||||
A clarification in comment about burn_disc_format()
|
||||
|
||||
15 Oct 2008 [2127]
|
||||
cdrskin/cdrskin.1
|
||||
Fixed incomplete sentence in man cdrskin
|
||||
|
||||
2008.11.01.121240 [2157]
|
||||
libburn/libburn.h
|
||||
libburn/async.c
|
||||
Bug fix: Unsuitable write modes were caught silently and later than desired
|
||||
|
||||
------------------------------------ cycle - cdrskin-0.5.5 - 2008.11.01.121445
|
||||
|
||||
2008.11.08.134828 [2173]
|
||||
libburn/libburn.h
|
||||
Clarified behavior of burn_source with pipes
|
||||
|
||||
2008.11.08.141734 [2174]
|
||||
libburn/file.h
|
||||
libburn/file.c
|
||||
libburn/async.c
|
||||
Cancelling libburn fifo thread before freeing the fifo object
|
||||
|
||||
2008.11.08.202456 [2175]
|
||||
libburn/async.c
|
||||
Disabling the sigsegv provoking new debug message
|
||||
|
||||
2008.11.12.075111 [2180]
|
||||
libburn/async.h
|
||||
Avoiding warning message about implicitely declared burn_fifo_abort()
|
||||
|
||||
------------------------------------ cycle - cdrskin-0.5.5 - 2008.11.12.075411
|
||||
* Bug fix: libburn fifo thread was not aborted when burn run was aborted
|
||||
|
||||
12 Nov 2008 [2181]
|
||||
svn copy http://svn.libburnia-project.org/libburn/trunk
|
||||
http://svn.libburnia-project.org/libburn/branches/ZeroFiveSix
|
||||
Preparing for libburn-0.5.6
|
||||
|
||||
12 Nov 2008 [2182]
|
||||
svn delete http://svn.libburnia-project.org/libburn/branches/ZeroFourSix
|
||||
Removing obsolete libburn branch ZeroFourSix
|
||||
|
||||
2008.11.12.120001 [2183]
|
||||
Makefile.am
|
||||
configure.ac
|
||||
README
|
||||
libburn/libburn.h
|
||||
cdrskin/cdrskin.c
|
||||
cdrskin/README
|
||||
cdrskin/compile_cdrskin.sh
|
||||
cdrskin/cdrskin_timestamp.h
|
||||
cdrskin/cdrskin_eng.html
|
||||
Made number transition to 0.5.6
|
||||
|
||||
12 Nov 2008 [2184]
|
||||
- cdrskin/add_ts_changes_to_libburn_0_5_4
|
||||
- cdrskin/add_ts_changes_to_libburn_0_5_5
|
||||
+ cdrskin/add_ts_changes_to_libburn_0_5_6
|
||||
+ cdrskin/add_ts_changes_to_libburn_0_5_7
|
||||
Updated cdrskin tarball generator
|
||||
|
||||
12 Nov 2008 [2185]
|
||||
cdrskin/changelog.txt
|
||||
Documented changes and release timestamp
|
||||
|
||||
12 Nov 2008 [2186]
|
||||
cdrskin/cdrskin.c
|
||||
Corrected wrong version number of cdrskin
|
||||
|
||||
------------------------------ release - cdrskin-0.5.6.pl00 - 2008.11.12.120001
|
||||
* Bug fix: libburn fifo thread was not aborted when burn run was aborted
|
||||
which could lead to use of freed memory
|
||||
|
||||
|
||||
2008.11.12.121832 [2187]
|
||||
Makefile.am
|
||||
configure.ac
|
||||
README
|
||||
libburn/libburn.h
|
||||
cdrskin/cdrskin.c
|
||||
cdrskin/README
|
||||
cdrskin/compile_cdrskin.sh
|
||||
cdrskin/cdrskin_timestamp.h
|
||||
cdrskin/cdrskin_eng.html
|
||||
Made number transition to 0.5.7
|
||||
|
||||
12 Nov 2008 [2188]
|
||||
- cdrskin/add_ts_changes_to_libburn_0_5_4
|
||||
- cdrskin/add_ts_changes_to_libburn_0_5_5
|
||||
+ cdrskin/add_ts_changes_to_libburn_0_5_6
|
||||
+ cdrskin/add_ts_changes_to_libburn_0_5_7
|
||||
Updated cdrskin tarball generator
|
||||
|
||||
12 Nov 2008 [2189]
|
||||
cdrskin/changelog.txt
|
||||
Documented changes and release timestamp
|
||||
|
||||
------------------------------------ cycle - cdrskin-0.5.7 - 2008.11.12.130026
|
||||
|
||||
12 Nov 2008 [2191]
|
||||
svn move \
|
||||
http://svn.libburnia-project.org/libburn/"$svn_name" \
|
||||
http://svn.libburnia-project.org/libburn/"$tag_name"
|
||||
libburn release 0.5.6 is ready
|
||||
|
||||
2008.11.15.220652 [2197]
|
||||
libburn/sg-freebsd.c
|
||||
libburn/sg-freebsd-port.c
|
||||
Removed remark that use of statvfs() was untested with FreeBSD
|
||||
|
||||
21 Nov 2008 [2208]
|
||||
README
|
||||
cdrskin/README
|
||||
cdrskin/cdrskin_eng.html
|
||||
Mentioned FreeBSD peculiarities in our docs
|
||||
|
||||
2008.11.26.210608 [2213]
|
||||
libburn/structure.c
|
||||
Added tests against the SIGSEGV of ticket 146
|
||||
|
||||
2008.11.27.081027 [2214]
|
||||
libburn/libdax_msgs.h
|
||||
libburn/structure.c
|
||||
Truncating eventually detected damaged CD table-of-content
|
||||
|
||||
------------------------------------ cycle - cdrskin-0.5.7 - 2008.11.27.081027
|
||||
* Bug fix: Session without leadout entry on CD caused SIGSEGV
|
||||
|
||||
|
||||
2008.11.27.172124 [2215]
|
||||
libburn/libdax_msgs.h
|
||||
libburn/structure.c
|
||||
Changed error severity with TOC truncation to MISHAP
|
||||
|
||||
2008.11.29.140115 [2217]
|
||||
libburn/spc.c
|
||||
Translating ASC=0x31 formatting error messages, reporting command names
|
||||
|
||||
2008.11.29.140404 [2218]
|
||||
libburn/mmc.c
|
||||
Circumventing BD-RE Quick Certification refusal of LG GGW-H20L YL03
|
||||
|
||||
------------------------------------ cycle - cdrskin-0.5.7 - 2008.11.29.140404
|
||||
|
||||
|
||||
2008.12.03.085219 [2239]
|
||||
libburn/mmc.c
|
||||
libburn/structure.c
|
||||
libburn/libdax_msgs.h
|
||||
Defaulting sessions without leadout entry
|
||||
|
||||
------------------------------------ cycle - cdrskin-0.5.7 - 2008.12.03.085219
|
||||
|
||||
|
||||
Dec 07 2008 [2248]
|
||||
svn copy http://svn.libburnia-project.org/libburn/trunk
|
||||
http://svn.libburnia-project.org/libburn/branches/ZeroFiveEight
|
||||
Preparing for libburn-0.5.8
|
||||
|
||||
2008.12.07.140001 [2249]
|
||||
Makefile.am
|
||||
configure.ac
|
||||
README
|
||||
libburn/libburn.h
|
||||
cdrskin/cdrskin.c
|
||||
cdrskin/README
|
||||
cdrskin/compile_cdrskin.sh
|
||||
cdrskin/cdrskin_timestamp.h
|
||||
cdrskin/cdrskin_eng.html
|
||||
Made number transition to 0.5.8
|
||||
|
||||
Dec 07 2008 [2250]
|
||||
- cdrskin/add_ts_changes_to_libburn_0_5_6
|
||||
- cdrskin/add_ts_changes_to_libburn_0_5_7
|
||||
+ cdrskin/add_ts_changes_to_libburn_0_5_8
|
||||
+ cdrskin/add_ts_changes_to_libburn_0_5_9
|
||||
Updated cdrskin tarball generator
|
||||
|
||||
Dec 07 2008 []
|
||||
cdrskin/changelog.txt
|
||||
Documented changes and release timestamp
|
||||
|
||||
------------------------------------ cycle - cdrskin-0.5.8 - 2008.12.07.140001
|
||||
* Bug fix: A session without leadout entry on CD caused a SIGSEGV by NULL
|
||||
* Improvements about BD-RE formatting
|
||||
|
||||
|
||||
------------------------------------ cycle - cdrskin-0.5.9 -
|
||||
------------------------------------ cycle - cdrskin-0.5.9 -
|
||||
|
||||
------------------------------------ cycle - cdrskin-0.5.5 -
|
||||
------------------------------------ cycle - cdrskin-0.5.5 -
|
||||
------------------------------------ cycle - cdrskin-0.5.5 -
|
||||
|
||||
===============================================================================
|
||||
TODO
|
||||
@ -6083,15 +5869,8 @@ Documented changes and release timestamp
|
||||
|
||||
--------------------------------- bugs -------------------------------------
|
||||
|
||||
- Needed is a system dependend facility: dev_t <-> major, minor
|
||||
|
||||
- Do something about drive->buffer asynchronous race conditions
|
||||
and dangerous use of local heap memory.
|
||||
(The various asynchronous operations use the same buffer
|
||||
pointer in struct burn_drive and let it point to
|
||||
their private memory.
|
||||
Of course, any problem is due to faulty application
|
||||
... but then it is really hard to detect.)
|
||||
and dangerous use of local heap memory
|
||||
|
||||
- Why are DVD+R tracks labeled "invisible" by dvd+rw-mediainfo ?
|
||||
Why does the DVD drive only show the first session ?
|
||||
@ -6105,11 +5884,6 @@ READ TRACK INFORMATION[#5]:
|
||||
|
||||
------------------------------ end of bugs ---------------------------------
|
||||
|
||||
? Provide an option to open track source file O_DIRECT ?
|
||||
(needs read chunks much larger than 2 kB)
|
||||
|
||||
interpret feature 0023h byte 4 for BD-RE formatting capabilities
|
||||
|
||||
Enable profile 0x41 BD-R sequential recording (much like DVD+R)
|
||||
|
||||
? Enable profile 0x42 BD-R random recording
|
||||
|
@ -7,7 +7,7 @@
|
||||
debug_opts="-O2"
|
||||
def_opts=
|
||||
largefile_opts="-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE=1"
|
||||
libvers="-DCdrskin_libburn_0_5_8"
|
||||
libvers="-DCdrskin_libburn_0_5_4"
|
||||
cleanup_src_or_obj="libburn/cleanup.o"
|
||||
libdax_msgs_o="libburn/libdax_msgs.o"
|
||||
libdax_audioxtr_o="libburn/libdax_audioxtr.o"
|
||||
@ -33,15 +33,15 @@ do
|
||||
libdax_audioxtr_o=
|
||||
libdax_msgs_o="libburn/message.o"
|
||||
cleanup_src_or_obj="-DCleanup_has_no_libburn_os_H cdrskin/cleanup.c"
|
||||
elif test "$i" = "-libburn_0_5_8"
|
||||
elif test "$i" = "-libburn_0_5_4"
|
||||
then
|
||||
libvers="-DCdrskin_libburn_0_5_8"
|
||||
libvers="-DCdrskin_libburn_0_5_4"
|
||||
libdax_audioxtr_o="libburn/libdax_audioxtr.o"
|
||||
libdax_msgs_o="libburn/libdax_msgs.o"
|
||||
cleanup_src_or_obj="libburn/cleanup.o"
|
||||
elif test "$i" = "-libburn_svn"
|
||||
then
|
||||
libvers="-DCdrskin_libburn_0_5_9"
|
||||
libvers="-DCdrskin_libburn_0_5_5"
|
||||
libdax_audioxtr_o="libburn/libdax_audioxtr.o"
|
||||
libdax_msgs_o="libburn/libdax_msgs.o"
|
||||
cleanup_src_or_obj="libburn/cleanup.o"
|
||||
@ -76,7 +76,7 @@ do
|
||||
echo " -compile_cdrfifo compile program cdrskin/cdrfifo."
|
||||
echo " -compile_dewav compile program test/dewav without libburn."
|
||||
echo " -cvs_A60220 set macro to match libburn-CVS of 20 Feb 2006."
|
||||
echo " -libburn_0_5_8 set macro to match libburn-0.5.8"
|
||||
echo " -libburn_0_5_4 set macro to match libburn-0.5.4"
|
||||
echo " -libburn_svn set macro to match current libburn-SVN."
|
||||
echo " -no_largefile do not use 64 bit off_t (must match libburn)."
|
||||
echo " -do_not_compile_cdrskin omit compilation of cdrskin/cdrskin."
|
||||
|
24
configure.ac
24
configure.ac
@ -1,4 +1,4 @@
|
||||
AC_INIT([libburn], [0.5.8], [http://libburnia-project.org])
|
||||
AC_INIT([libburn], [0.5.4], [http://libburnia-project.org])
|
||||
AC_PREREQ([2.50])
|
||||
dnl AC_CONFIG_HEADER([config.h])
|
||||
|
||||
@ -7,7 +7,7 @@ AC_CANONICAL_TARGET
|
||||
|
||||
AM_INIT_AUTOMAKE([subdir-objects])
|
||||
|
||||
dnl Notes by ts A71207 - A81111 :
|
||||
dnl Notes by ts A71207 - A80126 :
|
||||
dnl
|
||||
dnl Regrettably the meaning of the various version types was misunderstood
|
||||
dnl before version 0.4.1.
|
||||
@ -65,8 +65,6 @@ dnl 0.4.8 = libburn.so.4.13.0
|
||||
dnl 0.5.0 = libburn.so.4.15.0
|
||||
dnl 0.5.2 = libburn.so.4.17.0
|
||||
dnl 0.5.4 = libburn.so.4.19.0
|
||||
dnl 0.5.6 = libburn.so.4.21.0
|
||||
dnl 0.5.8 = libburn.so.4.23.0
|
||||
dnl
|
||||
dnl So LT_CURRENT, LT_REVISION and LT_AGE get set directly here.
|
||||
dnl SONAME of the emerging library is LT_CURRENT - LT_AGE.
|
||||
@ -92,7 +90,7 @@ dnl
|
||||
dnl As said: Only copies. Original in libburn/libburn.h : burn_header_version_*
|
||||
BURN_MAJOR_VERSION=0
|
||||
BURN_MINOR_VERSION=5
|
||||
BURN_MICRO_VERSION=8
|
||||
BURN_MICRO_VERSION=4
|
||||
BURN_VERSION=$BURN_MAJOR_VERSION.$BURN_MINOR_VERSION.$BURN_MICRO_VERSION
|
||||
|
||||
AC_SUBST(BURN_MAJOR_VERSION)
|
||||
@ -103,15 +101,15 @@ AC_SUBST(BURN_VERSION)
|
||||
dnl Libtool versioning
|
||||
LT_RELEASE=$BURN_MAJOR_VERSION.$BURN_MINOR_VERSION.$BURN_MICRO_VERSION
|
||||
dnl
|
||||
dnl ts A81207
|
||||
dnl This is the release version libburn-0.5.8 = libburn.so.4.23.0
|
||||
dnl ### This is the development version after above release version
|
||||
dnl LT_CURRENT++, LT_AGE++ has not yet happened.
|
||||
dnl ### LT_CURRENT++, LT_AGE++ has happened meanwhile.
|
||||
dnl ts A80820
|
||||
dnl ### This is the release version libburn-0.5.2 = libburn.so.4.17.0
|
||||
dnl This is the development version after above release version
|
||||
dnl ### LT_CURRENT++, LT_AGE++ has not yet happened.
|
||||
dnl LT_CURRENT++, LT_AGE++ has happened meanwhile.
|
||||
dnl
|
||||
dnl SONAME = 27 - 23 = 4 . Library name = libburn.so.4.23.0
|
||||
LT_CURRENT=27
|
||||
LT_AGE=23
|
||||
dnl SONAME = 23 - 19 = 4 . Library name = libburn.so.4.19.0
|
||||
LT_CURRENT=23
|
||||
LT_AGE=19
|
||||
LT_REVISION=0
|
||||
LT_CURRENT_MINUS_AGE=`expr $LT_CURRENT - $LT_AGE`
|
||||
|
||||
|
@ -25,9 +25,9 @@
|
||||
#include "drive.h"
|
||||
#include "write.h"
|
||||
#include "options.h"
|
||||
#include "file.h"
|
||||
#include "async.h"
|
||||
#include "init.h"
|
||||
#include "file.h"
|
||||
#include "back_hacks.h"
|
||||
|
||||
#include <pthread.h>
|
||||
@ -495,7 +495,7 @@ void burn_disc_write(struct burn_write_opts *opts, struct burn_disc *disc)
|
||||
*/
|
||||
strcpy(reasons, "Write job parameters are unsuitable:\n");
|
||||
if (burn_precheck_write(opts, disc, reasons + strlen(reasons), 1)
|
||||
<= 0) {
|
||||
== BURN_WRITE_NONE) {
|
||||
libdax_msgs_submit(libdax_messenger,
|
||||
opts->drive->global_index, 0x00020139,
|
||||
LIBDAX_MSGS_SEV_SORRY, LIBDAX_MSGS_PRIO_HIGH,
|
||||
@ -518,12 +518,6 @@ void burn_disc_write(struct burn_write_opts *opts, struct burn_disc *disc)
|
||||
|
||||
static void *fifo_worker_func(struct w_list *w)
|
||||
{
|
||||
int old;
|
||||
|
||||
pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, &old);
|
||||
pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, &old);
|
||||
/* Note: Only burn_fifo_abort() shall cancel the fifo thread */
|
||||
|
||||
burn_fifo_source_shoveller(w->u.fifo.source, w->u.fifo.flag);
|
||||
remove_worker(pthread_self());
|
||||
return NULL;
|
||||
@ -553,27 +547,6 @@ int burn_fifo_start(struct burn_source *source, int flag)
|
||||
}
|
||||
|
||||
|
||||
int burn_fifo_abort(struct burn_source_fifo *fs, int flag)
|
||||
{
|
||||
int ret;
|
||||
pthread_t pt;
|
||||
|
||||
if (fs->thread_is_valid <= 0 || fs->thread_handle == NULL)
|
||||
return(2);
|
||||
|
||||
#ifdef NIX
|
||||
libdax_msgs_submit(libdax_messenger, -1, 0x00000002,
|
||||
LIBDAX_MSGS_SEV_DEBUG, LIBDAX_MSGS_PRIO_HIGH,
|
||||
"Aborting running burn_source_fifo thread", 0, 0);
|
||||
#endif /* NIX */
|
||||
|
||||
pt= *((pthread_t *) fs->thread_handle);
|
||||
remove_worker(pt);
|
||||
ret = pthread_cancel(pt);
|
||||
return (ret == 0);
|
||||
}
|
||||
|
||||
|
||||
#ifdef Libburn_has_burn_async_join_alL
|
||||
|
||||
/* ts A71019 : never used */
|
||||
|
@ -10,9 +10,5 @@ struct burn_write_opts;
|
||||
/* To be called when the first read() call comes to a fifo */
|
||||
int burn_fifo_start(struct burn_source *source, int flag);
|
||||
|
||||
/* ts A81108 */
|
||||
/* To abort a running fifo thread before the fifo object gets deleted */
|
||||
int burn_fifo_abort(struct burn_source_fifo *fs, int flag);
|
||||
|
||||
|
||||
#endif /* BURN__ASYNC_H */
|
||||
|
@ -9,8 +9,6 @@
|
||||
#include <unistd.h>
|
||||
#include <fcntl.h>
|
||||
#include <time.h>
|
||||
#include <pthread.h>
|
||||
|
||||
#include "source.h"
|
||||
#include "libburn.h"
|
||||
#include "file.h"
|
||||
@ -309,7 +307,6 @@ static void fifo_free(struct burn_source *source)
|
||||
{
|
||||
struct burn_source_fifo *fs = source->data;
|
||||
|
||||
burn_fifo_abort(fs, 0);
|
||||
if (fs->inp != NULL)
|
||||
burn_source_free(fs->inp);
|
||||
if (fs->buf != NULL)
|
||||
@ -323,12 +320,9 @@ int burn_fifo_source_shoveller(struct burn_source *source, int flag)
|
||||
struct burn_source_fifo *fs = source->data;
|
||||
int ret, bufsize, diff, wpos, rpos, trans_end, free_bytes;
|
||||
char *bufpt;
|
||||
pthread_t thread_handle_storage;
|
||||
|
||||
fs->thread_handle= &thread_handle_storage;
|
||||
*((pthread_t *) fs->thread_handle)= pthread_self();
|
||||
fs->thread_pid = getpid();
|
||||
fs->thread_is_valid = 1;
|
||||
fs->thread_pid_valid = 1;
|
||||
|
||||
bufsize = fs->chunksize * fs->chunks;
|
||||
while (!fs->end_of_consumption) {
|
||||
@ -436,8 +430,6 @@ int burn_fifo_source_shoveller(struct burn_source *source, int flag)
|
||||
free(fs->buf); /* Give up fifo buffer. Next fifo might start soon. */
|
||||
fs->buf = NULL;
|
||||
|
||||
fs->thread_handle= NULL;
|
||||
fs->thread_is_valid = 0;
|
||||
return (fs->input_error == 0);
|
||||
}
|
||||
|
||||
@ -473,9 +465,8 @@ struct burn_source *burn_fifo_source_new(struct burn_source *inp,
|
||||
if (fs == NULL)
|
||||
return NULL;
|
||||
fs->is_started = 0;
|
||||
fs->thread_handle = NULL;
|
||||
fs->thread_pid = 0;
|
||||
fs->thread_is_valid = 0;
|
||||
fs->thread_pid_valid = 0;
|
||||
fs->inp = NULL; /* set later */
|
||||
fs->chunksize = chunksize;
|
||||
fs->chunks = chunks;
|
||||
|
@ -29,9 +29,8 @@ struct burn_source_fifo {
|
||||
*/
|
||||
int is_started;
|
||||
|
||||
void *thread_handle; /* actually a pointer to a thread_t */
|
||||
int thread_pid;
|
||||
int thread_is_valid;
|
||||
int thread_pid_valid;
|
||||
|
||||
/* the burn_source for which this fifo is acting as proxy */
|
||||
struct burn_source *inp;
|
||||
|
@ -384,13 +384,6 @@ struct burn_source {
|
||||
The size of a sector depends on BURN_MODE_*. The known range is
|
||||
2048 to 2352.
|
||||
|
||||
If this call is reading from a pipe then it will learn
|
||||
about the end of data only when that pipe gets closed on the
|
||||
feeder side. So if the track size is not fixed or if the pipe
|
||||
delivers less than the predicted amount or if the size is not
|
||||
block aligned, then burning will halt until the input process
|
||||
closes the pipe.
|
||||
|
||||
IMPORTANT:
|
||||
If this function pointer is NULL, then the struct burn_source is of
|
||||
version >= 1 and the job of .(*read)() is done by .(*read_xt)().
|
||||
@ -820,8 +813,7 @@ void burn_allow_untested_profiles(int yes);
|
||||
If the path does not exist in the filesystem yet, it is attempted to create
|
||||
it as a regular file as soon as write operations are started.
|
||||
|
||||
The capabilities of role 3 resemble a blank DVD-R. Nevertheless each
|
||||
burn_disc_write() run may only write a single track.
|
||||
The capabilities of role 3 resemble a blank DVD-R.
|
||||
|
||||
One may distinguish pseudo-drives from MMC drives by call
|
||||
burn_drive_get_drive_role().
|
||||
@ -1220,8 +1212,7 @@ void burn_disc_erase(struct burn_drive *drive, int fast);
|
||||
/** Format media for use with libburn. This currently applies to DVD-RW
|
||||
in state "Sequential Recording" (profile 0014h) which get formatted to
|
||||
state "Restricted Overwrite" (profile 0013h). DVD+RW can be "de-iced"
|
||||
by setting bit2 of flag. DVD-RAM and BD-RE may get formatted initially
|
||||
or re-formatted to adjust their Defect Managment.
|
||||
by setting bit2 of flag. Other media cannot be formatted yet.
|
||||
This function usually returns while the drive is still in the process
|
||||
of formatting. The formatting is done, when burn_drive_get_status()
|
||||
returns BURN_DRIVE_IDLE. This may be immediately after return or may
|
||||
@ -1245,15 +1236,13 @@ void burn_disc_erase(struct burn_drive *drive, int fast);
|
||||
bit4= enforce re-format of (partly) formatted media
|
||||
bit5= try to disable eventual defect management
|
||||
bit6= try to avoid lengthy media certification
|
||||
bit7, bit8 to bit15 =
|
||||
bit7 enables MMC expert application mode (else libburn
|
||||
tries to choose a suitable format type):
|
||||
If it is set then bit8 to bit15 contain the index of
|
||||
the format to use. See burn_disc_get_formats(),
|
||||
burn_disc_get_format_descr().
|
||||
bit7= MMC expert application mode (else libburn tries to
|
||||
choose a suitable format type):
|
||||
bit8 to bit15 contain the index of the format to use. See
|
||||
burn_disc_get_formats(), burn_disc_get_format_descr().
|
||||
Acceptable types are: 0x00, 0x01, 0x10, 0x11, 0x13,
|
||||
0x15, 0x26, 0x30, 0x31.
|
||||
If bit7 is set, then bit4 is set automatically.
|
||||
If bit7 is set, bit4 is set automatically.
|
||||
@since 0.3.0
|
||||
*/
|
||||
void burn_disc_format(struct burn_drive *drive, off_t size, int flag);
|
||||
@ -2205,7 +2194,7 @@ void burn_version(int *major, int *minor, int *micro);
|
||||
*/
|
||||
#define burn_header_version_major 0
|
||||
#define burn_header_version_minor 5
|
||||
#define burn_header_version_micro 8
|
||||
#define burn_header_version_micro 4
|
||||
/** Note:
|
||||
Above version numbers are also recorded in configure.ac because libtool
|
||||
wants them as parameters at build time.
|
||||
|
@ -531,9 +531,6 @@ Range "scdbackup" : 0x00020000 to 0x0002ffff
|
||||
0x0002015c (FAILURE,HIGH) = Fifo size is smaller than desired peek buffer
|
||||
0x0002015d (FAILURE,HIGH) = Fifo input ended short of desired peek buffer size
|
||||
0x0002015e (FATAL,HIGH) = Fifo is already under consumption when peeking
|
||||
0x0002015f (MISHAP,HIGH) = Damaged CD table-of-content detected and truncated
|
||||
0x00020160 (WARNING,HIGH) = Session without leadout encountered
|
||||
0x00020161 (WARNING,HIGH) = Empty session deleted
|
||||
|
||||
libdax_audioxtr:
|
||||
0x00020200 (SORRY,HIGH) = Cannot open audio source file
|
||||
|
@ -1143,9 +1143,8 @@ static int mmc_read_toc_al(struct burn_drive *d, int *alloc_len)
|
||||
struct buffer buf;
|
||||
struct command c;
|
||||
int dlen;
|
||||
int i, bpl= 12, old_alloc_len, t_idx;
|
||||
int i, bpl= 12, old_alloc_len;
|
||||
unsigned char *tdata;
|
||||
char msg[321];
|
||||
|
||||
if (*alloc_len < 4)
|
||||
return 0;
|
||||
@ -1221,9 +1220,7 @@ static int mmc_read_toc_al(struct burn_drive *d, int *alloc_len)
|
||||
ts A61007 : if re-enabled then not via Assert.
|
||||
a ssert(((dlen - 2) % 11) == 0);
|
||||
*/
|
||||
/* ts A81202: plus number of sessions as reserve for leadout default */
|
||||
d->toc_entry = calloc(d->toc_entries + (unsigned char) c.page->data[3],
|
||||
sizeof(struct burn_toc_entry));
|
||||
d->toc_entry = calloc(d->toc_entries, sizeof(struct burn_toc_entry));
|
||||
if(d->toc_entry == NULL) /* ts A70825 */
|
||||
return 0;
|
||||
tdata = c.page->data + 4;
|
||||
@ -1310,42 +1307,6 @@ static int mmc_read_toc_al(struct burn_drive *d, int *alloc_len)
|
||||
d->status = BURN_DISC_FULL;
|
||||
toc_find_modes(d);
|
||||
|
||||
/* ts A81202 ticket 146 : a drive reported a session with no leadout */
|
||||
for (i = 0; i < d->disc->sessions; i++) {
|
||||
if (d->disc->session[i]->leadout_entry != NULL)
|
||||
continue;
|
||||
sprintf(msg, "Session %d of %d encountered without leadout",
|
||||
i + 1, d->disc->sessions);
|
||||
libdax_msgs_submit(libdax_messenger, d->global_index,
|
||||
0x00020160,
|
||||
LIBDAX_MSGS_SEV_WARNING, LIBDAX_MSGS_PRIO_HIGH,
|
||||
msg, 0, 0);
|
||||
|
||||
/* Produce default leadout entry from last track of session
|
||||
which will thus get its size set to 0 */;
|
||||
if (d->disc->session[i]->track != NULL &&
|
||||
d->disc->session[i]->tracks > 0) {
|
||||
t_idx = d->toc_entries++;
|
||||
memcpy(d->toc_entry + t_idx,
|
||||
d->disc->session[i]->track[
|
||||
d->disc->session[i]->tracks - 1]->entry,
|
||||
sizeof(struct burn_toc_entry));
|
||||
d->toc_entry[t_idx].point = 0xA2;
|
||||
d->disc->session[i]->leadout_entry =
|
||||
d->toc_entry + t_idx;
|
||||
} else {
|
||||
burn_disc_remove_session(d->disc, d->disc->session[i]);
|
||||
sprintf(msg,
|
||||
"Empty session %d deleted. Now %d sessions.",
|
||||
i + 1, d->disc->sessions);
|
||||
libdax_msgs_submit(libdax_messenger, d->global_index,
|
||||
0x00020161,
|
||||
LIBDAX_MSGS_SEV_WARNING, LIBDAX_MSGS_PRIO_HIGH,
|
||||
msg, 0, 0);
|
||||
i--;
|
||||
}
|
||||
}
|
||||
|
||||
/* A80808 */
|
||||
burn_disc_cd_toc_extensions(d->disc, 0);
|
||||
|
||||
@ -3069,17 +3030,6 @@ no_suitable_formatting_type:;
|
||||
} else if(size_mode == 3) { /* default payload size */
|
||||
if (accept_count < 1)
|
||||
index = 0; /* this cannot certify */
|
||||
|
||||
/* ts A81129
|
||||
LG GGW-H20L YL03 refuses on 0x30 with
|
||||
"Quick certification". dvd+rw-format
|
||||
does 0x00 by default and succeeds quickly.
|
||||
*/
|
||||
if ((flag & 64) && format_type == 0x00) {
|
||||
index = i;
|
||||
break;
|
||||
}
|
||||
|
||||
if(format_type != 0x30)
|
||||
continue;
|
||||
accept_count++;
|
||||
|
@ -76,7 +76,7 @@ Send feedback to libburn-hackers@pykix.org .
|
||||
#include <err.h> /* XXX */
|
||||
|
||||
|
||||
/* ts A70909 */
|
||||
/* ts A70909 : >>> untestet yet wether this compiles */
|
||||
#include <sys/statvfs.h>
|
||||
|
||||
|
||||
|
@ -18,7 +18,7 @@
|
||||
#include <err.h> /* XXX */
|
||||
|
||||
|
||||
/* ts A70909 */
|
||||
/* ts A70909 : >>> untestet yet wether this compiles */
|
||||
#include <sys/statvfs.h>
|
||||
|
||||
|
||||
@ -622,6 +622,7 @@ int burn_os_stdio_capacity(char *path, off_t *bytes)
|
||||
struct statvfs vfsbuf;
|
||||
char testpath[4096], *cpt;
|
||||
long blocks;
|
||||
int open_mode = O_RDWR, fd, ret;
|
||||
off_t add_size = 0;
|
||||
|
||||
testpath[0] = 0;
|
||||
@ -641,8 +642,6 @@ int burn_os_stdio_capacity(char *path, off_t *bytes)
|
||||
#ifdef Libburn_if_this_was_linuX
|
||||
|
||||
} else if(S_ISBLK(stbuf.st_mode)) {
|
||||
int open_mode = O_RDWR, fd, ret;
|
||||
|
||||
if(burn_sg_open_o_excl)
|
||||
open_mode |= O_EXCL;
|
||||
fd = open(path, open_mode);
|
||||
|
@ -1065,14 +1065,6 @@ enum response scsi_error_msg(struct burn_drive *d, unsigned char *sense,
|
||||
else
|
||||
sprintf(msg, "Incompatible medium installed");
|
||||
return FAIL;
|
||||
case 0x31:
|
||||
if (*key != 3)
|
||||
break;
|
||||
if (*ascq == 0)
|
||||
sprintf(msg, "Medium unformatted or format corrupted");
|
||||
else if (*ascq == 1)
|
||||
sprintf(msg, "Format command failed");
|
||||
return FAIL;
|
||||
case 0x3A:
|
||||
if (*key != 2)
|
||||
break;
|
||||
@ -1148,68 +1140,6 @@ enum response scsi_error(struct burn_drive *d, unsigned char *sense,
|
||||
}
|
||||
|
||||
|
||||
static char *scsi_command_name(unsigned int c, int flag)
|
||||
{
|
||||
switch (c) {
|
||||
case 0x00:
|
||||
return "TEST UNIT READY";
|
||||
case 0x03:
|
||||
return "REQUEST SENSE";
|
||||
case 0x04:
|
||||
return "FORMAT UNIT";
|
||||
case 0x1b:
|
||||
return "START/STOP UNIT";
|
||||
case 0x1e:
|
||||
return "PREVENT/ALLOW MEDIA REMOVAL";
|
||||
case 0x23:
|
||||
return "READ FORMAT CAPACITIES";
|
||||
case 0x28:
|
||||
return "READ(10)";
|
||||
case 0x2a:
|
||||
return "WRITE(10)";
|
||||
case 0x35:
|
||||
return "SYNCHRONIZE CACHE";
|
||||
case 0x43:
|
||||
return "READ TOC/PMA/ATIP";
|
||||
case 0x46:
|
||||
return "GET CONFIGURATION";
|
||||
case 0x4a:
|
||||
return "GET EVENT STATUS NOTIFICATION";
|
||||
case 0x51:
|
||||
return "READ DISC INFORMATION";
|
||||
case 0x52:
|
||||
return "READ TRACK INFORMATION";
|
||||
case 0x53:
|
||||
return "RESERVE TRACK";
|
||||
case 0x54:
|
||||
return "SEND OPC INFORMATION";
|
||||
case 0x55:
|
||||
return "MODE SELECT";
|
||||
case 0x5a:
|
||||
return "SEND OPC INFORMATION";
|
||||
case 0x5b:
|
||||
return "CLOSE TRACK/SESSION";
|
||||
case 0x5c:
|
||||
return "READ BUFFER CAPACITY";
|
||||
case 0x5d:
|
||||
return "SEND CUE SHEET";
|
||||
case 0xa1:
|
||||
return "BLANK";
|
||||
case 0xaa:
|
||||
return "WRITE(12)";
|
||||
case 0xac:
|
||||
return "GET PERFORMANCE";
|
||||
case 0xb6:
|
||||
return "SET STREAMING";
|
||||
case 0xbb:
|
||||
return "SET CD SPEED";
|
||||
case 0xbe:
|
||||
return "READ CD";
|
||||
}
|
||||
return "(NOT IN COMMAND LIST)";
|
||||
}
|
||||
|
||||
|
||||
/* ts A61030 - A61115 */
|
||||
/* @param flag bit0=do report conditions which are considered not an error */
|
||||
int scsi_notify_error(struct burn_drive *d, struct command *c,
|
||||
@ -1234,9 +1164,7 @@ int scsi_notify_error(struct burn_drive *d, struct command *c,
|
||||
return 1;
|
||||
}
|
||||
|
||||
sprintf(msg, "SCSI error condition on command %2.2Xh %s: ",
|
||||
c->opcode[0],
|
||||
scsi_command_name((unsigned int) c->opcode[0], 0));
|
||||
sprintf(msg,"SCSI error condition on command %2.2Xh : ", c->opcode[0]);
|
||||
|
||||
#ifdef NIX
|
||||
if (key>=0)
|
||||
|
@ -104,30 +104,6 @@ int burn_disc_add_session(struct burn_disc *d, struct burn_session *s,
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
/* ts A81202: this function was in the API but not implemented.
|
||||
*/
|
||||
int burn_disc_remove_session(struct burn_disc *d, struct burn_session *s)
|
||||
{
|
||||
int i, skip = 0;
|
||||
|
||||
if (d->session == NULL)
|
||||
return 0;
|
||||
for (i = 0; i < d->sessions; i++) {
|
||||
if (s == d->session[i]) {
|
||||
skip++;
|
||||
continue;
|
||||
}
|
||||
d->session[i - skip] = d->session[i];
|
||||
}
|
||||
if (!skip)
|
||||
return 0;
|
||||
burn_session_free(s);
|
||||
d->sessions--;
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
struct burn_track *burn_track_create(void)
|
||||
{
|
||||
struct burn_track *t;
|
||||
@ -553,53 +529,14 @@ int burn_session_get_hidefirst(struct burn_session *session)
|
||||
/* ts A80808 : Enhance CD toc to DVD toc */
|
||||
int burn_disc_cd_toc_extensions(struct burn_disc *d, int flag)
|
||||
{
|
||||
int sidx= 0, tidx= 0;
|
||||
int sidx, tidx;
|
||||
struct burn_toc_entry *entry, *prev_entry= NULL;
|
||||
/* ts A81126 : ticket 146 : There was a SIGSEGV in here */
|
||||
char msg_data[321], *msg;
|
||||
|
||||
strcpy(msg_data,
|
||||
"Damaged CD table-of-content detected and truncated.");
|
||||
strcat(msg_data, " In burn_disc_cd_toc_extensions: ");
|
||||
msg = msg_data + strlen(msg_data);
|
||||
if (d->session == NULL) {
|
||||
strcpy(msg, "d->session == NULL");
|
||||
goto failure;
|
||||
}
|
||||
for (sidx = 0; sidx < d->sessions; sidx++) {
|
||||
if (d->session[sidx] == NULL) {
|
||||
sprintf(msg, "d->session[%d of %d] == NULL",
|
||||
sidx, d->sessions);
|
||||
goto failure;
|
||||
}
|
||||
if (d->session[sidx]->track == NULL) {
|
||||
sprintf(msg, "d->session[%d of %d]->track == NULL",
|
||||
sidx, d->sessions);
|
||||
goto failure;
|
||||
}
|
||||
if (d->session[sidx]->leadout_entry == NULL) {
|
||||
sprintf(msg,
|
||||
" Session %d of %d: Leadout entry missing.",
|
||||
sidx, d->sessions);
|
||||
goto failure;
|
||||
}
|
||||
for (tidx = 0; tidx < d->session[sidx]->tracks + 1; tidx++) {
|
||||
if (tidx < d->session[sidx]->tracks) {
|
||||
if (d->session[sidx]->track[tidx] == NULL) {
|
||||
sprintf(msg,
|
||||
"d->session[%d of %d]->track[%d of %d] == NULL",
|
||||
sidx, d->sessions, tidx, d->session[sidx]->tracks);
|
||||
goto failure;
|
||||
}
|
||||
if (tidx < d->session[sidx]->tracks)
|
||||
entry = d->session[sidx]->track[tidx]->entry;
|
||||
if (entry == NULL) {
|
||||
sprintf(msg,
|
||||
"session %d of %d, track %d of %d, entry == NULL",
|
||||
sidx, d->sessions, tidx,
|
||||
d->session[sidx]->tracks);
|
||||
goto failure;
|
||||
}
|
||||
} else
|
||||
else
|
||||
entry = d->session[sidx]->leadout_entry;
|
||||
entry->session_msb = 0;
|
||||
entry->point_msb = 0;
|
||||
@ -621,11 +558,6 @@ int burn_disc_cd_toc_extensions(struct burn_disc *d, int flag)
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
failure:
|
||||
libdax_msgs_submit(libdax_messenger, -1, 0x0002015f,
|
||||
LIBDAX_MSGS_SEV_MISHAP, LIBDAX_MSGS_PRIO_HIGH, msg_data, 0, 0);
|
||||
d->sessions= sidx;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user