From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Devin Heitmueller <dheitmueller@kernellabs.com>
Cc: "Guennadi Liakhovetski" <g.liakhovetski@gmx.de>,
"Kieran Bingham" <kieran.bingham@ideasonboard.com>,
"Alexandre-Xavier Labonté-Lamoureux" <axdoomer@gmail.com>,
"Linux Media Mailing List" <linux-media@vger.kernel.org>
Subject: Re: Bug: Two device nodes created in /dev for a single UVC webcam
Date: Wed, 21 Feb 2018 01:54:32 +0200 [thread overview]
Message-ID: <2753135.CmSHGSgxQU@avalon> (raw)
In-Reply-To: <CAGoCfiy296wh1u+LE-RoSVVzc8kNKngDvne-R2cDdOBM9LtVfg@mail.gmail.com>
Hi Devin,
On Tuesday, 20 February 2018 20:18:16 EET Devin Heitmueller wrote:
> On Mon, Feb 19, 2018 at 11:19 AM, Laurent Pinchart wrote:
> > I've tested VLC (2.2.8) and haven't noticed any issue. If a program is
> > directed to the metadata video node and tries to capture video from it it
> > will obviously fail. That being said, software that work today should
> > continue working, otherwise it's a regression, and we'll have to handle
> > that.
>
> Perhaps it shouldn't be a video node then (as we do with VBI devices).
> Would something like /dev/videometadataX would be more appropriate?
We've thought about it, and the initial implementation created a metadata
device node instead of a video device node. This has been rejected, see
https://www.mail-archive.com/linux-media@vger.kernel.org/msg97454.html and
https://www.mail-archive.com/linux-media@vger.kernel.org/msg97446.html.
> People have for years operated under the expectation that /dev/videoX
> nodes are video nodes. If we're going to be creating things with that
> name which aren't video nodes then that is going to cause considerable
> confusion as well as messing up all sorts of existing applications
> which operate under that expectation.
>
> I know that some of the older PCI boards have always exposed a bunch
> of video nodes for various things (i.e. raw video vs. mpeg, etc), but
> because USB devices have traditionally been simpler they generally
> expose only one node of each type (i.e. one /dev/videoX, /dev/vbiX
> /dev/radioX). I've already gotten an email from a customer who has a
> ton of scripts which depend on this behavior, so please seriously
> consider the implications of this design decision.
While I can't speak about other USB devices as I'm not too familiar with them,
please note that the UVC driver already exposes multiple video nodes related
to video capture (or video output) for some devices, and will posssibly do so
increasingly in the future when we add support for UVC 1.5. We can reconsider
the decision of exposing metadata through a video node, but adding new video
nodes to expose additional compressed video streams for UVC 1.5 support is
something that userspace has to live with the same way it already has to live
with multiple video nodes for older PCI boards.
> It's easy to brush this off as "all the existing applications will
> eventually be updated", but you're talking about changing the basic
> behavior of how these device nodes have been presented for over a
> decade.
That's not what I meant, I might have not expressed myself correctly. Updating
applications is something we should strive for when we want to get rid of an
undesired userspace behaviour, but that's in no way an excuse for breaking
anything. Regarding the issue reported by Alexandre-Xavier, it looks to me
like he might be suffering from another problem, possibly part of the same
patch series, but not caused by the extra video device node. That's why I
asked for more information before taking any decision.
--
Regards,
Laurent Pinchart
next prev parent reply other threads:[~2018-02-20 23:53 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-02-17 20:47 Bug: Two device nodes created in /dev for a single UVC webcam Alexandre-Xavier Labonté-Lamoureux
2018-02-19 13:52 ` Kieran Bingham
2018-02-19 13:58 ` Guennadi Liakhovetski
2018-02-19 16:19 ` Laurent Pinchart
2018-02-20 18:18 ` Devin Heitmueller
2018-02-20 23:54 ` Laurent Pinchart [this message]
2018-02-19 17:29 ` Alexandre-Xavier Labonté-Lamoureux
2018-02-19 19:10 ` Laurent Pinchart
2018-02-25 8:19 ` Alexandre-Xavier Labonté-Lamoureux
2018-02-25 11:41 ` Laurent Pinchart
2018-03-05 2:55 ` Alexandre-Xavier Labonté-Lamoureux
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2753135.CmSHGSgxQU@avalon \
--to=laurent.pinchart@ideasonboard.com \
--cc=axdoomer@gmail.com \
--cc=dheitmueller@kernellabs.com \
--cc=g.liakhovetski@gmx.de \
--cc=kieran.bingham@ideasonboard.com \
--cc=linux-media@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox