summaryrefslogtreecommitdiff
path: root/src/xine-engine/buffer.h
diff options
context:
space:
mode:
authorMiguel Freitas <miguelfreitas@users.sourceforge.net>2003-05-13 16:38:04 +0000
committerMiguel Freitas <miguelfreitas@users.sourceforge.net>2003-05-13 16:38:04 +0000
commit8f0f8da380bec0778a0b0bc89b28b352e1a39e05 (patch)
tree4cba85a58b9f93b5ed36e2599f287221c8a548c5 /src/xine-engine/buffer.h
parente65499e620848d325ad5a147ae84b712a71979d2 (diff)
downloadxine-lib-8f0f8da380bec0778a0b0bc89b28b352e1a39e05.tar.gz
xine-lib-8f0f8da380bec0778a0b0bc89b28b352e1a39e05.tar.bz2
support multiple callback registration
CVS patchset: 4840 CVS date: 2003/05/13 16:38:04
Diffstat (limited to 'src/xine-engine/buffer.h')
-rw-r--r--src/xine-engine/buffer.h14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/xine-engine/buffer.h b/src/xine-engine/buffer.h
index cb737a4ca..91a930f06 100644
--- a/src/xine-engine/buffer.h
+++ b/src/xine-engine/buffer.h
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: buffer.h,v 1.111 2003/05/10 04:26:18 tmmm Exp $
+ * $Id: buffer.h,v 1.112 2003/05/13 16:38:06 miguelfreitas Exp $
*
*
* contents:
@@ -48,6 +48,8 @@ extern "C" {
#include <sys/types.h>
#include "attributes.h"
+#define BUF_MAX_CALLBACKS 5
+
/*
* buffer types
*
@@ -451,6 +453,8 @@ struct fifo_buffer_s
void (*register_put_cb) (fifo_buffer_t *fifo, void (*cb)(fifo_buffer_t *fifo, buf_element_t *buf, void *), void *cb_data);
void (*register_get_cb) (fifo_buffer_t *fifo, void (*cb)(fifo_buffer_t *fifo, buf_element_t *buf, void *), void *cb_data);
+ void (*unregister_put_cb) (fifo_buffer_t *fifo, void (*cb)(fifo_buffer_t *fifo, buf_element_t *buf, void *));
+ void (*unregister_get_cb) (fifo_buffer_t *fifo, void (*cb)(fifo_buffer_t *fifo, buf_element_t *buf, void *));
/*
* private variables for buffer pool management
@@ -462,10 +466,10 @@ struct fifo_buffer_s
int buffer_pool_capacity;
int buffer_pool_buf_size;
void *buffer_pool_base; /*used to free mem chunk */
- void (*put_cb)(fifo_buffer_t *fifo, buf_element_t *buf, void *data_cb);
- void (*get_cb)(fifo_buffer_t *fifo, buf_element_t *buf, void *data_cb);
- void *put_cb_data;
- void *get_cb_data;
+ void (*put_cb[BUF_MAX_CALLBACKS])(fifo_buffer_t *fifo, buf_element_t *buf, void *data_cb);
+ void (*get_cb[BUF_MAX_CALLBACKS])(fifo_buffer_t *fifo, buf_element_t *buf, void *data_cb);
+ void *put_cb_data[BUF_MAX_CALLBACKS];
+ void *get_cb_data[BUF_MAX_CALLBACKS];
} ;
/*