-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Create the following ioctl and implement it at the media device level to setup links. - MEDIA_IOC_SETUP_LINK: Modify the properties of a given link The only property that can currently be modified is the ENABLED link flag to enable/disable a link. Links marked with the IMMUTABLE link flag can not be enabled or disabled. Enabling or disabling a link has effects on entities' use count. Those changes are automatically propagated through the graph. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Stanimir Varbanov <svarbanov@mm-sol.com> Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi> Acked-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
- Loading branch information
Laurent Pinchart
authored and
Mauro Carvalho Chehab
committed
Mar 22, 2011
1 parent
1651333
commit 97548ed
Showing
9 changed files
with
356 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,90 @@ | ||
<refentry id="media-ioc-setup-link"> | ||
<refmeta> | ||
<refentrytitle>ioctl MEDIA_IOC_SETUP_LINK</refentrytitle> | ||
&manvol; | ||
</refmeta> | ||
|
||
<refnamediv> | ||
<refname>MEDIA_IOC_SETUP_LINK</refname> | ||
<refpurpose>Modify the properties of a link</refpurpose> | ||
</refnamediv> | ||
|
||
<refsynopsisdiv> | ||
<funcsynopsis> | ||
<funcprototype> | ||
<funcdef>int <function>ioctl</function></funcdef> | ||
<paramdef>int <parameter>fd</parameter></paramdef> | ||
<paramdef>int <parameter>request</parameter></paramdef> | ||
<paramdef>struct media_link_desc *<parameter>argp</parameter></paramdef> | ||
</funcprototype> | ||
</funcsynopsis> | ||
</refsynopsisdiv> | ||
|
||
<refsect1> | ||
<title>Arguments</title> | ||
|
||
<variablelist> | ||
<varlistentry> | ||
<term><parameter>fd</parameter></term> | ||
<listitem> | ||
<para>File descriptor returned by | ||
<link linkend='media-func-open'><function>open()</function></link>.</para> | ||
</listitem> | ||
</varlistentry> | ||
<varlistentry> | ||
<term><parameter>request</parameter></term> | ||
<listitem> | ||
<para>MEDIA_IOC_ENUM_LINKS</para> | ||
</listitem> | ||
</varlistentry> | ||
<varlistentry> | ||
<term><parameter>argp</parameter></term> | ||
<listitem> | ||
<para></para> | ||
</listitem> | ||
</varlistentry> | ||
</variablelist> | ||
</refsect1> | ||
|
||
<refsect1> | ||
<title>Description</title> | ||
|
||
<para>To change link properties applications fill a &media-link-desc; with | ||
link identification information (source and sink pad) and the new requested | ||
link flags. They then call the MEDIA_IOC_SETUP_LINK ioctl with a pointer to | ||
that structure.</para> | ||
<para>The only configurable property is the <constant>ENABLED</constant> | ||
link flag to enable/disable a link. Links marked with the | ||
<constant>IMMUTABLE</constant> link flag can not be enabled or disabled. | ||
</para> | ||
<para>Link configuration has no side effect on other links. If an enabled | ||
link at the sink pad prevents the link from being enabled, the driver | ||
returns with an &EBUSY;.</para> | ||
<para>If the specified link can't be found the driver returns with an | ||
&EINVAL;.</para> | ||
</refsect1> | ||
|
||
<refsect1> | ||
&return-value; | ||
|
||
<variablelist> | ||
<varlistentry> | ||
<term><errorcode>EBUSY</errorcode></term> | ||
<listitem> | ||
<para>The link properties can't be changed because the link is | ||
currently busy. This can be caused, for instance, by an active media | ||
stream (audio or video) on the link. The ioctl shouldn't be retried if | ||
no other action is performed before to fix the problem.</para> | ||
</listitem> | ||
</varlistentry> | ||
<varlistentry> | ||
<term><errorcode>EINVAL</errorcode></term> | ||
<listitem> | ||
<para>The &media-link-desc; references a non-existing link, or the | ||
link is immutable and an attempt to modify its configuration was made. | ||
</para> | ||
</listitem> | ||
</varlistentry> | ||
</variablelist> | ||
</refsect1> | ||
</refentry> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.