mirror of
				https://github.com/alsa-project/alsa-lib.git
				synced 2025-11-03 09:01:52 -05: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
				
			
		| 
						 | 
				
			
			@ -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