mirror of
https://github.com/alsa-project/alsa-lib.git
synced 2025-10-29 05:40:25 -04:00
Removed snd_ctl_pcm_surround_next_device function.
This commit is contained in:
parent
b8abb93bb7
commit
b72c78f887
10 changed files with 9 additions and 96 deletions
|
|
@ -617,9 +617,6 @@ static int ctl_shm_cmd(client_t *client)
|
|||
case SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE:
|
||||
ctrl->result = snd_ctl_pcm_next_device(ctl, &ctrl->u.device);
|
||||
break;
|
||||
case SND_CTL_IOCTL_PCM_SURROUND_NEXT_DEVICE:
|
||||
ctrl->result = snd_ctl_pcm_surround_next_device(ctl, ctrl->u.surround.type, &ctrl->u.surround.device);
|
||||
break;
|
||||
case SNDRV_CTL_IOCTL_PCM_INFO:
|
||||
ctrl->result = snd_ctl_pcm_info(ctl, &ctrl->u.pcm_info);
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -90,7 +90,6 @@ typedef struct {
|
|||
#define SND_CTL_IOCTL_CLOSE _IO ('U', 0xf2)
|
||||
#define SND_CTL_IOCTL_POLL_DESCRIPTOR _IO ('U', 0xf3)
|
||||
#define SND_CTL_IOCTL_ASYNC _IO ('U', 0xf4)
|
||||
#define SND_CTL_IOCTL_PCM_SURROUND_NEXT_DEVICE _IO ('U', 0xf5)
|
||||
|
||||
typedef struct {
|
||||
int result;
|
||||
|
|
@ -101,10 +100,6 @@ typedef struct {
|
|||
pid_t pid;
|
||||
} async;
|
||||
int device;
|
||||
struct {
|
||||
snd_pcm_surround_type_t type;
|
||||
int device;
|
||||
} surround;
|
||||
int subscribe_events;
|
||||
snd_ctl_card_info_t card_info;
|
||||
snd_ctl_elem_list_t element_list;
|
||||
|
|
|
|||
|
|
@ -280,7 +280,6 @@ int snd_ctl_elem_unlock(snd_ctl_t *ctl, snd_ctl_elem_id_t *id);
|
|||
int snd_ctl_hwdep_next_device(snd_ctl_t *ctl, int * device);
|
||||
int snd_ctl_hwdep_info(snd_ctl_t *ctl, snd_hwdep_info_t * info);
|
||||
int snd_ctl_pcm_next_device(snd_ctl_t *ctl, int *device);
|
||||
int snd_ctl_pcm_surround_next_device(snd_ctl_t *ctl, snd_pcm_surround_type_t type, int *device);
|
||||
int snd_ctl_pcm_info(snd_ctl_t *ctl, snd_pcm_info_t * info);
|
||||
int snd_ctl_pcm_prefer_subdevice(snd_ctl_t *ctl, int subdev);
|
||||
int snd_ctl_rawmidi_next_device(snd_ctl_t *ctl, int * device);
|
||||
|
|
|
|||
|
|
@ -202,15 +202,6 @@ typedef enum _snd_pcm_tstamp {
|
|||
SND_PCM_TSTAMP_LAST = SNDRV_PCM_TSTAMP_LAST,
|
||||
} snd_pcm_tstamp_t;
|
||||
|
||||
/** Surround type */
|
||||
typedef enum _snd_pcm_surround_type {
|
||||
/** 4.0 speakers */
|
||||
SND_PCM_SURROUND_40 = 0,
|
||||
/** 5.1 speakers */
|
||||
SND_PCM_SURROUND_51 = 1,
|
||||
SND_PCM_SURROUND_LAST = SND_PCM_SURROUND_51
|
||||
} snd_pcm_surround_type_t;
|
||||
|
||||
/** Unsigned frames quantity */
|
||||
typedef sndrv_pcm_uframes_t snd_pcm_uframes_t;
|
||||
/** Signed frames quantity */
|
||||
|
|
|
|||
|
|
@ -289,19 +289,6 @@ int snd_ctl_pcm_next_device(snd_ctl_t *ctl, int * device)
|
|||
return ctl->ops->pcm_next_device(ctl, device);
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Get next PCM surround device number
|
||||
* \param ctl CTL handle
|
||||
* \param type surround type
|
||||
* \param device current device on entry and next device on return
|
||||
* \return 0 on success otherwise a negative error code
|
||||
*/
|
||||
int snd_ctl_pcm_surround_next_device(snd_ctl_t *ctl, snd_pcm_surround_type_t type, int * device)
|
||||
{
|
||||
assert(ctl && device);
|
||||
return ctl->ops->pcm_surround_next_device(ctl, type, device);
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Get info about a PCM device
|
||||
* \param ctl CTL handle
|
||||
|
|
|
|||
|
|
@ -203,13 +203,6 @@ static int snd_ctl_hw_pcm_next_device(snd_ctl_t *handle, int * device)
|
|||
return 0;
|
||||
}
|
||||
|
||||
extern int snd_pcm_surround_next_device(snd_ctl_t *ctl, snd_pcm_surround_type_t type, int *device);
|
||||
|
||||
static int snd_ctl_hw_pcm_surround_next_device(snd_ctl_t *handle, snd_pcm_surround_type_t type, int * device)
|
||||
{
|
||||
return snd_pcm_surround_next_device(handle, type, device);
|
||||
}
|
||||
|
||||
static int snd_ctl_hw_pcm_info(snd_ctl_t *handle, snd_pcm_info_t * info)
|
||||
{
|
||||
snd_ctl_hw_t *hw = handle->private_data;
|
||||
|
|
@ -276,7 +269,6 @@ snd_ctl_ops_t snd_ctl_hw_ops = {
|
|||
hwdep_next_device: snd_ctl_hw_hwdep_next_device,
|
||||
hwdep_info: snd_ctl_hw_hwdep_info,
|
||||
pcm_next_device: snd_ctl_hw_pcm_next_device,
|
||||
pcm_surround_next_device: snd_ctl_hw_pcm_surround_next_device,
|
||||
pcm_info: snd_ctl_hw_pcm_info,
|
||||
pcm_prefer_subdevice: snd_ctl_hw_pcm_prefer_subdevice,
|
||||
rawmidi_next_device: snd_ctl_hw_rawmidi_next_device,
|
||||
|
|
|
|||
|
|
@ -38,7 +38,6 @@ typedef struct _snd_ctl_ops {
|
|||
int (*hwdep_next_device)(snd_ctl_t *handle, int *device);
|
||||
int (*hwdep_info)(snd_ctl_t *handle, snd_hwdep_info_t * info);
|
||||
int (*pcm_next_device)(snd_ctl_t *handle, int *device);
|
||||
int (*pcm_surround_next_device)(snd_ctl_t *handle, snd_pcm_surround_type_t type, int *device);
|
||||
int (*pcm_info)(snd_ctl_t *handle, snd_pcm_info_t * info);
|
||||
int (*pcm_prefer_subdevice)(snd_ctl_t *handle, int subdev);
|
||||
int (*rawmidi_next_device)(snd_ctl_t *handle, int *device);
|
||||
|
|
|
|||
|
|
@ -277,21 +277,6 @@ static int snd_ctl_shm_pcm_next_device(snd_ctl_t *ctl, int * device)
|
|||
return err;
|
||||
}
|
||||
|
||||
static int snd_ctl_shm_pcm_surround_next_device(snd_ctl_t *ctl, snd_pcm_surround_type_t type, int * device)
|
||||
{
|
||||
snd_ctl_shm_t *shm = ctl->private_data;
|
||||
volatile snd_ctl_shm_ctrl_t *ctrl = shm->ctrl;
|
||||
int err;
|
||||
ctrl->u.surround.type = type;
|
||||
ctrl->u.surround.device = *device;
|
||||
ctrl->cmd = SND_CTL_IOCTL_PCM_SURROUND_NEXT_DEVICE;
|
||||
err = snd_ctl_shm_action(ctl);
|
||||
if (err < 0)
|
||||
return err;
|
||||
*device = ctrl->u.device;
|
||||
return err;
|
||||
}
|
||||
|
||||
static int snd_ctl_shm_pcm_info(snd_ctl_t *ctl, snd_pcm_info_t * info)
|
||||
{
|
||||
snd_ctl_shm_t *shm = ctl->private_data;
|
||||
|
|
@ -395,7 +380,6 @@ snd_ctl_ops_t snd_ctl_shm_ops = {
|
|||
hwdep_next_device: snd_ctl_shm_hwdep_next_device,
|
||||
hwdep_info: snd_ctl_shm_hwdep_info,
|
||||
pcm_next_device: snd_ctl_shm_pcm_next_device,
|
||||
pcm_surround_next_device: snd_ctl_shm_pcm_surround_next_device,
|
||||
pcm_info: snd_ctl_shm_pcm_info,
|
||||
pcm_prefer_subdevice: snd_ctl_shm_pcm_prefer_subdevice,
|
||||
rawmidi_next_device: snd_ctl_shm_rawmidi_next_device,
|
||||
|
|
|
|||
|
|
@ -65,6 +65,15 @@ typedef enum sndrv_pcm_hw_param snd_pcm_hw_param_t;
|
|||
#define SND_PCM_HW_PARAM_LAST_INTERVAL SNDRV_PCM_HW_PARAM_LAST_INTERVAL
|
||||
#define SND_PCM_HW_PARAM_FIRST_INTERVAL SNDRV_PCM_HW_PARAM_FIRST_INTERVAL
|
||||
|
||||
/** Surround type */
|
||||
typedef enum _snd_pcm_surround_type {
|
||||
/** 4.0 speakers */
|
||||
SND_PCM_SURROUND_40 = 0,
|
||||
/** 5.1 speakers */
|
||||
SND_PCM_SURROUND_51 = 1,
|
||||
SND_PCM_SURROUND_LAST = SND_PCM_SURROUND_51
|
||||
} snd_pcm_surround_type_t;
|
||||
|
||||
typedef struct _snd_pcm_channel_info {
|
||||
unsigned int channel;
|
||||
void *addr; /* base address of channel samples */
|
||||
|
|
@ -563,4 +572,3 @@ int snd_pcm_slave_conf(snd_config_t *conf, const char **namep,
|
|||
(1U << SND_PCM_FORMAT_U32_LE) | \
|
||||
(1U << SND_PCM_FORMAT_U32_BE))
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -982,42 +982,3 @@ int _snd_pcm_surround_open(snd_pcm_t **pcmp, const char *name, snd_config_t *con
|
|||
}
|
||||
return snd_pcm_surround_open(pcmp, name, card, device, type, stream, mode);
|
||||
}
|
||||
|
||||
int snd_pcm_surround_next_device(snd_ctl_t *ctl, snd_pcm_surround_type_t type, int *device)
|
||||
{
|
||||
int err;
|
||||
snd_ctl_card_info_t *info;
|
||||
snd_card_type_t ctype;
|
||||
surround_open_t *po;
|
||||
|
||||
assert(device);
|
||||
snd_ctl_card_info_alloca(&info);
|
||||
if ((err = snd_ctl_card_info(ctl, info)) < 0)
|
||||
return err;
|
||||
ctype = snd_ctl_card_info_get_type(info);
|
||||
for (po = open_table; po->type != SND_CARD_TYPE_NONE; po++) {
|
||||
if (po->type == ctype) {
|
||||
switch (type) {
|
||||
case SND_PCM_SURROUND_40:
|
||||
if (po->flags & SURR_FLG_NO_4CH)
|
||||
return -ENODEV;
|
||||
break;
|
||||
case SND_PCM_SURROUND_51:
|
||||
if (po->flags & SURR_FLG_NO_6CH)
|
||||
return -ENODEV;
|
||||
break;
|
||||
}
|
||||
if ((err = po->scount(ctl, info, type)) < 0)
|
||||
return err;
|
||||
if (err == 0)
|
||||
return -ENODEV;
|
||||
if (*device == 0)
|
||||
*device = 0;
|
||||
(*device)++;
|
||||
if (*device >= err)
|
||||
*device = -1;
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
return -ENODEV;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue