summaryrefslogtreecommitdiff
path: root/device_8c.html
diff options
context:
space:
mode:
Diffstat (limited to 'device_8c.html')
-rw-r--r--device_8c.html664
1 files changed, 664 insertions, 0 deletions
diff --git a/device_8c.html b/device_8c.html
new file mode 100644
index 00000000..79800610
--- /dev/null
+++ b/device_8c.html
@@ -0,0 +1,664 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>PipeWire: device.c File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+ $(document).ready(initResizable);
+/* @license-end */</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">PipeWire
+ &#160;<span id="projectnumber">0.2.9</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.15 -->
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',false,false,'search.php','Search');
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('device_8c.html','');});
+/* @license-end */
+</script>
+<div id="doc-content">
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Data Structures</a> &#124;
+<a href="#define-members">Macros</a> &#124;
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">device.c File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><div class="dynheader">
+Include dependency graph for device.c:</div>
+<div class="dyncontent">
+<div class="center"><img src="device_8c__incl.png" border="0" usemap="#device_8c" alt=""/></div>
+<map name="device_8c" id="device_8c">
+<area shape="rect" title=" " alt="" coords="2745,5,2821,32"/>
+<area shape="rect" title=" " alt="" coords="41,304,109,331"/>
+<area shape="rect" title=" " alt="" coords="2871,80,3013,107"/>
+<area shape="rect" title=" " alt="" coords="3037,80,3181,107"/>
+<area shape="rect" href="pipewire_8h.html" title=" " alt="" coords="1764,80,1915,107"/>
+<area shape="rect" href="device_8h.html" title=" " alt="" coords="2175,379,2312,405"/>
+<area shape="rect" href="interfaces_8h.html" title=" " alt="" coords="295,229,453,256"/>
+<area shape="rect" href="keys_8h.html" title=" " alt="" coords="2621,155,2746,181"/>
+<area shape="rect" href="type_8h.html" title=" " alt="" coords="2821,155,2943,181"/>
+<area shape="rect" title=" " alt="" coords="3205,80,3345,107"/>
+<area shape="rect" title=" " alt="" coords="1385,155,1539,181"/>
+<area shape="rect" href="client_8h.html" title=" " alt="" coords="1691,379,1822,405"/>
+<area shape="rect" href="core_8h.html" title=" " alt="" coords="1698,453,1821,480"/>
+<area shape="rect" href="introspect_8h.html" title=" " alt="" coords="723,528,881,555"/>
+<area shape="rect" href="properties_8h.html" title=" " alt="" coords="2106,677,2266,704"/>
+<area shape="rect" href="loop_8h.html" title=" " alt="" coords="2566,528,2689,555"/>
+<area shape="rect" href="factory_8h.html" title=" " alt="" coords="1834,528,1973,555"/>
+<area shape="rect" href="resource_8h.html" title=" " alt="" coords="1432,603,1583,629"/>
+<area shape="rect" href="proxy_8h.html" title=" " alt="" coords="724,304,853,331"/>
+<area shape="rect" href="utils_8h.html" title=" " alt="" coords="874,453,997,480"/>
+<area shape="rect" href="link_8h.html" title=" " alt="" coords="1335,229,1453,256"/>
+<area shape="rect" href="port_8h.html" title=" " alt="" coords="1334,304,1454,331"/>
+<area shape="rect" href="node_8h.html" title=" " alt="" coords="1421,379,1548,405"/>
+<area shape="rect" href="log_8h.html" title=" " alt="" coords="1782,155,1897,181"/>
+<area shape="rect" href="main-loop_8h.html" title=" " alt="" coords="2661,453,2821,480"/>
+<area shape="rect" href="module_8h.html" title=" " alt="" coords="724,379,867,405"/>
+<area shape="rect" href="remote_8h.html" title=" " alt="" coords="1478,229,1619,256"/>
+<area shape="rect" href="stream_8h.html" title=" " alt="" coords="929,155,1069,181"/>
+<area shape="rect" href="thread-loop_8h.html" title=" " alt="" coords="2416,304,2585,331"/>
+<area shape="rect" title=" " alt="" coords="1615,155,1757,181"/>
+<area shape="rect" title=" " alt="" coords="329,677,454,704"/>
+<area shape="rect" href="global_8h.html" title=" " alt="" coords="1977,603,2112,629"/>
+<area shape="rect" href="permission_8h.html" title=" " alt="" coords="480,453,647,480"/>
+<area shape="rect" title=" " alt="" coords="840,603,961,629"/>
+<area shape="rect" title=" " alt="" coords="53,603,202,629"/>
+<area shape="rect" title=" " alt="" coords="2127,752,2245,779"/>
+<area shape="rect" title=" " alt="" coords="2560,603,2703,629"/>
+<area shape="rect" title=" " alt="" coords="2275,453,2433,480"/>
+<area shape="rect" title=" " alt="" coords="337,304,411,331"/>
+<area shape="rect" title=" " alt="" coords="435,304,598,331"/>
+<area shape="rect" href="protocol_8h.html" title=" " alt="" coords="1094,379,1241,405"/>
+<area shape="rect" title=" " alt="" coords="1021,453,1135,480"/>
+<area shape="rect" title=" " alt="" coords="957,528,1071,555"/>
+<area shape="rect" title=" " alt="" coords="1312,453,1447,480"/>
+<area shape="rect" title=" " alt="" coords="1761,229,1896,256"/>
+<area shape="rect" title=" " alt="" coords="929,229,1070,256"/>
+<area shape="rect" title=" " alt="" coords="2821,229,2943,256"/>
+</map>
+</div>
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Data Structures</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structimpl.html">impl</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structresult__device__params__data.html">result_device_params_data</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structresource__data.html">resource_data</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structnode__data.html">node_data</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
+Macros</h2></td></tr>
+<tr class="memitem:a47f2e62c0dbebc787052c165afcada0e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="device_8c.html#a47f2e62c0dbebc787052c165afcada0e">NAME</a>&#160;&#160;&#160;&quot;device&quot;</td></tr>
+<tr class="separator:a47f2e62c0dbebc787052c165afcada0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2d5055c2bde5156b9733e2c05707ce1d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="device_8c.html#a2d5055c2bde5156b9733e2c05707ce1d">pw_device_resource</a>(r, m, v, ...)&#160;&#160;&#160;<a class="el" href="resource_8h.html#a61e286d92a2f528ebe48cb1436ac4eba">pw_resource_call</a>(r,struct <a class="el" href="structpw__device__proxy__events.html">pw_device_proxy_events</a>,m,v,__VA_ARGS__)</td></tr>
+<tr class="separator:a2d5055c2bde5156b9733e2c05707ce1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0528b4bcf35918c8c27fc794e66b892a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="device_8c.html#a0528b4bcf35918c8c27fc794e66b892a">pw_device_resource_info</a>(r, ...)&#160;&#160;&#160;<a class="el" href="device_8c.html#a2d5055c2bde5156b9733e2c05707ce1d">pw_device_resource</a>(r,info,0,__VA_ARGS__)</td></tr>
+<tr class="separator:a0528b4bcf35918c8c27fc794e66b892a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a94d16ebbb03910ad19fa6ef94eb0278d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="device_8c.html#a94d16ebbb03910ad19fa6ef94eb0278d">pw_device_resource_param</a>(r, ...)&#160;&#160;&#160;<a class="el" href="device_8c.html#a2d5055c2bde5156b9733e2c05707ce1d">pw_device_resource</a>(r,<a class="el" href="structparam.html">param</a>,0,__VA_ARGS__)</td></tr>
+<tr class="separator:a94d16ebbb03910ad19fa6ef94eb0278d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:afeed9a25db834399fafefcf0bc62dec3"><td class="memItemLeft" align="right" valign="top">SPA_EXPORT struct <a class="el" href="classpw__device.html">pw_device</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="device_8c.html#afeed9a25db834399fafefcf0bc62dec3">pw_device_new</a> (struct <a class="el" href="classpw__core.html">pw_core</a> *core, const char *name, struct <a class="el" href="structpw__properties.html">pw_properties</a> *properties, size_t user_data_size)</td></tr>
+<tr class="separator:afeed9a25db834399fafefcf0bc62dec3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a413c1f742b769410a3400e4859d92588"><td class="memItemLeft" align="right" valign="top">SPA_EXPORT void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="device_8c.html#a413c1f742b769410a3400e4859d92588">pw_device_destroy</a> (struct <a class="el" href="classpw__device.html">pw_device</a> *device)</td></tr>
+<tr class="separator:a413c1f742b769410a3400e4859d92588"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0a069eb88664d8616a2717298cabf602"><td class="memItemLeft" align="right" valign="top">SPA_EXPORT int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="device_8c.html#a0a069eb88664d8616a2717298cabf602">pw_device_for_each_param</a> (struct <a class="el" href="classpw__device.html">pw_device</a> *device, int seq, uint32_t param_id, uint32_t index, uint32_t max, const struct spa_pod *filter, int(*callback)(void *<a class="el" href="structdata.html">data</a>, int seq, uint32_t id, uint32_t index, uint32_t next, struct spa_pod *<a class="el" href="structparam.html">param</a>), void *<a class="el" href="structdata.html">data</a>)</td></tr>
+<tr class="separator:a0a069eb88664d8616a2717298cabf602"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abd1484330b3aba2d6ea0ee994d27c5dc"><td class="memItemLeft" align="right" valign="top">SPA_EXPORT int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="device_8c.html#abd1484330b3aba2d6ea0ee994d27c5dc">pw_device_register</a> (struct <a class="el" href="classpw__device.html">pw_device</a> *device, struct <a class="el" href="classpw__client.html">pw_client</a> *owner, struct <a class="el" href="classpw__global.html">pw_global</a> *parent, struct <a class="el" href="structpw__properties.html">pw_properties</a> *properties)</td></tr>
+<tr class="separator:abd1484330b3aba2d6ea0ee994d27c5dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3f027fe40728b9ea76666a32010d0a3c"><td class="memItemLeft" align="right" valign="top">SPA_EXPORT int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="device_8c.html#a3f027fe40728b9ea76666a32010d0a3c">pw_device_set_implementation</a> (struct <a class="el" href="classpw__device.html">pw_device</a> *device, struct spa_device *spa_device)</td></tr>
+<tr class="memdesc:a3f027fe40728b9ea76666a32010d0a3c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the device implementation. <a href="#a3f027fe40728b9ea76666a32010d0a3c">More...</a><br /></td></tr>
+<tr class="separator:a3f027fe40728b9ea76666a32010d0a3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a196358d0bfdd158a9b69bafcfe8438d7"><td class="memItemLeft" align="right" valign="top">SPA_EXPORT struct spa_device *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="device_8c.html#a196358d0bfdd158a9b69bafcfe8438d7">pw_device_get_implementation</a> (struct <a class="el" href="classpw__device.html">pw_device</a> *device)</td></tr>
+<tr class="memdesc:a196358d0bfdd158a9b69bafcfe8438d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the device implementation. <a href="#a196358d0bfdd158a9b69bafcfe8438d7">More...</a><br /></td></tr>
+<tr class="separator:a196358d0bfdd158a9b69bafcfe8438d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac119be029f744164ad38c4ae4b75f1e5"><td class="memItemLeft" align="right" valign="top">SPA_EXPORT const struct <a class="el" href="structpw__properties.html">pw_properties</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="device_8c.html#ac119be029f744164ad38c4ae4b75f1e5">pw_device_get_properties</a> (struct <a class="el" href="classpw__device.html">pw_device</a> *device)</td></tr>
+<tr class="separator:ac119be029f744164ad38c4ae4b75f1e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7985ca8a312885146403473fa11d519d"><td class="memItemLeft" align="right" valign="top">SPA_EXPORT int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="device_8c.html#a7985ca8a312885146403473fa11d519d">pw_device_update_properties</a> (struct <a class="el" href="classpw__device.html">pw_device</a> *device, const struct spa_dict *dict)</td></tr>
+<tr class="separator:a7985ca8a312885146403473fa11d519d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a43589e5554e6a04f264fa90f472aa3fb"><td class="memItemLeft" align="right" valign="top">SPA_EXPORT void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="device_8c.html#a43589e5554e6a04f264fa90f472aa3fb">pw_device_get_user_data</a> (struct <a class="el" href="classpw__device.html">pw_device</a> *device)</td></tr>
+<tr class="separator:a43589e5554e6a04f264fa90f472aa3fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afe441cd15e14eae71cd57e4398c940c7"><td class="memItemLeft" align="right" valign="top">SPA_EXPORT struct <a class="el" href="classpw__global.html">pw_global</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="device_8c.html#afe441cd15e14eae71cd57e4398c940c7">pw_device_get_global</a> (struct <a class="el" href="classpw__device.html">pw_device</a> *device)</td></tr>
+<tr class="memdesc:afe441cd15e14eae71cd57e4398c940c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the global of this device. <a href="#afe441cd15e14eae71cd57e4398c940c7">More...</a><br /></td></tr>
+<tr class="separator:afe441cd15e14eae71cd57e4398c940c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a75fe053e54968fd1e0ed8ae5fa4dffd6"><td class="memItemLeft" align="right" valign="top">SPA_EXPORT void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="device_8c.html#a75fe053e54968fd1e0ed8ae5fa4dffd6">pw_device_add_listener</a> (struct <a class="el" href="classpw__device.html">pw_device</a> *device, struct spa_hook *listener, const struct <a class="el" href="structpw__device__events.html">pw_device_events</a> *events, void *<a class="el" href="structdata.html">data</a>)</td></tr>
+<tr class="memdesc:a75fe053e54968fd1e0ed8ae5fa4dffd6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add an event listener. <a href="#a75fe053e54968fd1e0ed8ae5fa4dffd6">More...</a><br /></td></tr>
+<tr class="separator:a75fe053e54968fd1e0ed8ae5fa4dffd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Macro Definition Documentation</h2>
+<a id="a47f2e62c0dbebc787052c165afcada0e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a47f2e62c0dbebc787052c165afcada0e">&#9670;&nbsp;</a></span>NAME</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define NAME&#160;&#160;&#160;&quot;device&quot;</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a2d5055c2bde5156b9733e2c05707ce1d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2d5055c2bde5156b9733e2c05707ce1d">&#9670;&nbsp;</a></span>pw_device_resource</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define pw_device_resource</td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">r, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">m, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">v, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>...</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td>&#160;&#160;&#160;<a class="el" href="resource_8h.html#a61e286d92a2f528ebe48cb1436ac4eba">pw_resource_call</a>(r,struct <a class="el" href="structpw__device__proxy__events.html">pw_device_proxy_events</a>,m,v,__VA_ARGS__)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a0528b4bcf35918c8c27fc794e66b892a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0528b4bcf35918c8c27fc794e66b892a">&#9670;&nbsp;</a></span>pw_device_resource_info</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define pw_device_resource_info</td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">r, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>...</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td>&#160;&#160;&#160;<a class="el" href="device_8c.html#a2d5055c2bde5156b9733e2c05707ce1d">pw_device_resource</a>(r,info,0,__VA_ARGS__)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a94d16ebbb03910ad19fa6ef94eb0278d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a94d16ebbb03910ad19fa6ef94eb0278d">&#9670;&nbsp;</a></span>pw_device_resource_param</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define pw_device_resource_param</td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">r, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>...</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td>&#160;&#160;&#160;<a class="el" href="device_8c.html#a2d5055c2bde5156b9733e2c05707ce1d">pw_device_resource</a>(r,<a class="el" href="structparam.html">param</a>,0,__VA_ARGS__)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="a75fe053e54968fd1e0ed8ae5fa4dffd6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a75fe053e54968fd1e0ed8ae5fa4dffd6">&#9670;&nbsp;</a></span>pw_device_add_listener()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SPA_EXPORT void pw_device_add_listener </td>
+ <td>(</td>
+ <td class="paramtype">struct <a class="el" href="classpw__device.html">pw_device</a> *&#160;</td>
+ <td class="paramname"><em>device</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">struct spa_hook *&#160;</td>
+ <td class="paramname"><em>listener</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const struct <a class="el" href="structpw__device__events.html">pw_device_events</a> *&#160;</td>
+ <td class="paramname"><em>events</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>data</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Add an event listener. </p>
+
+</div>
+</div>
+<a id="a413c1f742b769410a3400e4859d92588"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a413c1f742b769410a3400e4859d92588">&#9670;&nbsp;</a></span>pw_device_destroy()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SPA_EXPORT void pw_device_destroy </td>
+ <td>(</td>
+ <td class="paramtype">struct <a class="el" href="classpw__device.html">pw_device</a> *&#160;</td>
+ <td class="paramname"><em>device</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="reference">References <a class="el" href="structnode__data.html#ab9e591c989244c8029a263abcb1aa521">node_data::link</a>, <a class="el" href="device_8c.html#a47f2e62c0dbebc787052c165afcada0e">NAME</a>, <a class="el" href="structnode__data.html#a53d2dde4ab1c2793ad44094568a56607">node_data::node</a>, <a class="el" href="classpw__global.html#a57e86d7712b658ee7d2e0f73cfcb9db5">pw_global::pw_global_destroy()</a>, <a class="el" href="classpw__log.html#a98a49c37f11de525890014e927e34d02">pw_log::pw_log_debug</a>, <a class="el" href="classpw__node.html#a797514cde71af23b5a27744d951ca83a">pw_node::pw_node_destroy()</a>, and <a class="el" href="structpw__properties.html#a6473c3fdc688733f1db2e8d645ba94f4">pw_properties::pw_properties_free()</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="classpw__core.html#a3fe8a902e97223d11c0e8e4640c16379">pw_core::pw_core_destroy()</a>.</p>
+<div class="dynheader">
+Here is the caller graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="device_8c_a413c1f742b769410a3400e4859d92588_icgraph.png" border="0" usemap="#device_8c_a413c1f742b769410a3400e4859d92588_icgraph" alt=""/></div>
+<map name="device_8c_a413c1f742b769410a3400e4859d92588_icgraph" id="device_8c_a413c1f742b769410a3400e4859d92588_icgraph">
+<area shape="rect" title=" " alt="" coords="475,5,621,32"/>
+<area shape="rect" href="classpw__core.html#a3fe8a902e97223d11c0e8e4640c16379" title="Destroy a core object." alt="" coords="232,5,427,32"/>
+<area shape="rect" href="stream_8c.html#a0aa398ef7b09697a0e48719b27112614" title=" " alt="" coords="5,5,184,32"/>
+</map>
+</div>
+
+</div>
+</div>
+<a id="a0a069eb88664d8616a2717298cabf602"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0a069eb88664d8616a2717298cabf602">&#9670;&nbsp;</a></span>pw_device_for_each_param()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SPA_EXPORT int pw_device_for_each_param </td>
+ <td>(</td>
+ <td class="paramtype">struct <a class="el" href="classpw__device.html">pw_device</a> *&#160;</td>
+ <td class="paramname"><em>device</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>seq</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>param_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>index</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>max</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const struct spa_pod *&#160;</td>
+ <td class="paramname"><em>filter</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int(*)(void *<a class="el" href="structdata.html">data</a>, int seq, uint32_t id, uint32_t index, uint32_t next, struct spa_pod *<a class="el" href="structparam.html">param</a>)&#160;</td>
+ <td class="paramname"><em>callback</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>data</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="reference">References <a class="el" href="structresult__device__params__data.html#a485ab9bc6d5dbaf4285876053b8f1902">result_device_params_data::callback</a>, and <a class="el" href="structresult__device__params__data.html#af601dbb7d11417aae89f45c1749ced54">result_device_params_data::data</a>.</p>
+
+</div>
+</div>
+<a id="afe441cd15e14eae71cd57e4398c940c7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afe441cd15e14eae71cd57e4398c940c7">&#9670;&nbsp;</a></span>pw_device_get_global()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SPA_EXPORT struct <a class="el" href="classpw__global.html">pw_global</a>* pw_device_get_global </td>
+ <td>(</td>
+ <td class="paramtype">struct <a class="el" href="classpw__device.html">pw_device</a> *&#160;</td>
+ <td class="paramname"><em>device</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get the global of this device. </p>
+
+</div>
+</div>
+<a id="a196358d0bfdd158a9b69bafcfe8438d7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a196358d0bfdd158a9b69bafcfe8438d7">&#9670;&nbsp;</a></span>pw_device_get_implementation()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SPA_EXPORT struct spa_device* pw_device_get_implementation </td>
+ <td>(</td>
+ <td class="paramtype">struct <a class="el" href="classpw__device.html">pw_device</a> *&#160;</td>
+ <td class="paramname"><em>device</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get the device implementation. </p>
+
+</div>
+</div>
+<a id="ac119be029f744164ad38c4ae4b75f1e5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac119be029f744164ad38c4ae4b75f1e5">&#9670;&nbsp;</a></span>pw_device_get_properties()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SPA_EXPORT const struct <a class="el" href="structpw__properties.html">pw_properties</a>* pw_device_get_properties </td>
+ <td>(</td>
+ <td class="paramtype">struct <a class="el" href="classpw__device.html">pw_device</a> *&#160;</td>
+ <td class="paramname"><em>device</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a43589e5554e6a04f264fa90f472aa3fb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a43589e5554e6a04f264fa90f472aa3fb">&#9670;&nbsp;</a></span>pw_device_get_user_data()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SPA_EXPORT void* pw_device_get_user_data </td>
+ <td>(</td>
+ <td class="paramtype">struct <a class="el" href="classpw__device.html">pw_device</a> *&#160;</td>
+ <td class="paramname"><em>device</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="afeed9a25db834399fafefcf0bc62dec3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afeed9a25db834399fafefcf0bc62dec3">&#9670;&nbsp;</a></span>pw_device_new()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SPA_EXPORT struct <a class="el" href="classpw__device.html">pw_device</a>* pw_device_new </td>
+ <td>(</td>
+ <td class="paramtype">struct <a class="el" href="classpw__core.html">pw_core</a> *&#160;</td>
+ <td class="paramname"><em>core</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>name</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">struct <a class="el" href="structpw__properties.html">pw_properties</a> *&#160;</td>
+ <td class="paramname"><em>properties</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>user_data_size</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="reference">References <a class="el" href="structpw__properties.html#a70aa5816bde60f5511f2308971794881">pw_properties::dict</a>, <a class="el" href="device_8c.html#a47f2e62c0dbebc787052c165afcada0e">NAME</a>, <a class="el" href="classpw__log.html#a98a49c37f11de525890014e927e34d02">pw_log::pw_log_debug</a>, <a class="el" href="structpw__properties.html#a6473c3fdc688733f1db2e8d645ba94f4">pw_properties::pw_properties_free()</a>, <a class="el" href="structpw__properties.html#aea9bdd771760e44ca7d77b5113297610">pw_properties::pw_properties_new()</a>, and <a class="el" href="structimpl.html#a6eaec9ea671abe6434946657ac2f1bae">impl::this</a>.</p>
+
+</div>
+</div>
+<a id="abd1484330b3aba2d6ea0ee994d27c5dc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abd1484330b3aba2d6ea0ee994d27c5dc">&#9670;&nbsp;</a></span>pw_device_register()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SPA_EXPORT int pw_device_register </td>
+ <td>(</td>
+ <td class="paramtype">struct <a class="el" href="classpw__device.html">pw_device</a> *&#160;</td>
+ <td class="paramname"><em>device</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">struct <a class="el" href="classpw__client.html">pw_client</a> *&#160;</td>
+ <td class="paramname"><em>owner</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">struct <a class="el" href="classpw__global.html">pw_global</a> *&#160;</td>
+ <td class="paramname"><em>parent</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">struct <a class="el" href="structpw__properties.html">pw_properties</a> *&#160;</td>
+ <td class="paramname"><em>properties</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="reference">References <a class="el" href="classpw__global.html#a70cf2ad61f1f9b7c1cb40a1ea6e73ce5">pw_global::pw_global_new()</a>, <a class="el" href="keys_8h.html#a3815f163f7283a2d979daf59acb204e2">PW_KEY_DEVICE_NAME</a>, <a class="el" href="keys_8h.html#aed255c860a65813289cb4c4620243da6">PW_KEY_MEDIA_CLASS</a>, <a class="el" href="structpw__properties.html#aef040055887634f636bb26594091c31c">pw_properties::pw_properties_get()</a>, <a class="el" href="structpw__properties.html#aea9bdd771760e44ca7d77b5113297610">pw_properties::pw_properties_new()</a>, <a class="el" href="structpw__properties.html#a30bb01472ad7feccd59e8b589e2896ee">pw_properties::pw_properties_set()</a>, <a class="el" href="type_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba86ea242f36a533c30c5c912640f17f56">PW_TYPE_INTERFACE_Device</a>, and <a class="el" href="interfaces_8h.html#aac886b23546521a8e673ecd5a5ac5ba2">PW_VERSION_DEVICE_PROXY</a>.</p>
+
+</div>
+</div>
+<a id="a3f027fe40728b9ea76666a32010d0a3c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3f027fe40728b9ea76666a32010d0a3c">&#9670;&nbsp;</a></span>pw_device_set_implementation()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SPA_EXPORT int pw_device_set_implementation </td>
+ <td>(</td>
+ <td class="paramtype">struct <a class="el" href="classpw__device.html">pw_device</a> *&#160;</td>
+ <td class="paramname"><em>device</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">struct spa_device *&#160;</td>
+ <td class="paramname"><em>spa_device</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Set the device implementation. </p>
+
+<p class="reference">References <a class="el" href="device_8c.html#a47f2e62c0dbebc787052c165afcada0e">NAME</a>, <a class="el" href="classpw__log.html#a98a49c37f11de525890014e927e34d02">pw_log::pw_log_debug</a>, and <a class="el" href="classpw__log.html#a995a5e0ef414e9246fbf2ad56b0ce281">pw_log::pw_log_error</a>.</p>
+
+</div>
+</div>
+<a id="a7985ca8a312885146403473fa11d519d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7985ca8a312885146403473fa11d519d">&#9670;&nbsp;</a></span>pw_device_update_properties()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SPA_EXPORT int pw_device_update_properties </td>
+ <td>(</td>
+ <td class="paramtype">struct <a class="el" href="classpw__device.html">pw_device</a> *&#160;</td>
+ <td class="paramname"><em>device</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const struct spa_dict *&#160;</td>
+ <td class="paramname"><em>dict</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_7129a66c92fe7beef816c2ac906ef0b3.html">pipewire</a></li><li class="navelem"><a class="el" href="device_8c.html">device.c</a></li>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.15 </li>
+ </ul>
+</div>
+</body>
+</html>