mbox series

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

Message ID 20220322133957.81743-1-toots@rastageeks.org
Headers show
Series Various libavdevice cleanup & enhancements | expand

Message

Romain Beauxis March 22, 2022, 1:39 p.m. UTC
From: Romain Beauxis <toots@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

Comments

Roger Pack March 22, 2022, 2:12 p.m. UTC | #1
On Tue, Mar 22, 2022 at 7:40 AM <toots@rastageeks.org> wrote:
>
> From: Romain Beauxis <toots@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.

dshow gets used in windows land.  Maintained, well... :)

>
> 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)
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".