return 0;
}
-int snd_pcm_open_slave(snd_pcm_t **pcmp, snd_config_t *root,
- snd_config_t *conf, snd_pcm_stream_t stream,
- int mode, snd_config_t *parent_conf)
+int snd_pcm_open_named_slave(snd_pcm_t **pcmp, const char *name,
+ snd_config_t *root,
+ snd_config_t *conf, snd_pcm_stream_t stream,
+ int mode, snd_config_t *parent_conf)
{
const char *str;
int hop;
if (snd_config_get_string(conf, &str) >= 0)
return snd_pcm_open_noupdate(pcmp, root, str, stream, mode,
hop + 1);
- return snd_pcm_open_conf(pcmp, NULL, root, conf, stream, mode);
+ return snd_pcm_open_conf(pcmp, name, root, conf, stream, mode);
}
#endif
err = snd_pcm_slave_conf(root, slave, &sconf, 0);
if (err < 0)
return err;
- err = snd_pcm_open_slave(pcmp, root, sconf, stream, mode, conf);
+ err = snd_pcm_open_named_slave(pcmp, name, root, sconf, stream,
+ mode, conf);
snd_config_delete(sconf);
return err;
}
err = snd_pcm_slave_conf(root, slave, &sconf, 0);
if (err < 0)
return err;
- err = snd_pcm_open_slave(pcmp, root, sconf, stream, mode, conf);
+ err = snd_pcm_open_named_slave(pcmp, name, root, sconf, stream,
+ mode, conf);
snd_config_delete(sconf);
return err;
}
#define SND_PCM_APPEND (1<<8)
-int snd_pcm_open_slave(snd_pcm_t **pcmp, snd_config_t *root,
- snd_config_t *conf, snd_pcm_stream_t stream,
- int mode, snd_config_t *parent_conf);
+int snd_pcm_open_named_slave(snd_pcm_t **pcmp, const char *name,
+ snd_config_t *root,
+ snd_config_t *conf, snd_pcm_stream_t stream,
+ int mode, snd_config_t *parent_conf);
+static inline int
+snd_pcm_open_slave(snd_pcm_t **pcmp, snd_config_t *root,
+ snd_config_t *conf, snd_pcm_stream_t stream,
+ int mode, snd_config_t *parent_conf)
+{
+ return snd_pcm_open_named_slave(pcmp, NULL, root, conf, stream,
+ mode, parent_conf);
+}
int snd_pcm_conf_generic_id(const char *id);
int snd_pcm_hw_open_fd(snd_pcm_t **pcmp, const char *name, int fd, int mmap_emulation, int sync_ptr_ioctl);