From patchwork Mon Dec 13 07:21:39 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Diederick C. Niehorster" X-Patchwork-Id: 32409 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp5073346iog; Sun, 12 Dec 2021 23:23:42 -0800 (PST) X-Google-Smtp-Source: ABdhPJxijc5NSm8tGJNzEHzWarsCgs38Sxpi6e3mNL8crJa6BOkfrXFVM+nQNT0Aws2gKfa5hemi X-Received: by 2002:a05:6402:22a5:: with SMTP id cx5mr60932175edb.334.1639380222303; Sun, 12 Dec 2021 23:23:42 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1639380222; cv=none; d=google.com; s=arc-20160816; b=CvWLgHxfEFx7wvjQhmxllyjf1GyFwkDmd9ajQku1Si8D8S4jgnzVEyz7VbKgt6Lite MYvtE7zqCOEmTO6JqHRfFJ8yrDIhZ4BQ7tAmNgI606N9S5sE+vhER2EOrfKRHSssV5eW vpQaDvWnWXHFhEFdaKTLQMXUhkSGrqwWSkIc77UcrkdAffjli1zW9bCMZZK+ShIBtVvN L08D1X8xDVCMd1YpfxcD7KtB79s+vSx0blLwL9sVpG4G1ZBtkexk7Smh9+kNotDRtXit 2LNq5Ue16t6HgKAFZGD8ws+XxlLe50XY62TlUs53BJfFiZ1DG4t5c+4wDalcI+uK2AFz q2Iw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:references:in-reply-to :message-id:date:to:from:dkim-signature:delivered-to; bh=SCl7vd8MdT/kLxTictHzeBbuzmbrvPwz4mbp5NW0t6c=; b=qB1bE9A86jeDIsWOsNB4TBINAcF90Nd5It03P24V1f1N7OWhG/F21rHNgjGq/Nsgy/ Q8H1HxH7yXOCD33chZ06CJkc5J4ssNvn7aEuQbWH4qUQqYEo98lALywkPEwGyiMlRtul uPEi3OoOtR3ZxrYzo77hhfa8jJz5+JtMDp+D7eY4s+2kw8VSfitBM1BWtPVQ3ItIKgKE jqKKJbd9Wmx6XDM9b48x0gmT8tCD0gE9t5b4qK+xseV5TBvglrUEbFnZHg02CLZaOydY sByVp5Sn/qlJ5qHmZ8cZwKSGlAGqGDRZXq2SnseVihrANp9XalSEESE4Cd9iAvRFwotQ hEBg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=USisUSEA; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id yc28si14309135ejb.200.2021.12.12.23.23.42; Sun, 12 Dec 2021 23:23:42 -0800 (PST) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=USisUSEA; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 4865668AF7A; Mon, 13 Dec 2021 09:23:05 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-lj1-f172.google.com (mail-lj1-f172.google.com [209.85.208.172]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id F28F568AF76 for ; Mon, 13 Dec 2021 09:23:01 +0200 (EET) Received: by mail-lj1-f172.google.com with SMTP id i63so22371007lji.3 for ; Sun, 12 Dec 2021 23:23:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=yie/XzRqV5tcCF0aofRHOPPC3ODA4BaeMNA0NuLD30k=; b=USisUSEAaz4aVYrVF0R0GOG9bC0wAkAlOrRqneuOxGUJi7fSCcpHmKgGLtXsfQnqK2 +zPztLSTqmhrQTOvUN19NgN+RF8dT6O8t+HCHL1xu4YUP/y25l8FRsCuMKvnN8YxmIco HshEWwMRH1Q6H+5rkJEeQR3FmsDVp06W639jsf7Vb55jQrpArzg1MkcOYunP9CnJoK+o /Or1749PbnbEsHKQkSGip3XJO4Z/mx2ECOHfnReKIzzY/Kx5yJ+tCcDZBnhK9zVCWSC8 jSEaaBzSVo8faW2GPxGFxO1wRuVUS3ukNuPGtS7a4d/Yb4G9royh+7IxZWwf3Gm9kpqD SKaA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=yie/XzRqV5tcCF0aofRHOPPC3ODA4BaeMNA0NuLD30k=; b=tVlH3kZP00aqMYY3j4ka9D080rVNqoAboof1yzC1LUeI2XNFobKJX+drrjJg6XXOkh gX2p9CL27yQkMNZgLAeidsLtq3Cl0FAU3gSmgo3prBh4Kvd5wiFAHdUcrrzgZLv3Ex2k WWmscYw2pcLv0KKnTOzSzJazryHkzpjoGxslxASMvNL4k2LL0ejsvV8WsU7x4+hHczzy nJkbTNSHlYBx+8JJ6uneqicSQ43aYP0s1dcWe2pIrldK9YWWFXjSzeRfNh8CKo+pdjAZ vfAUmhEo9AtOf/bdTUgapxxMOd2tGpWK7ds24NGVbetCHBXClbroHhQ8gy2J88AeY7xV gFMw== X-Gm-Message-State: AOAM531yRKV5qRGwWoTfUpAPpO0MIK93eY8LemxkvG44ewNQS2bRRSOA Isb439MERC+GK/ak95OAAOmNDO7YCNSBsw== X-Received: by 2002:a05:651c:1031:: with SMTP id w17mr28730331ljm.112.1639380180773; Sun, 12 Dec 2021 23:23:00 -0800 (PST) Received: from localhost.localdomain (84-217-56-54.customers.ownit.se. [84.217.56.54]) by smtp.gmail.com with ESMTPSA id br7sm1314696lfb.243.2021.12.12.23.23.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 12 Dec 2021 23:23:00 -0800 (PST) From: Diederick Niehorster To: ffmpeg-devel@ffmpeg.org Date: Mon, 13 Dec 2021 08:21:39 +0100 Message-Id: <20211213072143.993-10-dcnieho@gmail.com> X-Mailer: git-send-email 2.28.0.windows.1 In-Reply-To: <20211213072143.993-1-dcnieho@gmail.com> References: <20211213072143.993-1-dcnieho@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v4 09/13] avdevice: add info about media types(s) to AVDeviceInfo 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: ldndSNxAbIsz An avdevice, regardless of whether its category says its an audio or video device, may provide access to devices providing different media types, or even single devices providing multiple media types. Also, some devices may provide no media types. dshow is an example encompassing all of these cases. Users should be provided with this information, so AVDeviceInfo is extended to provide it. Bump avdevice version Signed-off-by: Diederick Niehorster --- libavdevice/avdevice.c | 2 ++ libavdevice/avdevice.h | 2 ++ libavdevice/version.h | 2 +- 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/libavdevice/avdevice.c b/libavdevice/avdevice.c index 2ae26ab8e3..712ef1e80c 100644 --- a/libavdevice/avdevice.c +++ b/libavdevice/avdevice.c @@ -157,6 +157,8 @@ void avdevice_free_list_devices(AVDeviceInfoList **device_list) if (dev) { av_freep(&dev->device_name); av_freep(&dev->device_description); + if (dev->media_types) + av_freep(&dev->media_types); av_free(dev); } } diff --git a/libavdevice/avdevice.h b/libavdevice/avdevice.h index 8370bbc7f2..6f24976dcc 100644 --- a/libavdevice/avdevice.h +++ b/libavdevice/avdevice.h @@ -457,6 +457,8 @@ void avdevice_capabilities_free(AVDeviceCapabilitiesQuery **caps, AVFormatContex typedef struct AVDeviceInfo { char *device_name; /**< device name, format depends on device */ char *device_description; /**< human friendly name */ + enum AVMediaType *media_types; /**< array indicating what media types(s), if any, a device can provide. If null, cannot provide any */ + int nb_media_types; /**< length of media_types array, 0 if device cannot provide any media types */ } AVDeviceInfo; /** diff --git a/libavdevice/version.h b/libavdevice/version.h index 914e156ec7..c549768e12 100644 --- a/libavdevice/version.h +++ b/libavdevice/version.h @@ -28,7 +28,7 @@ #include "libavutil/version.h" #define LIBAVDEVICE_VERSION_MAJOR 59 -#define LIBAVDEVICE_VERSION_MINOR 0 +#define LIBAVDEVICE_VERSION_MINOR 1 #define LIBAVDEVICE_VERSION_MICRO 101 #define LIBAVDEVICE_VERSION_INT AV_VERSION_INT(LIBAVDEVICE_VERSION_MAJOR, \