Enabled audio tracks with TAO

This commit is contained in:
Thomas Schmitt 2006-11-04 09:27:50 +00:00
parent 66515523c1
commit 25d5a2afe4
3 changed files with 15 additions and 3 deletions

View File

@ -1 +1 @@
#define Cdrskin_timestamP "2006.11.03.202403"
#define Cdrskin_timestamP "2006.11.04.092909"

View File

@ -53,7 +53,8 @@ static void uncook_subs(unsigned char *dest, unsigned char *source)
int sector_get_outmode(enum burn_write_types write_type,
enum burn_block_types block_type)
{
if (write_type == BURN_WRITE_SAO)
/* ts A61103 : extended SAO condition to TAO */
if (write_type == BURN_WRITE_SAO || write_type == BURN_WRITE_TAO)
return 0;
else
switch (block_type) {
@ -722,7 +723,7 @@ void sector_headers(struct burn_write_opts *o, unsigned char *out,
/* ts A61031 */
if (o->write_type == BURN_WRITE_TAO)
return 1;
return;
if (mode & BURN_MODE1)
modebyte = 1;

View File

@ -274,6 +274,11 @@ void spc_sense_write_params(struct burn_drive *d)
mmc_read_disc_info(d);
}
/* remark ts A61104 :
Although command MODE SELECT is SPC, the content of the
Write Parameters Mode Page (05h) is MMC (Table 108 in MMC-1).
Thus the filling of the mode page should be done by a mmc_ function.
*/
void spc_select_write_params(struct burn_drive *d,
const struct burn_write_opts *o)
{
@ -316,6 +321,12 @@ void spc_select_write_params(struct burn_drive *d,
+ o->write_type;
c.page->data[11] = (o->multi << 6) | o->control;
c.page->data[12] = spc_block_type(o->block_type);
/* ts A61104 */
if(!(o->control&4)) /* audio (MMC-1 table 61) */
if(o->write_type == BURN_WRITE_TAO) /* ??? for others too ? */
c.page->data[12] = 0; /* Data Block Type: Raw Data */
c.page->data[22] = 0;
c.page->data[23] = 150; /* audio pause length */
/*XXX need session format! */