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 v2, a print helper function for return values from the avdevice capabilities API is now in avdevice instead of avutil, as making it specific to avdevice allows for better output. 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(). Diederick Niehorster (34): avdevice/dshow: implement option to use device video timestamps avdevice/dshow: add use_video_device_timestamps to docs avdevice/dshow: query graph and sample time only once avdevice/dshow: handle unknown sample time avdevice/dshow: set no-seek flags avdevice/dshow: implement get_device_list avdevice/dshow: list_devices: show media type(s) per device avdevice: add info about media types(s) to AVDeviceInfo avdevice/dshow: add media type info to get_device_list fftools: provide media type info for devices avformat: add control_message function to AVInputFormat avdevice/dshow: implement control_message interface avdevice: adding control message requesting to show config dialog avdevice/dshow: accept show config dialog control message avdevice/dshow: tv_tuner_audio_dialog cleanup missing avdevice/dshow: add config dialog command for crossbar and tv tuner avdevice/dshow: discover source color range/space/etc avdevice/dshow: select format with extended color info 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: prevent NULL access 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 | 40 + fftools/cmdutils.c | 34 +- libavdevice/avdevice.c | 165 ++- libavdevice/avdevice.h | 103 +- libavdevice/dshow.c | 1445 +++++++++++++++++++++--- libavdevice/dshow_capture.h | 15 + libavdevice/dshow_crossbar.c | 95 +- libavdevice/dshow_pin.c | 46 +- libavdevice/internal.h | 66 ++ libavdevice/utils.c | 48 + libavdevice/version.h | 2 +- libavformat/avformat.h | 56 +- libavformat/utils.c | 74 +- libavutil/opt.c | 2 +- libavutil/opt.h | 5 + 20 files changed, 2179 insertions(+), 311 deletions(-) create mode 100644 doc/examples/device_get_capabilities.c -- 2.28.0.windows.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".