This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Audio record does not work in Froyo

Other Parts Discussed in Thread: AM3517

What if anything is being done to fix the record audio problems with Froyo?  There is a FIXME at line 127 of alsa_module.cpp that seems to be the problem in that the names of the audio mux devices referenced, don’t match the names in the alsa device driver so they never get set right.  Also, the sample rate gets set in the TLV320aic23 to 88khz which is obviously too fast.  Anybody have light to shed on this?

  • Using the 'default' alsa device does not give any problems with recording or playback on AM37x evm.

    I am not in a position to comment about the sample rate setting on the TLV320aic23 device. Perhaps someone else here can answer that.

  • I'm using the AM3517evm and it does not work.

  • We have tested Audio record and playback on AM3517 EVM, it works with out any issues. We use the sound recorder to test the same.

    Please try with the pre-built binaries in the release. Also, there are multiple ports on the board, please use the line in to record.

    Regards,

    Khasim

  • Ok so here are the details.  I am using a stock AM3517EVM and booting the latese git from rowboat via NFS.  I had to ad the 'auto' to the vold.fstab file to get the SD card mounted and it is recognized in the recorder app.  When I run the recorder app with audio connected to line 1 in, i get he following in logcat

     

    D/TIALSAModule(  815): open called for devices 00000000 in mode 0...
    I/TIALSAModule(  815): Initialized ALSA PLAYBACK device default
    E/AudioHardwareALSA(  815): RE-OPEN AFTER STANDBY:: took 59 msecs
    E/audio_input(  815): unsupported parameter: x-pvmf/media-input-node/cap-config-interface;valtype=key_specific_value
    E/audio_input(  815): VerifyAndSetParameter failed
    E/PVOMXEncNode(  815): PVMFOMXEncNode-Audio_AMRNB::DoPrepare(): Got Component OMX.PV.amrencnb handle
    D/TIALSAModule(  815): open called for devices 00040000 in mode 0...
    E/ALSAControl(  815): Control 'Analog Left AUXL Capture Switch' cannot get element info: -2
    E/ALSAControl(  815): Control 'Analog Right AUXR Capture Switch' cannot get element info: -2
    E/ALSAControl(  815): Control 'Analog Left Main Mic Capture Switch' cannot get element info: -2
    E/ALSAControl(  815): Control 'Analog Right Sub Mic Capture Switch' cannot get element info: -2
    I/TIALSAModule(  815): Initialized ALSA CAPTURE device default
    D/AcousticsModule(  815): Acoustics set_params stub called with 7.
    D/TIALSAModule(  815): route called for devices 00040000 in mode 0...
    D/AudioHardwareALSA(  815): INFO: EPIPE
    D/AudioHardwareALSA(  815): INFO: EPIPE
    W/AudioFlinger(  815): RecordThread: buffer overflow
    D/AudioHardwareALSA(  815): INFO: EPIPE
    W/AudioFlinger(  815): RecordThread: buffer overflow
    W/AudioFlinger(  815): RecordThread: buffer overflow
    W/AudioFlinger(  815): RecordThread: buffer overflow

    the buffer overflows will continue until i stop recording.  I added a printk to the alsa driver so I could see what was being sent to the codec.  Register 8h gets 7fh written to it which sets the codec to 88khz sample rate and accounts for the overflow.  If i use the alsa_arecord tool, the audio records fine to a wav file.  It just doesn't work in the recorder app.  Previous notes from last fall indicated that this was still in a state of flux.  I have not seen any revision notes to the contrary.  Also, as mention earlier, the code in alsa_module.cpp clearly has a FIXME where the defaults would be setup which lead me to belive there was work to be done to make this work properly.  I cant just use the pre-built binaries as I have to customize the code for my own design which uses a microphone.  So I need to be able to set the source as well as stream audio.

  • If you are using AM3517 EVM and rowboat sources then it should have worked. Thanks for the detailed info, one last question, which manifest file are you using to pull the sources and how are you compiling the code base ?

    Regards,

    Khasim

  • I'm green with git so I could use some help getting the information you need.

  • If I understand you want to know the manifest I used to initialize which would be "rowboat-froyo.xml"

  • And the command you used to build the sources did you specify am3517evm as product ?

    Regards,

    Khasim