<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>gmerlin: /home/mandrake/rpm/BUILD/gmerlin-0.4.1/include/gmerlin/msgqueue.h Source File</title> <link href="tabs.css" rel="stylesheet" type="text/css"> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.5.9 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> <li><a href="dirs.html"><span>Directories</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="files.html"><span>File List</span></a></li> </ul> </div> <div class="navpath"><a class="el" href="dir_9de5cad15617e449f29680677e022ed8.html">include</a> » <a class="el" href="dir_4a3f2046eda2c9424010fb7393a61021.html">gmerlin</a> </div> </div> <div class="contents"> <h1>msgqueue.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*****************************************************************</span> <a name="l00002"></a>00002 <span class="comment"> * gmerlin - a general purpose multimedia framework and applications</span> <a name="l00003"></a>00003 <span class="comment"> *</span> <a name="l00004"></a>00004 <span class="comment"> * Copyright (c) 2001 - 2008 Members of the Gmerlin project</span> <a name="l00005"></a>00005 <span class="comment"> * gmerlin-general@lists.sourceforge.net</span> <a name="l00006"></a>00006 <span class="comment"> * http://gmerlin.sourceforge.net</span> <a name="l00007"></a>00007 <span class="comment"> *</span> <a name="l00008"></a>00008 <span class="comment"> * This program is free software: you can redistribute it and/or modify</span> <a name="l00009"></a>00009 <span class="comment"> * it under the terms of the GNU General Public License as published by</span> <a name="l00010"></a>00010 <span class="comment"> * the Free Software Foundation, either version 2 of the License, or</span> <a name="l00011"></a>00011 <span class="comment"> * (at your option) any later version.</span> <a name="l00012"></a>00012 <span class="comment"> *</span> <a name="l00013"></a>00013 <span class="comment"> * This program is distributed in the hope that it will be useful,</span> <a name="l00014"></a>00014 <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span> <a name="l00015"></a>00015 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span> <a name="l00016"></a>00016 <span class="comment"> * GNU General Public License for more details.</span> <a name="l00017"></a>00017 <span class="comment"> *</span> <a name="l00018"></a>00018 <span class="comment"> * You should have received a copy of the GNU General Public License</span> <a name="l00019"></a>00019 <span class="comment"> * along with this program. If not, see <http://www.gnu.org/licenses/>.</span> <a name="l00020"></a>00020 <span class="comment"> * *****************************************************************/</span> <a name="l00021"></a>00021 <a name="l00022"></a>00022 <span class="preprocessor">#ifndef __BG_MSGQUEUE_H_</span> <a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#define __BG_MSGQUEUE_H_</span> <a name="l00024"></a>00024 <span class="preprocessor"></span> <a name="l00025"></a>00025 <span class="preprocessor">#include <<a class="codeRef" doxygen="gavl.tags:http://gmerlin.sourceforge.net/doc/gavl//" href="http://gmerlin.sourceforge.net/doc/gavl//gavl_8h.html">gavl/gavl.h</a>></span> <a name="l00026"></a>00026 <span class="preprocessor">#include <gavl/gavldsp.h></span> <a name="l00027"></a>00027 <span class="preprocessor">#include <gmerlin/streaminfo.h></span> <a name="l00028"></a>00028 <a name="l00029"></a>00029 <a name="l00048"></a><a class="code" href="group__messages.html#g1559ebedae1fc152426d198594fd1880">00048</a> <span class="preprocessor">#define BG_MSG_NONE -1 </span> <a name="l00049"></a><a class="code" href="group__messages.html#gef7cb493c76dcfb6b3d812da9f5bb99a">00049</a> <span class="preprocessor">#define BG_MSG_MAX_ARGS 4 </span> <a name="l00050"></a>00050 <span class="preprocessor"></span> <a name="l00051"></a>00051 <span class="preprocessor"></span> <a name="l00054"></a><a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439">00054</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>bg_msg_s <a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&#39;t want to know what&#39;s inside.">bg_msg_t</a>; <a name="l00055"></a>00055 <a name="l00063"></a><a class="code" href="group__messages.html#g87e18cb717e0a14a6c82cddf07925b2d">00063</a> <span class="keyword">typedef</span> int (*<a class="code" href="group__messages.html#g87e18cb717e0a14a6c82cddf07925b2d" title="Callback for bg_msg_read.">bg_msg_read_callback_t</a>)(<span class="keywordtype">void</span> * priv, uint8_t * data, <span class="keywordtype">int</span> len); <a name="l00064"></a>00064 <a name="l00072"></a><a class="code" href="group__messages.html#g740fc4294f649704d8f47a36086c4375">00072</a> <span class="keyword">typedef</span> int (*<a class="code" href="group__messages.html#g740fc4294f649704d8f47a36086c4375" title="Callback for bg_msg_write.">bg_msg_write_callback_t</a>)(<span class="keywordtype">void</span> * priv, <span class="keyword">const</span> uint8_t * data, <span class="keywordtype">int</span> len); <a name="l00073"></a>00073 <a name="l00078"></a>00078 <a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&#39;t want to know what&#39;s inside.">bg_msg_t</a> * <a class="code" href="group__messages.html#g7fbfe89c68fd83c75892dd8d9736d543" title="Create a message.">bg_msg_create</a>(); <a name="l00079"></a>00079 <a name="l00084"></a>00084 <span class="keywordtype">void</span> <a class="code" href="group__messages.html#gf07688ec87ec28a20a46d4679a465933" title="Destroy a message.">bg_msg_destroy</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&#39;t want to know what&#39;s inside.">bg_msg_t</a> * msg); <a name="l00085"></a>00085 <a name="l00093"></a>00093 <span class="keywordtype">void</span> <a class="code" href="group__messages.html#g8035b88ad4a07d37db377a0f0015a5ec" title="Free internal memory of the message.">bg_msg_free</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&#39;t want to know what&#39;s inside.">bg_msg_t</a> * msg); <a name="l00094"></a>00094 <a name="l00095"></a>00095 <span class="comment">/* Functions for messages */</span> <a name="l00096"></a>00096 <a name="l00102"></a>00102 <span class="keywordtype">void</span> <a class="code" href="group__messages.html#gdd7c8df3dfc021c7c28052d8397b16ce" title="Set the ID of a message.">bg_msg_set_id</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&#39;t want to know what&#39;s inside.">bg_msg_t</a> * msg, <span class="keywordtype">int</span> <span class="keywordtype">id</span>); <a name="l00103"></a>00103 <a name="l00109"></a>00109 <span class="keywordtype">int</span> <a class="code" href="group__messages.html#ge92b3b5d1d0d1ee5e126e294de930a4a" title="Get the ID of a message.">bg_msg_get_id</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&#39;t want to know what&#39;s inside.">bg_msg_t</a> * msg); <a name="l00110"></a>00110 <a name="l00111"></a>00111 <a name="l00118"></a>00118 <span class="keywordtype">void</span> <a class="code" href="group__messages.html#gd2dd885a2ed7c0636fe64135047e4433" title="Set an integer argument.">bg_msg_set_arg_int</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&#39;t want to know what&#39;s inside.">bg_msg_t</a> * msg, <span class="keywordtype">int</span> arg, <span class="keywordtype">int</span> value); <a name="l00119"></a>00119 <a name="l00126"></a>00126 <span class="keywordtype">int</span> <a class="code" href="group__messages.html#gc4969a081919f0ad16eabdba73aed132" title="Get an integer argument.">bg_msg_get_arg_int</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&#39;t want to know what&#39;s inside.">bg_msg_t</a> * msg, <span class="keywordtype">int</span> arg); <a name="l00127"></a>00127 <a name="l00134"></a>00134 <span class="keywordtype">void</span> <a class="code" href="group__messages.html#g84ba2a6c296ddaa68d85ab9b7e27db2e" title="Set a time argument.">bg_msg_set_arg_time</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&#39;t want to know what&#39;s inside.">bg_msg_t</a> * msg, <span class="keywordtype">int</span> arg, <a class="codeRef" doxygen="gavl.tags:http://gmerlin.sourceforge.net/doc/gavl//" href="http://gmerlin.sourceforge.net/doc/gavl//group__time.html#ga0">gavl_time_t</a> value); <a name="l00135"></a>00135 <a name="l00142"></a>00142 <a class="codeRef" doxygen="gavl.tags:http://gmerlin.sourceforge.net/doc/gavl//" href="http://gmerlin.sourceforge.net/doc/gavl//group__time.html#ga0">gavl_time_t</a> <a class="code" href="group__messages.html#ga052c843016df65a44c947fc68f9d4b5" title="Get a time argument.">bg_msg_get_arg_time</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&#39;t want to know what&#39;s inside.">bg_msg_t</a> * msg, <span class="keywordtype">int</span> arg); <a name="l00143"></a>00143 <a name="l00150"></a>00150 <span class="keywordtype">void</span> <a class="code" href="group__messages.html#g9cfd8ecd1c0d1b8624e0acf17c705428" title="Set a string argument.">bg_msg_set_arg_string</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&#39;t want to know what&#39;s inside.">bg_msg_t</a> * msg, <span class="keywordtype">int</span> arg, <span class="keyword">const</span> <span class="keywordtype">char</span> * value); <a name="l00151"></a>00151 <a name="l00161"></a>00161 <span class="keywordtype">char</span> * <a class="code" href="group__messages.html#g72c9af047298b6aff882a3df112fb81f" title="Get a string argument.">bg_msg_get_arg_string</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&#39;t want to know what&#39;s inside.">bg_msg_t</a> * msg, <span class="keywordtype">int</span> arg); <a name="l00162"></a>00162 <a name="l00163"></a>00163 <a name="l00169"></a>00169 <span class="keywordtype">void</span> <a class="code" href="group__messages.html#g66a75ed3e166cd1177e818d994740c5b" title="Set a float argument.">bg_msg_set_arg_float</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&#39;t want to know what&#39;s inside.">bg_msg_t</a> * msg, <span class="keywordtype">int</span> arg, <span class="keywordtype">double</span> value); <a name="l00170"></a>00170 <a name="l00177"></a>00177 <span class="keywordtype">double</span> <a class="code" href="group__messages.html#gcb96e919b12c455bf7ab9c0b3996000f" title="Get a float argument.">bg_msg_get_arg_float</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&#39;t want to know what&#39;s inside.">bg_msg_t</a> * msg, <span class="keywordtype">int</span> arg); <a name="l00178"></a>00178 <a name="l00184"></a>00184 <span class="keywordtype">void</span> <a class="code" href="group__messages.html#gab6a8309e915eafca594bf9c2f6c7fec" title="Set an RGB color argument.">bg_msg_set_arg_color_rgb</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&#39;t want to know what&#39;s inside.">bg_msg_t</a> * msg, <span class="keywordtype">int</span> arg, <span class="keyword">const</span> <span class="keywordtype">float</span> * value); <a name="l00185"></a>00185 <a name="l00191"></a>00191 <span class="keywordtype">void</span> <a class="code" href="group__messages.html#g5774f92d37a77723b99ad94db5fbeed6" title="Get an RGB color argument.">bg_msg_get_arg_color_rgb</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&#39;t want to know what&#39;s inside.">bg_msg_t</a> * msg, <span class="keywordtype">int</span> arg, <span class="keywordtype">float</span> * value); <a name="l00192"></a>00192 <a name="l00193"></a>00193 <a name="l00199"></a>00199 <span class="keywordtype">void</span> <a class="code" href="group__messages.html#g13397c3ab69993a4c049b53833202803" title="Set an RGBA color argument.">bg_msg_set_arg_color_rgba</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&#39;t want to know what&#39;s inside.">bg_msg_t</a> * msg, <span class="keywordtype">int</span> arg, <span class="keyword">const</span> <span class="keywordtype">float</span> * value); <a name="l00200"></a>00200 <a name="l00206"></a>00206 <span class="keywordtype">void</span> <a class="code" href="group__messages.html#gdb7fa5a90c5711eb1ca23d013c7dd58c" title="Get an RGBA color argument.">bg_msg_get_arg_color_rgba</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&#39;t want to know what&#39;s inside.">bg_msg_t</a> * msg, <span class="keywordtype">int</span> arg, <span class="keywordtype">float</span> * value); <a name="l00207"></a>00207 <a name="l00213"></a>00213 <span class="keywordtype">void</span> <a class="code" href="group__messages.html#g98f4c42db33e03b3077e6eb59cb4862b" title="Set a position argument.">bg_msg_set_arg_position</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&#39;t want to know what&#39;s inside.">bg_msg_t</a> * msg, <span class="keywordtype">int</span> arg, <span class="keyword">const</span> <span class="keywordtype">double</span> * value); <a name="l00214"></a>00214 <a name="l00215"></a>00215 <a name="l00221"></a>00221 <span class="keywordtype">void</span> <a class="code" href="group__messages.html#g647d9da021da984d9f5296526e30155a" title="Get a position argument.">bg_msg_get_arg_position</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&#39;t want to know what&#39;s inside.">bg_msg_t</a> * msg, <span class="keywordtype">int</span> arg, <span class="keywordtype">double</span> * value); <a name="l00222"></a>00222 <a name="l00229"></a>00229 <span class="keywordtype">void</span> * <a class="code" href="group__messages.html#g578b284da8b0dec7df794b73a2114604" title="Set a binary data argument.">bg_msg_set_arg_ptr</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&#39;t want to know what&#39;s inside.">bg_msg_t</a> * msg, <span class="keywordtype">int</span> arg, <span class="keywordtype">int</span> len); <a name="l00230"></a>00230 <a name="l00241"></a>00241 <span class="keywordtype">void</span> * <a class="code" href="group__messages.html#ga808de8f46bc7ff245de610f1eb9c2d5" title="Set a binary data argument.">bg_msg_get_arg_ptr</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&#39;t want to know what&#39;s inside.">bg_msg_t</a> * msg, <span class="keywordtype">int</span> arg, <span class="keywordtype">int</span> * len); <a name="l00242"></a>00242 <a name="l00251"></a>00251 <span class="keywordtype">void</span> <a class="code" href="group__messages.html#g9e0c98ca43f06adf0f50e30564a1f514" title="Set a pointer argument without copying data.">bg_msg_set_arg_ptr_nocopy</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&#39;t want to know what&#39;s inside.">bg_msg_t</a> * msg, <span class="keywordtype">int</span> arg, <span class="keywordtype">void</span> * ptr); <a name="l00252"></a>00252 <a name="l00261"></a>00261 <span class="keywordtype">void</span> * <a class="code" href="group__messages.html#gb89b9aa795c1875ddbf85c80aa992ebb" title="Get a pointer argument without copying data.">bg_msg_get_arg_ptr_nocopy</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&#39;t want to know what&#39;s inside.">bg_msg_t</a> * msg, <span class="keywordtype">int</span> arg); <a name="l00262"></a>00262 <a name="l00263"></a>00263 <a name="l00270"></a>00270 <span class="keywordtype">void</span> <a class="code" href="group__messages.html#g6e9890ac704b17e41d31b7a419fa71e1" title="Set an audio format argument.">bg_msg_set_arg_audio_format</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&#39;t want to know what&#39;s inside.">bg_msg_t</a> * msg, <span class="keywordtype">int</span> arg, <a name="l00271"></a>00271 <span class="keyword">const</span> <a class="codeRef" doxygen="gavl.tags:http://gmerlin.sourceforge.net/doc/gavl//" href="http://gmerlin.sourceforge.net/doc/gavl//structgavl__audio__format__s.html">gavl_audio_format_t</a> * format); <a name="l00272"></a>00272 <a name="l00280"></a>00280 <span class="keywordtype">void</span> <a class="code" href="group__messages.html#g2917c5f10d22f0191228ce4ade5e8093" title="Get an audio format argument.">bg_msg_get_arg_audio_format</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&#39;t want to know what&#39;s inside.">bg_msg_t</a> * msg, <span class="keywordtype">int</span> arg, <a name="l00281"></a>00281 <a class="codeRef" doxygen="gavl.tags:http://gmerlin.sourceforge.net/doc/gavl//" href="http://gmerlin.sourceforge.net/doc/gavl//structgavl__audio__format__s.html">gavl_audio_format_t</a> * format, <span class="keywordtype">int</span> * big_endian); <a name="l00282"></a>00282 <a name="l00283"></a>00283 <a name="l00290"></a>00290 <span class="keywordtype">void</span> <a class="code" href="group__messages.html#ga5b790d792f6dbc50b48998f1e7cd8c0" title="Set a video format argument.">bg_msg_set_arg_video_format</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&#39;t want to know what&#39;s inside.">bg_msg_t</a> * msg, <span class="keywordtype">int</span> arg, <a name="l00291"></a>00291 <span class="keyword">const</span> <a class="codeRef" doxygen="gavl.tags:http://gmerlin.sourceforge.net/doc/gavl//" href="http://gmerlin.sourceforge.net/doc/gavl//structgavl__video__format__s.html">gavl_video_format_t</a> * format); <a name="l00292"></a>00292 <a name="l00300"></a>00300 <span class="keywordtype">void</span> <a class="code" href="group__messages.html#g59f10ee0cf14b66294ed218016d548be" title="Get a video format argument.">bg_msg_get_arg_video_format</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&#39;t want to know what&#39;s inside.">bg_msg_t</a> * msg, <span class="keywordtype">int</span> arg, <a name="l00301"></a>00301 <a class="codeRef" doxygen="gavl.tags:http://gmerlin.sourceforge.net/doc/gavl//" href="http://gmerlin.sourceforge.net/doc/gavl//structgavl__video__format__s.html">gavl_video_format_t</a> * format, <span class="keywordtype">int</span> * big_endian); <a name="l00302"></a>00302 <a name="l00303"></a>00303 <a name="l00310"></a>00310 <span class="keywordtype">void</span> <a class="code" href="group__messages.html#g8442c3d20733bc2a24369f6281e4ca03" title="Set a matadata argument.">bg_msg_set_arg_metadata</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&#39;t want to know what&#39;s inside.">bg_msg_t</a> * msg, <span class="keywordtype">int</span> arg, <a name="l00311"></a>00311 <span class="keyword">const</span> <a class="code" href="structbg__metadata__t.html" title="Description of metadata.">bg_metadata_t</a> * m); <a name="l00312"></a>00312 <a name="l00321"></a>00321 <span class="keywordtype">void</span> <a class="code" href="group__messages.html#gcaa531d3ce3d7d35d290bdbc743df920" title="Get a matadata argument.">bg_msg_get_arg_metadata</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&#39;t want to know what&#39;s inside.">bg_msg_t</a> * msg, <span class="keywordtype">int</span> arg, <a name="l00322"></a>00322 <a class="code" href="structbg__metadata__t.html" title="Description of metadata.">bg_metadata_t</a> * m); <a name="l00323"></a>00323 <a name="l00324"></a>00324 <span class="comment">/*</span> <a name="l00325"></a>00325 <span class="comment"> * This on will be used for remote controls,</span> <a name="l00326"></a>00326 <span class="comment"> * return FALSE on error</span> <a name="l00327"></a>00327 <span class="comment"> */</span> <a name="l00328"></a>00328 <a name="l00336"></a>00336 <span class="keywordtype">int</span> <a class="code" href="group__messages.html#gb1b5d8499e39639058eac79fc24e2ba6" title="Read a message using a callback.">bg_msg_read</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&#39;t want to know what&#39;s inside.">bg_msg_t</a> * ret, <a class="code" href="group__messages.html#g87e18cb717e0a14a6c82cddf07925b2d" title="Callback for bg_msg_read.">bg_msg_read_callback_t</a> cb, <span class="keywordtype">void</span> * cb_data); <a name="l00337"></a>00337 <a name="l00345"></a>00345 <span class="keywordtype">int</span> <a class="code" href="group__messages.html#gf04cb7f724839f3965cb19dc94765df8" title="Write a message using a callback.">bg_msg_write</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&#39;t want to know what&#39;s inside.">bg_msg_t</a> * msg, <a class="code" href="group__messages.html#g740fc4294f649704d8f47a36086c4375" title="Callback for bg_msg_write.">bg_msg_write_callback_t</a> cb, <span class="keywordtype">void</span> * cb_data); <a name="l00346"></a>00346 <a name="l00347"></a>00347 <a name="l00355"></a>00355 <span class="keywordtype">int</span> <a class="code" href="group__messages.html#g5959113b1988a2fe5a57a2cccb59da40" title="Read a message from a socket.">bg_msg_read_socket</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&#39;t want to know what&#39;s inside.">bg_msg_t</a> * ret, <span class="keywordtype">int</span> fd, <span class="keywordtype">int</span> milliseconds); <a name="l00356"></a>00356 <a name="l00363"></a>00363 <span class="keywordtype">int</span> <a class="code" href="group__messages.html#g0d449deb1974b5db83129f5cebe6970b" title="Write a message to a socket.">bg_msg_write_socket</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&#39;t want to know what&#39;s inside.">bg_msg_t</a> * msg, <span class="keywordtype">int</span> fd); <a name="l00364"></a>00364 <a name="l00365"></a>00365 <span class="comment">/*</span> <a name="l00366"></a>00366 <span class="comment"> * Read/Write audio frame over sockets</span> <a name="l00367"></a>00367 <span class="comment"> */</span> <a name="l00368"></a>00368 <a name="l00380"></a>00380 <span class="keywordtype">int</span> <a class="code" href="group__messages.html#gbad1b4528974f7e42566c954b6501294" title="Write an audio frame.">bg_msg_write_audio_frame</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&#39;t want to know what&#39;s inside.">bg_msg_t</a> * msg, <a name="l00381"></a>00381 <span class="keyword">const</span> <a class="codeRef" doxygen="gavl.tags:http://gmerlin.sourceforge.net/doc/gavl//" href="http://gmerlin.sourceforge.net/doc/gavl//structgavl__audio__format__s.html">gavl_audio_format_t</a> * format, <a name="l00382"></a>00382 <span class="keyword">const</span> <a class="codeRef" doxygen="gavl.tags:http://gmerlin.sourceforge.net/doc/gavl//" href="http://gmerlin.sourceforge.net/doc/gavl//structgavl__audio__frame__s.html">gavl_audio_frame_t</a> * frame, <a name="l00383"></a>00383 <a class="code" href="group__messages.html#g740fc4294f649704d8f47a36086c4375" title="Callback for bg_msg_write.">bg_msg_write_callback_t</a> cb, <span class="keywordtype">void</span> * cb_data); <a name="l00384"></a>00384 <a name="l00399"></a>00399 <span class="keywordtype">int</span> <a class="code" href="group__messages.html#g1c07768035d5cb7a3e42513a035fca99" title="Read an audio frame.">bg_msg_read_audio_frame</a>(gavl_dsp_context_t * ctx, <a name="l00400"></a>00400 <a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&#39;t want to know what&#39;s inside.">bg_msg_t</a> * msg, <a name="l00401"></a>00401 <span class="keyword">const</span> <a class="codeRef" doxygen="gavl.tags:http://gmerlin.sourceforge.net/doc/gavl//" href="http://gmerlin.sourceforge.net/doc/gavl//structgavl__audio__format__s.html">gavl_audio_format_t</a> * format, <a name="l00402"></a>00402 <a class="codeRef" doxygen="gavl.tags:http://gmerlin.sourceforge.net/doc/gavl//" href="http://gmerlin.sourceforge.net/doc/gavl//structgavl__audio__frame__s.html">gavl_audio_frame_t</a> * frame, <a name="l00403"></a>00403 <a class="code" href="group__messages.html#g87e18cb717e0a14a6c82cddf07925b2d" title="Callback for bg_msg_read.">bg_msg_read_callback_t</a> cb, <a name="l00404"></a>00404 <span class="keywordtype">void</span> * cb_data, <span class="keywordtype">int</span> big_endian); <a name="l00405"></a>00405 <a name="l00413"></a>00413 <span class="keywordtype">void</span> <a class="code" href="group__messages.html#gedff4f5d4cbb17114461d89a119a9eee" title="Set a parameter.">bg_msg_set_parameter</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&#39;t want to know what&#39;s inside.">bg_msg_t</a> * msg, <a name="l00414"></a>00414 <span class="keyword">const</span> <span class="keywordtype">char</span> * name, <a name="l00415"></a>00415 <a class="code" href="group__parameter.html#g485cb1ae1f850f1d28241425e9555a2c" title="Parameter type.">bg_parameter_type_t</a> type, <a name="l00416"></a>00416 <span class="keyword">const</span> <a class="code" href="unionbg__parameter__value__t.html" title="Container for a parameter value.">bg_parameter_value_t</a> * val); <a name="l00417"></a>00417 <a name="l00418"></a>00418 <a name="l00428"></a>00428 <span class="keywordtype">void</span> <a class="code" href="group__messages.html#g050f94139845c63ea96588c5b2c81bb2" title="Get a parameter.">bg_msg_get_parameter</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&#39;t want to know what&#39;s inside.">bg_msg_t</a> * msg, <a name="l00429"></a>00429 <span class="keywordtype">char</span> ** name, <a name="l00430"></a>00430 <a class="code" href="group__parameter.html#g485cb1ae1f850f1d28241425e9555a2c" title="Parameter type.">bg_parameter_type_t</a> * type, <a name="l00431"></a>00431 <a class="code" href="unionbg__parameter__value__t.html" title="Container for a parameter value.">bg_parameter_value_t</a> * val); <a name="l00432"></a>00432 <a name="l00433"></a>00433 <a name="l00446"></a><a class="code" href="group__message__queues.html#g06c6bfc0f61ce4013b6d4117d299fa5a">00446</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>bg_msg_queue_s <a class="code" href="group__message__queues.html#g06c6bfc0f61ce4013b6d4117d299fa5a" title="Opaque message queue type. You don&#39;t want to know what&#39;s inside.">bg_msg_queue_t</a>; <a name="l00447"></a>00447 <a name="l00452"></a>00452 <a class="code" href="group__message__queues.html#g06c6bfc0f61ce4013b6d4117d299fa5a" title="Opaque message queue type. You don&#39;t want to know what&#39;s inside.">bg_msg_queue_t</a> * <a class="code" href="group__message__queues.html#g56b5ebc79908b280326cf12139c41a3d" title="Create a message queue.">bg_msg_queue_create</a>(); <a name="l00453"></a>00453 <a name="l00458"></a>00458 <span class="keywordtype">void</span> <a class="code" href="group__message__queues.html#g85532741b87fef453a681570cbf85277" title="Destroy a message queue.">bg_msg_queue_destroy</a>(<a class="code" href="group__message__queues.html#g06c6bfc0f61ce4013b6d4117d299fa5a" title="Opaque message queue type. You don&#39;t want to know what&#39;s inside.">bg_msg_queue_t</a> * mq); <a name="l00459"></a>00459 <a name="l00460"></a>00460 <span class="comment">/*</span> <a name="l00461"></a>00461 <span class="comment"> * Lock message queue for reading, block until something arrives,</span> <a name="l00462"></a>00462 <span class="comment"> * return the message ID</span> <a name="l00463"></a>00463 <span class="comment"> */</span> <a name="l00464"></a>00464 <a name="l00476"></a>00476 <a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&#39;t want to know what&#39;s inside.">bg_msg_t</a> * <a class="code" href="group__message__queues.html#g8968cd687bfe0017ee58292bef9eb179" title="Lock a message queue for reading.">bg_msg_queue_lock_read</a>(<a class="code" href="group__message__queues.html#g06c6bfc0f61ce4013b6d4117d299fa5a" title="Opaque message queue type. You don&#39;t want to know what&#39;s inside.">bg_msg_queue_t</a> * mq); <a name="l00477"></a>00477 <a name="l00487"></a>00487 <a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&#39;t want to know what&#39;s inside.">bg_msg_t</a> * <a class="code" href="group__message__queues.html#g77d8eecbc26d1542f5e398b01307267b" title="Try to lock a message queue for reading.">bg_msg_queue_try_lock_read</a>(<a class="code" href="group__message__queues.html#g06c6bfc0f61ce4013b6d4117d299fa5a" title="Opaque message queue type. You don&#39;t want to know what&#39;s inside.">bg_msg_queue_t</a> * mq); <a name="l00488"></a>00488 <a name="l00495"></a>00495 <span class="keywordtype">void</span> <a class="code" href="group__message__queues.html#g8d7cafc5f8b351cc3031fb8116ee36a9" title="Unlock a message queue for reading.">bg_msg_queue_unlock_read</a>(<a class="code" href="group__message__queues.html#g06c6bfc0f61ce4013b6d4117d299fa5a" title="Opaque message queue type. You don&#39;t want to know what&#39;s inside.">bg_msg_queue_t</a> * mq); <a name="l00496"></a>00496 <a name="l00504"></a>00504 <a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&#39;t want to know what&#39;s inside.">bg_msg_t</a> * <a class="code" href="group__message__queues.html#gc0f54e996d393d8b01536b77c229fd5a" title="Lock a message queue for writing.">bg_msg_queue_lock_write</a>(<a class="code" href="group__message__queues.html#g06c6bfc0f61ce4013b6d4117d299fa5a" title="Opaque message queue type. You don&#39;t want to know what&#39;s inside.">bg_msg_queue_t</a> * mq); <a name="l00505"></a>00505 <a name="l00512"></a>00512 <span class="keywordtype">void</span> <a class="code" href="group__message__queues.html#g48ca4e564791fcad9cbb36cb7e4528f3" title="Unlock a message queue for writing.">bg_msg_queue_unlock_write</a>(<a class="code" href="group__message__queues.html#g06c6bfc0f61ce4013b6d4117d299fa5a" title="Opaque message queue type. You don&#39;t want to know what&#39;s inside.">bg_msg_queue_t</a> * mq); <a name="l00513"></a>00513 <a name="l00520"></a>00520 <span class="keywordtype">int</span> <a class="code" href="group__message__queues.html#g3ad330cad20e24017fc07db72360d2df" title="Check, if there is a message for readinbg available and get the ID.">bg_msg_queue_peek</a>(<a class="code" href="group__message__queues.html#g06c6bfc0f61ce4013b6d4117d299fa5a" title="Opaque message queue type. You don&#39;t want to know what&#39;s inside.">bg_msg_queue_t</a> * mq, uint32_t * <span class="keywordtype">id</span>); <a name="l00521"></a>00521 <a name="l00537"></a><a class="code" href="group__message__queue__list.html#g3b0fe6370dc69545467e56d41682996b">00537</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>bg_msg_queue_list_s <a class="code" href="group__message__queue__list.html#g3b0fe6370dc69545467e56d41682996b" title="Opaque message queue list type. You don&#39;t want to know what&#39;s inside.">bg_msg_queue_list_t</a>; <a name="l00538"></a>00538 <a name="l00543"></a>00543 <a class="code" href="group__message__queue__list.html#g3b0fe6370dc69545467e56d41682996b" title="Opaque message queue list type. You don&#39;t want to know what&#39;s inside.">bg_msg_queue_list_t</a> * <a class="code" href="group__message__queue__list.html#gb2fb2ef14ab4d2794ef20685d82eb413" title="Create a message queue list.">bg_msg_queue_list_create</a>(); <a name="l00544"></a>00544 <a name="l00549"></a>00549 <span class="keywordtype">void</span> <a class="code" href="group__message__queue__list.html#g493ae69f7920dd9eadfd7d82f94301dc" title="Destroy a message queue list.">bg_msg_queue_list_destroy</a>(<a class="code" href="group__message__queue__list.html#g3b0fe6370dc69545467e56d41682996b" title="Opaque message queue list type. You don&#39;t want to know what&#39;s inside.">bg_msg_queue_list_t</a> * list); <a name="l00550"></a>00550 <a name="l00557"></a>00557 <span class="keywordtype">void</span> <a name="l00558"></a>00558 <a class="code" href="group__message__queue__list.html#ge0fe8395b04bfea89af4cc6b1b6b939f" title="Send a message to all queues in the list.">bg_msg_queue_list_send</a>(<a class="code" href="group__message__queue__list.html#g3b0fe6370dc69545467e56d41682996b" title="Opaque message queue list type. You don&#39;t want to know what&#39;s inside.">bg_msg_queue_list_t</a> * list, <a name="l00559"></a>00559 <span class="keywordtype">void</span> (*set_message)(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&#39;t want to know what&#39;s inside.">bg_msg_t</a> * message, <a name="l00560"></a>00560 <span class="keyword">const</span> <span class="keywordtype">void</span> * data), <a name="l00561"></a>00561 <span class="keyword">const</span> <span class="keywordtype">void</span> * data); <a name="l00562"></a>00562 <a name="l00568"></a>00568 <span class="keywordtype">void</span> <a class="code" href="group__message__queue__list.html#ge57560632a54611d1dfff5524f8af863" title="Add a queue to the list.">bg_msg_queue_list_add</a>(<a class="code" href="group__message__queue__list.html#g3b0fe6370dc69545467e56d41682996b" title="Opaque message queue list type. You don&#39;t want to know what&#39;s inside.">bg_msg_queue_list_t</a> * list, <a name="l00569"></a>00569 <a class="code" href="group__message__queues.html#g06c6bfc0f61ce4013b6d4117d299fa5a" title="Opaque message queue type. You don&#39;t want to know what&#39;s inside.">bg_msg_queue_t</a> * queue); <a name="l00570"></a>00570 <a name="l00576"></a>00576 <span class="keywordtype">void</span> <a class="code" href="group__message__queue__list.html#g30ff3b72f597a9a8566d6905e5cec892" title="Remove a queue from the list.">bg_msg_queue_list_remove</a>(<a class="code" href="group__message__queue__list.html#g3b0fe6370dc69545467e56d41682996b" title="Opaque message queue list type. You don&#39;t want to know what&#39;s inside.">bg_msg_queue_list_t</a> * list, <a name="l00577"></a>00577 <a class="code" href="group__message__queues.html#g06c6bfc0f61ce4013b6d4117d299fa5a" title="Opaque message queue type. You don&#39;t want to know what&#39;s inside.">bg_msg_queue_t</a> * queue); <a name="l00578"></a>00578 <a name="l00582"></a>00582 <span class="preprocessor">#endif </span><span class="comment">/* __BG_MSGQUEUE_H_ */</span> </pre></div></div> <hr size="1"><address style="text-align: right;"><small>Generated on Sat Aug 22 01:28:04 2009 for gmerlin by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address> </body> </html>