From bb01abd1fe270aec398534476d55db8e0330e8d3 Mon Sep 17 00:00:00 2001 From: drochner Date: Tue, 31 May 2005 17:05:36 +0000 Subject: update to 0.74 changes: - cd-paranoia fixes - cdda-player fixes - cd-drive shows MMC level - CD Text improvements/fixes - eject of empty CD-ROM drives on GNU/Linux - FreeBSD audio sub-channel time reporting fixed --- misc/libcdio/Makefile | 4 ++-- misc/libcdio/PLIST | 3 +-- misc/libcdio/distinfo | 8 ++++---- misc/libcdio/files/_cdio_netbsd.c | 30 +++++++++++++++++++++++------- 4 files changed, 30 insertions(+), 15 deletions(-) (limited to 'misc') diff --git a/misc/libcdio/Makefile b/misc/libcdio/Makefile index c0d14dc5479..9f5c632091a 100644 --- a/misc/libcdio/Makefile +++ b/misc/libcdio/Makefile @@ -1,7 +1,7 @@ -# $NetBSD: Makefile,v 1.19 2005/05/03 16:17:52 drochner Exp $ +# $NetBSD: Makefile,v 1.20 2005/05/31 17:05:36 drochner Exp $ # -DISTNAME= libcdio-0.73 +DISTNAME= libcdio-0.74 CATEGORIES= misc MASTER_SITES= ${MASTER_SITE_GNU:=libcdio/} diff --git a/misc/libcdio/PLIST b/misc/libcdio/PLIST index 9fd9fa9e1b7..5f04996e966 100644 --- a/misc/libcdio/PLIST +++ b/misc/libcdio/PLIST @@ -1,9 +1,8 @@ -@comment $NetBSD: PLIST,v 1.9 2005/05/02 17:11:17 drochner Exp $ +@comment $NetBSD: PLIST,v 1.10 2005/05/31 17:05:36 drochner Exp $ bin/cd-drive bin/cd-info bin/cd-paranoia bin/cd-read -bin/cdda-player bin/iso-info bin/iso-read include/cdio/audio.h diff --git a/misc/libcdio/distinfo b/misc/libcdio/distinfo index af2f38ae255..10869ace2a4 100644 --- a/misc/libcdio/distinfo +++ b/misc/libcdio/distinfo @@ -1,6 +1,6 @@ -$NetBSD: distinfo,v 1.9 2005/05/03 10:25:53 drochner Exp $ +$NetBSD: distinfo,v 1.10 2005/05/31 17:05:36 drochner Exp $ -SHA1 (libcdio-0.73.tar.gz) = 8929db4652646eb4fdfbadcf6f4385b24c1e25a1 -RMD160 (libcdio-0.73.tar.gz) = e51581a5d8b97d34bb09edd39ccbfcc618d74d72 -Size (libcdio-0.73.tar.gz) = 1797060 bytes +SHA1 (libcdio-0.74.tar.gz) = 2fc5e375e0efb61068ce48f2aa41ea5c98f72b19 +RMD160 (libcdio-0.74.tar.gz) = fa1bd85ad86c963bafc02c48b77167cc33977200 +Size (libcdio-0.74.tar.gz) = 1799345 bytes SHA1 (patch-aa) = 52c6b20279cfb8bb5b53653f43cb94cabfed4fc5 diff --git a/misc/libcdio/files/_cdio_netbsd.c b/misc/libcdio/files/_cdio_netbsd.c index 65a66e2ecdb..a6415067a06 100644 --- a/misc/libcdio/files/_cdio_netbsd.c +++ b/misc/libcdio/files/_cdio_netbsd.c @@ -1,4 +1,4 @@ -/* $NetBSD: _cdio_netbsd.c,v 1.3 2005/05/02 17:11:17 drochner Exp $ */ +/* $NetBSD: _cdio_netbsd.c,v 1.4 2005/05/31 17:05:36 drochner Exp $ */ /* * Copyright (c) 2003 @@ -73,7 +73,7 @@ typedef struct { } _img_private_t; static driver_return_code_t -run_scsi_cmd_freebsd(const void *p_user_data, unsigned int i_timeout_ms, +run_scsi_cmd_freebsd(void *p_user_data, unsigned int i_timeout_ms, unsigned int i_cdb, const mmc_cdb_t *p_cdb, mmc_direction_t e_direction, unsigned int i_buf, void *p_buf ) @@ -94,7 +94,7 @@ run_scsi_cmd_freebsd(const void *p_user_data, unsigned int i_timeout_ms, return -1; } if (req.retsts != SCCMD_OK) { - fprintf(stderr, "SCIOCCOMMAND sts %d\n", req.retsts); + fprintf(stderr, "SCIOCCOMMAND cmd 0x%02x sts %d\n", req.cmd[0], req.retsts); return -1; } @@ -131,7 +131,7 @@ _cdio_read_audio_sectors(void *user_data, void *data, lsn_t lsn, return 1; } if (req.retsts != SCCMD_OK) { - fprintf(stderr, "SCIOCCOMMAND sts %d\n", req.retsts); + fprintf(stderr, "SCIOCCOMMAND cmd 0xbe sts %d\n", req.retsts); return 1; } @@ -169,7 +169,7 @@ _cdio_read_mode2_sector(void *user_data, void *data, lsn_t lsn, return 1; } if (req.retsts != SCCMD_OK) { - fprintf(stderr, "SCIOCCOMMAND sts %d\n", req.retsts); + fprintf(stderr, "SCIOCCOMMAND cmd %0xbe sts %d\n", req.retsts); return 1; } @@ -308,7 +308,7 @@ _cdio_read_discinfo(_img_private_t *_obj) return 1; } if (req.retsts != SCCMD_OK) { - fprintf(stderr, "SCIOCCOMMAND sts %d\n", req.retsts); + fprintf(stderr, "SCIOCCOMMAND cmd 0x43 sts %d\n", req.retsts); return 1; } #if 1 @@ -473,6 +473,17 @@ _cdio_get_track_msf(void *user_data, track_t track_num, msf_t *msf) return true; } +static lsn_t +get_disc_last_lsn_netbsd(void *user_data) +{ + msf_t msf; + + _cdio_get_track_msf(user_data, CDIO_CDROM_LEADOUT_TRACK, &msf); + + return (((msf.m * 60) + msf.s) * 75 + msf.f); +} + + char ** cdio_get_devices_freebsd (void) { @@ -501,6 +512,7 @@ static cdio_funcs_t _funcs = { .get_cdtext = get_cdtext_generic, .get_default_device = cdio_get_default_device_freebsd, .get_devices = cdio_get_devices_freebsd, + .get_disc_last_lsn = get_disc_last_lsn_netbsd, .get_discmode = get_discmode_generic, .get_drive_cap = get_drive_cap_mmc, .get_first_track_num= _cdio_get_first_track_num, @@ -513,6 +525,7 @@ static cdio_funcs_t _funcs = { .lseek = cdio_generic_lseek, .read = cdio_generic_read, .read_audio_sectors = _cdio_read_audio_sectors, + .read_data_sectors = read_data_sectors_generic, .read_mode2_sector = _cdio_read_mode2_sector, .read_mode2_sectors = _cdio_read_mode2_sectors, .read_toc = read_toc_freebsd, @@ -540,11 +553,14 @@ cdio_open_freebsd(const char *source_name) _cdio_set_arg(_data, "source", (source_name ? source_name : DEFAULT_CDIO_DEVICE)); + if (source_name && !cdio_is_device_generic(source_name)) + return (NULL); + ret = cdio_new(&_data->gen, &_funcs); if (!ret) return NULL; - if (cdio_generic_init(_data)) { + if (cdio_generic_init(_data, O_RDONLY)) { return ret; } else { cdio_generic_free(_data); -- cgit v1.2.3