diff options
-rw-r--r-- | aserver/aserver.c | 3 | ||||
-rw-r--r-- | include/aserver.h | 5 | ||||
-rw-r--r-- | include/control.h | 1 | ||||
-rw-r--r-- | include/pcm.h | 9 | ||||
-rw-r--r-- | src/control/control.c | 13 | ||||
-rw-r--r-- | src/control/control_hw.c | 8 | ||||
-rw-r--r-- | src/control/control_local.h | 1 | ||||
-rw-r--r-- | src/control/control_shm.c | 16 | ||||
-rw-r--r-- | src/pcm/pcm_local.h | 10 | ||||
-rw-r--r-- | src/pcm/pcm_surr.c | 39 |
10 files changed, 9 insertions, 96 deletions
diff --git a/aserver/aserver.c b/aserver/aserver.c index c2a6dad4..c52c1147 100644 --- a/aserver/aserver.c +++ b/aserver/aserver.c @@ -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; diff --git a/include/aserver.h b/include/aserver.h index 365afaca..344167aa 100644 --- a/include/aserver.h +++ b/include/aserver.h @@ -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; diff --git a/include/control.h b/include/control.h index d5818229..84e49a4c 100644 --- a/include/control.h +++ b/include/control.h @@ -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); diff --git a/include/pcm.h b/include/pcm.h index ec9c0797..47a5fa73 100644 --- a/include/pcm.h +++ b/include/pcm.h @@ -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 */ diff --git a/src/control/control.c b/src/control/control.c index b888bd80..94d1c1a8 100644 --- a/src/control/control.c +++ b/src/control/control.c @@ -290,19 +290,6 @@ int snd_ctl_pcm_next_device(snd_ctl_t *ctl, int * 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 * \param info PCM device id/info pointer diff --git a/src/control/control_hw.c b/src/control/control_hw.c index 51966db7..e99c2544 100644 --- a/src/control/control_hw.c +++ b/src/control/control_hw.c @@ -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, diff --git a/src/control/control_local.h b/src/control/control_local.h index 69ae2faa..01b8013a 100644 --- a/src/control/control_local.h +++ b/src/control/control_local.h @@ -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); diff --git a/src/control/control_shm.c b/src/control/control_shm.c index cbc5aef9..e2527f02 100644 --- a/src/control/control_shm.c +++ b/src/control/control_shm.c @@ -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, diff --git a/src/pcm/pcm_local.h b/src/pcm/pcm_local.h index 7c36f2c9..2a1b5bcd 100644 --- a/src/pcm/pcm_local.h +++ b/src/pcm/pcm_local.h @@ -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)) - diff --git a/src/pcm/pcm_surr.c b/src/pcm/pcm_surr.c index fcba75a2..01d07960 100644 --- a/src/pcm/pcm_surr.c +++ b/src/pcm/pcm_surr.c @@ -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; -} |