Hi all,

I am investigating but someone may have seen this already?

Developing a custom audio driver but getting started with the null audio device 
and NXplayer. I have saved a WAV file to the smartfs and it appears to be 
valid. In case relevant I did this by saving the wav file to a header file as 
an unsigned char array and writing this our programmatically to the file system 
to avoid messing around with memory sticks/usb/rndis/anything "clever" at this 
time!

When I try and play it with NXplayer, it fails while trying to enqueue the 
buffer and behaves as if the file is not open (EBADF) but - so far, as I step 
through - the file does seem to be opened OK:

audio_ioctl: AUDIOIOC_ENQUEUEBUFFER
pcm_enqueuebuffer: Received buffer 0x20098468, streaming=0
pcm_enqueuebuffer: curbyte=0 nbytes=8192 nmaxbytes=8192 bytesleft=8192
pcm_enqueuebuffer: Begin streaming: apb=0x20098468 curbyte=0 nbytes=8192
pcm_enqueuebuffer: Pass to lower enqueuebuffer: apb=0x20098468 curbyte=0 
nbytes=8192
null_enqueuebuffer: apb=0x20098468 curbyte=0 nbytes=8192
null_enqueuebuffer: ERROR: file_mq_send failed: -9
null_enqueuebuffer: Return OK
audio_callback: Entry
audio_complete: Entry
nxplayer_enqueuebuffer: ERROR: AUDIOIOC_ENQUEUEBUFFER ioctl failed: 22


Full debug syslog output in case relevant:



NuttShell (NSH) NuttX-12.0.0
nsh> nxplayer
NxPlayer version 1.05
h for commands, q to exit

nxplayer> play drumroll.wav
nxplayer_playinternal: ==============================
nxplayer_playinternal: Playing file drumroll.wav
nxplayer_playinternal: ==============================
audio_open: crefs: 0
audio_ioctl: cmd: 4097 arg: 537490888
audio_ioctl: AUDIOIOC_GETCAPS: Device=0
null_getcaps: type=0
null_getcaps: Return 16
audio_ioctl: cmd: 4098 arg: 0
audio_ioctl: AUDIOIOC_RESERVE
pcm_reserve: Defer to lower reserve
null_reserve: Return OK
audio_ioctl: cmd: 4106 arg: 537491212
audio_ioctl: Forwarding unrecognized cmd: 4106 arg: 537491212
pcm_ioctl: Defer to lower ioctl, cmd=4106 arg=537491212
null_ioctl: cmd=4106 arg=537491212
null_ioctl: AUDIOIOC_GETBUFFERINFO:
null_ioctl: Return OK
audio_ioctl: cmd: 4110 arg: 4
audio_ioctl: AUDIOIOC_REGISTERMQ
nxplayer_playthread: Entrynxplayer>
audio_ioctl: cmd: 4106 arg: 537494496
audio_ioctl: Forwarding unrecognized cmd: 4106 arg: 537494496
pcm_ioctl: Defer to lower ioctl, cmd=4106 arg=537494496
null_ioctl: cmd=4106 arg=537494496
null_ioctl: AUDIOIOC_GETBUFFERINFO:
null_ioctl: Return OK
audio_ioctl: cmd: 4107 arg: 537494500
audio_ioctl: AUDIOIOC_ALLOCBUFFER
audio_ioctl: cmd: 4107 arg: 537494500
audio_ioctl: AUDIOIOC_ALLOCBUFFER
audio_ioctl: cmd: 4107 arg: 537494500
audio_ioctl: AUDIOIOC_ALLOCBUFFER
audio_ioctl: cmd: 4107 arg: 537494500
audio_ioctl: AUDIOIOC_ALLOCBUFFER
audio_ioctl: cmd: 4109 arg: 537494448
audio_ioctl: AUDIOIOC_ENQUEUEBUFFER
pcm_enqueuebuffer: Received buffer 0x20098468, streaming=0
pcm_enqueuebuffer: curbyte=0 nbytes=8192 nmaxbytes=8192 bytesleft=8192
pcm_enqueuebuffer: Begin streaming: apb=0x20098468 curbyte=0 nbytes=8192
pcm_enqueuebuffer: Pass to lower enqueuebuffer: apb=0x20098468 curbyte=0 
nbytes=8192
null_enqueuebuffer: apb=0x20098468 curbyte=0 nbytes=8192
null_enqueuebuffer: ERROR: file_mq_send failed: -9
null_enqueuebuffer: Return OK
audio_callback: Entry
audio_complete: Entry
nxplayer_enqueuebuffer: ERROR: AUDIOIOC_ENQUEUEBUFFER ioctl failed: 22
nxplayer_playthread: 0 buffers queued, running=1 streaming=0
nxplayer_playthread: Playing...
nxplayer_playthread: Play complete.  outstanding=0
nxplayer_playthread: Clean-up and exit
nxplayer_playthread: Freeing buffers
audio_ioctl: cmd: 4108 arg: 537494500
audio_ioctl: AUDIOIOC_FREEBUFFER
audio_ioctl: cmd: 4108 arg: 537494500
audio_ioctl: AUDIOIOC_FREEBUFFER
audio_ioctl: cmd: 4108 arg: 537494500
audio_ioctl: AUDIOIOC_FREEBUFFER
audio_ioctl: cmd: 4108 arg: 537494500
audio_ioctl: AUDIOIOC_FREEBUFFER
audio_ioctl: cmd: 4111 arg: 4
audio_ioctl: AUDIOIOC_UNREGISTERMQ
audio_ioctl: cmd: 4099 arg: 0
audio_ioctl: AUDIOIOC_RELEASE
pcm_release: Defer to lower release
audio_close: crefs: 1
audio_close: calling shutdown
pcm_shutdown: Defer to lower shutdown
null_shutdown: Return OK
nxplayer_playthread: Exit

Reply via email to