More audio control corrections.
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
$Id: gnu_linux.c,v 1.4 2005/03/06 00:03:53 rocky Exp $
|
||||
$Id: gnu_linux.c,v 1.5 2005/03/06 11:21:52 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: gnu_linux.c,v 1.4 2005/03/06 00:03:53 rocky Exp $";
|
||||
static const char _rcsid[] = "$Id: gnu_linux.c,v 1.5 2005/03/06 11:21:52 rocky Exp $";
|
||||
|
||||
#include <string.h>
|
||||
|
||||
@@ -233,13 +233,13 @@ audio_play_msf_linux (void *p_user_data, msf_t *p_start_msf, msf_t *p_end_msf)
|
||||
const _img_private_t *p_env = p_user_data;
|
||||
struct cdrom_msf cdrom_msf;
|
||||
|
||||
cdrom_msf.cdmsf_min0 = p_start_msf->m;
|
||||
cdrom_msf.cdmsf_sec0 = p_start_msf->s;
|
||||
cdrom_msf.cdmsf_frame0 = p_start_msf->f;
|
||||
cdrom_msf.cdmsf_min0 = cdio_from_bcd8(p_start_msf->m);
|
||||
cdrom_msf.cdmsf_sec0 = cdio_from_bcd8(p_start_msf->s);
|
||||
cdrom_msf.cdmsf_frame0 = cdio_from_bcd8(p_start_msf->f);
|
||||
|
||||
cdrom_msf.cdmsf_min1 = p_end_msf->m;
|
||||
cdrom_msf.cdmsf_sec1 = p_end_msf->s;
|
||||
cdrom_msf.cdmsf_frame1 = p_end_msf->f;
|
||||
cdrom_msf.cdmsf_min1 = cdio_from_bcd8(p_end_msf->m);
|
||||
cdrom_msf.cdmsf_sec1 = cdio_from_bcd8(p_end_msf->s);
|
||||
cdrom_msf.cdmsf_frame1 = cdio_from_bcd8(p_end_msf->f);
|
||||
|
||||
return ioctl(p_env->gen.fd, CDROMPLAYMSF, &cdrom_msf);
|
||||
}
|
||||
@@ -283,7 +283,6 @@ audio_read_subchannel_linux (void *p_user_data,
|
||||
static driver_return_code_t
|
||||
audio_resume_linux (void *p_user_data)
|
||||
{
|
||||
|
||||
const _img_private_t *p_env = p_user_data;
|
||||
return ioctl(p_env->gen.fd, CDROMRESUME, 0);
|
||||
}
|
||||
@@ -291,17 +290,42 @@ audio_resume_linux (void *p_user_data)
|
||||
/*!
|
||||
Set the volume of an audio CD.
|
||||
|
||||
@param p_cdio the CD object to be acted upon.
|
||||
@param p_user_data the CD object to be acted upon.
|
||||
|
||||
*/
|
||||
static driver_return_code_t
|
||||
audio_set_volume_linux (void *p_user_data, cdio_audio_volume_t *p_volume)
|
||||
{
|
||||
|
||||
const _img_private_t *p_env = p_user_data;
|
||||
return ioctl(p_env->gen.fd, CDROMVOLCTRL, p_volume);
|
||||
}
|
||||
|
||||
/*!
|
||||
Stop playing an audio CD.
|
||||
|
||||
@param p_user_data the CD object to be acted upon.
|
||||
|
||||
*/
|
||||
static driver_return_code_t
|
||||
audio_stop_linux (void *p_user_data)
|
||||
{
|
||||
const _img_private_t *p_env = p_user_data;
|
||||
return ioctl(p_env->gen.fd, CDROMSTOP);
|
||||
}
|
||||
|
||||
/*!
|
||||
Stop playing an audio CD.
|
||||
|
||||
@param p_user_data the CD object to be acted upon.
|
||||
|
||||
*/
|
||||
static driver_return_code_t
|
||||
close_tray_linux (void *p_user_data)
|
||||
{
|
||||
const _img_private_t *p_env = p_user_data;
|
||||
return ioctl(p_env->gen.fd, CDROMCLOSETRAY);
|
||||
}
|
||||
|
||||
/*!
|
||||
Return the value associated with the key "arg".
|
||||
*/
|
||||
@@ -1329,6 +1353,8 @@ cdio_open_am_linux (const char *psz_orig_source, const char *access_mode)
|
||||
#endif
|
||||
.audio_resume = audio_resume_linux,
|
||||
.audio_set_volume = audio_set_volume_linux,
|
||||
.audio_stop = audio_stop_linux,
|
||||
.close_tray = close_tray_linux,
|
||||
.eject_media = eject_media_linux,
|
||||
.free = cdio_generic_free,
|
||||
.get_arg = get_arg_linux,
|
||||
|
||||
Reference in New Issue
Block a user