From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 971AA4215E for ; Tue, 29 Mar 2022 04:00:14 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 73F7268B253; Tue, 29 Mar 2022 07:00:12 +0300 (EEST) Received: from mail-lj1-f181.google.com (mail-lj1-f181.google.com [209.85.208.181]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id EA2D568B2BD for ; Tue, 29 Mar 2022 07:00:05 +0300 (EEST) Received: by mail-lj1-f181.google.com with SMTP id b43so17305696ljr.10 for ; Mon, 28 Mar 2022 21:00:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=xBVnsBUh7CSCbZb8so4tWOcIiFt+7Ii00ElebAByjQs=; b=ViNzFrtN6vQKeRdGgOSRB+QmyUdeqaxyPFXQmT1ZQCMUwkqjaAn/L1wRdz1CKEjAPZ wK7NcYMYbcAvU8fIR7hnPnUWBiwSGb15P/b+zE3Owu8QBuW/SBSw3ER1k4inYlQ73f/I 5XAvVRz03dqDADPTE2y+PEK6LXLXYdXN+Yl7yVM0rJAQGFV6jC0dOeDHlQ8y+A+NVLcN HTCkrqZ7N/b/nfGAIjyiyxzp8HwxO7WUw1OPxlwSbIexFKmYuVUMP4XRJu8eUS6/BlMA qQ20e9FxCd3LSQLW2qCiSBUqP3WBZ5Xzz5mGzJwwNTMZCvoeYkJaxG6S/61g6VTHlkNJ f4Hw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=xBVnsBUh7CSCbZb8so4tWOcIiFt+7Ii00ElebAByjQs=; b=jCCdwG1ympSVgP1D+L6xep43yaoa5Rg66RMZGBxlqTpdByH0aa54tTiHS1ph3jvi97 caNGqdg3KTGQGpYd1w9a8HcjeJ/fEQk4+2P4SzOx6qqhBkypPVT36F3SnkkHr9nkg0Tv LmZ4GyAQB+diQn03YGtRILHMQCFYiWXnna4VXRIYK9urbU1m3+ioj/cV60zyda3MYEeu YkK3bhzjyi74zdJ4RCkKYlDvST64Sq3Di9GWHBtAq/EgKqXVUYQDlx5UtF2Hkegk+8Mk DcCyjj+sEYtPegxypoD52ummQoXBa0H9Vz7sJK5KBsvod7yeyyRKRemZU/+VTD1rkWRL Z7Wg== X-Gm-Message-State: AOAM531blkB+S01EMLGED4cDQeU3cQ/0t9TiueyBLoz8wHNLGnhAhLzg zpAYhxuVqW1HCKajY+Xptx12QFN/bWp5paZLZKuN09Yz X-Google-Smtp-Source: ABdhPJyOblLHp18py4gcH+qW8u7WkBjNhq2uTOySxHOW5GGB29euazXTgPgnThuMAGd03gVnUEHUQqMlEC8ENAvonGk= X-Received: by 2002:a2e:8851:0:b0:249:9504:d19e with SMTP id z17-20020a2e8851000000b002499504d19emr738501ljj.153.1648526404159; Mon, 28 Mar 2022 21:00:04 -0700 (PDT) MIME-Version: 1.0 References: <20220325141041.1748-1-dcnieho@gmail.com> In-Reply-To: <20220325141041.1748-1-dcnieho@gmail.com> From: Roger Pack Date: Mon, 28 Mar 2022 21:59:50 -0600 Message-ID: To: FFmpeg development discussions and patches Subject: Re: [FFmpeg-devel] [PATCH v4 00/22] avdevice (mostly dshow) enhancements X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Diederick Niehorster Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: 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 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@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". _______________________________________________ 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".