[FFmpeg-devel] [PATCH v4 00/22] avdevice (mostly dshow) enhancements
Roger Pack
rogerdpack2 at gmail.com
Tue Mar 29 06:59:50 EEST 2022
The dshow patches LGTM. I think I'm in favor of the realtime behavior
changes as well.
Cheers!
On Fri, Mar 25, 2022 at 8:11 AM 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, 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 (22):
> avdevice/dshow: fix regression
> 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 | 662 ++++++++++++++++++++++---
> 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, 1467 insertions(+), 212 deletions(-)
> create mode 100644 doc/examples/device_get_capabilities.c
>
> --
> 2.28.0.windows.1
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
More information about the ffmpeg-devel
mailing list