How to inform vlc for sample rate change from device in linux

1

I'm working in FPGA device, which can provide raw video and pcm data. I'm using v4l2 and alsa framework for video and audio respectively. Audio flow path is using ALSA framework and video flow path is using v4l2 framework. Device can generate different audio sample rate such as 44.1KHz, 48KHz and 96KHz.

VLC can render video and audio smoothly with 48KHz of sample rate, 2 channel and video with FHD(1920x1080).

When device is set with 44.1KHz and 96KHz then vlc audio is breaking.I'm using vlc version as 2.2.8 and there is no way to inform how to set the sample rate for audio device.

Below are queries:

1) When device is generating audio sample rate of 44.1KHz then how to inform VLC that use 44.1KHz sample rate(same is for 96KHz)

2) what is command for vlc with video and audio device setting for width=1920 height= 1080 colorspace = RV24, channel =2,sample rate 44.1KHz. Assume video device is (/dev/video0 and audio device is hw:1.0)

Note: when device gives 48KHz as sample rate then audio is fine in vlc, to confirm this I did cat /proc/asound/card0/pcm0p/sub0/hw_params was showing 48000. When device is giving 44.1KHz then vlc is not aware that sample rate is changed to 44.1KHz but it will try to render at 48KHz. Now there is mismatch with respect to device.

Regards,

Kulkarni.

Chakravarthi Pradeep

Posted 2018-12-05T05:45:13.023

Reputation: 51

I found the solution by myself. It may be useful for others
cvlc alsa://hw:1,0 --input-slave v4l2:///dev/video0:width=1920:height=1080: --alsa-samplerate=44100. This will work using command line option.
– Chakravarthi Pradeep – 2019-01-04T06:56:58.730

No answers