[alsa-devel] How to inform application about sample rate changed from device.
Hi All,
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)
Chakravarthi Pradeep wrote:
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)
ALSA PCM devices have constraints that restrict what parameters applications can configure.
Usually, the constraints are installed when the PCM device is opened. Change runtime->hw.rate_min/_max to the same value.
Regards, Clemens
On Mon, 03 Dec 2018 17:45:24 +0100, Clemens Ladisch wrote:
Chakravarthi Pradeep wrote:
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)
ALSA PCM devices have constraints that restrict what parameters applications can configure.
Usually, the constraints are installed when the PCM device is opened. Change runtime->hw.rate_min/_max to the same value.
Right. So this can be interpreted: it's currently an unsupported scenario, hence we have no standard way to achieve that.
I guess the best would be to make the further operation returning an error after such hardware change, so that user-space can re-open and re-setup the things.
In theory, you can make the hw_constraints dynamic and let user-space setting up things again via hw_free / hw_params sequence without re-opening the device, too. But I'm not sure whether it's easier for applications.
thanks,
Takashi
Hi ,
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)
participants (3)
-
Chakravarthi Pradeep
-
Clemens Ladisch
-
Takashi Iwai