]> sigrok.org Git - libsigrok.git/blobdiff - hardware/alsa/alsa.c
sr: rename all sr_device_instance_* functions to sr_dev_inst_*
[libsigrok.git] / hardware / alsa / alsa.c
index 3fa72a8c399dc11965fb5835d908ad15c9dddda1..d4ee7bb163510698b38180cc50553429d3e9c2b1 100644 (file)
@@ -77,7 +77,7 @@ static int hw_init(const char *deviceinfo)
                return 0;
        }
 
-       sdi = sr_device_instance_new(0, SR_ST_ACTIVE, "alsa", NULL, NULL);
+       sdi = sr_dev_inst_new(0, SR_ST_ACTIVE, "alsa", NULL, NULL);
        if (!sdi)
                goto free_alsa;
 
@@ -97,29 +97,29 @@ static int hw_opendev(int device_index)
        struct alsa *alsa;
        int err;
 
-       if (!(sdi = sr_get_device_instance(device_instances, device_index)))
+       if (!(sdi = sr_get_dev_inst(device_instances, device_index)))
                return SR_ERR;
        alsa = sdi->priv;
 
        err = snd_pcm_open(&alsa->capture_handle, AUDIO_DEV,
                                        SND_PCM_STREAM_CAPTURE, 0);
        if (err < 0) {
-               sr_warn("cannot open audio device %s (%s)", AUDIO_DEV,
-                       snd_strerror(err));
+               sr_err("cannot open audio device %s (%s)", AUDIO_DEV,
+                      snd_strerror(err));
                return SR_ERR;
        }
 
        err = snd_pcm_hw_params_malloc(&alsa->hw_params);
        if (err < 0) {
-               sr_warn("cannot allocate hardware parameter structure (%s)",
-                       snd_strerror(err));
+               sr_err("cannot allocate hardware parameter structure (%s)",
+                      snd_strerror(err));
                return SR_ERR;
        }
 
        err = snd_pcm_hw_params_any(alsa->capture_handle, alsa->hw_params);
        if (err < 0) {
-               sr_warn("cannot initialize hardware parameter structure (%s)",
-                               snd_strerror(err));
+               sr_err("cannot initialize hardware parameter structure (%s)",
+                      snd_strerror(err));
                return SR_ERR;
        }
 
@@ -131,7 +131,7 @@ static int hw_closedev(int device_index)
        struct sr_device_instance *sdi;
        struct alsa *alsa;
 
-       if (!(sdi = sr_get_device_instance(device_instances, device_index))) {
+       if (!(sdi = sr_get_dev_inst(device_instances, device_index))) {
                sr_err("alsa: %s: sdi was NULL", __func__);
                return SR_ERR; /* TODO: SR_ERR_ARG? */
        }
@@ -150,15 +150,19 @@ static int hw_closedev(int device_index)
        return SR_OK;
 }
 
-static void hw_cleanup(void)
+static int hw_cleanup(void)
 {
        struct sr_device_instance *sdi;
 
-       if (!(sdi = sr_get_device_instance(device_instances, 0)))
-               return;
+       if (!(sdi = sr_get_dev_inst(device_instances, 0))) {
+               sr_err("alsa: %s: sdi was NULL", __func__);
+               return SR_ERR_BUG;
+       }
+
+       g_free(sdi->priv);
+       sr_dev_inst_free(sdi);
 
-       free(sdi->priv);
-       sr_device_instance_free(sdi);
+       return SR_OK;
 }
 
 static void *hw_get_device_info(int device_index, int device_info_id)
@@ -167,7 +171,7 @@ static void *hw_get_device_info(int device_index, int device_info_id)
        struct alsa *alsa;
        void *info = NULL;
 
-       if (!(sdi = sr_get_device_instance(device_instances, device_index)))
+       if (!(sdi = sr_get_dev_inst(device_instances, device_index)))
                return NULL;
        alsa = sdi->priv;
 
@@ -210,7 +214,7 @@ static int hw_set_configuration(int device_index, int capability, void *value)
        struct sr_device_instance *sdi;
        struct alsa *alsa;
 
-       if (!(sdi = sr_get_device_instance(device_instances, device_index)))
+       if (!(sdi = sr_get_dev_inst(device_instances, device_index)))
                return SR_ERR;
        alsa = sdi->priv;
 
@@ -248,7 +252,7 @@ static int receive_data(int fd, int revents, void *user_data)
                count = snd_pcm_readi(alsa->capture_handle, inb,
                        MIN(4096/4, alsa->limit_samples));
                if (count < 1) {
-                       sr_warn("Failed to read samples");
+                       sr_err("Failed to read samples");
                        return FALSE;
                }
 
@@ -296,14 +300,14 @@ static int hw_start_acquisition(int device_index, gpointer session_device_id)
        int count;
        int err;
 
-       if (!(sdi = sr_get_device_instance(device_instances, device_index)))
+       if (!(sdi = sr_get_dev_inst(device_instances, device_index)))
                return SR_ERR;
        alsa = sdi->priv;
 
        err = snd_pcm_hw_params_set_access(alsa->capture_handle,
                        alsa->hw_params, SND_PCM_ACCESS_RW_INTERLEAVED);
        if (err < 0) {
-               sr_warn("cannot set access type (%s)", snd_strerror(err));
+               sr_err("cannot set access type (%s)", snd_strerror(err));
                return SR_ERR;
        }
 
@@ -311,52 +315,52 @@ static int hw_start_acquisition(int device_index, gpointer session_device_id)
        err = snd_pcm_hw_params_set_format(alsa->capture_handle,
                        alsa->hw_params, SND_PCM_FORMAT_S16_LE);
        if (err < 0) {
-               sr_warn("cannot set sample format (%s)", snd_strerror(err));
+               sr_err("cannot set sample format (%s)", snd_strerror(err));
                return SR_ERR;
        }
 
        err = snd_pcm_hw_params_set_rate_near(alsa->capture_handle,
                        alsa->hw_params, (unsigned int *) &alsa->cur_rate, 0);
        if (err < 0) {
-               sr_warn("cannot set sample rate (%s)", snd_strerror(err));
+               sr_err("cannot set sample rate (%s)", snd_strerror(err));
                return SR_ERR;
        }
 
        err = snd_pcm_hw_params_set_channels(alsa->capture_handle,
                        alsa->hw_params, NUM_PROBES);
        if (err < 0) {
-               sr_warn("cannot set channel count (%s)", snd_strerror(err));
+               sr_err("cannot set channel count (%s)", snd_strerror(err));
                return SR_ERR;
        }
 
        err = snd_pcm_hw_params(alsa->capture_handle, alsa->hw_params);
        if (err < 0) {
-               sr_warn("cannot set parameters (%s)", snd_strerror(err));
+               sr_err("cannot set parameters (%s)", snd_strerror(err));
                return SR_ERR;
        }
 
        err = snd_pcm_prepare(alsa->capture_handle);
        if (err < 0) {
-               sr_warn("cannot prepare audio interface for use (%s)",
-                               snd_strerror(err));
+               sr_err("cannot prepare audio interface for use (%s)",
+                      snd_strerror(err));
                return SR_ERR;
        }
 
        count = snd_pcm_poll_descriptors_count(alsa->capture_handle);
        if (count < 1) {
-               sr_warn("Unable to obtain poll descriptors count");
+               sr_err("Unable to obtain poll descriptors count");
                return SR_ERR;
        }
 
        if (!(ufds = g_try_malloc(count * sizeof(struct pollfd)))) {
-               sr_warn("alsa: %s: ufds malloc failed", __func__);
+               sr_err("alsa: %s: ufds malloc failed", __func__);
                return SR_ERR_MALLOC;
        }
 
        err = snd_pcm_poll_descriptors(alsa->capture_handle, ufds, count);
        if (err < 0) {
-               sr_warn("Unable to obtain poll descriptors (%s)",
-                               snd_strerror(err));
+               sr_err("Unable to obtain poll descriptors (%s)",
+                      snd_strerror(err));
                g_free(ufds);
                return SR_ERR;
        }
@@ -379,11 +383,13 @@ static int hw_start_acquisition(int device_index, gpointer session_device_id)
        return SR_OK;
 }
 
-static void hw_stop_acquisition(int device_index, gpointer session_device_id)
+static int hw_stop_acquisition(int device_index, gpointer session_device_id)
 {
        /* Avoid compiler warnings. */
        device_index = device_index;
        session_device_id = session_device_id;
+
+       return SR_OK;
 }
 
 SR_PRIV struct sr_device_plugin alsa_plugin_info = {