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: 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,
|
||||
|
||||
Reference in New Issue
Block a user