Revise audio subchannel structure to remove lba uniion since we don't
support returning LBA's inside the structure. include/types.h: use cdio_config.h if none was supplied.
This commit is contained in:
@@ -19,7 +19,7 @@ define(RELEASE_NUM, 73)
|
||||
define(CDIO_VERSION_STR, 0.$1cvs)
|
||||
|
||||
AC_PREREQ(2.52)
|
||||
AC_REVISION([$Id: configure.ac,v 1.150 2005/03/17 07:36:09 rocky Exp $])dnl
|
||||
AC_REVISION([$Id: configure.ac,v 1.151 2005/03/19 06:42:22 rocky Exp $])dnl
|
||||
AC_INIT(libcdio, CDIO_VERSION_STR(RELEASE_NUM))
|
||||
AC_CONFIG_SRCDIR(src/cd-info.c)
|
||||
|
||||
@@ -157,6 +157,9 @@ AM_PATH_LIBPOPT(,
|
||||
enable_iso_info=no;
|
||||
enable_iso_read=no])
|
||||
|
||||
AC_DEFINE(LIBCDIO_CONFIG_H, 1,
|
||||
[Is set when libcdio's config.h has been included. Applications wishing to sue their own config.h values (such as set by the application's configure script can define this before including any of libcdio's headers.])
|
||||
|
||||
dnl headers
|
||||
|
||||
AC_HEADER_STDC
|
||||
@@ -587,6 +590,7 @@ chmod +x test/check_nrg.sh
|
||||
chmod +x test/check_cue.sh
|
||||
chmod +x test/check_iso.sh
|
||||
chmod +x test/check_paranoia.sh
|
||||
cp config.h include/cdio/cdio_config.h
|
||||
]],[[]])
|
||||
|
||||
AC_OUTPUT
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
$Id: audio.c,v 1.3 2005/03/16 02:19:20 rocky Exp $
|
||||
$Id: audio.c,v 1.4 2005/03/19 06:42:24 rocky Exp $
|
||||
|
||||
Copyright (C) 2005 Rocky Bernstein <rocky@panix.com>
|
||||
|
||||
@@ -464,11 +464,8 @@ main(int argc, char *argv[])
|
||||
sub.audio_status == CDIO_MMC_READ_SUB_ST_PLAY) {
|
||||
{
|
||||
printf("track %2d - %02d:%02d (%02d:%02d abs) ",
|
||||
sub.track,
|
||||
sub.rel_addr.msf.m,
|
||||
sub.rel_addr.msf.s,
|
||||
sub.abs_addr.msf.m,
|
||||
sub.abs_addr.msf.s);
|
||||
sub.track, sub.rel_addr.m, sub.rel_addr.s,
|
||||
sub.abs_addr.m, sub.abs_addr.s);
|
||||
}
|
||||
}
|
||||
printf("drive state: %s\n",
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
Makefile
|
||||
Makefile.in
|
||||
version.h
|
||||
cdio_config.h
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# $Id: Makefile.am,v 1.23 2005/03/01 00:41:34 rocky Exp $
|
||||
# $Id: Makefile.am,v 1.24 2005/03/19 06:42:24 rocky Exp $
|
||||
#
|
||||
# Copyright (C) 2003, 2004 Rocky Bernstein <rocky@panix.com>
|
||||
#
|
||||
@@ -29,6 +29,7 @@ libcdioinclude_HEADERS = \
|
||||
paranoia.h \
|
||||
cdda.h \
|
||||
cdio.h \
|
||||
cdio_config.h \
|
||||
cdtext.h \
|
||||
cdtext.h \
|
||||
cd_types.h \
|
||||
@@ -52,3 +53,4 @@ libcdioinclude_HEADERS = \
|
||||
EXTRA_DIST = version.h.in
|
||||
BUILT_SOURCES = version.h
|
||||
|
||||
MOSTLYCLEANFILES = cdio_config.h
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* -*- c -*-
|
||||
$Id: audio.h,v 1.8 2005/03/14 02:02:49 rocky Exp $
|
||||
$Id: audio.h,v 1.9 2005/03/19 06:42:24 rocky Exp $
|
||||
|
||||
Copyright (C) 2005 Rocky Bernstein <rocky@panix.com>
|
||||
|
||||
@@ -36,14 +36,14 @@ extern "C" {
|
||||
/*! This struct is used by the cdio_audio_read_subchannel */
|
||||
typedef struct cdio_subchannel_s
|
||||
{
|
||||
uint8_t format;
|
||||
uint8_t audio_status;
|
||||
uint8_t address: 4;
|
||||
uint8_t control: 4;
|
||||
uint8_t track;
|
||||
uint8_t index;
|
||||
union cdio_cdrom_addr abs_addr;
|
||||
union cdio_cdrom_addr rel_addr;
|
||||
uint8_t format;
|
||||
uint8_t audio_status;
|
||||
uint8_t address: 4;
|
||||
uint8_t control: 4;
|
||||
uint8_t track;
|
||||
uint8_t index;
|
||||
msf_t abs_addr;
|
||||
msf_t rel_addr;
|
||||
} cdio_subchannel_t;
|
||||
|
||||
/*! This struct is used by cdio_audio_get_volume and cdio_audio_set_volume */
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
$Id: types.h,v 1.29 2005/03/18 01:15:49 rocky Exp $
|
||||
$Id: types.h,v 1.30 2005/03/19 06:42:24 rocky Exp $
|
||||
|
||||
Copyright (C) 2000 Herbert Valerio Riedel <hvr@gnu.org>
|
||||
Copyright (C) 2002, 2003, 2004, 2005 Rocky Bernstein <rocky@panix.com>
|
||||
@@ -31,6 +31,10 @@
|
||||
extern "C" {
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#ifndef LIBCDIO_CONFIG_H
|
||||
#include <cdio/cdio_config.h>
|
||||
#endif
|
||||
|
||||
/* provide some C99 definitions */
|
||||
|
||||
#if defined(HAVE_SYS_TYPES_H)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
$Id: freebsd.c,v 1.24 2005/03/17 15:32:27 rocky Exp $
|
||||
$Id: freebsd.c,v 1.25 2005/03/19 06:42:24 rocky Exp $
|
||||
|
||||
Copyright (C) 2003, 2004, 2005 Rocky Bernstein <rocky@panix.com>
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
# include "config.h"
|
||||
#endif
|
||||
|
||||
static const char _rcsid[] = "$Id: freebsd.c,v 1.24 2005/03/17 15:32:27 rocky Exp $";
|
||||
static const char _rcsid[] = "$Id: freebsd.c,v 1.25 2005/03/19 06:42:24 rocky Exp $";
|
||||
|
||||
#include "freebsd.h"
|
||||
|
||||
@@ -361,16 +361,23 @@ audio_read_subchannel_freebsd (void *p_user_data,
|
||||
struct cd_sub_channel_info bsdinfo;
|
||||
i_rc = ioctl(p_env->gen.fd, CDIOCREADSUBCHANNEL, &bsdinfo);
|
||||
if (0 == i_rc) {
|
||||
/*p_subchannel*/
|
||||
msf_t msf;
|
||||
p_subchannel->audio_status = bsdinfo.header.audio_status;
|
||||
p_subchannel->address = bsdinfo.what.position.addr_type;
|
||||
|
||||
p_subchannel->control = bsdinfo.what.position.control;
|
||||
p_subchannel->track = bsdinfo.what.position.track_number;
|
||||
p_subchannel->index = bsdinfo.what.position.index_number;
|
||||
memcpy(&(p_subchannel->abs_addr), &bsdinfo.what.position.absaddr.lba,
|
||||
sizeof(cdio_subchannel_t));
|
||||
memcpy(&(p_subchannel->rel_addr), &bsdinfo.what.position.reladdr.lba,
|
||||
sizeof(cdio_subchannel_t));
|
||||
|
||||
cdio_lba_to_msf(bsdinfo.what.position.absaddr.lba, &msf);
|
||||
p_subchannel->abs_addr.m = cdio_from_bcd8 (msf.m);
|
||||
p_subchannel->abs_addr.s = cdio_from_bcd8 (msf.s);
|
||||
p_subchannel->abs_addr.f = cdio_from_bcd8 (msf.f);
|
||||
|
||||
cdio_lsn_to_msf(bsdinfo.what.position.reladr.lba, &msf);
|
||||
p_subchannel->rel_addr.m = cdio_from_bcd8 (msf.m);
|
||||
p_subchannel->rel_addr.s = cdio_from_bcd8 (msf.s);
|
||||
p_subchannel->rel_addr.f = cdio_from_bcd8 (msf.f);
|
||||
}
|
||||
return i_rc;
|
||||
}
|
||||
@@ -463,7 +470,6 @@ get_arg_freebsd (void *user_data, const char key[])
|
||||
*/
|
||||
static char *
|
||||
get_mcn_freebsd (const void *p_user_data) {
|
||||
|
||||
const _img_private_t *p_env = p_user_data;
|
||||
|
||||
return (p_env->access_mode == _AM_IOCTL)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
$Id: win32_ioctl.c,v 1.24 2005/03/17 19:41:16 rocky Exp $
|
||||
$Id: win32_ioctl.c,v 1.25 2005/03/19 06:42:24 rocky Exp $
|
||||
|
||||
Copyright (C) 2004, 2005 Rocky Bernstein <rocky@panix.com>
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
# include "config.h"
|
||||
#endif
|
||||
|
||||
static const char _rcsid[] = "$Id: win32_ioctl.c,v 1.24 2005/03/17 19:41:16 rocky Exp $";
|
||||
static const char _rcsid[] = "$Id: win32_ioctl.c,v 1.25 2005/03/19 06:42:24 rocky Exp $";
|
||||
|
||||
#ifdef HAVE_WIN32_CDROM
|
||||
|
||||
@@ -219,12 +219,12 @@ audio_read_subchannel_win32ioctl (void *p_user_data,
|
||||
const UCHAR *rel_addr =
|
||||
q_subchannel_data.CurrentPosition.TrackRelativeAddress;
|
||||
|
||||
p_subchannel->abs_addr.msf.m = abs_addr[1];
|
||||
p_subchannel->abs_addr.msf.s = abs_addr[2];
|
||||
p_subchannel->abs_addr.msf.f = abs_addr[3];
|
||||
p_subchannel->rel_addr.msf.m = rel_addr[1];
|
||||
p_subchannel->rel_addr.msf.s = rel_addr[2];
|
||||
p_subchannel->rel_addr.msf.f = rel_addr[3];
|
||||
p_subchannel->abs_addr.m = abs_addr[1];
|
||||
p_subchannel->abs_addr.s = abs_addr[2];
|
||||
p_subchannel->abs_addr.f = abs_addr[3];
|
||||
p_subchannel->rel_addr.m = rel_addr[1];
|
||||
p_subchannel->rel_addr.s = rel_addr[2];
|
||||
p_subchannel->rel_addr.f = rel_addr[3];
|
||||
}
|
||||
|
||||
return DRIVER_OP_SUCCESS;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
$Id: bsdi.c,v 1.5 2005/03/18 22:53:48 rocky Exp $
|
||||
$Id: bsdi.c,v 1.6 2005/03/19 06:42:24 rocky Exp $
|
||||
|
||||
Copyright (C) 2001 Herbert Valerio Riedel <hvr@gnu.org>
|
||||
Copyright (C) 2002, 2003, 2004, 2005 Rocky Bernstein <rocky@panix.com>
|
||||
@@ -27,7 +27,7 @@
|
||||
# include "config.h"
|
||||
#endif
|
||||
|
||||
static const char _rcsid[] = "$Id: bsdi.c,v 1.5 2005/03/18 22:53:48 rocky Exp $";
|
||||
static const char _rcsid[] = "$Id: bsdi.c,v 1.6 2005/03/19 06:42:24 rocky Exp $";
|
||||
|
||||
#include <cdio/logging.h>
|
||||
#include <cdio/sector.h>
|
||||
@@ -335,14 +335,14 @@ audio_read_subchannel_bsdi (void *p_user_data, cdio_subchannel_t *p_subchannel)
|
||||
p_subchannel->index = cdstat.index_num;
|
||||
|
||||
cdio_lba_to_msf(cdstat.abs_frame, &msf);
|
||||
p_subchannel->abs_addr.msf.m = cdio_from_bcd8 (msf.m);
|
||||
p_subchannel->abs_addr.msf.s = cdio_from_bcd8 (msf.s);
|
||||
p_subchannel->abs_addr.msf.f = cdio_from_bcd8 (msf.f);
|
||||
p_subchannel->abs_addr.m = cdio_from_bcd8 (msf.m);
|
||||
p_subchannel->abs_addr.s = cdio_from_bcd8 (msf.s);
|
||||
p_subchannel->abs_addr.f = cdio_from_bcd8 (msf.f);
|
||||
|
||||
cdio_lsn_to_msf(cdstat.rel_frame, &msf);
|
||||
p_subchannel->rel_addr.msf.m = cdio_from_bcd8 (msf.m);
|
||||
p_subchannel->rel_addr.msf.s = cdio_from_bcd8 (msf.s);
|
||||
p_subchannel->rel_addr.msf.f = cdio_from_bcd8 (msf.f);
|
||||
p_subchannel->rel_addr.m = cdio_from_bcd8 (msf.m);
|
||||
p_subchannel->rel_addr.s = cdio_from_bcd8 (msf.s);
|
||||
p_subchannel->rel_addr.f = cdio_from_bcd8 (msf.f);
|
||||
|
||||
switch(cdstat.state) {
|
||||
case cdstate_unknown:
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* Common Multimedia Command (MMC) routines.
|
||||
|
||||
$Id: mmc.c,v 1.22 2005/03/09 10:23:03 rocky Exp $
|
||||
$Id: mmc.c,v 1.23 2005/03/19 06:42:24 rocky Exp $
|
||||
|
||||
Copyright (C) 2004, 2005 Rocky Bernstein <rocky@panix.com>
|
||||
|
||||
@@ -602,18 +602,18 @@ mmc_audio_read_subchannel (CdIo_t *p_cdio, cdio_subchannel_t *p_subchannel)
|
||||
i_rc = mmc_run_cmd(p_cdio, DEFAULT_TIMEOUT_MS, &cdb, SCSI_MMC_DATA_READ,
|
||||
sizeof(mmc_subchannel_t), &mmc_subchannel);
|
||||
if (DRIVER_OP_SUCCESS == i_rc) {
|
||||
p_subchannel->format = mmc_subchannel.format;
|
||||
p_subchannel->audio_status = mmc_subchannel.audio_status;
|
||||
p_subchannel->address = mmc_subchannel.address;
|
||||
p_subchannel->control = mmc_subchannel.control;
|
||||
p_subchannel->track = mmc_subchannel.track;
|
||||
p_subchannel->index = mmc_subchannel.index;
|
||||
p_subchannel->abs_addr.msf.m = mmc_subchannel.abs_addr[1];
|
||||
p_subchannel->abs_addr.msf.s = mmc_subchannel.abs_addr[2];
|
||||
p_subchannel->abs_addr.msf.f = mmc_subchannel.abs_addr[3];
|
||||
p_subchannel->rel_addr.msf.m = mmc_subchannel.rel_addr[1];
|
||||
p_subchannel->rel_addr.msf.s = mmc_subchannel.rel_addr[2];
|
||||
p_subchannel->rel_addr.msf.f = mmc_subchannel.rel_addr[3];
|
||||
p_subchannel->format = mmc_subchannel.format;
|
||||
p_subchannel->audio_status = mmc_subchannel.audio_status;
|
||||
p_subchannel->address = mmc_subchannel.address;
|
||||
p_subchannel->control = mmc_subchannel.control;
|
||||
p_subchannel->track = mmc_subchannel.track;
|
||||
p_subchannel->index = mmc_subchannel.index;
|
||||
p_subchannel->abs_addr.m = mmc_subchannel.abs_addr[1];
|
||||
p_subchannel->abs_addr.s = mmc_subchannel.abs_addr[2];
|
||||
p_subchannel->abs_addr.f = mmc_subchannel.abs_addr[3];
|
||||
p_subchannel->rel_addr.m = mmc_subchannel.rel_addr[1];
|
||||
p_subchannel->rel_addr.s = mmc_subchannel.rel_addr[2];
|
||||
p_subchannel->rel_addr.f = mmc_subchannel.rel_addr[3];
|
||||
}
|
||||
return i_rc;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
$Id: cd-info.c,v 1.136 2005/03/18 12:56:00 rocky Exp $
|
||||
$Id: cd-info.c,v 1.137 2005/03/19 06:42:24 rocky Exp $
|
||||
|
||||
Copyright (C) 2003, 2004, 2005 Rocky Bernstein <rocky@panix.com>
|
||||
Copyright (C) 1996, 1997, 1998 Gerd Knorr <kraxel@bytesex.org>
|
||||
@@ -1092,10 +1092,10 @@ main(int argc, const char *argv[])
|
||||
|
||||
if (b_position)
|
||||
report( stdout, " at: %02d:%02d abs / %02d:%02d track %d\n",
|
||||
subchannel.abs_addr.msf.m,
|
||||
subchannel.abs_addr.msf.s,
|
||||
subchannel.rel_addr.msf.m,
|
||||
subchannel.rel_addr.msf.s,
|
||||
subchannel.abs_addr.m,
|
||||
subchannel.abs_addr.s,
|
||||
subchannel.rel_addr.m,
|
||||
subchannel.rel_addr.s,
|
||||
subchannel.track );
|
||||
|
||||
if (b_volume) {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
$Id: cdda-player.c,v 1.19 2005/03/18 15:42:25 rocky Exp $
|
||||
$Id: cdda-player.c,v 1.20 2005/03/19 06:42:24 rocky Exp $
|
||||
|
||||
Copyright (C) 2005 Rocky Bernstein <rocky@panix.com>
|
||||
|
||||
@@ -550,7 +550,7 @@ skip(int diff)
|
||||
if (!b_cd || i_first_track == CDIO_CDROM_LEADOUT_TRACK)
|
||||
return;
|
||||
|
||||
sec = cdio_audio_get_msf_seconds(&sub.abs_addr.msf);
|
||||
sec = cdio_audio_get_msf_seconds(&sub.abs_addr);
|
||||
sec += diff;
|
||||
if (sec < 0) sec = 0;
|
||||
|
||||
@@ -607,24 +607,17 @@ display_status(bool b_status_only)
|
||||
uint8_t i_level = audio_volume.level[i_vol_port];
|
||||
sprintf(line,
|
||||
"track %2d - %02d:%02d of %s (%02d:%02d abs) %s volume: %d",
|
||||
sub.track,
|
||||
sub.rel_addr.msf.m,
|
||||
sub.rel_addr.msf.s,
|
||||
sub.track, sub.rel_addr.m, sub.rel_addr.s,
|
||||
cd_info[sub.track].length,
|
||||
sub.abs_addr.msf.m,
|
||||
sub.abs_addr.msf.s,
|
||||
sub.abs_addr.m, sub.abs_addr.s,
|
||||
mmc_audio_state2str(sub.audio_status),
|
||||
(i_level*100+128) / 256 );
|
||||
|
||||
} else
|
||||
sprintf(line,"track %2d - %02d:%02d of %s (%02d:%02d abs) %s",
|
||||
sub.track,
|
||||
sub.rel_addr.msf.m,
|
||||
sub.rel_addr.msf.s,
|
||||
cd_info[sub.track].length,
|
||||
sub.abs_addr.msf.m,
|
||||
sub.abs_addr.msf.s,
|
||||
mmc_audio_state2str(sub.audio_status));
|
||||
sub.track, sub.rel_addr.m, sub.rel_addr.s,
|
||||
cd_info[sub.track].length, sub.abs_addr.m, sub.abs_addr.s,
|
||||
mmc_audio_state2str(sub.audio_status));
|
||||
} else {
|
||||
sprintf(line,"%s", mmc_audio_state2str(sub.audio_status));
|
||||
|
||||
@@ -1403,11 +1396,8 @@ main(int argc, char *argv[])
|
||||
sub.audio_status == CDIO_MMC_READ_SUB_ST_PLAY) {
|
||||
{
|
||||
printf("track %2d - %02d:%02d (%02d:%02d abs) ",
|
||||
sub.track,
|
||||
sub.rel_addr.msf.m,
|
||||
sub.rel_addr.msf.s,
|
||||
sub.abs_addr.msf.m,
|
||||
sub.abs_addr.msf.s);
|
||||
sub.track, sub.rel_addr.m, sub.rel_addr.s,
|
||||
sub.abs_addr.m, sub.abs_addr.s);
|
||||
}
|
||||
}
|
||||
printf("drive state: %s\n",
|
||||
|
||||
Reference in New Issue
Block a user