Deal with unimplemented audio status (such as on image drivers)
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
$Id: cd-info.c,v 1.124 2005/03/01 11:14:43 rocky Exp $
|
$Id: cd-info.c,v 1.125 2005/03/01 11:29:52 rocky Exp $
|
||||||
|
|
||||||
Copyright (C) 2003, 2004, 2005 Rocky Bernstein <rocky@panix.com>
|
Copyright (C) 2003, 2004, 2005 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>
|
||||||
@@ -859,7 +859,7 @@ main(int argc, const char *argv[])
|
|||||||
{
|
{
|
||||||
|
|
||||||
CdIo_t *p_cdio=NULL;
|
CdIo_t *p_cdio=NULL;
|
||||||
cdio_fs_anal_t fs=CDIO_FS_AUDIO;
|
cdio_fs_anal_t fs = CDIO_FS_AUDIO;
|
||||||
int i;
|
int i;
|
||||||
lsn_t start_track_lsn; /* lsn of first track */
|
lsn_t start_track_lsn; /* lsn of first track */
|
||||||
lsn_t data_start = 0; /* start of data area */
|
lsn_t data_start = 0; /* start of data area */
|
||||||
@@ -875,6 +875,9 @@ main(int argc, const char *argv[])
|
|||||||
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;
|
discmode_t discmode = CDIO_DISC_MODE_NO_INFO;
|
||||||
|
cdio_drive_read_cap_t i_read_cap = 0;
|
||||||
|
cdio_drive_write_cap_t i_write_cap;
|
||||||
|
cdio_drive_misc_cap_t i_misc_cap;
|
||||||
|
|
||||||
memset(&cdio_iso_analysis, 0, sizeof(cdio_iso_analysis));
|
memset(&cdio_iso_analysis, 0, sizeof(cdio_iso_analysis));
|
||||||
init();
|
init();
|
||||||
@@ -923,10 +926,8 @@ main(int argc, const char *argv[])
|
|||||||
printf(" access mode: %s\n\n", cdio_get_arg(p_cdio, "access-mode"));
|
printf(" access mode: %s\n\n", cdio_get_arg(p_cdio, "access-mode"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
cdio_get_drive_cap(p_cdio, &i_read_cap, &i_write_cap, &i_misc_cap);
|
||||||
if (0 == opts.no_device) {
|
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;
|
|
||||||
cdio_hwinfo_t hwinfo;
|
cdio_hwinfo_t hwinfo;
|
||||||
if (cdio_get_hwinfo(p_cdio, &hwinfo)) {
|
if (cdio_get_hwinfo(p_cdio, &hwinfo)) {
|
||||||
printf("%-28s: %s\n%-28s: %s\n%-28s: %s\n",
|
printf("%-28s: %s\n%-28s: %s\n%-28s: %s\n",
|
||||||
@@ -934,7 +935,6 @@ main(int argc, const char *argv[])
|
|||||||
"Model" , hwinfo.psz_model,
|
"Model" , hwinfo.psz_model,
|
||||||
"Revision", hwinfo.psz_revision);
|
"Revision", hwinfo.psz_revision);
|
||||||
}
|
}
|
||||||
cdio_get_drive_cap(p_cdio, &i_read_cap, &i_write_cap, &i_misc_cap);
|
|
||||||
print_drive_capabilities(i_read_cap, i_write_cap, i_misc_cap);
|
print_drive_capabilities(i_read_cap, i_write_cap, i_misc_cap);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1135,11 +1135,16 @@ main(int argc, const char *argv[])
|
|||||||
/* get and print MCN */
|
/* get and print MCN */
|
||||||
media_catalog_number = cdio_get_mcn(p_cdio);
|
media_catalog_number = cdio_get_mcn(p_cdio);
|
||||||
|
|
||||||
printf("Media Catalog Number (MCN): "); fflush(stdout);
|
report(stdout, "Media Catalog Number (MCN): "); fflush(stdout);
|
||||||
if (NULL == media_catalog_number)
|
if (NULL == media_catalog_number) {
|
||||||
printf("not available\n");
|
if (i_read_cap & CDIO_DRIVE_CAP_READ_MCN)
|
||||||
|
report(stdout, "not available\n");
|
||||||
|
else
|
||||||
|
report(stdout, "not supported by drive\n");
|
||||||
|
}
|
||||||
|
|
||||||
else {
|
else {
|
||||||
printf("%s\n", media_catalog_number);
|
report(stdout, "%s\n", media_catalog_number);
|
||||||
free(media_catalog_number);
|
free(media_catalog_number);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1184,6 +1189,8 @@ main(int argc, const char *argv[])
|
|||||||
subchannel.rel_addr.msf.s,
|
subchannel.rel_addr.msf.s,
|
||||||
subchannel.track );
|
subchannel.track );
|
||||||
}
|
}
|
||||||
|
} else if (DRIVER_OP_UNSUPPORTED == rc) {
|
||||||
|
report( stdout, "not implemented\n" );
|
||||||
} else {
|
} else {
|
||||||
report( stdout, "FAILED\n" );
|
report( stdout, "FAILED\n" );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ CD-ROM Track List (1 - 1)
|
|||||||
1: 00:02:00 000000 audio false yes 0 no
|
1: 00:02:00 000000 audio false yes 0 no
|
||||||
170: 00:09:64 000589 leadout (1 MB raw, 1 MB formatted)
|
170: 00:09:64 000589 leadout (1 MB raw, 1 MB formatted)
|
||||||
Media Catalog Number (MCN): 123456789ABCD
|
Media Catalog Number (MCN): 123456789ABCD
|
||||||
|
audio status: not implemented
|
||||||
__________________________________
|
__________________________________
|
||||||
CD Analysis Report
|
CD Analysis Report
|
||||||
Audio CD, CDDB disc ID is 02000701
|
Audio CD, CDDB disc ID is 02000701
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ CD-ROM Track List (1 - 1)
|
|||||||
1: 00:02:00 000000 audio false yes 2 no
|
1: 00:02:00 000000 audio false yes 2 no
|
||||||
170: 00:06:02 000302 leadout (693 KB raw, 693 KB formatted)
|
170: 00:06:02 000302 leadout (693 KB raw, 693 KB formatted)
|
||||||
Media Catalog Number (MCN): 0000010271955
|
Media Catalog Number (MCN): 0000010271955
|
||||||
|
audio status: not implemented
|
||||||
__________________________________
|
__________________________________
|
||||||
CD Analysis Report
|
CD Analysis Report
|
||||||
Audio CD, CDDB disc ID is 02000401
|
Audio CD, CDDB disc ID is 02000401
|
||||||
|
|||||||
Reference in New Issue
Block a user