[FFmpeg-devel] [PATCH 0/6] Various libavdevice cleanup & enhancements

toots at rastageeks.org toots at rastageeks.org
Tue Mar 22 15:39:51 EET 2022


From: Romain Beauxis <toots at rastageeks.org>

This is a series of patches that fix and enhances libavdevice & have been submitted multiple times in the past 6 months. In the series, the most straightforward patches have been placed first in the list.

While I have a lot of appreciation for all the solid work done in this project, seeing the difficulty in getting them included makes one wonder what is the status of libavdevice and if it is still actively maintained.

Typically, in the first patch, we fix the name/machine readable ID of dshow devices. If the API has any significant use or maintenance, this should have been caught and fixed much sooner.

Next, the patches fixing the avfoundation device audio format and concurrency models are absolutely required to get any use of this operator as audio input and, quite likely, as video input as well.

This is a lot of changes to make the library usable for a cross-platform project and, with the lack of traction with the changes, this makes the developer wonder if the library is ready for production use and if it wouldn't be easier to implement hardware handling separately and plug into FFmpeg after retreiving media data.

There are more that I have noticed with the API, in particular the fact that audio/video devices are labelled as video. I would love to submit changes to enhance that aspect but, not with all these patches already pending..

Thanks for y'all consideration.
-- Romain

Romain Beauxis (6):
  Fix dshow device name/description
  Use appropriate method for device discovery, fix crash with bogus
    device index.
  libavdevice/avfoundation.m: Allow to select devices by unique ID
  libavdevice/avfoundation.m: use setAudioSettings, extend supported
    formats
  libavdevice/avfoundation.m: Replace mutex-based concurrency handling
    in avfoundation.m by a thread-safe fifo queue with maximum length
  Add AudioToolbox audio input device.

 configure                      |   5 +
 doc/indevs.texi                |  41 ++-
 libavdevice/Makefile           |   1 +
 libavdevice/alldevices.c       |   1 +
 libavdevice/audiotoolbox.m     |   8 +-
 libavdevice/audiotoolbox_dec.m | 530 ++++++++++++++++++++++++++++++++
 libavdevice/avfoundation.m     | 547 ++++++++++++++++-----------------
 libavdevice/dshow.c            |   4 +-
 8 files changed, 843 insertions(+), 294 deletions(-)
 create mode 100644 libavdevice/audiotoolbox_dec.m

-- 
2.32.0 (Apple Git-132)



More information about the ffmpeg-devel mailing list