Hi,

I have some code that works on my dev machine but breaks on my target
machine. The essential differences are different libasound versions and
different audio devices. The code is compiled and linked separately on
the dev system and the target system. The data used to set the buffer
size is the same in both cases.

The code fragment is

      if ( ( err = snd_pcm_hw_params_set_buffer_size ( playback_handle,
hw_params, bufout ) ) < 0 )
        {
          ERR ( "cda_AlsaManager::_setupPlayback cannot set buffer size
(%s)\n",
                snd_strerror ( err ) );
        }

      ....

  snd_pcm_hw_params_get_buffer_size ( hw_params, &bufferSize );
  INF ( "cda_AlsaManager::_setupPlayback Buffer size = %d bytes \n",
bufferSize );

On the dev system (Wheezy) this works fine.

Sep 26 2014 09:17:32 INFO : int cda_AlsaManager::_setupPlayback(const char*, 
unsigned int*, snd_pcm_format_t, int, int)() (135) 
cda_AlsaManager::_setupPlayback opening device default 
Sep 26 2014 09:17:32 INFO : int cda_AlsaManager::_setupPlayback(const char*, 
unsigned int*, snd_pcm_format_t, int, int)() (180) 
cda_AlsaManager::_setupPlayback setting buffer size  882 
Sep 26 2014 09:17:32 INFO : int cda_AlsaManager::_setupPlayback(const char*, 
unsigned int*, snd_pcm_format_t, int, int)() (206) 
cda_AlsaManager::_setupPlayback Buffer size = 882 bytes 

Dev Libraries are

ii  libasound2:i386                      1.0.25-4                           
i386         shared library for ALSA applications
ii  libasound2-dev:i386                  1.0.25-4                           
i386         shared library for ALSA applications -- development files

On the target system (Centos 5) I get the error message

Sep 26 2014 10:08:18 INFO : int cda_AlsaManager::_setupPlayback(const
char*, unsigned int*, snd_pcm_format_t, int, int)() (135)
cda_AlsaManager::_setupPlayback opening device default
Sep 26 2014 10:08:18 INFO : int cda_AlsaManager::_setupPlayback(const
char*, unsigned int*, snd_pcm_format_t, int, int)() (180)
cda_AlsaManager::_setupPlayback setting buffer size  882
Sep 26 2014 10:08:18 ERROR : int cda_AlsaManager::_setupPlayback(const
char*, unsigned int*, snd_pcm_format_t, int, int)() (187)
cda_AlsaManager::_setupPlayback cannot set buffer size (Invalid argument)
Sep 26 2014 10:08:18 INFO : int cda_AlsaManager::_setupPlayback(const
char*, unsigned int*, snd_pcm_format_t, int, int)() (206)
cda_AlsaManager::_setupPlayback Buffer size = 15052 bytes

Target Libraries are

alsa-lib.i386                            1.0.17-1.el5                 
installed
alsa-lib-devel.i386                      1.0.17-1.el5                 
installed

I don't have the option of changing the library version on the target
system. Data being written is 16 bit PCM mono 44100 Hz and the target
system uses a USB audio device based on Burr-Brown chipset.

Any suggestions?

-- 
Jeremy Ardley
------------------------------------------------------------------------------
Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk
_______________________________________________
Alsa-user mailing list
Alsa-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/alsa-user

Reply via email to