Hi all,
For an audio/video capturing tool we open live capture devices with the
following code:
AVFormatContext* ic = nullptr;
const AVInputFormat *iformat = av_find_input_format("dshow");
AVDictionary *options = nullptr;
av_dict_set_int(&options, "audio_buffer_size", 50, 0);
av_dict_set(&options, "framerate", "30", 0);
av_dict_set(&options, "video_size", "640x360", 0);
av_dict_set(&options, "sample_rate", "48000", 0);
auto err = avformat_open_input(&ic, "video=Integrated
Camera:audio=Microphone Array", iformat, &options);
Audio *sample_rate*, *framerate* and *video_size* are correctly set, but
the audio_buffer_size setting is ignored, resulting in a strong audio
delay. Is there something wrong in the way we set it? The documentation
says, the value is given in milliseconds (not sample size).
If audio_buffer_size cannot be set for all devices, is there an api call
(or struct member) where we can get the currently active audio buffer
size, so we can correct this else where?
Looking at the source (dshow.c) indicated that the audio_buffer_size is
a member of priv_data / dshow_ctx struct, so there is no way to access
it, i fear
https://ffmpeg.org/doxygen/trunk/dshow_8c_source.html
Question also asked here:
https://stackoverflow.com/questions/78243455/libav-audio-latency-cannot-set-audio-buffer-size
Best regards,
Heiner
_______________________________________________
Libav-user mailing list
Libav-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/libav-user
To unsubscribe, visit link above, or email
libav-user-requ...@ffmpeg.org with subject "unsubscribe".