Add get_disc_mode to image readers.
Add it in cd-info display. Update regression tests. I'm not sure disc_mode is all that helpful or correct.
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
$Id: bincue.c,v 1.35 2004/07/17 22:16:47 rocky Exp $
|
||||
$Id: bincue.c,v 1.36 2004/07/24 14:23:38 rocky Exp $
|
||||
|
||||
Copyright (C) 2002, 2003, 2004 Rocky Bernstein <rocky@panix.com>
|
||||
Copyright (C) 2001 Herbert Valerio Riedel <hvr@gnu.org>
|
||||
@@ -26,7 +26,7 @@
|
||||
(*.cue).
|
||||
*/
|
||||
|
||||
static const char _rcsid[] = "$Id: bincue.c,v 1.35 2004/07/17 22:16:47 rocky Exp $";
|
||||
static const char _rcsid[] = "$Id: bincue.c,v 1.36 2004/07/24 14:23:38 rocky Exp $";
|
||||
|
||||
#include "image.h"
|
||||
#include "cdio_assert.h"
|
||||
@@ -84,7 +84,7 @@ typedef struct {
|
||||
track_t i_tracks; /* number of tracks in image */
|
||||
track_t i_first_track; /* track number of first track */
|
||||
cdtext_t cdtext; /* CD-TEXT */
|
||||
track_format_t mode;
|
||||
discmode_t disc_mode;
|
||||
} _img_private_t;
|
||||
|
||||
static uint32_t _stat_size_bincue (void *user_data);
|
||||
@@ -97,7 +97,7 @@ static bool parse_cuefile (_img_private_t *cd, const char *toc_name);
|
||||
Initialize image structures.
|
||||
*/
|
||||
static bool
|
||||
_bincue_init (_img_private_t *env)
|
||||
_init_bincue (_img_private_t *env)
|
||||
{
|
||||
lsn_t lead_lsn;
|
||||
|
||||
@@ -115,6 +115,7 @@ _bincue_init (_img_private_t *env)
|
||||
env->gen.init = true;
|
||||
env->i_first_track = 1;
|
||||
env->psz_mcn = NULL;
|
||||
env->disc_mode = CDIO_DISC_MODE_NO_INFO;
|
||||
|
||||
cdtext_init (&(env->cdtext));
|
||||
|
||||
@@ -397,6 +398,24 @@ parse_cuefile (_img_private_t *cd, const char *psz_cue_name)
|
||||
this_track->endsize = 0;
|
||||
this_track->track_format = TRACK_FORMAT_AUDIO;
|
||||
this_track->track_green = false;
|
||||
switch(cd->disc_mode) {
|
||||
case CDIO_DISC_MODE_NO_INFO:
|
||||
cd->disc_mode = CDIO_DISC_MODE_CD_DA;
|
||||
break;
|
||||
case CDIO_DISC_MODE_CD_DA:
|
||||
case CDIO_DISC_MODE_CD_MIXED:
|
||||
case CDIO_DISC_MODE_ERROR:
|
||||
/* Disc type stays the same. */
|
||||
break;
|
||||
case CDIO_DISC_MODE_CD_DATA_1:
|
||||
case CDIO_DISC_MODE_CD_DATA_2:
|
||||
case CDIO_DISC_MODE_CD_XA_2_1:
|
||||
case CDIO_DISC_MODE_CD_XA_2_2:
|
||||
cd->disc_mode = CDIO_DISC_MODE_CD_MIXED;
|
||||
break;
|
||||
default:
|
||||
cd->disc_mode = CDIO_DISC_MODE_ERROR;
|
||||
}
|
||||
}
|
||||
} else if (0 == strcmp ("MODE1/2048", psz_field)) {
|
||||
if (cd) {
|
||||
@@ -408,6 +427,24 @@ parse_cuefile (_img_private_t *cd, const char *psz_cue_name)
|
||||
this_track->datastart = 0;
|
||||
this_track->datasize = CDIO_CD_FRAMESIZE;
|
||||
this_track->endsize = 0;
|
||||
switch(cd->disc_mode) {
|
||||
case CDIO_DISC_MODE_NO_INFO:
|
||||
cd->disc_mode = CDIO_DISC_MODE_CD_DATA_1;
|
||||
break;
|
||||
case CDIO_DISC_MODE_CD_DATA_1:
|
||||
case CDIO_DISC_MODE_CD_MIXED:
|
||||
case CDIO_DISC_MODE_ERROR:
|
||||
/* Disc type stays the same. */
|
||||
break;
|
||||
case CDIO_DISC_MODE_CD_DA:
|
||||
case CDIO_DISC_MODE_CD_DATA_2:
|
||||
case CDIO_DISC_MODE_CD_XA_2_1:
|
||||
case CDIO_DISC_MODE_CD_XA_2_2:
|
||||
cd->disc_mode = CDIO_DISC_MODE_CD_MIXED;
|
||||
break;
|
||||
default:
|
||||
cd->disc_mode = CDIO_DISC_MODE_ERROR;
|
||||
}
|
||||
}
|
||||
} else if (0 == strcmp ("MODE1/2352", psz_field)) {
|
||||
if (cd) {
|
||||
@@ -420,6 +457,24 @@ parse_cuefile (_img_private_t *cd, const char *psz_cue_name)
|
||||
this_track->endsize = CDIO_CD_EDC_SIZE
|
||||
+ CDIO_CD_M1F1_ZERO_SIZE + CDIO_CD_ECC_SIZE;
|
||||
this_track->mode = MODE1_RAW;
|
||||
switch(cd->disc_mode) {
|
||||
case CDIO_DISC_MODE_NO_INFO:
|
||||
cd->disc_mode = CDIO_DISC_MODE_CD_DATA_2;
|
||||
break;
|
||||
case CDIO_DISC_MODE_CD_DATA_2:
|
||||
case CDIO_DISC_MODE_CD_MIXED:
|
||||
case CDIO_DISC_MODE_ERROR:
|
||||
/* Disc type stays the same. */
|
||||
break;
|
||||
case CDIO_DISC_MODE_CD_DA:
|
||||
case CDIO_DISC_MODE_CD_DATA_1:
|
||||
case CDIO_DISC_MODE_CD_XA_2_1:
|
||||
case CDIO_DISC_MODE_CD_XA_2_2:
|
||||
cd->disc_mode = CDIO_DISC_MODE_CD_MIXED;
|
||||
break;
|
||||
default:
|
||||
cd->disc_mode = CDIO_DISC_MODE_ERROR;
|
||||
}
|
||||
}
|
||||
} else if (0 == strcmp ("MODE2/2336", psz_field)) {
|
||||
if (cd) {
|
||||
@@ -431,6 +486,24 @@ parse_cuefile (_img_private_t *cd, const char *psz_cue_name)
|
||||
+ CDIO_CD_HEADER_SIZE;
|
||||
this_track->datasize = M2RAW_SECTOR_SIZE;
|
||||
this_track->endsize = 0;
|
||||
switch(cd->disc_mode) {
|
||||
case CDIO_DISC_MODE_NO_INFO:
|
||||
cd->disc_mode = CDIO_DISC_MODE_CD_DATA_2;
|
||||
break;
|
||||
case CDIO_DISC_MODE_CD_DATA_2:
|
||||
case CDIO_DISC_MODE_CD_MIXED:
|
||||
case CDIO_DISC_MODE_ERROR:
|
||||
/* Disc type stays the same. */
|
||||
break;
|
||||
case CDIO_DISC_MODE_CD_DA:
|
||||
case CDIO_DISC_MODE_CD_DATA_1:
|
||||
case CDIO_DISC_MODE_CD_XA_2_1:
|
||||
case CDIO_DISC_MODE_CD_XA_2_2:
|
||||
cd->disc_mode = CDIO_DISC_MODE_CD_MIXED;
|
||||
break;
|
||||
default:
|
||||
cd->disc_mode = CDIO_DISC_MODE_ERROR;
|
||||
}
|
||||
}
|
||||
} else if (0 == strcmp ("MODE2/2048", psz_field)) {
|
||||
if (cd) {
|
||||
@@ -438,6 +511,24 @@ parse_cuefile (_img_private_t *cd, const char *psz_cue_name)
|
||||
this_track->track_format= TRACK_FORMAT_XA;
|
||||
this_track->track_green = true;
|
||||
this_track->mode = MODE2_FORM1;
|
||||
switch(cd->disc_mode) {
|
||||
case CDIO_DISC_MODE_NO_INFO:
|
||||
cd->disc_mode = CDIO_DISC_MODE_CD_XA_2_1;
|
||||
break;
|
||||
case CDIO_DISC_MODE_CD_XA_2_1:
|
||||
case CDIO_DISC_MODE_CD_MIXED:
|
||||
case CDIO_DISC_MODE_ERROR:
|
||||
/* Disc type stays the same. */
|
||||
break;
|
||||
case CDIO_DISC_MODE_CD_DA:
|
||||
case CDIO_DISC_MODE_CD_DATA_1:
|
||||
case CDIO_DISC_MODE_CD_DATA_2:
|
||||
case CDIO_DISC_MODE_CD_XA_2_2:
|
||||
cd->disc_mode = CDIO_DISC_MODE_CD_MIXED;
|
||||
break;
|
||||
default:
|
||||
cd->disc_mode = CDIO_DISC_MODE_ERROR;
|
||||
}
|
||||
}
|
||||
} else if (0 == strcmp ("MODE2/2324", psz_field)) {
|
||||
if (cd) {
|
||||
@@ -445,6 +536,24 @@ parse_cuefile (_img_private_t *cd, const char *psz_cue_name)
|
||||
this_track->track_format= TRACK_FORMAT_XA;
|
||||
this_track->track_green = true;
|
||||
this_track->mode = MODE2_FORM2;
|
||||
switch(cd->disc_mode) {
|
||||
case CDIO_DISC_MODE_NO_INFO:
|
||||
cd->disc_mode = CDIO_DISC_MODE_CD_XA_2_2;
|
||||
break;
|
||||
case CDIO_DISC_MODE_CD_XA_2_2:
|
||||
case CDIO_DISC_MODE_CD_MIXED:
|
||||
case CDIO_DISC_MODE_ERROR:
|
||||
/* Disc type stays the same. */
|
||||
break;
|
||||
case CDIO_DISC_MODE_CD_DA:
|
||||
case CDIO_DISC_MODE_CD_DATA_1:
|
||||
case CDIO_DISC_MODE_CD_DATA_2:
|
||||
case CDIO_DISC_MODE_CD_XA_2_1:
|
||||
cd->disc_mode = CDIO_DISC_MODE_CD_MIXED;
|
||||
break;
|
||||
default:
|
||||
cd->disc_mode = CDIO_DISC_MODE_ERROR;
|
||||
}
|
||||
}
|
||||
} else if (0 == strcmp ("MODE2/2336", psz_field)) {
|
||||
if (cd) {
|
||||
@@ -456,6 +565,24 @@ parse_cuefile (_img_private_t *cd, const char *psz_cue_name)
|
||||
+ CDIO_CD_HEADER_SIZE;
|
||||
this_track->datasize = M2RAW_SECTOR_SIZE;
|
||||
this_track->endsize = 0;
|
||||
switch(cd->disc_mode) {
|
||||
case CDIO_DISC_MODE_NO_INFO:
|
||||
cd->disc_mode = CDIO_DISC_MODE_CD_XA_2_2;
|
||||
break;
|
||||
case CDIO_DISC_MODE_CD_XA_2_2:
|
||||
case CDIO_DISC_MODE_CD_MIXED:
|
||||
case CDIO_DISC_MODE_ERROR:
|
||||
/* Disc type stays the same. */
|
||||
break;
|
||||
case CDIO_DISC_MODE_CD_DA:
|
||||
case CDIO_DISC_MODE_CD_DATA_1:
|
||||
case CDIO_DISC_MODE_CD_DATA_2:
|
||||
case CDIO_DISC_MODE_CD_XA_2_1:
|
||||
cd->disc_mode = CDIO_DISC_MODE_CD_MIXED;
|
||||
break;
|
||||
default:
|
||||
cd->disc_mode = CDIO_DISC_MODE_ERROR;
|
||||
}
|
||||
}
|
||||
} else if (0 == strcmp ("MODE2/2352", psz_field)) {
|
||||
if (cd) {
|
||||
@@ -467,6 +594,24 @@ parse_cuefile (_img_private_t *cd, const char *psz_cue_name)
|
||||
+ CDIO_CD_HEADER_SIZE + CDIO_CD_SUBHEADER_SIZE;
|
||||
this_track->datasize = CDIO_CD_FRAMESIZE;
|
||||
this_track->endsize = CDIO_CD_SYNC_SIZE + CDIO_CD_ECC_SIZE;
|
||||
switch(cd->disc_mode) {
|
||||
case CDIO_DISC_MODE_NO_INFO:
|
||||
cd->disc_mode = CDIO_DISC_MODE_CD_XA_2_2;
|
||||
break;
|
||||
case CDIO_DISC_MODE_CD_XA_2_2:
|
||||
case CDIO_DISC_MODE_CD_MIXED:
|
||||
case CDIO_DISC_MODE_ERROR:
|
||||
/* Disc type stays the same. */
|
||||
break;
|
||||
case CDIO_DISC_MODE_CD_DA:
|
||||
case CDIO_DISC_MODE_CD_DATA_1:
|
||||
case CDIO_DISC_MODE_CD_DATA_2:
|
||||
case CDIO_DISC_MODE_CD_XA_2_1:
|
||||
cd->disc_mode = CDIO_DISC_MODE_CD_MIXED;
|
||||
break;
|
||||
default:
|
||||
cd->disc_mode = CDIO_DISC_MODE_ERROR;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
cdio_log(log_level,
|
||||
@@ -1012,6 +1157,7 @@ cdio_open_cue (const char *psz_cue_name)
|
||||
.get_cdtext = _get_cdtext_image,
|
||||
.get_devices = cdio_get_devices_bincue,
|
||||
.get_default_device = cdio_get_default_device_bincue,
|
||||
.get_discmode = _get_discmode_image,
|
||||
.get_drive_cap = _get_drive_cap_image,
|
||||
.get_first_track_num= _get_first_track_num_image,
|
||||
.get_mcn = _get_mcn_image,
|
||||
@@ -1055,7 +1201,7 @@ cdio_open_cue (const char *psz_cue_name)
|
||||
_set_arg_image (_data, "source", psz_bin_name);
|
||||
free(psz_bin_name);
|
||||
|
||||
if (_bincue_init(_data)) {
|
||||
if (_init_bincue(_data)) {
|
||||
return ret;
|
||||
} else {
|
||||
_free_image(_data);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
$Id: cdrdao.c,v 1.20 2004/07/17 22:16:47 rocky Exp $
|
||||
$Id: cdrdao.c,v 1.21 2004/07/24 14:23:39 rocky Exp $
|
||||
|
||||
Copyright (C) 2004 Rocky Bernstein <rocky@panix.com>
|
||||
toc reading routine adapted from cuetools
|
||||
@@ -25,7 +25,7 @@
|
||||
(*.cue).
|
||||
*/
|
||||
|
||||
static const char _rcsid[] = "$Id: cdrdao.c,v 1.20 2004/07/17 22:16:47 rocky Exp $";
|
||||
static const char _rcsid[] = "$Id: cdrdao.c,v 1.21 2004/07/24 14:23:39 rocky Exp $";
|
||||
|
||||
#include "image.h"
|
||||
#include "cdio_assert.h"
|
||||
@@ -84,7 +84,7 @@ typedef struct {
|
||||
track_t i_tracks; /* number of tracks in image */
|
||||
track_t i_first_track; /* track number of first track */
|
||||
cdtext_t cdtext; /* CD-TEXT */
|
||||
track_format_t mode;
|
||||
discmode_t disc_mode;
|
||||
} _img_private_t;
|
||||
|
||||
static uint32_t _stat_size_cdrdao (void *user_data);
|
||||
@@ -110,6 +110,7 @@ _init_cdrdao (_img_private_t *env)
|
||||
env->gen.init = true;
|
||||
env->i_first_track = 1;
|
||||
env->psz_mcn = NULL;
|
||||
env->disc_mode = CDIO_DISC_MODE_NO_INFO;
|
||||
|
||||
cdtext_init (&(env->cdtext));
|
||||
|
||||
@@ -346,14 +347,14 @@ parse_tocfile (_img_private_t *cd, const char *psz_cue_name)
|
||||
} else if (0 == strcmp ("CD_DA", psz_keyword)) {
|
||||
if (-1 == i) {
|
||||
if (NULL != cd)
|
||||
cd->mode = TRACK_FORMAT_AUDIO;
|
||||
cd->disc_mode = CDIO_DISC_MODE_CD_DA;
|
||||
} else {
|
||||
goto not_in_global_section;
|
||||
}
|
||||
} else if (0 == strcmp ("CD_ROM", psz_keyword)) {
|
||||
if (-1 == i) {
|
||||
if (NULL != cd)
|
||||
cd->mode = TRACK_FORMAT_DATA;
|
||||
cd->disc_mode = CDIO_DISC_MODE_CD_DATA_1;
|
||||
} else {
|
||||
goto not_in_global_section;
|
||||
}
|
||||
@@ -361,7 +362,7 @@ parse_tocfile (_img_private_t *cd, const char *psz_cue_name)
|
||||
} else if (0 == strcmp ("CD_ROM_XA", psz_keyword)) {
|
||||
if (-1 == i) {
|
||||
if (NULL != cd)
|
||||
cd->mode = TRACK_FORMAT_XA;
|
||||
cd->disc_mode = CDIO_DISC_MODE_CD_XA_2_1;
|
||||
} else {
|
||||
goto not_in_global_section;
|
||||
}
|
||||
@@ -991,6 +992,7 @@ cdio_open_cdrdao (const char *psz_cue_name)
|
||||
.get_cdtext = _get_cdtext_image,
|
||||
.get_devices = cdio_get_devices_cdrdao,
|
||||
.get_default_device = cdio_get_default_device_cdrdao,
|
||||
.get_discmode = _get_discmode_image,
|
||||
.get_drive_cap = _get_drive_cap_image,
|
||||
.get_first_track_num= _get_first_track_num_image,
|
||||
.get_mcn = _get_mcn_image,
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
$Id: nrg.c,v 1.32 2004/07/17 22:16:47 rocky Exp $
|
||||
$Id: nrg.c,v 1.33 2004/07/24 14:23:39 rocky Exp $
|
||||
|
||||
Copyright (C) 2003, 2004 Rocky Bernstein <rocky@panix.com>
|
||||
Copyright (C) 2001, 2003 Herbert Valerio Riedel <hvr@gnu.org>
|
||||
@@ -45,7 +45,7 @@
|
||||
#include "_cdio_stdio.h"
|
||||
#include "nrg.h"
|
||||
|
||||
static const char _rcsid[] = "$Id: nrg.c,v 1.32 2004/07/17 22:16:47 rocky Exp $";
|
||||
static const char _rcsid[] = "$Id: nrg.c,v 1.33 2004/07/24 14:23:39 rocky Exp $";
|
||||
|
||||
|
||||
/* reader */
|
||||
@@ -80,7 +80,7 @@ typedef struct {
|
||||
track_t i_tracks; /* number of tracks in image */
|
||||
track_t i_first_track; /* track number of first track */
|
||||
cdtext_t cdtext; /* CD-TEXT */
|
||||
track_format_t mode;
|
||||
discmode_t disc_mode;
|
||||
|
||||
/* Nero Specific stuff. Note: for the image_free to work, this *must*
|
||||
be last. */
|
||||
@@ -396,32 +396,32 @@ parse_nrg (_img_private_t *env, const char *psz_nrg_name)
|
||||
switch (env->dtyp) {
|
||||
case 0:
|
||||
/* Mode 1 */
|
||||
track_format = TRACK_FORMAT_DATA;
|
||||
env->mode = MODE1;
|
||||
track_format = TRACK_FORMAT_DATA;
|
||||
env->disc_mode = CDIO_DISC_MODE_CD_DATA_1;
|
||||
break;
|
||||
case 2:
|
||||
/* Mode 2 form 1 */
|
||||
form2 = 0;
|
||||
track_format = TRACK_FORMAT_XA;
|
||||
env->mode = MODE2_FORM1;
|
||||
form2 = 0;
|
||||
track_format = TRACK_FORMAT_XA;
|
||||
env->disc_mode = CDIO_DISC_MODE_CD_XA_2_1;
|
||||
break;
|
||||
case 3:
|
||||
/* Mode 2 */
|
||||
track_format = TRACK_FORMAT_XA;
|
||||
env->mode = MODE2;
|
||||
track_format = TRACK_FORMAT_XA;
|
||||
env->disc_mode = CDIO_DISC_MODE_CD_XA_2_1; /* ?? */
|
||||
break;
|
||||
case 0x6:
|
||||
/* Mode2 form mix */
|
||||
track_format = TRACK_FORMAT_XA;
|
||||
env->mode = MODE2_FORM_MIX;
|
||||
track_format = TRACK_FORMAT_XA;
|
||||
env->disc_mode = CDIO_DISC_MODE_CD_MIXED;
|
||||
break;
|
||||
case 0x20: /* ??? Mode2 form 2, Mode2 raw?? */
|
||||
track_format = TRACK_FORMAT_XA;
|
||||
env->mode = MODE2_FORM2; /* Just a guess. */
|
||||
track_format = TRACK_FORMAT_XA;
|
||||
env->disc_mode = CDIO_DISC_MODE_CD_XA_2_2; /* ??. */
|
||||
break;
|
||||
case 0x7:
|
||||
track_format = TRACK_FORMAT_AUDIO;
|
||||
env->mode = AUDIO;
|
||||
track_format = TRACK_FORMAT_AUDIO;
|
||||
env->disc_mode = CDIO_DISC_MODE_CD_DA;
|
||||
break;
|
||||
default:
|
||||
cdio_log (log_level, "Unknown track format %x\n",
|
||||
@@ -509,43 +509,43 @@ parse_nrg (_img_private_t *env, const char *psz_nrg_name)
|
||||
switch (track_mode) {
|
||||
case 0:
|
||||
/* Mode 1 */
|
||||
track_format = TRACK_FORMAT_DATA;
|
||||
track_green = false; /* ?? */
|
||||
blocksize = CDIO_CD_FRAMESIZE;
|
||||
env->mode = MODE1;
|
||||
track_format = TRACK_FORMAT_DATA;
|
||||
track_green = false; /* ?? */
|
||||
blocksize = CDIO_CD_FRAMESIZE;
|
||||
env->disc_mode = CDIO_DISC_MODE_CD_DATA_1;
|
||||
break;
|
||||
case 2:
|
||||
/* Mode 2 form 1 */
|
||||
track_format = TRACK_FORMAT_XA;
|
||||
track_green = false; /* ?? */
|
||||
blocksize = CDIO_CD_FRAMESIZE;
|
||||
env->mode = MODE2_FORM1;
|
||||
track_format = TRACK_FORMAT_XA;
|
||||
track_green = false; /* ?? */
|
||||
blocksize = CDIO_CD_FRAMESIZE;
|
||||
env->disc_mode = CDIO_DISC_MODE_CD_XA_2_1;
|
||||
break;
|
||||
case 3:
|
||||
/* Mode 2 */
|
||||
track_format = TRACK_FORMAT_XA;
|
||||
track_green = true;
|
||||
blocksize = M2RAW_SECTOR_SIZE;
|
||||
env->mode = MODE2;
|
||||
track_format = TRACK_FORMAT_XA;
|
||||
track_green = true;
|
||||
blocksize = M2RAW_SECTOR_SIZE;
|
||||
env->disc_mode = CDIO_DISC_MODE_CD_XA_2_1; /* ?? */
|
||||
break;
|
||||
case 06:
|
||||
/* Mode2 form mix */
|
||||
track_format = TRACK_FORMAT_XA;
|
||||
track_green = true;
|
||||
blocksize = M2RAW_SECTOR_SIZE;
|
||||
env->mode = MODE2_FORM_MIX;
|
||||
track_format = TRACK_FORMAT_XA;
|
||||
track_green = true;
|
||||
blocksize = M2RAW_SECTOR_SIZE;
|
||||
env->disc_mode = CDIO_DISC_MODE_CD_MIXED;
|
||||
break;
|
||||
case 0x20: /* ??? Mode2 form 2, Mode2 raw?? */
|
||||
track_format = TRACK_FORMAT_XA;
|
||||
track_green = true;
|
||||
blocksize = M2RAW_SECTOR_SIZE;
|
||||
env->mode = MODE2_FORM2; /* Just a guess. */
|
||||
track_format = TRACK_FORMAT_XA;
|
||||
track_green = true;
|
||||
blocksize = M2RAW_SECTOR_SIZE;
|
||||
env->disc_mode = CDIO_DISC_MODE_CD_XA_2_2; /* ??. */
|
||||
break;
|
||||
case 7:
|
||||
track_format = TRACK_FORMAT_AUDIO;
|
||||
track_green = false;
|
||||
blocksize = CDIO_CD_FRAMESIZE_RAW;
|
||||
env->mode = AUDIO;
|
||||
track_format = TRACK_FORMAT_AUDIO;
|
||||
track_green = false;
|
||||
blocksize = CDIO_CD_FRAMESIZE_RAW;
|
||||
env->disc_mode = CDIO_DISC_MODE_CD_DA;
|
||||
break;
|
||||
default:
|
||||
cdio_log (log_level,
|
||||
@@ -756,6 +756,7 @@ _init_nrg (_img_private_t *env)
|
||||
}
|
||||
|
||||
env->psz_mcn = NULL;
|
||||
env->disc_mode = CDIO_DISC_MODE_NO_INFO;
|
||||
|
||||
cdtext_init (&(env->cdtext));
|
||||
|
||||
@@ -1189,6 +1190,7 @@ cdio_open_nrg (const char *psz_source)
|
||||
.get_cdtext = _get_cdtext_image,
|
||||
.get_devices = cdio_get_devices_nrg,
|
||||
.get_default_device = cdio_get_default_device_nrg,
|
||||
.get_discmode = _get_discmode_image,
|
||||
.get_drive_cap = _get_drive_cap_image,
|
||||
.get_first_track_num= _get_first_track_num_image,
|
||||
.get_mcn = _get_mcn_image,
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
$Id: image_common.h,v 1.13 2004/07/17 22:16:47 rocky Exp $
|
||||
$Id: image_common.h,v 1.14 2004/07/24 14:23:37 rocky Exp $
|
||||
|
||||
Copyright (C) 2004 Rocky Bernstein <rocky@panix.com>
|
||||
|
||||
@@ -119,6 +119,16 @@ _get_cdtext_image (void *user_data, track_t i_track)
|
||||
|
||||
}
|
||||
|
||||
/*!
|
||||
Get disc type associated with cd_obj.
|
||||
*/
|
||||
static discmode_t
|
||||
_get_discmode_image (void *p_user_data)
|
||||
{
|
||||
_img_private_t *p_env = p_user_data;
|
||||
return p_env->disc_mode;
|
||||
}
|
||||
|
||||
/*!
|
||||
Return the media catalog number (MCN) from the CD or NULL if there
|
||||
is none or we don't have the ability to get it.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
$Id: cd-info.c,v 1.73 2004/07/17 22:16:47 rocky Exp $
|
||||
$Id: cd-info.c,v 1.74 2004/07/24 14:23:39 rocky Exp $
|
||||
|
||||
Copyright (C) 2003, 2004 Rocky Bernstein <rocky@panix.com>
|
||||
Copyright (C) 1996, 1997, 1998 Gerd Knorr <kraxel@bytesex.org>
|
||||
@@ -79,8 +79,8 @@ struct arguments
|
||||
int no_ioctl;
|
||||
int no_analysis;
|
||||
char *access_mode; /* Access method driver should use for control */
|
||||
#ifdef HAVE_CDDB
|
||||
int no_cddb; /* If set the below are meaningless. */
|
||||
#ifdef HAVE_CDDB
|
||||
char *cddb_email; /* email to report to CDDB server. */
|
||||
char *cddb_server; /* CDDB server to contact */
|
||||
int cddb_port; /* port number to contact CDDB server. */
|
||||
@@ -90,6 +90,8 @@ struct arguments
|
||||
char *cddb_cachedir;
|
||||
#endif
|
||||
int no_vcd;
|
||||
int no_device;
|
||||
int no_disc_mode;
|
||||
uint32_t debug_level;
|
||||
int version_only;
|
||||
int silent;
|
||||
@@ -162,8 +164,17 @@ parse_options (int argc, const char *argv[])
|
||||
|
||||
{"cddb-timeout", '\0', POPT_ARG_INT, &opts.cddb_timeout, 0,
|
||||
"CDDB timeout value in seconds (default 10 seconds)"},
|
||||
#else
|
||||
{"no-cddb", '\0', POPT_ARG_NONE, &opts.no_cddb, 1,
|
||||
"Don't look up audio CDDB information - for this build, this is always set"},
|
||||
#endif
|
||||
|
||||
{"no-device-info", '\0', POPT_ARG_NONE, &opts.no_device, 0,
|
||||
"Don't show device info, just CD info"},
|
||||
|
||||
{"no-disc-mode", '\0', POPT_ARG_NONE, &opts.no_disc_mode, 0,
|
||||
"Don't show disc-mode info"},
|
||||
|
||||
#ifdef HAVE_VCDINFO
|
||||
{"no-vcd", 'v', POPT_ARG_NONE, &opts.no_vcd, 0,
|
||||
"Don't look up Video CD information"},
|
||||
@@ -803,6 +814,8 @@ init(void)
|
||||
opts.silent = false;
|
||||
opts.list_drives = false;
|
||||
opts.no_header = false;
|
||||
opts.no_device = 0;
|
||||
opts.no_disc_mode = 0;
|
||||
opts.debug_level = 0;
|
||||
opts.no_tracks = 0;
|
||||
opts.print_iso9660 = 0;
|
||||
@@ -814,7 +827,13 @@ init(void)
|
||||
opts.cddb_server = NULL;
|
||||
opts.cddb_timeout = -1;
|
||||
opts.cddb_disable_cache = false;
|
||||
|
||||
#else
|
||||
opts.no_cddb = 1;
|
||||
#endif
|
||||
#ifdef HAVE_VCDINFO
|
||||
opts.no_vcd = 0;
|
||||
#else
|
||||
opts.no_vcd = 1;
|
||||
#endif
|
||||
opts.no_ioctl = 0;
|
||||
opts.no_analysis = 0;
|
||||
@@ -959,13 +978,13 @@ main(int argc, const char *argv[])
|
||||
}
|
||||
}
|
||||
|
||||
if (opts.silent == 0) {
|
||||
if (0 == opts.silent) {
|
||||
printf("CD location : %s\n", source_name);
|
||||
printf("CD driver name: %s\n", cdio_get_driver_name(cdio));
|
||||
printf(" access mode: %s\n\n", cdio_get_arg(cdio, "access-mode"));
|
||||
}
|
||||
|
||||
{
|
||||
if (0 == opts.no_device) {
|
||||
cdio_drive_read_cap_t i_read_cap;
|
||||
cdio_drive_write_cap_t i_write_cap;
|
||||
cdio_drive_misc_cap_t i_misc_cap;
|
||||
@@ -988,11 +1007,48 @@ main(int argc, const char *argv[])
|
||||
if (device_list) free(device_list);
|
||||
}
|
||||
|
||||
printf(STRONG "\n");
|
||||
|
||||
|
||||
if ( 0 == opts.no_disc_mode ) {
|
||||
printf("Disc mode is listed as: ");
|
||||
switch(cdio_get_discmode(cdio)) {
|
||||
case CDIO_DISC_MODE_CD_DA:
|
||||
printf("CD-DA\n");
|
||||
break;
|
||||
case CDIO_DISC_MODE_CD_DATA_1:
|
||||
printf("CD-ROM form 1 mode 1");
|
||||
break;
|
||||
case CDIO_DISC_MODE_CD_DATA_2:
|
||||
printf("CD-ROM form 1 mode 2");
|
||||
break;
|
||||
case CDIO_DISC_MODE_CD_XA_2_1:
|
||||
printf("CD-ROM XA form2 mode 1");
|
||||
break;
|
||||
case CDIO_DISC_MODE_CD_XA_2_2:
|
||||
printf("CD-ROM XA form2 mode 2");
|
||||
break;
|
||||
case CDIO_DISC_MODE_CD_MIXED:
|
||||
printf("CD-ROM mixed mode");
|
||||
break;
|
||||
case CDIO_DISC_MODE_DVD:
|
||||
printf("some sort of DVD");
|
||||
break;
|
||||
case CDIO_DISC_MODE_NO_INFO:
|
||||
printf("No information");
|
||||
break;
|
||||
case CDIO_DISC_MODE_ERROR:
|
||||
printf("No error");
|
||||
break;
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
i_first_track = cdio_get_first_track_num(cdio);
|
||||
i_tracks = cdio_get_num_tracks(cdio);
|
||||
|
||||
if (!opts.no_tracks) {
|
||||
printf(STRONG "CD-ROM Track List (%i - %i)\n" NORMAL,
|
||||
printf("CD-ROM Track List (%i - %i)\n" NORMAL,
|
||||
i_first_track, i_tracks);
|
||||
|
||||
printf(" #: MSF LSN Type Green?\n");
|
||||
|
||||
@@ -23,6 +23,9 @@ Writing....
|
||||
Can write DVD-R : No
|
||||
Can write DVD-RAM : No
|
||||
__________________________________
|
||||
|
||||
Disc mode is listed as: CD-DA
|
||||
|
||||
CD-ROM Track List (1 - 1)
|
||||
#: MSF LSN Type Green?
|
||||
1: 00:02:00 000000 audio false
|
||||
|
||||
@@ -23,6 +23,9 @@ Writing....
|
||||
Can write DVD-R : No
|
||||
Can write DVD-RAM : No
|
||||
__________________________________
|
||||
|
||||
Disc mode is listed as: CD-DA
|
||||
|
||||
CD-ROM Track List (1 - 1)
|
||||
#: MSF LSN Type Green?
|
||||
1: 00:02:00 000000 audio false
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/bin/sh
|
||||
#$Id: check_cue.sh.in,v 1.19 2004/05/06 12:05:50 rocky Exp $
|
||||
#$Id: check_cue.sh.in,v 1.20 2004/07/24 14:23:39 rocky Exp $
|
||||
# Tests to see that BIN/CUE and cdrdao TOC file iamge reading is correct
|
||||
# (via cd-info).
|
||||
|
||||
@@ -40,7 +40,7 @@ check_result $RC "cd-info TOC test $testnum" "cd-info $opts"
|
||||
fname=isofs-m1
|
||||
testnum='ISO 9660 mode1 CUE'
|
||||
if test -f ${srcdir}/${fname}.bin ; then
|
||||
opts="-q --cue-file ${srcdir}/${fname}.cue --iso9660"
|
||||
opts="-q --no-disc-mode --cue-file ${srcdir}/${fname}.cue --iso9660"
|
||||
test_cdinfo "$opts" ${fname}.dump ${srcdir}/${fname}.right
|
||||
RC=$?
|
||||
check_result $RC "cd-info CUE test $testnum" "$opts"
|
||||
@@ -50,7 +50,7 @@ fi
|
||||
|
||||
testnum='ISO 9660 mode1 TOC'
|
||||
if test -f ${srcdir}/${fname}.bin ; then
|
||||
opts="-q --toc-file ${srcdir}/${fname}.toc --iso9660"
|
||||
opts="-q --no-disc-mode --toc-file ${srcdir}/${fname}.toc --iso9660"
|
||||
test_cdinfo "$opts" ${fname}.dump ${srcdir}/${fname}.right
|
||||
RC=$?
|
||||
check_result $RC "cd-info TOC test $testnum" "cd-info $opts"
|
||||
@@ -66,12 +66,12 @@ else
|
||||
fi
|
||||
testnum='Video CD'
|
||||
if test -f ${srcdir}/${fname}.bin ; then
|
||||
opts="-q -c ${srcdir}/${fname}.cue --iso9660"
|
||||
opts="-q --no-disc-mode -c ${srcdir}/${fname}.cue --iso9660"
|
||||
test_cdinfo "$opts" ${fname}.dump $right
|
||||
RC=$?
|
||||
check_result $RC "cd-info CUE test $testnum" "cd-info $opts"
|
||||
|
||||
opts="-q -t ${srcdir}/${fname}.toc --iso9660"
|
||||
opts="-q --no-disc-mode -t ${srcdir}/${fname}.toc --iso9660"
|
||||
if test -f ${srcdir}/${fname}.toc ; then
|
||||
test_cdinfo "$opts" ${fname}.dump $right
|
||||
RC=$?
|
||||
@@ -86,7 +86,7 @@ fi
|
||||
fname=svcd_ogt_test_ntsc
|
||||
testnum='Super Video CD'
|
||||
if test -f ${srcdir}/${fname}.bin ; then
|
||||
opts="-q --cue-file ${srcdir}/${fname}.cue $vcd_opt --iso9660"
|
||||
opts="-q --no-disc-mode --cue-file ${srcdir}/${fname}.cue $vcd_opt --iso9660"
|
||||
test_cdinfo "$opts" ${fname}.dump ${srcdir}/${fname}.right
|
||||
RC=$?
|
||||
check_result $RC "cd-info CUE test $testnum" "cd-info $opts"
|
||||
|
||||
@@ -22,6 +22,9 @@ Writing....
|
||||
Can write CD-RW : Yes
|
||||
Can write DVD-R : No
|
||||
Can write DVD-RAM : No
|
||||
__________________________________
|
||||
|
||||
Disc mode is listed as: CD-ROM form 1 mode 2
|
||||
Media Catalog Number (MCN): 0000010271955
|
||||
__________________________________
|
||||
CD Analysis Report
|
||||
|
||||
@@ -22,6 +22,9 @@ Writing....
|
||||
Can write CD-RW : Yes
|
||||
Can write DVD-R : No
|
||||
Can write DVD-RAM : No
|
||||
__________________________________
|
||||
|
||||
Disc mode is listed as: CD-ROM form 1 mode 2
|
||||
Media Catalog Number (MCN): 0000010271955
|
||||
__________________________________
|
||||
CD Analysis Report
|
||||
|
||||
@@ -23,6 +23,8 @@ Writing....
|
||||
Can write DVD-R : No
|
||||
Can write DVD-RAM : No
|
||||
__________________________________
|
||||
|
||||
Disc mode is listed as: CD-ROM form 1 mode 2
|
||||
CD-ROM Track List (1 - 1)
|
||||
#: MSF LSN Type Green?
|
||||
1: 00:02:00 000000 data false
|
||||
|
||||
@@ -23,6 +23,8 @@ Writing....
|
||||
Can write DVD-R : No
|
||||
Can write DVD-RAM : No
|
||||
__________________________________
|
||||
|
||||
Disc mode is listed as: CD-ROM form 1 mode 2
|
||||
CD-ROM Track List (1 - 1)
|
||||
#: MSF LSN Type Green?
|
||||
1: 00:02:00 000000 data false
|
||||
|
||||
@@ -23,6 +23,8 @@ Writing....
|
||||
Can write DVD-R : No
|
||||
Can write DVD-RAM : No
|
||||
__________________________________
|
||||
|
||||
Disc mode is listed as: CD-ROM form 1 mode 2
|
||||
CD-ROM Track List (1 - 1)
|
||||
#: MSF LSN Type Green?
|
||||
1: 00:02:00 000000 data false
|
||||
|
||||
@@ -23,6 +23,8 @@ Writing....
|
||||
Can write DVD-R : No
|
||||
Can write DVD-RAM : No
|
||||
__________________________________
|
||||
|
||||
Disc mode is listed as: CD-ROM form 1 mode 2
|
||||
CD-ROM Track List (1 - 1)
|
||||
#: MSF LSN Type Green?
|
||||
1: 00:02:00 000000 data false
|
||||
|
||||
@@ -23,6 +23,8 @@ Writing....
|
||||
Can write DVD-R : No
|
||||
Can write DVD-RAM : No
|
||||
__________________________________
|
||||
|
||||
Disc mode is listed as: CD-ROM form 1 mode 2
|
||||
CD-ROM Track List (1 - 1)
|
||||
#: MSF LSN Type Green?
|
||||
1: 00:02:00 000000 data false
|
||||
|
||||
@@ -23,6 +23,8 @@ Writing....
|
||||
Can write DVD-R : No
|
||||
Can write DVD-RAM : No
|
||||
__________________________________
|
||||
|
||||
Disc mode is listed as: CD-ROM form 1 mode 2
|
||||
CD-ROM Track List (1 - 1)
|
||||
#: MSF LSN Type Green?
|
||||
1: 00:02:00 000000 data false
|
||||
|
||||
@@ -23,6 +23,7 @@ Writing....
|
||||
Can write DVD-R : No
|
||||
Can write DVD-RAM : No
|
||||
__________________________________
|
||||
|
||||
CD-ROM Track List (1 - 1)
|
||||
#: MSF LSN Type Green?
|
||||
1: 00:02:00 000000 data false
|
||||
|
||||
@@ -23,6 +23,8 @@ Writing....
|
||||
Can write DVD-R : No
|
||||
Can write DVD-RAM : No
|
||||
__________________________________
|
||||
|
||||
Disc mode is listed as: CD-ROM XA form2 mode 1
|
||||
CD-ROM Track List (1 - 2)
|
||||
#: MSF LSN Type Green?
|
||||
1: 00:02:00 000000 XA true
|
||||
|
||||
@@ -23,6 +23,7 @@ Writing....
|
||||
Can write DVD-R : No
|
||||
Can write DVD-RAM : No
|
||||
__________________________________
|
||||
|
||||
CD-ROM Track List (1 - 2)
|
||||
#: MSF LSN Type Green?
|
||||
1: 00:02:00 000000 XA true
|
||||
|
||||
@@ -23,6 +23,8 @@ Writing....
|
||||
Can write DVD-R : No
|
||||
Can write DVD-RAM : No
|
||||
__________________________________
|
||||
|
||||
Disc mode is listed as: CD-ROM XA form2 mode 1
|
||||
CD-ROM Track List (1 - 2)
|
||||
#: MSF LSN Type Green?
|
||||
1: 00:02:00 000000 XA true
|
||||
|
||||
@@ -23,6 +23,7 @@ Writing....
|
||||
Can write DVD-R : No
|
||||
Can write DVD-RAM : No
|
||||
__________________________________
|
||||
|
||||
CD-ROM Track List (1 - 3)
|
||||
#: MSF LSN Type Green?
|
||||
1: 00:02:00 000000 XA true
|
||||
|
||||
@@ -23,6 +23,8 @@ Writing....
|
||||
Can write DVD-R : No
|
||||
Can write DVD-RAM : No
|
||||
__________________________________
|
||||
|
||||
Disc mode is listed as: CD-ROM XA form2 mode 1
|
||||
CD-ROM Track List (1 - 5)
|
||||
#: MSF LSN Type Green?
|
||||
1: 00:02:00 000000 XA true
|
||||
|
||||
Reference in New Issue
Block a user