Reduce overall number of CD disc modes. I thing the main purpose
that will be used is to separate CD Audio from CD Data, XA and DVD's. On GNU/Linux it seems that the implementation is a bit artificial.
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
$Id: sector.h,v 1.25 2004/07/25 03:17:47 rocky Exp $
|
$Id: sector.h,v 1.26 2004/07/25 18:37:09 rocky Exp $
|
||||||
|
|
||||||
Copyright (C) 2000 Herbert Valerio Riedel <hvr@gnu.org>
|
Copyright (C) 2000 Herbert Valerio Riedel <hvr@gnu.org>
|
||||||
Copyright (C) 2003, 2004 Rocky Bernstein <rocky@panix.com>
|
Copyright (C) 2003, 2004 Rocky Bernstein <rocky@panix.com>
|
||||||
@@ -86,11 +86,9 @@ typedef enum {
|
|||||||
*/
|
*/
|
||||||
typedef enum {
|
typedef enum {
|
||||||
CDIO_DISC_MODE_CD_DA, /**< CD-DA */
|
CDIO_DISC_MODE_CD_DA, /**< CD-DA */
|
||||||
CDIO_DISC_MODE_CD_DATA_1, /**< CD-ROM form 1 mode 1 */
|
CDIO_DISC_MODE_CD_DATA, /**< CD-ROM form 1 */
|
||||||
CDIO_DISC_MODE_CD_DATA_2, /**< CD-ROM form 1 mode 2 */
|
CDIO_DISC_MODE_CD_XA, /**< CD-ROM XA form2 */
|
||||||
CDIO_DISC_MODE_CD_XA_2_1, /**< CD-ROM XA form2 mode 1 */
|
CDIO_DISC_MODE_CD_MIXED, /**< Some combo of above. */
|
||||||
CDIO_DISC_MODE_CD_XA_2_2, /**< CD-ROM XA form2 mode 2 */
|
|
||||||
CDIO_DISC_MODE_CD_MIXED, /**< CD-ROM XA and CD-I */
|
|
||||||
CDIO_DISC_MODE_DVD_ROM, /**< DVD ROM (e.g. movies) */
|
CDIO_DISC_MODE_DVD_ROM, /**< DVD ROM (e.g. movies) */
|
||||||
CDIO_DISC_MODE_DVD_RAM, /**< DVD-RAM */
|
CDIO_DISC_MODE_DVD_RAM, /**< DVD-RAM */
|
||||||
CDIO_DISC_MODE_DVD_R, /**< DVD-R */
|
CDIO_DISC_MODE_DVD_R, /**< DVD-R */
|
||||||
@@ -102,23 +100,6 @@ typedef enum {
|
|||||||
CDIO_DISC_MODE_ERROR
|
CDIO_DISC_MODE_ERROR
|
||||||
} discmode_t;
|
} discmode_t;
|
||||||
|
|
||||||
#define CDIO_DISC_MODE_DVD \
|
|
||||||
(CDIO_DISC_MODE_DVD_ROM \
|
|
||||||
|| CDIO_DISC_MODE_DVD_RAM \
|
|
||||||
|| CDIO_DISC_MODE_DVD_R \
|
|
||||||
|| CDIO_DISC_MODE_DVD_RW \
|
|
||||||
|| CDIO_DISC_MODE_DVD_PR \
|
|
||||||
|| CDIO_DISC_MODE_DVD_PRW \
|
|
||||||
|| CDIO_DISC_MODE_DVD_OTHER)
|
|
||||||
|
|
||||||
#define CDIO_DISC_MODE_CD \
|
|
||||||
(CDIO_DISC_MODE_CD_DA \
|
|
||||||
|| CDIO_DISC_MODE_CD_DATA_1 \
|
|
||||||
|| CDIO_DISC_MODE_CD_DATA_2 \
|
|
||||||
|| CDIO_DISC_MODE_CD_XA_2_1 \
|
|
||||||
|| CDIO_DISC_MODE_CD_XA_2_2 \
|
|
||||||
|| CDIO_DISC_MODE_CD_MIXED)
|
|
||||||
|
|
||||||
/*! Information that can be obtained through a Read Subchannel
|
/*! Information that can be obtained through a Read Subchannel
|
||||||
command.
|
command.
|
||||||
*/
|
*/
|
||||||
@@ -288,6 +269,16 @@ lba_t cdio_msf3_to_lba (unsigned int minutes, unsigned int seconds,
|
|||||||
*/
|
*/
|
||||||
lba_t cdio_mmssff_to_lba (const char *psz_mmssff);
|
lba_t cdio_mmssff_to_lba (const char *psz_mmssff);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
Return true if discmode is some sort of CD.
|
||||||
|
*/
|
||||||
|
bool cdio_is_discmode_cdrom (discmode_t discmode);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
Return true if discmode is some sort of DVD.
|
||||||
|
*/
|
||||||
|
bool cdio_is_discmode_dvd (discmode_t discmode);
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
$Id: _cdio_linux.c,v 1.79 2004/07/25 17:35:02 rocky Exp $
|
$Id: _cdio_linux.c,v 1.80 2004/07/25 18:37:09 rocky Exp $
|
||||||
|
|
||||||
Copyright (C) 2001 Herbert Valerio Riedel <hvr@gnu.org>
|
Copyright (C) 2001 Herbert Valerio Riedel <hvr@gnu.org>
|
||||||
Copyright (C) 2002, 2003, 2004 Rocky Bernstein <rocky@panix.com>
|
Copyright (C) 2002, 2003, 2004 Rocky Bernstein <rocky@panix.com>
|
||||||
@@ -27,7 +27,7 @@
|
|||||||
# include "config.h"
|
# include "config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static const char _rcsid[] = "$Id: _cdio_linux.c,v 1.79 2004/07/25 17:35:02 rocky Exp $";
|
static const char _rcsid[] = "$Id: _cdio_linux.c,v 1.80 2004/07/25 18:37:09 rocky Exp $";
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
@@ -557,15 +557,13 @@ get_discmode_linux (void *p_user_data)
|
|||||||
case CDS_AUDIO:
|
case CDS_AUDIO:
|
||||||
return CDIO_DISC_MODE_CD_DA;
|
return CDIO_DISC_MODE_CD_DA;
|
||||||
case CDS_DATA_1:
|
case CDS_DATA_1:
|
||||||
return CDIO_DISC_MODE_CD_DATA_1;
|
|
||||||
case CDS_DATA_2:
|
case CDS_DATA_2:
|
||||||
return CDIO_DISC_MODE_CD_DATA_2;
|
return CDIO_DISC_MODE_CD_DATA;
|
||||||
case CDS_MIXED:
|
case CDS_MIXED:
|
||||||
return CDIO_DISC_MODE_CD_MIXED;
|
return CDIO_DISC_MODE_CD_MIXED;
|
||||||
case CDS_XA_2_1:
|
case CDS_XA_2_1:
|
||||||
return CDIO_DISC_MODE_CD_XA_2_1;
|
|
||||||
case CDS_XA_2_2:
|
case CDS_XA_2_2:
|
||||||
return CDIO_DISC_MODE_CD_XA_2_2;
|
return CDIO_DISC_MODE_CD_XA;
|
||||||
case CDS_NO_INFO:
|
case CDS_NO_INFO:
|
||||||
return CDIO_DISC_MODE_NO_INFO;
|
return CDIO_DISC_MODE_NO_INFO;
|
||||||
default:
|
default:
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
$Id: bincue.c,v 1.36 2004/07/24 14:23:38 rocky Exp $
|
$Id: bincue.c,v 1.37 2004/07/25 18:37:09 rocky Exp $
|
||||||
|
|
||||||
Copyright (C) 2002, 2003, 2004 Rocky Bernstein <rocky@panix.com>
|
Copyright (C) 2002, 2003, 2004 Rocky Bernstein <rocky@panix.com>
|
||||||
Copyright (C) 2001 Herbert Valerio Riedel <hvr@gnu.org>
|
Copyright (C) 2001 Herbert Valerio Riedel <hvr@gnu.org>
|
||||||
@@ -26,7 +26,7 @@
|
|||||||
(*.cue).
|
(*.cue).
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static const char _rcsid[] = "$Id: bincue.c,v 1.36 2004/07/24 14:23:38 rocky Exp $";
|
static const char _rcsid[] = "$Id: bincue.c,v 1.37 2004/07/25 18:37:09 rocky Exp $";
|
||||||
|
|
||||||
#include "image.h"
|
#include "image.h"
|
||||||
#include "cdio_assert.h"
|
#include "cdio_assert.h"
|
||||||
@@ -407,10 +407,8 @@ parse_cuefile (_img_private_t *cd, const char *psz_cue_name)
|
|||||||
case CDIO_DISC_MODE_ERROR:
|
case CDIO_DISC_MODE_ERROR:
|
||||||
/* Disc type stays the same. */
|
/* Disc type stays the same. */
|
||||||
break;
|
break;
|
||||||
case CDIO_DISC_MODE_CD_DATA_1:
|
case CDIO_DISC_MODE_CD_DATA:
|
||||||
case CDIO_DISC_MODE_CD_DATA_2:
|
case CDIO_DISC_MODE_CD_XA:
|
||||||
case CDIO_DISC_MODE_CD_XA_2_1:
|
|
||||||
case CDIO_DISC_MODE_CD_XA_2_2:
|
|
||||||
cd->disc_mode = CDIO_DISC_MODE_CD_MIXED;
|
cd->disc_mode = CDIO_DISC_MODE_CD_MIXED;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@@ -429,17 +427,15 @@ parse_cuefile (_img_private_t *cd, const char *psz_cue_name)
|
|||||||
this_track->endsize = 0;
|
this_track->endsize = 0;
|
||||||
switch(cd->disc_mode) {
|
switch(cd->disc_mode) {
|
||||||
case CDIO_DISC_MODE_NO_INFO:
|
case CDIO_DISC_MODE_NO_INFO:
|
||||||
cd->disc_mode = CDIO_DISC_MODE_CD_DATA_1;
|
cd->disc_mode = CDIO_DISC_MODE_CD_DATA;
|
||||||
break;
|
break;
|
||||||
case CDIO_DISC_MODE_CD_DATA_1:
|
case CDIO_DISC_MODE_CD_DATA:
|
||||||
case CDIO_DISC_MODE_CD_MIXED:
|
case CDIO_DISC_MODE_CD_MIXED:
|
||||||
case CDIO_DISC_MODE_ERROR:
|
case CDIO_DISC_MODE_ERROR:
|
||||||
/* Disc type stays the same. */
|
/* Disc type stays the same. */
|
||||||
break;
|
break;
|
||||||
case CDIO_DISC_MODE_CD_DA:
|
case CDIO_DISC_MODE_CD_DA:
|
||||||
case CDIO_DISC_MODE_CD_DATA_2:
|
case CDIO_DISC_MODE_CD_XA:
|
||||||
case CDIO_DISC_MODE_CD_XA_2_1:
|
|
||||||
case CDIO_DISC_MODE_CD_XA_2_2:
|
|
||||||
cd->disc_mode = CDIO_DISC_MODE_CD_MIXED;
|
cd->disc_mode = CDIO_DISC_MODE_CD_MIXED;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@@ -459,17 +455,15 @@ parse_cuefile (_img_private_t *cd, const char *psz_cue_name)
|
|||||||
this_track->mode = MODE1_RAW;
|
this_track->mode = MODE1_RAW;
|
||||||
switch(cd->disc_mode) {
|
switch(cd->disc_mode) {
|
||||||
case CDIO_DISC_MODE_NO_INFO:
|
case CDIO_DISC_MODE_NO_INFO:
|
||||||
cd->disc_mode = CDIO_DISC_MODE_CD_DATA_2;
|
cd->disc_mode = CDIO_DISC_MODE_CD_DATA;
|
||||||
break;
|
break;
|
||||||
case CDIO_DISC_MODE_CD_DATA_2:
|
case CDIO_DISC_MODE_CD_DATA:
|
||||||
case CDIO_DISC_MODE_CD_MIXED:
|
case CDIO_DISC_MODE_CD_MIXED:
|
||||||
case CDIO_DISC_MODE_ERROR:
|
case CDIO_DISC_MODE_ERROR:
|
||||||
/* Disc type stays the same. */
|
/* Disc type stays the same. */
|
||||||
break;
|
break;
|
||||||
case CDIO_DISC_MODE_CD_DA:
|
case CDIO_DISC_MODE_CD_DA:
|
||||||
case CDIO_DISC_MODE_CD_DATA_1:
|
case CDIO_DISC_MODE_CD_XA:
|
||||||
case CDIO_DISC_MODE_CD_XA_2_1:
|
|
||||||
case CDIO_DISC_MODE_CD_XA_2_2:
|
|
||||||
cd->disc_mode = CDIO_DISC_MODE_CD_MIXED;
|
cd->disc_mode = CDIO_DISC_MODE_CD_MIXED;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@@ -488,17 +482,15 @@ parse_cuefile (_img_private_t *cd, const char *psz_cue_name)
|
|||||||
this_track->endsize = 0;
|
this_track->endsize = 0;
|
||||||
switch(cd->disc_mode) {
|
switch(cd->disc_mode) {
|
||||||
case CDIO_DISC_MODE_NO_INFO:
|
case CDIO_DISC_MODE_NO_INFO:
|
||||||
cd->disc_mode = CDIO_DISC_MODE_CD_DATA_2;
|
cd->disc_mode = CDIO_DISC_MODE_CD_DATA;
|
||||||
break;
|
break;
|
||||||
case CDIO_DISC_MODE_CD_DATA_2:
|
case CDIO_DISC_MODE_CD_DATA:
|
||||||
case CDIO_DISC_MODE_CD_MIXED:
|
case CDIO_DISC_MODE_CD_MIXED:
|
||||||
case CDIO_DISC_MODE_ERROR:
|
case CDIO_DISC_MODE_ERROR:
|
||||||
/* Disc type stays the same. */
|
/* Disc type stays the same. */
|
||||||
break;
|
break;
|
||||||
case CDIO_DISC_MODE_CD_DA:
|
case CDIO_DISC_MODE_CD_DA:
|
||||||
case CDIO_DISC_MODE_CD_DATA_1:
|
case CDIO_DISC_MODE_CD_XA:
|
||||||
case CDIO_DISC_MODE_CD_XA_2_1:
|
|
||||||
case CDIO_DISC_MODE_CD_XA_2_2:
|
|
||||||
cd->disc_mode = CDIO_DISC_MODE_CD_MIXED;
|
cd->disc_mode = CDIO_DISC_MODE_CD_MIXED;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@@ -513,17 +505,15 @@ parse_cuefile (_img_private_t *cd, const char *psz_cue_name)
|
|||||||
this_track->mode = MODE2_FORM1;
|
this_track->mode = MODE2_FORM1;
|
||||||
switch(cd->disc_mode) {
|
switch(cd->disc_mode) {
|
||||||
case CDIO_DISC_MODE_NO_INFO:
|
case CDIO_DISC_MODE_NO_INFO:
|
||||||
cd->disc_mode = CDIO_DISC_MODE_CD_XA_2_1;
|
cd->disc_mode = CDIO_DISC_MODE_CD_XA;
|
||||||
break;
|
break;
|
||||||
case CDIO_DISC_MODE_CD_XA_2_1:
|
case CDIO_DISC_MODE_CD_XA:
|
||||||
case CDIO_DISC_MODE_CD_MIXED:
|
case CDIO_DISC_MODE_CD_MIXED:
|
||||||
case CDIO_DISC_MODE_ERROR:
|
case CDIO_DISC_MODE_ERROR:
|
||||||
/* Disc type stays the same. */
|
/* Disc type stays the same. */
|
||||||
break;
|
break;
|
||||||
case CDIO_DISC_MODE_CD_DA:
|
case CDIO_DISC_MODE_CD_DA:
|
||||||
case CDIO_DISC_MODE_CD_DATA_1:
|
case CDIO_DISC_MODE_CD_DATA:
|
||||||
case CDIO_DISC_MODE_CD_DATA_2:
|
|
||||||
case CDIO_DISC_MODE_CD_XA_2_2:
|
|
||||||
cd->disc_mode = CDIO_DISC_MODE_CD_MIXED;
|
cd->disc_mode = CDIO_DISC_MODE_CD_MIXED;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@@ -538,17 +528,15 @@ parse_cuefile (_img_private_t *cd, const char *psz_cue_name)
|
|||||||
this_track->mode = MODE2_FORM2;
|
this_track->mode = MODE2_FORM2;
|
||||||
switch(cd->disc_mode) {
|
switch(cd->disc_mode) {
|
||||||
case CDIO_DISC_MODE_NO_INFO:
|
case CDIO_DISC_MODE_NO_INFO:
|
||||||
cd->disc_mode = CDIO_DISC_MODE_CD_XA_2_2;
|
cd->disc_mode = CDIO_DISC_MODE_CD_XA;
|
||||||
break;
|
break;
|
||||||
case CDIO_DISC_MODE_CD_XA_2_2:
|
case CDIO_DISC_MODE_CD_XA:
|
||||||
case CDIO_DISC_MODE_CD_MIXED:
|
case CDIO_DISC_MODE_CD_MIXED:
|
||||||
case CDIO_DISC_MODE_ERROR:
|
case CDIO_DISC_MODE_ERROR:
|
||||||
/* Disc type stays the same. */
|
/* Disc type stays the same. */
|
||||||
break;
|
break;
|
||||||
case CDIO_DISC_MODE_CD_DA:
|
case CDIO_DISC_MODE_CD_DA:
|
||||||
case CDIO_DISC_MODE_CD_DATA_1:
|
case CDIO_DISC_MODE_CD_DATA:
|
||||||
case CDIO_DISC_MODE_CD_DATA_2:
|
|
||||||
case CDIO_DISC_MODE_CD_XA_2_1:
|
|
||||||
cd->disc_mode = CDIO_DISC_MODE_CD_MIXED;
|
cd->disc_mode = CDIO_DISC_MODE_CD_MIXED;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@@ -567,17 +555,15 @@ parse_cuefile (_img_private_t *cd, const char *psz_cue_name)
|
|||||||
this_track->endsize = 0;
|
this_track->endsize = 0;
|
||||||
switch(cd->disc_mode) {
|
switch(cd->disc_mode) {
|
||||||
case CDIO_DISC_MODE_NO_INFO:
|
case CDIO_DISC_MODE_NO_INFO:
|
||||||
cd->disc_mode = CDIO_DISC_MODE_CD_XA_2_2;
|
cd->disc_mode = CDIO_DISC_MODE_CD_XA;
|
||||||
break;
|
break;
|
||||||
case CDIO_DISC_MODE_CD_XA_2_2:
|
case CDIO_DISC_MODE_CD_XA:
|
||||||
case CDIO_DISC_MODE_CD_MIXED:
|
case CDIO_DISC_MODE_CD_MIXED:
|
||||||
case CDIO_DISC_MODE_ERROR:
|
case CDIO_DISC_MODE_ERROR:
|
||||||
/* Disc type stays the same. */
|
/* Disc type stays the same. */
|
||||||
break;
|
break;
|
||||||
case CDIO_DISC_MODE_CD_DA:
|
case CDIO_DISC_MODE_CD_DA:
|
||||||
case CDIO_DISC_MODE_CD_DATA_1:
|
case CDIO_DISC_MODE_CD_DATA:
|
||||||
case CDIO_DISC_MODE_CD_DATA_2:
|
|
||||||
case CDIO_DISC_MODE_CD_XA_2_1:
|
|
||||||
cd->disc_mode = CDIO_DISC_MODE_CD_MIXED;
|
cd->disc_mode = CDIO_DISC_MODE_CD_MIXED;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@@ -596,17 +582,15 @@ parse_cuefile (_img_private_t *cd, const char *psz_cue_name)
|
|||||||
this_track->endsize = CDIO_CD_SYNC_SIZE + CDIO_CD_ECC_SIZE;
|
this_track->endsize = CDIO_CD_SYNC_SIZE + CDIO_CD_ECC_SIZE;
|
||||||
switch(cd->disc_mode) {
|
switch(cd->disc_mode) {
|
||||||
case CDIO_DISC_MODE_NO_INFO:
|
case CDIO_DISC_MODE_NO_INFO:
|
||||||
cd->disc_mode = CDIO_DISC_MODE_CD_XA_2_2;
|
cd->disc_mode = CDIO_DISC_MODE_CD_XA;
|
||||||
break;
|
break;
|
||||||
case CDIO_DISC_MODE_CD_XA_2_2:
|
case CDIO_DISC_MODE_CD_XA:
|
||||||
case CDIO_DISC_MODE_CD_MIXED:
|
case CDIO_DISC_MODE_CD_MIXED:
|
||||||
case CDIO_DISC_MODE_ERROR:
|
case CDIO_DISC_MODE_ERROR:
|
||||||
/* Disc type stays the same. */
|
/* Disc type stays the same. */
|
||||||
break;
|
break;
|
||||||
case CDIO_DISC_MODE_CD_DA:
|
case CDIO_DISC_MODE_CD_DA:
|
||||||
case CDIO_DISC_MODE_CD_DATA_1:
|
case CDIO_DISC_MODE_CD_DATA:
|
||||||
case CDIO_DISC_MODE_CD_DATA_2:
|
|
||||||
case CDIO_DISC_MODE_CD_XA_2_1:
|
|
||||||
cd->disc_mode = CDIO_DISC_MODE_CD_MIXED;
|
cd->disc_mode = CDIO_DISC_MODE_CD_MIXED;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
$Id: cdrdao.c,v 1.21 2004/07/24 14:23:39 rocky Exp $
|
$Id: cdrdao.c,v 1.22 2004/07/25 18:37:09 rocky Exp $
|
||||||
|
|
||||||
Copyright (C) 2004 Rocky Bernstein <rocky@panix.com>
|
Copyright (C) 2004 Rocky Bernstein <rocky@panix.com>
|
||||||
toc reading routine adapted from cuetools
|
toc reading routine adapted from cuetools
|
||||||
@@ -25,7 +25,7 @@
|
|||||||
(*.cue).
|
(*.cue).
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static const char _rcsid[] = "$Id: cdrdao.c,v 1.21 2004/07/24 14:23:39 rocky Exp $";
|
static const char _rcsid[] = "$Id: cdrdao.c,v 1.22 2004/07/25 18:37:09 rocky Exp $";
|
||||||
|
|
||||||
#include "image.h"
|
#include "image.h"
|
||||||
#include "cdio_assert.h"
|
#include "cdio_assert.h"
|
||||||
@@ -354,7 +354,7 @@ parse_tocfile (_img_private_t *cd, const char *psz_cue_name)
|
|||||||
} else if (0 == strcmp ("CD_ROM", psz_keyword)) {
|
} else if (0 == strcmp ("CD_ROM", psz_keyword)) {
|
||||||
if (-1 == i) {
|
if (-1 == i) {
|
||||||
if (NULL != cd)
|
if (NULL != cd)
|
||||||
cd->disc_mode = CDIO_DISC_MODE_CD_DATA_1;
|
cd->disc_mode = CDIO_DISC_MODE_CD_DATA;
|
||||||
} else {
|
} else {
|
||||||
goto not_in_global_section;
|
goto not_in_global_section;
|
||||||
}
|
}
|
||||||
@@ -362,7 +362,7 @@ parse_tocfile (_img_private_t *cd, const char *psz_cue_name)
|
|||||||
} else if (0 == strcmp ("CD_ROM_XA", psz_keyword)) {
|
} else if (0 == strcmp ("CD_ROM_XA", psz_keyword)) {
|
||||||
if (-1 == i) {
|
if (-1 == i) {
|
||||||
if (NULL != cd)
|
if (NULL != cd)
|
||||||
cd->disc_mode = CDIO_DISC_MODE_CD_XA_2_1;
|
cd->disc_mode = CDIO_DISC_MODE_CD_XA;
|
||||||
} else {
|
} else {
|
||||||
goto not_in_global_section;
|
goto not_in_global_section;
|
||||||
}
|
}
|
||||||
@@ -379,6 +379,23 @@ parse_tocfile (_img_private_t *cd, const char *psz_cue_name)
|
|||||||
cd->tocent[i].datasize = CDIO_CD_FRAMESIZE_RAW;
|
cd->tocent[i].datasize = CDIO_CD_FRAMESIZE_RAW;
|
||||||
cd->tocent[i].datastart = 0;
|
cd->tocent[i].datastart = 0;
|
||||||
cd->tocent[i].endsize = 0;
|
cd->tocent[i].endsize = 0;
|
||||||
|
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:
|
||||||
|
case CDIO_DISC_MODE_CD_XA:
|
||||||
|
cd->disc_mode = CDIO_DISC_MODE_CD_MIXED;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
cd->disc_mode = CDIO_DISC_MODE_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
} else if (0 == strcmp ("MODE1", psz_field)) {
|
} else if (0 == strcmp ("MODE1", psz_field)) {
|
||||||
if (NULL != cd) {
|
if (NULL != cd) {
|
||||||
@@ -389,6 +406,22 @@ parse_tocfile (_img_private_t *cd, const char *psz_cue_name)
|
|||||||
cd->tocent[i].datasize = CDIO_CD_FRAMESIZE;
|
cd->tocent[i].datasize = CDIO_CD_FRAMESIZE;
|
||||||
cd->tocent[i].endsize = CDIO_CD_EDC_SIZE
|
cd->tocent[i].endsize = CDIO_CD_EDC_SIZE
|
||||||
+ CDIO_CD_M1F1_ZERO_SIZE + CDIO_CD_ECC_SIZE;
|
+ CDIO_CD_M1F1_ZERO_SIZE + CDIO_CD_ECC_SIZE;
|
||||||
|
switch(cd->disc_mode) {
|
||||||
|
case CDIO_DISC_MODE_NO_INFO:
|
||||||
|
cd->disc_mode = CDIO_DISC_MODE_CD_DATA;
|
||||||
|
break;
|
||||||
|
case CDIO_DISC_MODE_CD_DATA:
|
||||||
|
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_XA:
|
||||||
|
cd->disc_mode = CDIO_DISC_MODE_CD_MIXED;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
cd->disc_mode = CDIO_DISC_MODE_ERROR;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else if (0 == strcmp ("MODE1_RAW", psz_field)) {
|
} else if (0 == strcmp ("MODE1_RAW", psz_field)) {
|
||||||
if (NULL != cd) {
|
if (NULL != cd) {
|
||||||
@@ -399,6 +432,22 @@ parse_tocfile (_img_private_t *cd, const char *psz_cue_name)
|
|||||||
cd->tocent[i].datasize = CDIO_CD_FRAMESIZE;
|
cd->tocent[i].datasize = CDIO_CD_FRAMESIZE;
|
||||||
cd->tocent[i].endsize = CDIO_CD_EDC_SIZE
|
cd->tocent[i].endsize = CDIO_CD_EDC_SIZE
|
||||||
+ CDIO_CD_M1F1_ZERO_SIZE + CDIO_CD_ECC_SIZE;
|
+ CDIO_CD_M1F1_ZERO_SIZE + CDIO_CD_ECC_SIZE;
|
||||||
|
switch(cd->disc_mode) {
|
||||||
|
case CDIO_DISC_MODE_NO_INFO:
|
||||||
|
cd->disc_mode = CDIO_DISC_MODE_CD_DATA;
|
||||||
|
break;
|
||||||
|
case CDIO_DISC_MODE_CD_DATA:
|
||||||
|
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_XA:
|
||||||
|
cd->disc_mode = CDIO_DISC_MODE_CD_MIXED;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
cd->disc_mode = CDIO_DISC_MODE_ERROR;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else if (0 == strcmp ("MODE2", psz_field)) {
|
} else if (0 == strcmp ("MODE2", psz_field)) {
|
||||||
if (NULL != cd) {
|
if (NULL != cd) {
|
||||||
@@ -407,6 +456,22 @@ parse_tocfile (_img_private_t *cd, const char *psz_cue_name)
|
|||||||
+ CDIO_CD_HEADER_SIZE;
|
+ CDIO_CD_HEADER_SIZE;
|
||||||
cd->tocent[i].datasize = M2RAW_SECTOR_SIZE;
|
cd->tocent[i].datasize = M2RAW_SECTOR_SIZE;
|
||||||
cd->tocent[i].endsize = 0;
|
cd->tocent[i].endsize = 0;
|
||||||
|
switch(cd->disc_mode) {
|
||||||
|
case CDIO_DISC_MODE_NO_INFO:
|
||||||
|
cd->disc_mode = CDIO_DISC_MODE_CD_XA;
|
||||||
|
break;
|
||||||
|
case CDIO_DISC_MODE_CD_XA:
|
||||||
|
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:
|
||||||
|
cd->disc_mode = CDIO_DISC_MODE_CD_MIXED;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
cd->disc_mode = CDIO_DISC_MODE_ERROR;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else if (0 == strcmp ("MODE2_FORM1", psz_field)) {
|
} else if (0 == strcmp ("MODE2_FORM1", psz_field)) {
|
||||||
if (NULL != cd) {
|
if (NULL != cd) {
|
||||||
@@ -415,6 +480,22 @@ parse_tocfile (_img_private_t *cd, const char *psz_cue_name)
|
|||||||
+ CDIO_CD_HEADER_SIZE;
|
+ CDIO_CD_HEADER_SIZE;
|
||||||
cd->tocent[i].datasize = CDIO_CD_FRAMESIZE_RAW;
|
cd->tocent[i].datasize = CDIO_CD_FRAMESIZE_RAW;
|
||||||
cd->tocent[i].endsize = 0;
|
cd->tocent[i].endsize = 0;
|
||||||
|
switch(cd->disc_mode) {
|
||||||
|
case CDIO_DISC_MODE_NO_INFO:
|
||||||
|
cd->disc_mode = CDIO_DISC_MODE_CD_XA;
|
||||||
|
break;
|
||||||
|
case CDIO_DISC_MODE_CD_XA:
|
||||||
|
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:
|
||||||
|
cd->disc_mode = CDIO_DISC_MODE_CD_MIXED;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
cd->disc_mode = CDIO_DISC_MODE_ERROR;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else if (0 == strcmp ("MODE2_FORM2", psz_field)) {
|
} else if (0 == strcmp ("MODE2_FORM2", psz_field)) {
|
||||||
if (NULL != cd) {
|
if (NULL != cd) {
|
||||||
@@ -424,6 +505,22 @@ parse_tocfile (_img_private_t *cd, const char *psz_cue_name)
|
|||||||
cd->tocent[i].datasize = CDIO_CD_FRAMESIZE;
|
cd->tocent[i].datasize = CDIO_CD_FRAMESIZE;
|
||||||
cd->tocent[i].endsize = CDIO_CD_SYNC_SIZE
|
cd->tocent[i].endsize = CDIO_CD_SYNC_SIZE
|
||||||
+ CDIO_CD_ECC_SIZE;
|
+ CDIO_CD_ECC_SIZE;
|
||||||
|
switch(cd->disc_mode) {
|
||||||
|
case CDIO_DISC_MODE_NO_INFO:
|
||||||
|
cd->disc_mode = CDIO_DISC_MODE_CD_XA;
|
||||||
|
break;
|
||||||
|
case CDIO_DISC_MODE_CD_XA:
|
||||||
|
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:
|
||||||
|
cd->disc_mode = CDIO_DISC_MODE_CD_MIXED;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
cd->disc_mode = CDIO_DISC_MODE_ERROR;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else if (0 == strcmp ("MODE2_FORM_MIX", psz_field)) {
|
} else if (0 == strcmp ("MODE2_FORM_MIX", psz_field)) {
|
||||||
if (NULL != cd) {
|
if (NULL != cd) {
|
||||||
@@ -434,6 +531,22 @@ parse_tocfile (_img_private_t *cd, const char *psz_cue_name)
|
|||||||
CDIO_CD_HEADER_SIZE + CDIO_CD_SUBHEADER_SIZE;
|
CDIO_CD_HEADER_SIZE + CDIO_CD_SUBHEADER_SIZE;
|
||||||
cd->tocent[i].track_green = true;
|
cd->tocent[i].track_green = true;
|
||||||
cd->tocent[i].endsize = 0;
|
cd->tocent[i].endsize = 0;
|
||||||
|
switch(cd->disc_mode) {
|
||||||
|
case CDIO_DISC_MODE_NO_INFO:
|
||||||
|
cd->disc_mode = CDIO_DISC_MODE_CD_XA;
|
||||||
|
break;
|
||||||
|
case CDIO_DISC_MODE_CD_XA:
|
||||||
|
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:
|
||||||
|
cd->disc_mode = CDIO_DISC_MODE_CD_MIXED;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
cd->disc_mode = CDIO_DISC_MODE_ERROR;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else if (0 == strcmp ("MODE2_RAW", psz_field)) {
|
} else if (0 == strcmp ("MODE2_RAW", psz_field)) {
|
||||||
if (NULL != cd) {
|
if (NULL != cd) {
|
||||||
@@ -444,6 +557,22 @@ parse_tocfile (_img_private_t *cd, const char *psz_cue_name)
|
|||||||
cd->tocent[i].datasize = CDIO_CD_FRAMESIZE;
|
cd->tocent[i].datasize = CDIO_CD_FRAMESIZE;
|
||||||
cd->tocent[i].track_green = true;
|
cd->tocent[i].track_green = true;
|
||||||
cd->tocent[i].endsize = 0;
|
cd->tocent[i].endsize = 0;
|
||||||
|
switch(cd->disc_mode) {
|
||||||
|
case CDIO_DISC_MODE_NO_INFO:
|
||||||
|
cd->disc_mode = CDIO_DISC_MODE_CD_XA;
|
||||||
|
break;
|
||||||
|
case CDIO_DISC_MODE_CD_XA:
|
||||||
|
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:
|
||||||
|
cd->disc_mode = CDIO_DISC_MODE_CD_MIXED;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
cd->disc_mode = CDIO_DISC_MODE_ERROR;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
cdio_log(log_level, "%s line %d after TRACK:",
|
cdio_log(log_level, "%s line %d after TRACK:",
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
$Id: nrg.c,v 1.33 2004/07/24 14:23:39 rocky Exp $
|
$Id: nrg.c,v 1.34 2004/07/25 18:37:09 rocky Exp $
|
||||||
|
|
||||||
Copyright (C) 2003, 2004 Rocky Bernstein <rocky@panix.com>
|
Copyright (C) 2003, 2004 Rocky Bernstein <rocky@panix.com>
|
||||||
Copyright (C) 2001, 2003 Herbert Valerio Riedel <hvr@gnu.org>
|
Copyright (C) 2001, 2003 Herbert Valerio Riedel <hvr@gnu.org>
|
||||||
@@ -45,7 +45,7 @@
|
|||||||
#include "_cdio_stdio.h"
|
#include "_cdio_stdio.h"
|
||||||
#include "nrg.h"
|
#include "nrg.h"
|
||||||
|
|
||||||
static const char _rcsid[] = "$Id: nrg.c,v 1.33 2004/07/24 14:23:39 rocky Exp $";
|
static const char _rcsid[] = "$Id: nrg.c,v 1.34 2004/07/25 18:37:09 rocky Exp $";
|
||||||
|
|
||||||
|
|
||||||
/* reader */
|
/* reader */
|
||||||
@@ -397,18 +397,18 @@ parse_nrg (_img_private_t *env, const char *psz_nrg_name)
|
|||||||
case 0:
|
case 0:
|
||||||
/* Mode 1 */
|
/* Mode 1 */
|
||||||
track_format = TRACK_FORMAT_DATA;
|
track_format = TRACK_FORMAT_DATA;
|
||||||
env->disc_mode = CDIO_DISC_MODE_CD_DATA_1;
|
env->disc_mode = CDIO_DISC_MODE_CD_DATA;
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
/* Mode 2 form 1 */
|
/* Mode 2 form 1 */
|
||||||
form2 = 0;
|
form2 = 0;
|
||||||
track_format = TRACK_FORMAT_XA;
|
track_format = TRACK_FORMAT_XA;
|
||||||
env->disc_mode = CDIO_DISC_MODE_CD_XA_2_1;
|
env->disc_mode = CDIO_DISC_MODE_CD_XA;
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
/* Mode 2 */
|
/* Mode 2 */
|
||||||
track_format = TRACK_FORMAT_XA;
|
track_format = TRACK_FORMAT_XA;
|
||||||
env->disc_mode = CDIO_DISC_MODE_CD_XA_2_1; /* ?? */
|
env->disc_mode = CDIO_DISC_MODE_CD_XA; /* ?? */
|
||||||
break;
|
break;
|
||||||
case 0x6:
|
case 0x6:
|
||||||
/* Mode2 form mix */
|
/* Mode2 form mix */
|
||||||
@@ -417,7 +417,7 @@ parse_nrg (_img_private_t *env, const char *psz_nrg_name)
|
|||||||
break;
|
break;
|
||||||
case 0x20: /* ??? Mode2 form 2, Mode2 raw?? */
|
case 0x20: /* ??? Mode2 form 2, Mode2 raw?? */
|
||||||
track_format = TRACK_FORMAT_XA;
|
track_format = TRACK_FORMAT_XA;
|
||||||
env->disc_mode = CDIO_DISC_MODE_CD_XA_2_2; /* ??. */
|
env->disc_mode = CDIO_DISC_MODE_CD_XA; /* ??. */
|
||||||
break;
|
break;
|
||||||
case 0x7:
|
case 0x7:
|
||||||
track_format = TRACK_FORMAT_AUDIO;
|
track_format = TRACK_FORMAT_AUDIO;
|
||||||
@@ -512,21 +512,21 @@ parse_nrg (_img_private_t *env, const char *psz_nrg_name)
|
|||||||
track_format = TRACK_FORMAT_DATA;
|
track_format = TRACK_FORMAT_DATA;
|
||||||
track_green = false; /* ?? */
|
track_green = false; /* ?? */
|
||||||
blocksize = CDIO_CD_FRAMESIZE;
|
blocksize = CDIO_CD_FRAMESIZE;
|
||||||
env->disc_mode = CDIO_DISC_MODE_CD_DATA_1;
|
env->disc_mode = CDIO_DISC_MODE_CD_DATA;
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
/* Mode 2 form 1 */
|
/* Mode 2 form 1 */
|
||||||
track_format = TRACK_FORMAT_XA;
|
track_format = TRACK_FORMAT_XA;
|
||||||
track_green = false; /* ?? */
|
track_green = false; /* ?? */
|
||||||
blocksize = CDIO_CD_FRAMESIZE;
|
blocksize = CDIO_CD_FRAMESIZE;
|
||||||
env->disc_mode = CDIO_DISC_MODE_CD_XA_2_1;
|
env->disc_mode = CDIO_DISC_MODE_CD_XA;
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
/* Mode 2 */
|
/* Mode 2 */
|
||||||
track_format = TRACK_FORMAT_XA;
|
track_format = TRACK_FORMAT_XA;
|
||||||
track_green = true;
|
track_green = true;
|
||||||
blocksize = M2RAW_SECTOR_SIZE;
|
blocksize = M2RAW_SECTOR_SIZE;
|
||||||
env->disc_mode = CDIO_DISC_MODE_CD_XA_2_1; /* ?? */
|
env->disc_mode = CDIO_DISC_MODE_CD_XA; /* ?? */
|
||||||
break;
|
break;
|
||||||
case 06:
|
case 06:
|
||||||
/* Mode2 form mix */
|
/* Mode2 form mix */
|
||||||
@@ -539,7 +539,7 @@ parse_nrg (_img_private_t *env, const char *psz_nrg_name)
|
|||||||
track_format = TRACK_FORMAT_XA;
|
track_format = TRACK_FORMAT_XA;
|
||||||
track_green = true;
|
track_green = true;
|
||||||
blocksize = M2RAW_SECTOR_SIZE;
|
blocksize = M2RAW_SECTOR_SIZE;
|
||||||
env->disc_mode = CDIO_DISC_MODE_CD_XA_2_2; /* ??. */
|
env->disc_mode = CDIO_DISC_MODE_CD_XA; /* ??. */
|
||||||
break;
|
break;
|
||||||
case 7:
|
case 7:
|
||||||
track_format = TRACK_FORMAT_AUDIO;
|
track_format = TRACK_FORMAT_AUDIO;
|
||||||
|
|||||||
35
lib/sector.c
35
lib/sector.c
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
$Id: sector.c,v 1.12 2004/07/10 01:21:19 rocky Exp $
|
$Id: sector.c,v 1.13 2004/07/25 18:37:09 rocky Exp $
|
||||||
|
|
||||||
Copyright (C) 2004 Rocky Bernstein <rocky@panix.com>
|
Copyright (C) 2004 Rocky Bernstein <rocky@panix.com>
|
||||||
Copyright (C) 2000 Herbert Valerio Riedel <hvr@gnu.org>
|
Copyright (C) 2000 Herbert Valerio Riedel <hvr@gnu.org>
|
||||||
@@ -35,7 +35,7 @@
|
|||||||
|
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
|
||||||
static const char _rcsid[] = "$Id: sector.c,v 1.12 2004/07/10 01:21:19 rocky Exp $";
|
static const char _rcsid[] = "$Id: sector.c,v 1.13 2004/07/25 18:37:09 rocky Exp $";
|
||||||
|
|
||||||
lba_t
|
lba_t
|
||||||
cdio_lba_to_lsn (lba_t lba)
|
cdio_lba_to_lsn (lba_t lba)
|
||||||
@@ -248,6 +248,37 @@ cdio_mmssff_to_lba (const char *psz_mmssff)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool
|
||||||
|
cdio_is_discmode_cdrom(discmode_t discmode)
|
||||||
|
{
|
||||||
|
switch (discmode) {
|
||||||
|
case CDIO_DISC_MODE_CD_DA:
|
||||||
|
case CDIO_DISC_MODE_CD_DATA:
|
||||||
|
case CDIO_DISC_MODE_CD_XA:
|
||||||
|
case CDIO_DISC_MODE_CD_MIXED:
|
||||||
|
case CDIO_DISC_MODE_NO_INFO:
|
||||||
|
return true;
|
||||||
|
default:
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool
|
||||||
|
cdio_is_discmode_dvd(discmode_t discmode)
|
||||||
|
{
|
||||||
|
switch (discmode) {
|
||||||
|
case CDIO_DISC_MODE_DVD_ROM:
|
||||||
|
case CDIO_DISC_MODE_DVD_RAM:
|
||||||
|
case CDIO_DISC_MODE_DVD_R:
|
||||||
|
case CDIO_DISC_MODE_DVD_RW:
|
||||||
|
case CDIO_DISC_MODE_DVD_PR:
|
||||||
|
case CDIO_DISC_MODE_DVD_PRW:
|
||||||
|
return true;
|
||||||
|
default:
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Local variables:
|
* Local variables:
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
$Id: cd-info.c,v 1.77 2004/07/25 17:32:19 rocky Exp $
|
$Id: cd-info.c,v 1.78 2004/07/25 18:37:09 rocky Exp $
|
||||||
|
|
||||||
Copyright (C) 2003, 2004 Rocky Bernstein <rocky@panix.com>
|
Copyright (C) 2003, 2004 Rocky Bernstein <rocky@panix.com>
|
||||||
Copyright (C) 1996, 1997, 1998 Gerd Knorr <kraxel@bytesex.org>
|
Copyright (C) 1996, 1997, 1998 Gerd Knorr <kraxel@bytesex.org>
|
||||||
@@ -856,6 +856,7 @@ main(int argc, const char *argv[])
|
|||||||
int first_audio = -1; /* # of first audio track */
|
int first_audio = -1; /* # of first audio track */
|
||||||
cdio_iso_analysis_t cdio_iso_analysis;
|
cdio_iso_analysis_t cdio_iso_analysis;
|
||||||
char *media_catalog_number;
|
char *media_catalog_number;
|
||||||
|
discmode_t discmode = CDIO_DISC_MODE_NO_INFO;
|
||||||
|
|
||||||
memset(&cdio_iso_analysis, 0, sizeof(cdio_iso_analysis));
|
memset(&cdio_iso_analysis, 0, sizeof(cdio_iso_analysis));
|
||||||
init();
|
init();
|
||||||
@@ -1007,22 +1008,16 @@ main(int argc, const char *argv[])
|
|||||||
|
|
||||||
if ( 0 == opts.no_disc_mode ) {
|
if ( 0 == opts.no_disc_mode ) {
|
||||||
printf("Disc mode is listed as: ");
|
printf("Disc mode is listed as: ");
|
||||||
switch(cdio_get_discmode(cdio)) {
|
switch( (discmode = cdio_get_discmode(cdio)) ) {
|
||||||
case CDIO_DISC_MODE_CD_DA:
|
case CDIO_DISC_MODE_CD_DA:
|
||||||
printf("CD-DA\n");
|
printf("CD-DA\n");
|
||||||
break;
|
break;
|
||||||
case CDIO_DISC_MODE_CD_DATA_1:
|
case CDIO_DISC_MODE_CD_DATA:
|
||||||
printf("CD-ROM form 1 mode 1");
|
printf("CD-ROM form 1");
|
||||||
break;
|
break;
|
||||||
case CDIO_DISC_MODE_CD_DATA_2:
|
case CDIO_DISC_MODE_CD_XA:
|
||||||
printf("CD-ROM form 1 mode 2");
|
printf("CD-ROM XA form2");
|
||||||
break;
|
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:
|
case CDIO_DISC_MODE_CD_MIXED:
|
||||||
printf("CD-ROM mixed mode");
|
printf("CD-ROM mixed mode");
|
||||||
break;
|
break;
|
||||||
@@ -1100,36 +1095,25 @@ main(int argc, const char *argv[])
|
|||||||
if (i == i_tracks) i = CDIO_CDROM_LEADOUT_TRACK-1;
|
if (i == i_tracks) i = CDIO_CDROM_LEADOUT_TRACK-1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* get MCN */
|
if (cdio_is_discmode_cdrom(discmode)) {
|
||||||
media_catalog_number = cdio_get_mcn(cdio);
|
/* get and print MCN */
|
||||||
printf("Media Catalog Number (MCN): "); fflush(stdout);
|
media_catalog_number = cdio_get_mcn(cdio);
|
||||||
if (NULL == media_catalog_number)
|
|
||||||
printf("not available\n");
|
printf("Media Catalog Number (MCN): "); fflush(stdout);
|
||||||
else {
|
if (NULL == media_catalog_number)
|
||||||
|
printf("not available\n");
|
||||||
|
else {
|
||||||
printf("%s\n", media_catalog_number);
|
printf("%s\n", media_catalog_number);
|
||||||
free(media_catalog_number);
|
free(media_catalog_number);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#if CDIO_IOCTL_FINISHED
|
#if CDIO_IOCTL_FINISHED
|
||||||
if (!opts.no_ioctl) {
|
if (!opts.no_ioctl) {
|
||||||
printf(STRONG "What ioctl's report...\n" NORMAL);
|
printf(STRONG "What ioctl's report...\n" NORMAL);
|
||||||
|
|
||||||
#ifdef CDROM_DISC_STATUS
|
|
||||||
/* get disk status */
|
|
||||||
printf("disc status : "); fflush(stdout);
|
|
||||||
switch (ioctl(filehandle,CDROM_DISC_STATUS,0)) {
|
|
||||||
case CDS_NO_INFO: printf("no info\n"); break;
|
|
||||||
case CDS_NO_DISC: printf("no disc\n"); break;
|
|
||||||
case CDS_AUDIO: printf("audio\n"); break;
|
|
||||||
case CDS_DATA_1: printf("data mode 1\n"); break;
|
|
||||||
case CDS_DATA_2: printf("data mode 2\n"); break;
|
|
||||||
case CDS_XA_2_1: printf("XA mode 1\n"); break;
|
|
||||||
case CDS_XA_2_2: printf("XA mode 2\n"); break;
|
|
||||||
default: printf("unknown (failed?)\n");
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CDROMMULTISESSION
|
#ifdef CDROMMULTISESSION
|
||||||
/* get multisession */
|
/* get multisession */
|
||||||
printf("multisession: "); fflush(stdout);
|
printf("multisession: "); fflush(stdout);
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ Writing....
|
|||||||
Can write DVD-RAM : No
|
Can write DVD-RAM : No
|
||||||
__________________________________
|
__________________________________
|
||||||
|
|
||||||
Disc mode is listed as: CD-ROM form 1 mode 2
|
Disc mode is listed as: CD-ROM form 1
|
||||||
Media Catalog Number (MCN): not available
|
Media Catalog Number (MCN): not available
|
||||||
__________________________________
|
__________________________________
|
||||||
CD Analysis Report
|
CD Analysis Report
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ Writing....
|
|||||||
Can write DVD-RAM : No
|
Can write DVD-RAM : No
|
||||||
__________________________________
|
__________________________________
|
||||||
|
|
||||||
Disc mode is listed as: CD-ROM form 1 mode 2
|
Disc mode is listed as: CD-ROM form 1
|
||||||
Media Catalog Number (MCN): not available
|
Media Catalog Number (MCN): not available
|
||||||
__________________________________
|
__________________________________
|
||||||
CD Analysis Report
|
CD Analysis Report
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ Writing....
|
|||||||
Can write DVD-RAM : No
|
Can write DVD-RAM : No
|
||||||
__________________________________
|
__________________________________
|
||||||
|
|
||||||
Disc mode is listed as: CD-ROM form 1 mode 2
|
Disc mode is listed as: CD-ROM form 1
|
||||||
CD-ROM Track List (1 - 1)
|
CD-ROM Track List (1 - 1)
|
||||||
#: MSF LSN Type Green?
|
#: MSF LSN Type Green?
|
||||||
1: 00:02:00 000000 data false
|
1: 00:02:00 000000 data false
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ Writing....
|
|||||||
Can write DVD-RAM : No
|
Can write DVD-RAM : No
|
||||||
__________________________________
|
__________________________________
|
||||||
|
|
||||||
Disc mode is listed as: CD-ROM form 1 mode 2
|
Disc mode is listed as: CD-ROM form 1
|
||||||
CD-ROM Track List (1 - 1)
|
CD-ROM Track List (1 - 1)
|
||||||
#: MSF LSN Type Green?
|
#: MSF LSN Type Green?
|
||||||
1: 00:02:00 000000 data false
|
1: 00:02:00 000000 data false
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ Writing....
|
|||||||
Can write DVD-RAM : No
|
Can write DVD-RAM : No
|
||||||
__________________________________
|
__________________________________
|
||||||
|
|
||||||
Disc mode is listed as: CD-ROM form 1 mode 2
|
Disc mode is listed as: CD-ROM form 1
|
||||||
CD-ROM Track List (1 - 1)
|
CD-ROM Track List (1 - 1)
|
||||||
#: MSF LSN Type Green?
|
#: MSF LSN Type Green?
|
||||||
1: 00:02:00 000000 data false
|
1: 00:02:00 000000 data false
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ Writing....
|
|||||||
Can write DVD-RAM : No
|
Can write DVD-RAM : No
|
||||||
__________________________________
|
__________________________________
|
||||||
|
|
||||||
Disc mode is listed as: CD-ROM form 1 mode 2
|
Disc mode is listed as: CD-ROM form 1
|
||||||
CD-ROM Track List (1 - 1)
|
CD-ROM Track List (1 - 1)
|
||||||
#: MSF LSN Type Green?
|
#: MSF LSN Type Green?
|
||||||
1: 00:02:00 000000 data false
|
1: 00:02:00 000000 data false
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ Writing....
|
|||||||
Can write DVD-RAM : No
|
Can write DVD-RAM : No
|
||||||
__________________________________
|
__________________________________
|
||||||
|
|
||||||
Disc mode is listed as: CD-ROM form 1 mode 2
|
Disc mode is listed as: CD-ROM form 1
|
||||||
CD-ROM Track List (1 - 1)
|
CD-ROM Track List (1 - 1)
|
||||||
#: MSF LSN Type Green?
|
#: MSF LSN Type Green?
|
||||||
1: 00:02:00 000000 data false
|
1: 00:02:00 000000 data false
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ Writing....
|
|||||||
Can write DVD-RAM : No
|
Can write DVD-RAM : No
|
||||||
__________________________________
|
__________________________________
|
||||||
|
|
||||||
Disc mode is listed as: CD-ROM form 1 mode 2
|
Disc mode is listed as: CD-ROM form 1
|
||||||
CD-ROM Track List (1 - 1)
|
CD-ROM Track List (1 - 1)
|
||||||
#: MSF LSN Type Green?
|
#: MSF LSN Type Green?
|
||||||
1: 00:02:00 000000 data false
|
1: 00:02:00 000000 data false
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ Writing....
|
|||||||
Can write DVD-RAM : No
|
Can write DVD-RAM : No
|
||||||
__________________________________
|
__________________________________
|
||||||
|
|
||||||
Disc mode is listed as: CD-ROM XA form2 mode 1
|
Disc mode is listed as: CD-ROM XA form2
|
||||||
CD-ROM Track List (1 - 2)
|
CD-ROM Track List (1 - 2)
|
||||||
#: MSF LSN Type Green?
|
#: MSF LSN Type Green?
|
||||||
1: 00:02:00 000000 XA true
|
1: 00:02:00 000000 XA true
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ Writing....
|
|||||||
Can write DVD-RAM : No
|
Can write DVD-RAM : No
|
||||||
__________________________________
|
__________________________________
|
||||||
|
|
||||||
Disc mode is listed as: CD-ROM XA form2 mode 1
|
Disc mode is listed as: CD-ROM XA form2
|
||||||
CD-ROM Track List (1 - 2)
|
CD-ROM Track List (1 - 2)
|
||||||
#: MSF LSN Type Green?
|
#: MSF LSN Type Green?
|
||||||
1: 00:02:00 000000 XA true
|
1: 00:02:00 000000 XA true
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ Writing....
|
|||||||
Can write DVD-RAM : No
|
Can write DVD-RAM : No
|
||||||
__________________________________
|
__________________________________
|
||||||
|
|
||||||
Disc mode is listed as: CD-ROM XA form2 mode 1
|
Disc mode is listed as: CD-ROM XA form2
|
||||||
CD-ROM Track List (1 - 5)
|
CD-ROM Track List (1 - 5)
|
||||||
#: MSF LSN Type Green?
|
#: MSF LSN Type Green?
|
||||||
1: 00:02:00 000000 XA true
|
1: 00:02:00 000000 XA true
|
||||||
|
|||||||
Reference in New Issue
Block a user