All of lore.kernel.org
 help / color / mirror / Atom feed
From: Fortini Matteo <matteo.fortini@mta.it>
To: "alsa-devel@alsa-project.org" <alsa-devel@alsa-project.org>
Subject: Re: Alsa not working when linked to a library
Date: Fri, 25 Sep 2009 19:10:36 +0200	[thread overview]
Message-ID: <4ABCF98C.3030004@mta.it> (raw)
In-Reply-To: <4ABCF86E.40801@mta.it>

Just to add:
(yes I know I didn't free the hwparams structure, but it is done in the 
rest of the code I cut)

the "speaker" device is virtual, generated with dmix on asound.conf:
pcm.pcm1774 {
    type hw
    card 0
}
ctl.pcm1774 {
    type hw
    card 0
}

pcm.buzzer {
        type dshare
        ipc_key 6678293
        ipc_key_add_uid yes
        slave {
                pcm "hw:0,0"
                buffer_size 16384
                period_time 2
                period_size 1024
        }
        bindings {
                0 0
        }
}

pcm.speaker {
        type dshare
        ipc_key 6678293
        ipc_key_add_uid yes
        slave {
                pcm "hw:0,0"
                buffer_size 16384
                period_time 2
                period_size 1024
        }
        bindings {
                0 1
        }
}



Fortini Matteo ha scritto:
> Hi,
> I'm experiencing a very strange behavior.
>
> I'm using alsa 1.0.18 on a powerpc platform.
>
> If I run the following simple code from the main of a .c file, it works 
> perfectly, but if I put into a shared .so library (libaudio.so), then I 
> link the main with -laudio -lasound, then the hwparams structure is not 
> filled with anything, while the alsa functions don't return any error.
>
> Do you have any clue why this could happen?
>
> TIA
>
> ############################################################
> int play_sample(char *pcm_name, char *samplename)
> {
>     int res;
>     snd_pcm_t *pcm_handle;         
>     snd_pcm_hw_params_t *hwparams;           
>     const char *name= (pcm_name != NULL) ? pcm_name : "speaker";
>
>     if ( (res = snd_pcm_open(&pcm_handle, name, SND_PCM_STREAM_PLAYBACK, 
> 0)) < 0) {
>         fprintf(stderr, "Error opening PCM device %s\n", pcm_name);
>         return 1;
>     } else {
>         printf ("snd_pcm_open returned %d\n", res);
>     }
>
>   
>     snd_pcm_hw_params_malloc(&hwparams);
>     if (snd_pcm_hw_params_any(pcm_handle, hwparams) < 0) {
>         fprintf(stderr, "Can not configure this PCM device.\n");
>         return 1;
>
>    snd_pcm_close(pcm_handle);
> }
>
>
> int main (void)
> {
>     play_sample (NULL, "test_sound.wav);
>
>     return 0;
> }
> ############################################################
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel@alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
>
>   

  reply	other threads:[~2009-09-25 17:10 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-09-25 17:05 Alsa not working when linked to a library Fortini Matteo
2009-09-25 17:10 ` Fortini Matteo [this message]
2009-09-29  9:27 ` Takashi Iwai

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4ABCF98C.3030004@mta.it \
    --to=matteo.fortini@mta.it \
    --cc=alsa-devel@alsa-project.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.