Compare commits
4 Commits
ZeroSevenZ
...
ZeroSixEig
Author | SHA1 | Date | |
---|---|---|---|
43f9268440 | |||
dbc5517a62 | |||
e997e8ef67 | |||
8657f0ceb8 |
@ -109,7 +109,7 @@ test_structest_SOURCES = test/structest.c
|
||||
|
||||
## cdrskin construction site - ts A60816 - A90507
|
||||
cdrskin_cdrskin_CPPFLAGS = -Ilibburn
|
||||
cdrskin_cdrskin_CFLAGS = -DCdrskin_libburn_0_7_0
|
||||
cdrskin_cdrskin_CFLAGS = -DCdrskin_libburn_0_6_8
|
||||
|
||||
# cdrskin_cdrskin_LDADD = $(libburn_libburn_la_OBJECTS) $(LIBBURN_EXTRALIBS)
|
||||
# ts A80123, change proposed by Simon Huggins to cause dynamic libburn linking
|
||||
|
24
README
24
README
@ -11,7 +11,7 @@ Still containing parts of Libburn. By Derek Foreman <derek@signalmarketing.com>
|
||||
and Ben Jansens <xor@orodu.net>
|
||||
Copyright (C) 2002-2006 Derek Foreman and Ben Jansens
|
||||
|
||||
http://files.libburnia-project.org/releases/libburn-0.7.0.pl00.tar.gz
|
||||
http://files.libburnia-project.org/releases/libburn-0.6.8.pl00.tar.gz
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
@ -19,10 +19,10 @@ Copyright (C) 2002-2006 Derek Foreman and Ben Jansens
|
||||
|
||||
From tarball
|
||||
|
||||
Obtain libburn-0.7.0.pl00.tar.gz, take it to a directory of your choice and do:
|
||||
Obtain libburn-0.6.8.pl00.tar.gz, take it to a directory of your choice and do:
|
||||
|
||||
tar xzf libburn-0.7.0.pl00.tar.gz
|
||||
cd libburn-0.7.0
|
||||
tar xzf libburn-0.6.8.pl00.tar.gz
|
||||
cd libburn-0.6.8
|
||||
./configure --prefix=/usr
|
||||
make
|
||||
|
||||
@ -47,8 +47,8 @@ Our build system is based on autotools. For preparing the build of a SVN
|
||||
snapshot you will need autotools of at least version 1.7.
|
||||
Do in a directory of your choice:
|
||||
|
||||
svn co http://svn.libburnia-project.org/libburn/trunk libburn-svn
|
||||
cd libburn-svn
|
||||
svn co http://svn.libburnia-project.org/libburn/trunk libburn-0.6.3
|
||||
cd libburn-0.6.3
|
||||
./bootstrap
|
||||
./configure --prefix=/usr
|
||||
make
|
||||
@ -413,18 +413,6 @@ Project history as far as known to me:
|
||||
- 14 Jul 2009 libburn-0.6.8 fixes bugs and shortcommings with old MMC-1 drives
|
||||
and with large SCSI bus numbers as handed out by Linux for USB drives.
|
||||
|
||||
- 20 Jul 2009 libisoburn-0.4.0.pl01 fixes a regression in xorriso which caused
|
||||
data loss in older sessions if xorriso was used underneath growisofs.
|
||||
Affected are releases since libisoburn-0.3.2 in january 2009.
|
||||
|
||||
- 25 Aug 2009 libisofs-0.6.22 can record MD5 checksums for the whole session
|
||||
and for each single data file. Checksum tags allow to verify superblock and
|
||||
directory tree before importing them.
|
||||
|
||||
- 27 Aug 2009 libburn-0.7.0 allows to calm down a drive and to inquire its
|
||||
supported profiles. It works around some pitfalls with U3 enhanced memory
|
||||
sticks which emulate a CD-ROM.
|
||||
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
|
@ -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.7.0.pl00.tar.gz
|
||||
http://scdbackup.sourceforge.net/cdrskin-0.6.8.pl00.tar.gz
|
||||
|
||||
Copyright (C) 2006-2009 Thomas Schmitt, provided under GPL version 2.
|
||||
------------------------------------------------------------------------------
|
||||
@ -24,10 +24,10 @@ By using this software you agree to the disclaimer at the end of this text
|
||||
|
||||
Compilation, First Glimpse, Installation
|
||||
|
||||
Obtain cdrskin-0.7.0.pl00.tar.gz, take it to a directory of your choice and do:
|
||||
Obtain cdrskin-0.6.8.pl00.tar.gz, take it to a directory of your choice and do:
|
||||
|
||||
tar xzf cdrskin-0.7.0.pl00.tar.gz
|
||||
cd cdrskin-0.7.0
|
||||
tar xzf cdrskin-0.6.8.pl00.tar.gz
|
||||
cd cdrskin-0.6.8
|
||||
|
||||
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.7.0"
|
||||
skin_release="0.6.8"
|
||||
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.7.1"
|
||||
skin_release="0.6.9"
|
||||
patch_level=""
|
||||
skin_rev="$skin_release""$patch_level"
|
||||
|
@ -88,7 +88,7 @@ or
|
||||
|
||||
/** The official program version */
|
||||
#ifndef Cdrskin_prog_versioN
|
||||
#define Cdrskin_prog_versioN "0.7.0"
|
||||
#define Cdrskin_prog_versioN "0.6.8"
|
||||
#endif
|
||||
|
||||
/** The official libburn interface revision to use.
|
||||
@ -98,10 +98,10 @@ or
|
||||
#define Cdrskin_libburn_majoR 0
|
||||
#endif
|
||||
#ifndef Cdrskin_libburn_minoR
|
||||
#define Cdrskin_libburn_minoR 7
|
||||
#define Cdrskin_libburn_minoR 6
|
||||
#endif
|
||||
#ifndef Cdrskin_libburn_micrO
|
||||
#define Cdrskin_libburn_micrO 0
|
||||
#define Cdrskin_libburn_micrO 8
|
||||
#endif
|
||||
|
||||
|
||||
@ -135,43 +135,44 @@ or
|
||||
#endif /* Cdrskin_libburn_cvs_A60220_tS */
|
||||
|
||||
|
||||
#ifdef Cdrskin_libburn_0_7_0
|
||||
#define Cdrskin_libburn_versioN "0.7.0"
|
||||
#ifdef Cdrskin_libburn_0_6_8
|
||||
#define Cdrskin_libburn_versioN "0.6.8"
|
||||
#define Cdrskin_libburn_from_pykix_svN 1
|
||||
#endif /* Cdrskin_libburn_0_7_0 */
|
||||
#endif /* Cdrskin_libburn_0_6_8 */
|
||||
|
||||
#ifdef Cdrskin_libburn_0_7_1
|
||||
#define Cdrskin_libburn_versioN "0.7.1"
|
||||
#ifdef Cdrskin_libburn_0_6_9
|
||||
#define Cdrskin_libburn_versioN "0.6.9"
|
||||
#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 yet */
|
||||
|
||||
#endif /* Cdrskin_libburn_0_7_1 */
|
||||
#endif /* Cdrskin_libburn_0_6_9 */
|
||||
|
||||
#ifndef Cdrskin_libburn_versioN
|
||||
#define Cdrskin_libburn_0_7_0
|
||||
#define Cdrskin_libburn_versioN "0.7.0"
|
||||
#define Cdrskin_libburn_0_6_8
|
||||
#define Cdrskin_libburn_versioN "0.6.8"
|
||||
#define Cdrskin_libburn_from_pykix_svN 1
|
||||
#endif
|
||||
|
||||
#ifdef Cdrskin_libburn_0_7_0
|
||||
#ifdef Cdrskin_libburn_0_6_8
|
||||
#undef Cdrskin_libburn_majoR
|
||||
#undef Cdrskin_libburn_minoR
|
||||
#undef Cdrskin_libburn_micrO
|
||||
#define Cdrskin_libburn_majoR 0
|
||||
#define Cdrskin_libburn_minoR 7
|
||||
#define Cdrskin_libburn_micrO 0
|
||||
#define Cdrskin_libburn_minoR 6
|
||||
#define Cdrskin_libburn_micrO 8
|
||||
#endif
|
||||
#ifdef Cdrskin_libburn_0_7_1
|
||||
#ifdef Cdrskin_libburn_0_6_9
|
||||
#undef Cdrskin_libburn_majoR
|
||||
#undef Cdrskin_libburn_minoR
|
||||
#undef Cdrskin_libburn_micrO
|
||||
#define Cdrskin_libburn_majoR 0
|
||||
#define Cdrskin_libburn_minoR 7
|
||||
#define Cdrskin_libburn_micrO 1
|
||||
#define Cdrskin_libburn_minoR 6
|
||||
#define Cdrskin_libburn_micrO 9
|
||||
#endif
|
||||
|
||||
|
||||
@ -4760,23 +4761,6 @@ cannot_read:;
|
||||
return(0);
|
||||
}
|
||||
|
||||
int Cdrskin_print_all_profiles(struct CdrskiN *skin, struct burn_drive *drive,
|
||||
int flag)
|
||||
{
|
||||
int num_profiles, profiles[64], i, ret;
|
||||
char is_current[64], profile_name[80];
|
||||
|
||||
burn_drive_get_all_profiles(drive, &num_profiles, profiles, is_current);
|
||||
for(i= 0; i < num_profiles; i++) {
|
||||
ret= burn_obtain_profile_name(profiles[i], profile_name);
|
||||
if(ret <= 0)
|
||||
strcpy(profile_name, "unknown");
|
||||
printf("Profile: 0x%4.4X (%s)%s\n", (unsigned int) profiles[i],
|
||||
profile_name, is_current[i] ? " (current)" : "");
|
||||
}
|
||||
return(1);
|
||||
}
|
||||
|
||||
|
||||
/** Perform -atip .
|
||||
@param flag Bitfield for control purposes:
|
||||
@ -4802,10 +4786,8 @@ int Cdrskin_atip(struct CdrskiN *skin, int flag)
|
||||
if(s==BURN_DISC_APPENDABLE && skin->no_blank_appendable) {
|
||||
is_not_really_erasable= 1;
|
||||
} else if(s==BURN_DISC_EMPTY) {
|
||||
if(skin->verbosity>=Cdrskin_verbose_progresS) {
|
||||
if(skin->verbosity>=Cdrskin_verbose_progresS)
|
||||
printf("Current: none\n");
|
||||
Cdrskin_print_all_profiles(skin, drive, 0);
|
||||
}
|
||||
ret= 0; goto ex;
|
||||
}
|
||||
|
||||
@ -4915,9 +4897,7 @@ int Cdrskin_atip(struct CdrskiN *skin, int flag)
|
||||
printf("Current: CD-RW\n");
|
||||
else
|
||||
printf("Current: CD-R\n");
|
||||
Cdrskin_print_all_profiles(skin, drive, 0);
|
||||
}
|
||||
|
||||
if(strstr(profile_name,"DVD")==profile_name) {
|
||||
/* These are dummy messages for project scdbackup, so its media recognition
|
||||
gets a hint that the media is suitable and not in need of blanking.
|
||||
|
@ -34,12 +34,10 @@ CD-R, DVD-R, DVD+R, DVD+R/DL, BD-R, CD-RW, DVD-RW, DVD-RAM, DVD+RW, BD-RE
|
||||
|
||||
<P>
|
||||
<H2>Hardware requirements:</H2>
|
||||
About any CD, DVD, or BD recorder produced in the recent ten years.
|
||||
<BR>
|
||||
<A HREF="http://libburnia-project.org">libburn</A>
|
||||
supports recorders which are compliant to standards MMC-1 for CD and
|
||||
MMC-5 for DVD or BD. Linux and FreeBSD allow to access drives connected
|
||||
via SCSI, PATA (aka IDE, ATA), USB, or SATA.
|
||||
A CD/DVD/BD recorder suitable for
|
||||
<A HREF="http://libburnia-project.org">http://libburnia-project.org</A> <BR>
|
||||
(SCSI , ATA , USB , or SATA writers compliant to standard MMC-3 for CD
|
||||
and to MMC-5 for DVD or BD).
|
||||
<BR>
|
||||
</P>
|
||||
|
||||
@ -61,7 +59,7 @@ via SCSI, PATA (aka IDE, ATA), USB, or SATA.
|
||||
GPL software included:<BR>
|
||||
</H2>
|
||||
<DL>
|
||||
<DT>libburn-0.7.0</DT>
|
||||
<DT>libburn-0.6.8</DT>
|
||||
<DD>(founded by Derek Foreman and Ben Jansens,
|
||||
developed and maintained since August 2006 by
|
||||
Thomas Schmitt from team of libburnia-project.org)
|
||||
@ -193,8 +191,8 @@ Standalone ISO 9660 multi-session CD/DVD/BD tool
|
||||
<P>
|
||||
<DL>
|
||||
<DT>Download as source code (see README):</DT>
|
||||
<DD><A HREF="cdrskin-0.7.0.pl00.tar.gz">cdrskin-0.7.0.pl00.tar.gz</A>
|
||||
(820 KB).
|
||||
<DD><A HREF="cdrskin-0.6.8.pl00.tar.gz">cdrskin-0.6.8.pl00.tar.gz</A>
|
||||
(750 KB).
|
||||
</DD>
|
||||
<DD>
|
||||
The cdrskin tarballs are source code identical with libburn releases
|
||||
@ -243,19 +241,19 @@ 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.6.8.pl00:
|
||||
Enhancements towards previous stable version cdrskin-0.6.6.pl00:
|
||||
<UL>
|
||||
<LI>Adapted to pitfalls of U3 memory sticks which appear as CD-ROM drives</LI>
|
||||
<LI>Listing all supported profiles with option -atip -v</LI>
|
||||
<LI>Made -scanbus work with high SCSI bus numbers</LI>
|
||||
<!--
|
||||
<LI>none</LI>
|
||||
-->
|
||||
</UL>
|
||||
|
||||
Bug fixes towards cdrskin-0.6.8.pl00:
|
||||
Bug fixes towards cdrskin-0.6.6.pl00:
|
||||
<UL>
|
||||
<LI>none</LI>
|
||||
<LI>Old MMC-1 drives were rejected</LI>
|
||||
<!--
|
||||
<LI>none</LI>
|
||||
-->
|
||||
</UL>
|
||||
|
||||
@ -263,8 +261,8 @@ Bug fixes towards cdrskin-0.6.8.pl00:
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><H3>Development snapshot, version 0.7.1 :</H3></DT>
|
||||
<DD>Enhancements towards current stable version 0.7.0.pl00:
|
||||
<DT><H3>Development snapshot, version 0.6.9 :</H3></DT>
|
||||
<DD>Enhancements towards current stable version 0.6.8.pl00:
|
||||
<UL>
|
||||
<LI>none yet</LI>
|
||||
<!--
|
||||
@ -273,7 +271,7 @@ Bug fixes towards cdrskin-0.6.8.pl00:
|
||||
</UL>
|
||||
</DD>
|
||||
|
||||
<DD>Bug fixes towards cdrskin-0.7.0.pl00:
|
||||
<DD>Bug fixes towards cdrskin-0.6.8.pl00:
|
||||
<UL>
|
||||
<LI>none yet</LI>
|
||||
<!--
|
||||
@ -282,10 +280,10 @@ Bug fixes towards cdrskin-0.6.8.pl00:
|
||||
</DD>
|
||||
|
||||
<DD> </DD>
|
||||
<DD><A HREF="README_cdrskin_devel">README 0.7.1</A>
|
||||
<DD><A HREF="cdrskin__help_devel">cdrskin_0.7.1 --help</A></DD>
|
||||
<DD><A HREF="cdrskin_help_devel">cdrskin_0.7.1 -help</A></DD>
|
||||
<DD><A HREF="man_1_cdrskin_devel.html">man cdrskin (as of 0.7.1)</A></DD>
|
||||
<DD><A HREF="README_cdrskin_devel">README 0.6.9</A>
|
||||
<DD><A HREF="cdrskin__help_devel">cdrskin_0.6.9 --help</A></DD>
|
||||
<DD><A HREF="cdrskin_help_devel">cdrskin_0.6.9 -help</A></DD>
|
||||
<DD><A HREF="man_1_cdrskin_devel.html">man cdrskin (as of 0.6.9)</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>
|
||||
@ -305,8 +303,8 @@ admins with full system souvereignty.</DT>
|
||||
<A HREF="README_cdrskin_devel">upcoming README</A> ):
|
||||
</DD>
|
||||
<DD>
|
||||
<A HREF="cdrskin-0.7.1.tar.gz">cdrskin-0.7.1.tar.gz</A>
|
||||
(820 KB).
|
||||
<A HREF="cdrskin-0.6.9.tar.gz">cdrskin-0.6.9.tar.gz</A>
|
||||
(750 KB).
|
||||
</DD>
|
||||
|
||||
<!-- This is not offered any more since spring 2008
|
||||
|
@ -1 +1 @@
|
||||
#define Cdrskin_timestamP "2009.08.27.123001"
|
||||
#define Cdrskin_timestamP "2009.07.14.100001"
|
||||
|
@ -1761,17 +1761,6 @@ Version leap to 0.2.6
|
||||
Published cdrskin-0.2.6.pl01 on cdrskin home pages
|
||||
|
||||
------------------------------- cycle - cdrskin-0.2.6.pl01 - 2006.11.23.114611
|
||||
* Enabled TAO
|
||||
* Bug fixed: Trailing trash appended to .wav files caused error message
|
||||
and, if exceeding fifo size, could even stall a burn.
|
||||
* Multi-session CDs (for now restricted to write mode TAO), -multi, -msinfo
|
||||
* Bug fixed: False speed with first pacifier cycle. Potential SIGFPE by NaN.
|
||||
* Enabled named pipes and other non-plain file types as track sources
|
||||
(actually already in previous cycle)
|
||||
* Bug fixed: Default speed was not highest possible but announced as "MAX"
|
||||
* SAO is preferred default write mode, TAO is default when needed
|
||||
* libisofs unbundled from libburn+cdrskin
|
||||
* Hints for porting to other operating systems are now in sg-*.c
|
||||
|
||||
|
||||
2006.11.24.121745 [437]
|
||||
@ -6731,7 +6720,7 @@ Made number transition and activated development documentation
|
||||
+ cdrskin/add_ts_changes_to_libburn_0_6_9
|
||||
Updated cdrskin tarball generator
|
||||
|
||||
14 Jul 2009 [2697]
|
||||
14 Jul 2009 []
|
||||
cdrskin/changelog.txt
|
||||
Documented changes and release timestamp
|
||||
|
||||
@ -6741,138 +6730,8 @@ Bug fix: Old MMC-1 drives were rejected because of mode page 2Ah length
|
||||
Bug fix: No usable media was detected with old MMC-1 drives
|
||||
|
||||
|
||||
2009.07.14.133159 [2698]
|
||||
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 and activated development documentation
|
||||
|
||||
14 Jul 2009 [2699]
|
||||
- cdrskin/add_ts_changes_to_libburn_0_6_6
|
||||
- cdrskin/add_ts_changes_to_libburn_0_6_7
|
||||
+ cdrskin/add_ts_changes_to_libburn_0_6_8
|
||||
+ cdrskin/add_ts_changes_to_libburn_0_6_9
|
||||
Updated cdrskin tarball generator
|
||||
|
||||
14 Jul 2009 [2700]
|
||||
cdrskin/changelog.txt
|
||||
Documented changes and release timestamp
|
||||
|
||||
------------------------------------ cycle - cdrskin-0.6.9 - 2009.07.14.133159
|
||||
|
||||
14 Jul 2009 [2702]
|
||||
svn move -m libburn release 0.6.8 is ready
|
||||
http://svn.libburnia-project.org/libburn/branches/ZeroSixEight
|
||||
http://svn.libburnia-project.org/libburn/tags/ZeroSixEight
|
||||
|
||||
|
||||
2009.08.15.133055 [2721]
|
||||
libburn/write.c
|
||||
Added test code about output blocks size as comment.
|
||||
|
||||
2009.08.15.133332 [2722]
|
||||
libburn/libburn.h
|
||||
libburn/transport.h
|
||||
libburn/drive.c
|
||||
libburn/mmc.h
|
||||
libburn/mmc.c
|
||||
New API calls burn_drive_get_all_profiles(), burn_obtain_profile_name()
|
||||
|
||||
2009.08.15.133744 [2723]
|
||||
cdrskin/cdrskin.c
|
||||
Listing all profiles with cdrskin -v -atip
|
||||
|
||||
2009.08.23.130326 [2735]
|
||||
libburn/drive.c
|
||||
libburn/spc.c
|
||||
libburn/mmc.c
|
||||
Adapted to pitfalls of U3 memory sticks which appear as CD-ROM drives
|
||||
|
||||
------------------------------------ cycle - cdrskin-0.6.9 - 2009.08.23.132942
|
||||
New API calls burn_drive_get_all_profiles(), burn_obtain_profile_name()
|
||||
Adapted to pitfalls of U3 memory sticks which appear as CD-ROM drives
|
||||
|
||||
|
||||
2009.08.24.131146 [2736]
|
||||
libburn/libburn.h
|
||||
libburn/transport.h
|
||||
libburn/drive.c
|
||||
libburn/sbc.c
|
||||
New API call burn_drive_snooze()
|
||||
|
||||
2009.08.24.161646 [2737]
|
||||
libburn/libburn.h
|
||||
libburn/drive.c
|
||||
Made burn_drive_snooze() safe for emulated drives
|
||||
|
||||
2009.08.24.202517 [2740]
|
||||
libburn/transport.h
|
||||
libburn/sbc.c
|
||||
libburn/mmc.c
|
||||
Implemented automatic START UNIT after STOP UNIT before any other SCSI command
|
||||
|
||||
2009.08.27.123001 [2746]
|
||||
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 and activated development documentation
|
||||
|
||||
27 Aug 2009 [2747]
|
||||
- cdrskin/add_ts_changes_to_libburn_0_6_8
|
||||
- cdrskin/add_ts_changes_to_libburn_0_6_9
|
||||
+ cdrskin/add_ts_changes_to_libburn_0_7_0
|
||||
+ cdrskin/add_ts_changes_to_libburn_0_7_1
|
||||
Updated cdrskin tarball generator
|
||||
|
||||
27 Aug 2009 []
|
||||
cdrskin/changelog.txt
|
||||
Documented changes and release timestamp
|
||||
|
||||
------------------------------ release - cdrskin-0.7.0.pl00 - 2009.08.27.123001
|
||||
New API calls burn_drive_get_all_profiles(), burn_obtain_profile_name()
|
||||
New API call burn_drive_snooze()
|
||||
Adapted to pitfalls of U3 memory sticks which appear as CD-ROM drives
|
||||
Listing all supported profiles with option -atip
|
||||
|
||||
|
||||
[]
|
||||
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 and activated development documentation
|
||||
|
||||
27 Aug 2009 []
|
||||
- cdrskin/add_ts_changes_to_libburn_0_6_8
|
||||
- cdrskin/add_ts_changes_to_libburn_0_6_9
|
||||
+ cdrskin/add_ts_changes_to_libburn_0_7_0
|
||||
+ cdrskin/add_ts_changes_to_libburn_0_7_1
|
||||
Updated cdrskin tarball generator
|
||||
|
||||
[]
|
||||
cdrskin/changelog.txt
|
||||
Documented changes and release timestamp
|
||||
|
||||
|
||||
------------------------------------ cycle - cdrskin-0.7.1 -
|
||||
------------------------------------ cycle - cdrskin-0.7.1 -
|
||||
------------------------------------ cycle - cdrskin-0.6.9 -
|
||||
------------------------------------ cycle - cdrskin-0.6.9 -
|
||||
|
||||
===============================================================================
|
||||
TODO
|
||||
@ -6881,6 +6740,7 @@ Documented changes and release timestamp
|
||||
|
||||
--------------------------------- bugs -------------------------------------
|
||||
|
||||
|
||||
- Do something about drive->buffer asynchronous race conditions
|
||||
and dangerous use of local heap memory.
|
||||
(The various asynchronous operations use the same buffer
|
||||
|
@ -7,7 +7,7 @@
|
||||
debug_opts="-O2"
|
||||
def_opts=
|
||||
largefile_opts="-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE=1"
|
||||
libvers="-DCdrskin_libburn_0_7_0"
|
||||
libvers="-DCdrskin_libburn_0_6_8"
|
||||
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_7_0"
|
||||
elif test "$i" = "-libburn_0_6_8"
|
||||
then
|
||||
libvers="-DCdrskin_libburn_0_7_0"
|
||||
libvers="-DCdrskin_libburn_0_6_8"
|
||||
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_7_1"
|
||||
libvers="-DCdrskin_libburn_0_6_9"
|
||||
libdax_audioxtr_o="libburn/libdax_audioxtr.o"
|
||||
libdax_msgs_o="libburn/libdax_msgs.o"
|
||||
cleanup_src_or_obj="libburn/cleanup.o"
|
||||
@ -75,7 +75,7 @@ do
|
||||
echo "Options:"
|
||||
echo " -compile_cdrfifo compile program cdrskin/cdrfifo."
|
||||
echo " -compile_dewav compile program test/dewav without libburn."
|
||||
echo " -libburn_0_7_0 set macro to match libburn-0.7.0"
|
||||
echo " -libburn_0_6_8 set macro to match libburn-0.6.8"
|
||||
echo " -libburn_svn set macro to match current libburn-SVN."
|
||||
echo " -do_not_compile_cdrskin omit compilation of cdrskin/cdrskin."
|
||||
echo " -experimental use newly introduced libburn features."
|
||||
|
19
configure.ac
19
configure.ac
@ -1,4 +1,4 @@
|
||||
AC_INIT([libburn], [0.7.0], [http://libburnia-project.org])
|
||||
AC_INIT([libburn], [0.6.8], [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 - A90827 :
|
||||
dnl Notes by ts A71207 - A90714 :
|
||||
dnl
|
||||
dnl Regrettably the meaning of the various version types was misunderstood
|
||||
dnl before version 0.4.1.
|
||||
@ -73,7 +73,6 @@ dnl 0.6.2 = libburn.so.4.27.0
|
||||
dnl 0.6.4 = libburn.so.4.29.0
|
||||
dnl 0.6.6 = libburn.so.4.31.0
|
||||
dnl 0.6.8 = libburn.so.4.33.0
|
||||
dnl 0.7.0 = libburn.so.4.35.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.
|
||||
@ -98,8 +97,8 @@ dnl If BURN_*_VERSION changes, be sure to change AC_INIT above to match.
|
||||
dnl
|
||||
dnl As said: Only copies. Original in libburn/libburn.h : burn_header_version_*
|
||||
BURN_MAJOR_VERSION=0
|
||||
BURN_MINOR_VERSION=7
|
||||
BURN_MICRO_VERSION=0
|
||||
BURN_MINOR_VERSION=6
|
||||
BURN_MICRO_VERSION=8
|
||||
BURN_VERSION=$BURN_MAJOR_VERSION.$BURN_MINOR_VERSION.$BURN_MICRO_VERSION
|
||||
|
||||
AC_SUBST(BURN_MAJOR_VERSION)
|
||||
@ -110,15 +109,15 @@ AC_SUBST(BURN_VERSION)
|
||||
dnl Libtool versioning
|
||||
LT_RELEASE=$BURN_MAJOR_VERSION.$BURN_MINOR_VERSION.$BURN_MICRO_VERSION
|
||||
dnl
|
||||
dnl ts A90827
|
||||
dnl This is the release version libburn-0.7.0 = libburn.so.4.35.0
|
||||
dnl ts A90714
|
||||
dnl This is the release version libburn-0.6.8 = libburn.so.4.33.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 = 39 - 35 = 4 . Linux library name = libburn.so.4.35.0
|
||||
LT_CURRENT=39
|
||||
LT_AGE=35
|
||||
dnl SONAME = 37 - 33 = 4 . Linux library name = libburn.so.4.33.0
|
||||
LT_CURRENT=37
|
||||
LT_AGE=33
|
||||
LT_REVISION=0
|
||||
LT_CURRENT_MINUS_AGE=`expr $LT_CURRENT - $LT_AGE`
|
||||
|
||||
|
@ -40,9 +40,6 @@
|
||||
/* A70903 : for burn_scsi_setup_drive() */
|
||||
#include "spc.h"
|
||||
|
||||
/* A90815 : for mmc_obtain_profile_name() */
|
||||
#include "mmc.h"
|
||||
|
||||
#include "libdax_msgs.h"
|
||||
extern struct libdax_msgs *libdax_messenger;
|
||||
|
||||
@ -533,22 +530,6 @@ int burn_drive_release_fl(struct burn_drive *d, int flag)
|
||||
}
|
||||
|
||||
|
||||
/* API */
|
||||
/* ts A90824
|
||||
@param flag bit0= wake up (else start snoozing)
|
||||
*/
|
||||
int burn_drive_snooze(struct burn_drive *d, int flag)
|
||||
{
|
||||
if (d->drive_role != 1)
|
||||
return 0;
|
||||
if (flag & 1)
|
||||
d->start_unit(d);
|
||||
else
|
||||
d->stop_unit(d);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
/* API */
|
||||
void burn_drive_release(struct burn_drive *d, int le)
|
||||
{
|
||||
@ -1908,16 +1889,11 @@ int burn_disc_read_atip(struct burn_drive *d)
|
||||
}
|
||||
if(d->drive_role != 1)
|
||||
return 0;
|
||||
if ((d->current_profile == -1 || d->current_is_cd_profile)
|
||||
&& (d->mdata->cdrw_write || d->current_profile != 0x08)) {
|
||||
if (d->current_profile == -1 || d->current_is_cd_profile) {
|
||||
d->read_atip(d);
|
||||
/* >>> some control of success would be nice :) */
|
||||
} else {
|
||||
/* mmc5r03c.pdf 6.26.3.6.3 : ATIP is undefined for non-CD
|
||||
(and it seems meaningless for non-burners).
|
||||
ts A90823: Pseudo-CD U3 memory stick stalls with ATIP.
|
||||
It is !cdrw_write and profile is 0x08.
|
||||
*/
|
||||
/* mmc5r03c.pdf 6.26.3.6.3 : ATIP is undefined for non-CD */;
|
||||
return 0;
|
||||
}
|
||||
return 1;
|
||||
@ -2025,30 +2001,6 @@ int burn_disc_get_profile(struct burn_drive *d, int *pno, char name[80])
|
||||
}
|
||||
|
||||
|
||||
/* ts A90815 : New API function */
|
||||
int burn_drive_get_all_profiles(struct burn_drive *d, int *num_profiles,
|
||||
int profiles[64], char is_current[64])
|
||||
{
|
||||
int i;
|
||||
|
||||
*num_profiles = d->num_profiles;
|
||||
for (i = 0; i < d->num_profiles; i++) {
|
||||
profiles[i] = (d->all_profiles[i * 4] << 8) |
|
||||
d->all_profiles[i * 4 + 1];
|
||||
is_current[i] = d->all_profiles[i * 4 + 2] & 1;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
/* ts A90815 : New API function */
|
||||
int burn_obtain_profile_name(int profile_number, char name[80])
|
||||
{
|
||||
strcpy(name, mmc_obtain_profile_name(profile_number));
|
||||
return(name[0] != 0);
|
||||
}
|
||||
|
||||
|
||||
/* ts A61223 : New API function */
|
||||
int burn_drive_wrote_well(struct burn_drive *d)
|
||||
{
|
||||
|
@ -1029,23 +1029,6 @@ int burn_drive_obtain_scsi_adr(char *path, int *bus_no, int *host_no,
|
||||
int burn_drive_grab(struct burn_drive *drive, int load);
|
||||
|
||||
|
||||
/* ts A90824 */
|
||||
/** Calm down or alert a drive. Some drives stay alert after reading for
|
||||
quite some time. This saves time with the startup for the next read
|
||||
operation but also causes noise and consumes extra energy. It makes
|
||||
sense to calm down the drive if no read operation is expected for the
|
||||
next few seconds. The drive will get alert automatically if operations
|
||||
are required.
|
||||
@param drive The drive to influence.
|
||||
@param flag Bitfield for control purposes
|
||||
bit0= become alert (else start snoozing)
|
||||
This is not mandatory to allow further drive operations
|
||||
@return 1= success , 0= drive role not suitable for calming
|
||||
@since 0.7.0
|
||||
*/
|
||||
int burn_drive_snooze(struct burn_drive *d, int flag);
|
||||
|
||||
|
||||
/** Release a drive. This should not be done until the drive is no longer
|
||||
busy (see burn_drive_get_status).
|
||||
Linux: The drive device file is not reserved afterwards. (O_EXCL, F_SETLK).
|
||||
@ -2015,34 +1998,6 @@ void burn_read_opts_transfer_damaged_blocks(struct burn_read_opts *opts,
|
||||
void burn_read_opts_set_hardware_error_retries(struct burn_read_opts *opts,
|
||||
unsigned char hardware_error_retries);
|
||||
|
||||
|
||||
/* ts A90815 */
|
||||
/** Gets the list of profile codes supported by the drive.
|
||||
Profiles depict the feature sets which constitute media types. For
|
||||
known profile codes and names see burn_disc_get_profile().
|
||||
@param d is the drive to query
|
||||
@param num_profiles returns the number of supported profiles
|
||||
@param profiles returns the profile codes
|
||||
@param is_current returns the status of the corresponding profile code:
|
||||
1= current, i.e. the matching media is loaded
|
||||
0= not current, i.e. the matching media is not loaded
|
||||
@return always 1 for now
|
||||
@since 0.7.0
|
||||
*/
|
||||
int burn_drive_get_all_profiles(struct burn_drive *d, int *num_profiles,
|
||||
int profiles[64], char is_current[64]);
|
||||
|
||||
|
||||
/* ts A90815 */
|
||||
/** Obtains the profile name associated with a profile code.
|
||||
@param profile_code the profile code to be translated
|
||||
@param name returns the profile name (e.g. "DVD+RW")
|
||||
@return 1= known profile code , 0= unknown profile code
|
||||
@since 0.7.0
|
||||
*/
|
||||
int burn_obtain_profile_name(int profile_code, char name[80]);
|
||||
|
||||
|
||||
/** Gets the maximum write speed for a drive and eventually loaded media.
|
||||
The return value might change by the media type of already loaded media,
|
||||
again by call burn_drive_grab() and again by call burn_disc_read_atip().
|
||||
@ -2304,8 +2259,8 @@ void burn_version(int *major, int *minor, int *micro);
|
||||
|
||||
*/
|
||||
#define burn_header_version_major 0
|
||||
#define burn_header_version_minor 7
|
||||
#define burn_header_version_micro 0
|
||||
#define burn_header_version_minor 6
|
||||
#define burn_header_version_micro 8
|
||||
/** Note:
|
||||
Above version numbers are also recorded in configure.ac because libtool
|
||||
wants them as parameters at build time.
|
||||
|
@ -236,11 +236,6 @@ int mmc_function_spy(struct burn_drive *d, char * text)
|
||||
d->cancel = 1;
|
||||
return 0;
|
||||
}
|
||||
if (d->is_stopped && strcmp(text, "stop_unit") != 0 &&
|
||||
strcmp(text, "start_unit") != 0) {
|
||||
d->start_unit(d);
|
||||
d->is_stopped = 0;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
@ -1164,7 +1159,7 @@ 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, ret;
|
||||
int i, bpl= 12, old_alloc_len, t_idx;
|
||||
unsigned char *tdata;
|
||||
char msg[321];
|
||||
|
||||
@ -1190,16 +1185,6 @@ static int mmc_read_toc_al(struct burn_drive *d, int *alloc_len)
|
||||
d->status = BURN_DISC_FULL;
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* ts A90823:
|
||||
SanDisk Cruzer U3 memory stick stalls on format 2.
|
||||
Format 0 seems to be more conservative with read-only drives.
|
||||
*/
|
||||
if (!(d->mdata->cdrw_write || d->current_profile != 0x08)) {
|
||||
ret = mmc_read_toc_fmt0(d);
|
||||
return ret;
|
||||
}
|
||||
|
||||
scsi_init_command(&c, MMC_GET_TOC, sizeof(MMC_GET_TOC));
|
||||
/*
|
||||
memcpy(c.opcode, MMC_GET_TOC, sizeof(MMC_GET_TOC));
|
||||
@ -1482,7 +1467,7 @@ inquire_drive:;
|
||||
|
||||
|
||||
/* ts A61201 */
|
||||
char *mmc_obtain_profile_name(int profile_number)
|
||||
static char *mmc_obtain_profile_name(int profile_number)
|
||||
{
|
||||
static char *texts[0x53] = {NULL};
|
||||
int i, max_pno = 0x53;
|
||||
@ -2265,7 +2250,7 @@ static int mmc_get_configuration_al(struct burn_drive *d, int *alloc_len)
|
||||
{
|
||||
struct buffer buf;
|
||||
int len, cp, descr_len = 0, feature_code, prf_number, only_current = 1;
|
||||
int old_alloc_len, only_current_profile = 0;
|
||||
int old_alloc_len;
|
||||
unsigned char *descr, *prf, *up_to, *prf_end;
|
||||
struct command c;
|
||||
int phys_if_std = 0;
|
||||
@ -2279,7 +2264,6 @@ static int mmc_get_configuration_al(struct burn_drive *d, int *alloc_len)
|
||||
d->current_is_cd_profile = 0;
|
||||
d->current_is_supported_profile = 0;
|
||||
d->current_is_guessed_profile = 0;
|
||||
d->num_profiles = 0;
|
||||
d->current_has_feat21h = 0;
|
||||
d->current_feat21h_link_size = -1;
|
||||
d->current_feat23h_byte4 = 0;
|
||||
@ -2288,6 +2272,10 @@ static int mmc_get_configuration_al(struct burn_drive *d, int *alloc_len)
|
||||
|
||||
scsi_init_command(&c, MMC_GET_CONFIGURATION,
|
||||
sizeof(MMC_GET_CONFIGURATION));
|
||||
/*
|
||||
memcpy(c.opcode, MMC_GET_CONFIGURATION, sizeof(MMC_GET_CONFIGURATION));
|
||||
c.oplen = sizeof(MMC_GET_CONFIGURATION);
|
||||
*/
|
||||
c.dxfer_len= *alloc_len;
|
||||
c.retry = 1;
|
||||
c.opcode[7] = (c.dxfer_len >> 8) & 0xff;
|
||||
@ -2393,7 +2381,7 @@ static int mmc_get_configuration_al(struct burn_drive *d, int *alloc_len)
|
||||
#endif
|
||||
|
||||
/* Enable this to get loud and repeated reports about the feature set :
|
||||
#define Libburn_print_feature_descriptorS 1
|
||||
#define Libburn_print_feature_descriptorS 1
|
||||
*/
|
||||
/* ts A70127 : Interpret list of profile and feature descriptors.
|
||||
see mmc5r03c.pdf 5.2
|
||||
@ -2407,7 +2395,7 @@ static int mmc_get_configuration_al(struct burn_drive *d, int *alloc_len)
|
||||
"-----------------------------------------------------------------\n");
|
||||
fprintf(stderr,
|
||||
"LIBBURN_EXPERIMENTAL : feature list length = %d , shown = %d\n",
|
||||
len, (int) (up_to - c.page->data));
|
||||
len, up_to - c.page->data);
|
||||
#endif /* Libburn_print_feature_descriptorS */
|
||||
|
||||
for (descr = c.page->data + 8; descr + 3 < up_to; descr += descr_len) {
|
||||
@ -2425,14 +2413,8 @@ static int mmc_get_configuration_al(struct burn_drive *d, int *alloc_len)
|
||||
|
||||
if (feature_code == 0x0) {
|
||||
prf_end = descr + 4 + descr[3];
|
||||
d->num_profiles = descr[3] / 4;
|
||||
if (d->num_profiles > 64)
|
||||
d->num_profiles = 64;
|
||||
if (d->num_profiles > 0)
|
||||
memcpy(d->all_profiles, descr + 4,
|
||||
d->num_profiles * 4);
|
||||
for (prf = descr + 4; prf + 2 < prf_end; prf += 4) {
|
||||
if (only_current_profile && !(prf[2] & 1))
|
||||
if (only_current && !(prf[2] & 1))
|
||||
continue;
|
||||
prf_number = (prf[0] << 8) | prf[1];
|
||||
|
||||
@ -3883,15 +3865,13 @@ int mmc_setup_drive(struct burn_drive *d)
|
||||
d->start_lba = -2000000000;
|
||||
d->end_lba = -2000000000;
|
||||
|
||||
/* ts A61201 - A90815*/
|
||||
/* ts A61201 - A70223*/
|
||||
d->erasable = 0;
|
||||
d->current_profile = -1;
|
||||
d->current_profile_text[0] = 0;
|
||||
d->current_is_cd_profile = 0;
|
||||
d->current_is_supported_profile = 0;
|
||||
d->current_is_guessed_profile = 0;
|
||||
memset(d->all_profiles, 0, 256);
|
||||
d->num_profiles = 0;
|
||||
d->current_has_feat21h = 0;
|
||||
d->current_feat21h_link_size = -1;
|
||||
d->current_feat23h_byte4 = 0;
|
||||
|
@ -75,9 +75,6 @@ int mmc_read_10(struct burn_drive *d, int start, int amount,
|
||||
/* ts A81210 : Determine the upper limit of readable data size */
|
||||
int mmc_read_capacity(struct burn_drive *d);
|
||||
|
||||
/* ts A61201 */
|
||||
char *mmc_obtain_profile_name(int profile_number);
|
||||
|
||||
|
||||
/* mmc5r03c.pdf 4.3.4.4.1 d) "The maximum number of RZones is 2 302." */
|
||||
#define BURN_MMC_FAKE_TOC_MAX_SIZE 2302
|
||||
|
@ -21,7 +21,6 @@ int mmc_function_spy(struct burn_drive *d, char * text);
|
||||
static unsigned char SBC_LOAD[] = { 0x1b, 0, 0, 0, 3, 0 };
|
||||
static unsigned char SBC_UNLOAD[] = { 0x1b, 0, 0, 0, 2, 0 };
|
||||
static unsigned char SBC_START_UNIT[] = { 0x1b, 0, 0, 0, 1, 0 };
|
||||
static unsigned char SBC_STOP_UNIT[] = { 0x1b, 0, 0, 0, 0, 0 };
|
||||
|
||||
void sbc_load(struct burn_drive *d)
|
||||
{
|
||||
@ -80,46 +79,28 @@ void sbc_eject(struct burn_drive *d)
|
||||
int sbc_start_unit(struct burn_drive *d)
|
||||
{
|
||||
struct command c;
|
||||
int ret;
|
||||
|
||||
if (mmc_function_spy(d, "start_unit") <= 0)
|
||||
return 0;
|
||||
|
||||
scsi_init_command(&c, SBC_START_UNIT, sizeof(SBC_START_UNIT));
|
||||
/*
|
||||
memcpy(c.opcode, SBC_START_UNIT, sizeof(SBC_START_UNIT));
|
||||
c.oplen = sizeof(SBC_START_UNIT);
|
||||
c.page = NULL;
|
||||
*/
|
||||
c.retry = 1;
|
||||
|
||||
c.opcode[1] |= 1; /* ts A70918 : Immed */
|
||||
|
||||
c.dir = NO_TRANSFER;
|
||||
d->issue_command(d, &c);
|
||||
if (c.error)
|
||||
return 0;
|
||||
/* ts A70918 : now asynchronous */
|
||||
d->is_stopped = 0;
|
||||
ret = spc_wait_unit_attention(d, 1800, "START UNIT", 0);
|
||||
return ret;
|
||||
return spc_wait_unit_attention(d, 1800, "START UNIT", 0);
|
||||
}
|
||||
|
||||
/* ts A90824 : Trying to reduce drive noise */
|
||||
int sbc_stop_unit(struct burn_drive *d)
|
||||
{
|
||||
struct command c;
|
||||
int ret;
|
||||
|
||||
if (mmc_function_spy(d, "stop_unit") <= 0)
|
||||
return 0;
|
||||
|
||||
scsi_init_command(&c, SBC_STOP_UNIT, sizeof(SBC_STOP_UNIT));
|
||||
c.retry = 1;
|
||||
c.opcode[1] |= 1; /* Immed */
|
||||
c.dir = NO_TRANSFER;
|
||||
d->issue_command(d, &c);
|
||||
if (c.error)
|
||||
return 0;
|
||||
ret = spc_wait_unit_attention(d, 1800, "STOP UNIT", 0);
|
||||
d->is_stopped = 1;
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ts A61021 : the sbc specific part of sg.c:enumerate_common()
|
||||
*/
|
||||
@ -128,8 +109,6 @@ int sbc_setup_drive(struct burn_drive *d)
|
||||
d->eject = sbc_eject;
|
||||
d->load = sbc_load;
|
||||
d->start_unit = sbc_start_unit;
|
||||
d->stop_unit = sbc_stop_unit;
|
||||
d->is_stopped = 0;
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@ -463,24 +463,12 @@ static int spc_sense_caps_al(struct burn_drive *d, int *alloc_len, int flag)
|
||||
m->min_write_speed, m->max_write_speed);
|
||||
|
||||
try_mmc_get_performance:;
|
||||
if (m->cdrw_write || page_length >= 32) {
|
||||
/* ts A90823:
|
||||
One has to avoid U3 enhanced memory sticks here. On my
|
||||
SuSE 10.2 a SanDisk Cruzer 4GB stalls at the second occasion
|
||||
of ACh GET PERFORMANCE. (The first one is obviously called
|
||||
by the OS at plug time.)
|
||||
This pseudo drive returns no write capabilities and a page
|
||||
length of 28. MMC-3 describes page length 32. Regrettably
|
||||
MMC-2 prescribes a page length of 26. Here i have to trust
|
||||
m->cdrw_write to reliably indicate any MMC-2 burner.
|
||||
*/
|
||||
ret = mmc_get_write_performance(d);
|
||||
if (ret > 0 && speed_debug)
|
||||
fprintf(stderr,
|
||||
"LIBBURN_DEBUG: ACh min_write_speed = %d , max_write_speed = %d\n",
|
||||
m->min_write_speed, m->max_write_speed);
|
||||
}
|
||||
ret = mmc_get_write_performance(d);
|
||||
|
||||
if (ret > 0 && speed_debug)
|
||||
fprintf(stderr,
|
||||
"LIBBURN_DEBUG: ACh min_write_speed = %d , max_write_speed = %d\n",
|
||||
m->min_write_speed, m->max_write_speed);
|
||||
return !was_error;
|
||||
}
|
||||
|
||||
|
@ -163,9 +163,6 @@ struct burn_drive
|
||||
int current_is_supported_profile;
|
||||
/* ts A90603 */
|
||||
int current_is_guessed_profile;
|
||||
/* ts A90815 */
|
||||
unsigned char all_profiles[256];
|
||||
int num_profiles;
|
||||
|
||||
/* ts A70128 : MMC-to-MMC feature info from 46h for DVD-RW.
|
||||
Quite internal. Regard as opaque :)
|
||||
@ -317,11 +314,6 @@ struct burn_drive
|
||||
void (*eject) (struct burn_drive *);
|
||||
void (*load) (struct burn_drive *);
|
||||
int (*start_unit) (struct burn_drive *);
|
||||
|
||||
/* ts A90824 : Calming down noisy drives */
|
||||
int (*stop_unit) (struct burn_drive *);
|
||||
int is_stopped;
|
||||
|
||||
void (*read_disc_info) (struct burn_drive *);
|
||||
void (*read_sectors) (struct burn_drive *,
|
||||
int start,
|
||||
|
@ -1736,14 +1736,6 @@ int burn_dvd_write_sync(struct burn_write_opts *o,
|
||||
o->obs_pad = 1; /* fill-up track's last 32k buffer */
|
||||
}
|
||||
|
||||
|
||||
/* <<< test only : Does this increase effective speed with USB ?
|
||||
ts A90801 : 64kB: speed with 16x DVD-R is 12 rather than 8
|
||||
>>> next try is 128 kB
|
||||
o->obs = 128 * 1024;
|
||||
*/
|
||||
|
||||
|
||||
sprintf(msg, "dvd/bd Profile= %2.2Xh , obs= %d , obs_pad= %d",
|
||||
d->current_profile, o->obs, o->obs_pad);
|
||||
libdax_msgs_submit(libdax_messenger, d->global_index, 0x00000002,
|
||||
|
Reference in New Issue
Block a user