_cdio_sunos.c: add audio routines.

_cdio_linux.c: small formatting changes.
This commit is contained in:
rocky
2005-03-01 08:14:09 +00:00
parent 862d186157
commit 126777b282
2 changed files with 107 additions and 11 deletions

View File

@@ -1,5 +1,5 @@
/* /*
$Id: _cdio_linux.c,v 1.30 2005/03/01 02:49:43 rocky Exp $ $Id: _cdio_linux.c,v 1.31 2005/03/01 08:14: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, 2005 Rocky Bernstein <rocky@panix.com> Copyright (C) 2002, 2003, 2004, 2005 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.30 2005/03/01 02:49:43 rocky Exp $"; static const char _rcsid[] = "$Id: _cdio_linux.c,v 1.31 2005/03/01 08:14:09 rocky Exp $";
#include <string.h> #include <string.h>
@@ -200,19 +200,21 @@ check_mounts_linux(const char *mtab)
@param p_cdio the CD object to be acted upon. @param p_cdio the CD object to be acted upon.
*/ */
static driver_return_code_t static driver_return_code_t
audio_pause_linux (void *p_user_data) { audio_pause_linux (void *p_user_data)
{
const _img_private_t *p_env = p_user_data; const _img_private_t *p_env = p_user_data;
return ioctl(p_env->gen.fd, CDROMPAUSE); return ioctl(p_env->gen.fd, CDROMPAUSE);
} }
/*! /*!
Pause playing CD through analog output Playing starting at given MSF through analog output
@param p_cdio the CD object to be acted upon. @param p_cdio the CD object to be acted upon.
*/ */
static driver_return_code_t static driver_return_code_t
audio_play_msf_linux (void *p_user_data, msf_t *p_msf) { audio_play_msf_linux (void *p_user_data, msf_t *p_msf)
{
const _img_private_t *p_env = p_user_data; const _img_private_t *p_env = p_user_data;
return ioctl(p_env->gen.fd, CDROMPLAYMSF, p_msf); return ioctl(p_env->gen.fd, CDROMPLAYMSF, p_msf);
@@ -226,7 +228,8 @@ audio_play_msf_linux (void *p_user_data, msf_t *p_msf) {
*/ */
static driver_return_code_t static driver_return_code_t
audio_play_track_index_linux (void *p_user_data, audio_play_track_index_linux (void *p_user_data,
cdio_track_index_t *p_track_index) { cdio_track_index_t *p_track_index)
{
const _img_private_t *p_env = p_user_data; const _img_private_t *p_env = p_user_data;
return ioctl(p_env->gen.fd, CDROMPLAYTRKIND, p_track_index); return ioctl(p_env->gen.fd, CDROMPLAYTRKIND, p_track_index);
@@ -240,7 +243,8 @@ audio_play_track_index_linux (void *p_user_data,
*/ */
static driver_return_code_t static driver_return_code_t
audio_read_subchannel_linux (void *p_user_data, audio_read_subchannel_linux (void *p_user_data,
cdio_subchannel_t *p_subchannel) { cdio_subchannel_t *p_subchannel)
{
const _img_private_t *p_env = p_user_data; const _img_private_t *p_env = p_user_data;
return ioctl(p_env->gen.fd, CDROMSUBCHNL, p_subchannel); return ioctl(p_env->gen.fd, CDROMSUBCHNL, p_subchannel);
@@ -253,7 +257,8 @@ audio_read_subchannel_linux (void *p_user_data,
*/ */
static driver_return_code_t static driver_return_code_t
audio_resume_linux (void *p_user_data) { audio_resume_linux (void *p_user_data)
{
const _img_private_t *p_env = p_user_data; const _img_private_t *p_env = p_user_data;
return ioctl(p_env->gen.fd, CDROMRESUME, 0); return ioctl(p_env->gen.fd, CDROMRESUME, 0);
@@ -267,7 +272,8 @@ audio_resume_linux (void *p_user_data) {
*/ */
static driver_return_code_t static driver_return_code_t
audio_set_volume_linux (void *p_user_data, audio_set_volume_linux (void *p_user_data,
const cdio_audio_volume_t *p_volume) { const cdio_audio_volume_t *p_volume)
{
const _img_private_t *p_env = p_user_data; const _img_private_t *p_env = p_user_data;
return ioctl(p_env->gen.fd, CDROMVOLCTRL, p_volume); return ioctl(p_env->gen.fd, CDROMVOLCTRL, p_volume);

View File

@@ -1,5 +1,5 @@
/* /*
$Id: _cdio_sunos.c,v 1.25 2005/03/01 01:09:53 rocky Exp $ $Id: _cdio_sunos.c,v 1.26 2005/03/01 08:14: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, 2005 Rocky Bernstein <rocky@panix.com> Copyright (C) 2002, 2003, 2004, 2005 Rocky Bernstein <rocky@panix.com>
@@ -38,7 +38,7 @@
#ifdef HAVE_SOLARIS_CDROM #ifdef HAVE_SOLARIS_CDROM
static const char _rcsid[] = "$Id: _cdio_sunos.c,v 1.25 2005/03/01 01:09:53 rocky Exp $"; static const char _rcsid[] = "$Id: _cdio_sunos.c,v 1.26 2005/03/01 08:14:09 rocky Exp $";
#ifdef HAVE_GLOB_H #ifdef HAVE_GLOB_H
#include <glob.h> #include <glob.h>
@@ -118,6 +118,90 @@ str_to_access_mode_sunos(const char *psz_access_mode)
} }
/*!
Pause playing CD through analog output
@param p_cdio the CD object to be acted upon.
*/
static driver_return_code_t
audio_pause_solaris (void *p_user_data)
{
const _img_private_t *p_env = p_user_data;
return ioctl(p_env->gen.fd, CDROMPAUSE);
}
/*!
Playing starting at given MSF through analog output
@param p_cdio the CD object to be acted upon.
*/
static driver_return_code_t
audio_play_msf_solaris (void *p_user_data, msf_t *p_msf)
{
const _img_private_t *p_env = p_user_data;
return ioctl(p_env->gen.fd, CDROMPLAYMSF, p_msf);
}
/*!
Playing CD through analog output at the desired track and index
@param p_cdio the CD object to be acted upon.
@param p_track_index location to start/end.
*/
static driver_return_code_t
audio_play_track_index_solaris (void *p_user_data,
cdio_track_index_t *p_track_index)
{
const _img_private_t *p_env = p_user_data;
return ioctl(p_env->gen.fd, CDROMPLAYTRKIND, p_track_index);
}
/*!
Resume playing an audio CD.
@param p_cdio the CD object to be acted upon.
*/
static driver_return_code_t
audio_read_subchannel_solaris (void *p_user_data,
cdio_subchannel_t *p_subchannel)
{
const _img_private_t *p_env = p_user_data;
return ioctl(p_env->gen.fd, CDROMSUBCHNL, p_subchannel);
}
/*!
Resume playing an audio CD.
@param p_cdio the CD object to be acted upon.
*/
static driver_return_code_t
audio_resume_solaris (void *p_user_data)
{
const _img_private_t *p_env = p_user_data;
return ioctl(p_env->gen.fd, CDROMRESUME, 0);
}
/*!
Resume playing an audio CD.
@param p_cdio the CD object to be acted upon.
*/
static driver_return_code_t
audio_set_volume_solaris (void *p_user_data,
const cdio_audio_volume_t *p_volume) {
const _img_private_t *p_env = p_user_data;
return ioctl(p_env->gen.fd, CDROMVOLCTRL, p_volume);
}
/*! /*!
Initialize CD device. Initialize CD device.
*/ */
@@ -882,6 +966,12 @@ cdio_open_am_solaris (const char *psz_orig_source, const char *access_mode)
cdio_funcs_t _funcs; cdio_funcs_t _funcs;
_funcs.audio_pause = audio_pause_solaris;
_funcs.audio_play_msf = audio_play_msf_solaris;
_funcs.audio_play_track_index = audio_play_track_index_solaris;
_funcs.audio_read_subchannel = audio_read_subchannel_solaris;
_funcs.audio_resume = audio_resume_solaris;
_funcs.audio_set_volume = audio_set_volume_solaris;
_funcs.eject_media = eject_media_solaris; _funcs.eject_media = eject_media_solaris;
_funcs.free = cdio_generic_free; _funcs.free = cdio_generic_free;
_funcs.get_arg = get_arg_solaris; _funcs.get_arg = get_arg_solaris;