[FFmpeg-devel] [PATCH v5 00/21] avdevice (mostly dshow) enhancements
Diederick C. Niehorster
dcnieho at gmail.com
Mon Apr 25 23:23:57 EEST 2022
Ping for the series, especially the first commit in the series which
should spark some discussion.
Thanks!
Dee
On Wed, Mar 30, 2022 at 2:18 PM Diederick Niehorster <dcnieho at gmail.com> wrote:
>
> This patch series implements a series of features, mostly enhancing the
> dshow avdevice, but also adding new functionality to avformat.
> This whole patchset enabled users of the FFmpeg API to fully
> query and control a dshow device, making FFmpeg a nice backend for any
> program that needs access to, e.g., a webcam.
>
> Different from v3 and v4, part of the patches has now been accepted, so
> only remaining features are in this set. Importantly, as per discussion
> on the list (
> https://ffmpeg.org/pipermail/ffmpeg-devel/2021-June/281513.html, see
> especially https://ffmpeg.org/pipermail/ffmpeg-devel/2021-June/281586.html),
> to resolve the the unholy ABI-relationship between libavdevice and
> libavformat and allow easier working on the part of the avdevice API
> that lives in avformat, avdevice is now locked to a specific major and minor
> version of avformat. This is documented in libavdevice/avdevice.h.
>
> Regarding new functionality added to avformat:
> Querying the capabilities of a dshow device is also possible on a
> device that is already opened. I expect/guess however that it may not be
> possible to achieve that for all of the avdevices, so in principle it is
> important that this patchset adds the ability to create an allocated but
> unopened AVFormatContext+AVInputFormat with the new function
> avformat_alloc_input_context(). This is tested in the new
> device_get_capabilities example.
>
> Diederick Niehorster (21):
> avdevice: lock to minor version of avformat
> avformat: add control_message function to AVInputFormat
> avdevice/dshow: implement control_message interface
> avdevice: add control message requesting to show config dialog
> avdevice/dshow: accept show config dialog control message
> avdevice/dshow: add config dialog command for crossbar and tv tuner
> avdevice/avdevice: Revert "Deprecate AVDevice Capabilities API"
> avdevice/avdevice: clean up avdevice_capabilities_create
> avdevice: capabilities API details no longer public
> avutil/opt: document AVOptionRange min_value > max_value
> avdevice: Add internal helpers for querying device capabilities
> avdevice: change device capabilities option type
> avdevice: improve capabilities' option API
> avdevice/dshow: move audio format helpers
> avdevice/dshow: when closing, set context fields back to zero
> avdevice/dshow: implement capabilities API
> avdevice/dshow: cosmetics
> avformat: add avformat_alloc_input_context()
> doc/examples: adding device_get_capabilities example
> Makefile/examples: cosmetics
> avdevice/dshow: capabilities query also works on opened device
>
> configure | 2 +
> doc/examples/.gitignore | 1 +
> doc/examples/Makefile | 47 +-
> doc/examples/Makefile.example | 1 +
> doc/examples/device_get_capabilities.c | 243 ++++++++++
> doc/indevs.texi | 34 ++
> libavdevice/avdevice.c | 177 ++++++-
> libavdevice/avdevice.h | 111 ++---
> libavdevice/dshow.c | 641 +++++++++++++++++++++++--
> libavdevice/dshow_capture.h | 14 +
> libavdevice/dshow_crossbar.c | 91 ++--
> libavdevice/internal.h | 66 +++
> libavdevice/utils.c | 48 ++
> libavdevice/version.h | 15 +-
> libavdevice/version_major.h | 2 +-
> libavformat/avformat.h | 59 ++-
> libavformat/demux.c | 74 ++-
> libavformat/utils.c | 5 +
> libavformat/version.h | 14 +-
> libavutil/avutil.h | 3 +
> libavutil/macros.h | 3 +
> libavutil/opt.c | 2 +-
> libavutil/opt.h | 5 +
> 23 files changed, 1462 insertions(+), 196 deletions(-)
> create mode 100644 doc/examples/device_get_capabilities.c
>
> --
> 2.28.0.windows.1
>
More information about the ffmpeg-devel
mailing list