From patchwork Tue Dec 21 13:53:34 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: 32799 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp5445212iog; Tue, 21 Dec 2021 05:55:50 -0800 (PST) X-Google-Smtp-Source: ABdhPJxdTByM0UX8gwqanWgQJHjzAGt/lJsr+W6o/hjSrqW53gKstzCyTdZdwBF1EA/DKFmFdk4U X-Received: by 2002:a05:6402:50cf:: with SMTP id h15mr3346395edb.177.1640094950240; Tue, 21 Dec 2021 05:55:50 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1640094950; cv=none; d=google.com; s=arc-20160816; b=KwU1ghNQ4uIBxubxp2WmvwRLgvCQk1ub5i9OSM5bvIRf0yxTWhcd7wdzQO5CjkTGSS NemPORVgKVHp3EgrlZqrVLHyAHOZtS/zeAkXWUb1iWNPqIZ3S+RCe0NNhBNXKUYfGohX qQfmQvQ5ZwF+Tw1V+OELLHSXsPeN/LN6Xosmuyuhw/pKBhWCQvB2ui03D1RMRFwO8I7m 76E2uzb1mt2wxwgxZn1v7hbXCuKCXqYiQPp6C9eVVC4yRpFbyJp5sg2bCWKq2oE7cc+P Q8Lzg4s93BPz/VHUFE7cy6xthTG/verSeAkYNdX1u+vz9Jd1nE3HtIkJw3z+5R6hNXUD bZhg== 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=T1p4dXjdoOorQzbEjoxluW0EMmVJ1gI9e2DuNfkkNvg=; b=kwAtIS3zrm0IBetH4+XPlxlH4Qv2s2S7Xoh9CnXQ5mI5t2r7Yv9z7y20tKYyTCfU4P KewXxpUsFZ3c7U/l4xLIEwC/NO9LEn5nqxZAHPYuxap8D8wee0C4y5myx7ZrLfRyDgO9 B66BOXSdq3Gytxztf8N3rK8INW+KdE1SfVHgTOVzPUE2J4h/XeL/z2el/HQsjmdVylEc QGS+fVTegmDtslnqrZFi2EpwS6UNsMMUDLZ1TvKSTMTh0f/za8OM+8daDzxesSvWx4aL wCQkW1OpsOmcY1I7VJ4g/G92HGvXCzuUsga5NpOPT87jWvfij21ZRI7wR5Ollu9Cltkd ZQ3A== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=KyOANBO6; 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 cf30si2550210edb.85.2021.12.21.05.55.49; Tue, 21 Dec 2021 05:55:50 -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=KyOANBO6; 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 84FE768B004; Tue, 21 Dec 2021 15:54:58 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-lj1-f175.google.com (mail-lj1-f175.google.com [209.85.208.175]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id ECD6968A897 for ; Tue, 21 Dec 2021 15:54:57 +0200 (EET) Received: by mail-lj1-f175.google.com with SMTP id i63so21511812lji.3 for ; Tue, 21 Dec 2021 05:54:57 -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=v2kXJOQXp1FSsiOyRIGlHOZj4JiIWVkJ1nszCAPlQyM=; b=KyOANBO6voKZm0dLwpMrJxwpYST0ZAKAKh6aEqnjWBwy6jox4RMQ5linfr3uyssGyJ qBmyi+3Ne/ockcKojenV+fQHLg2qcpCLCm+sFjeybm41ir9LLSnXg3TeU97iiQi2AmzM OAEZwGXjlnrB4vUspy68rY7CGopC40Pvq9814356/rUffMhiSFOsxKFQ+n38s9NtdTGl 2VLGxmt099WnzGoeCgJD3QJBJoUkzjAj8Em7OGb5wJU3kz1un1A8LEqolFubUTpaSExJ 1LYLkTPsRRkeTHNpJW+kNbDoc3arktpz122r11FPP4xjviyTZdDXGbMaUhpAi7OJSEO3 rEdw== 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=v2kXJOQXp1FSsiOyRIGlHOZj4JiIWVkJ1nszCAPlQyM=; b=x9JhH8MVdpMZmemHcMLnefTe81RABCDWgJbfWfTpuyIur76FDth9RM1Em9GIMKf8QH 9+jRnw0InkQEeIoA0waUEjWqelZO2joGpGbdcr5BuAtq+fTIVovjXj3B/ZoB/c7YQP81 tlKxlUvKDHDlbAkoUtoL10ZDOKf6PCp+97tGpBWA8Fk+DSvj8LpLk0zBpwKO5tPD5B0l vvjRHCrPzZDXLsEeud6T1czXDbujQ/SZN/RSkFfIzRMkw/ESSFueAGL1UuJ2G0d8c8TH GscRBLxvxwHxqNrdecLq3X28DMK2M9YcDiX+uy6GMeUPZabLpKzXblOJcVxXyZZc2J5h usaw== X-Gm-Message-State: AOAM530MvW918ikrpqTgocyq/BcJoVcrJw5eYSQkzQynpFO8uRbTAHK/ BvhLze/FdchOiBspez3KjFZcv06GlgThxw== X-Received: by 2002:a2e:3012:: with SMTP id w18mr2573554ljw.217.1640094896820; Tue, 21 Dec 2021 05:54:56 -0800 (PST) Received: from localhost.localdomain ([196.244.192.13]) by smtp.gmail.com with ESMTPSA id l4sm2627085ljg.60.2021.12.21.05.54.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Dec 2021 05:54:56 -0800 (PST) From: Diederick Niehorster To: ffmpeg-devel@ffmpeg.org Date: Tue, 21 Dec 2021 14:53:34 +0100 Message-Id: <20211221135337.1348-10-dcnieho@gmail.com> X-Mailer: git-send-email 2.28.0.windows.1 In-Reply-To: <20211221135337.1348-1-dcnieho@gmail.com> References: <20211221135337.1348-1-dcnieho@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v7 09/12] avdevice/dshow: add media type info to get_device_list 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: mX7h/07mxJMB The list returned by get_device_list now contains info about what media type(s), if any, can be provided by each device. Signed-off-by: Diederick Niehorster --- libavdevice/dshow.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/libavdevice/dshow.c b/libavdevice/dshow.c index 8dba04a787..4b1e942c7a 100644 --- a/libavdevice/dshow.c +++ b/libavdevice/dshow.c @@ -384,6 +384,12 @@ dshow_cycle_devices(AVFormatContext *avctx, ICreateDevEnum *devenum, sizeof(*(*device_list)->devices)) < 0) goto fail; + // attach media_types to device + device->nb_media_types = nb_media_types; + device->media_types = media_types; + nb_media_types = 0; + media_types = NULL; + // store device in list (*device_list)->devices[(*device_list)->nb_devices] = device; (*device_list)->nb_devices++; @@ -412,6 +418,7 @@ dshow_cycle_devices(AVFormatContext *avctx, ICreateDevEnum *devenum, if (device) { av_freep(&device->device_name); av_freep(&device->device_description); + // NB: no need to av_freep(&device->media_types), its only moved to device once nothing can fail anymore av_free(device); } if (olestr && co_malloc)