summaryrefslogtreecommitdiff
path: root/src/xine-engine/buffer.h
diff options
context:
space:
mode:
authorGuenter Bartsch <guenter@users.sourceforge.net>2002-03-11 12:31:24 +0000
committerGuenter Bartsch <guenter@users.sourceforge.net>2002-03-11 12:31:24 +0000
commitface806c1ee187c1efbaa88313c955b9947948db (patch)
tree974813b717201ac54afa760bac32a69f1a42addc /src/xine-engine/buffer.h
parent36a843032b4e28aa294ce0795fd96d76c57e3304 (diff)
downloadxine-lib-face806c1ee187c1efbaa88313c955b9947948db.tar.gz
xine-lib-face806c1ee187c1efbaa88313c955b9947948db.tar.bz2
metronom and demuxers should work again (although not all demuxers are fully updated at this point). demux_qt can handle compressed audio, but is still unfinished.
Yes, this _is_ the big metronom update, metronom now depends on disc_off information in discontinuities. CVS patchset: 1554 CVS date: 2002/03/11 12:31:24
Diffstat (limited to 'src/xine-engine/buffer.h')
-rw-r--r--src/xine-engine/buffer.h28
1 files changed, 20 insertions, 8 deletions
diff --git a/src/xine-engine/buffer.h b/src/xine-engine/buffer.h
index 995249a43..5444d78d5 100644
--- a/src/xine-engine/buffer.h
+++ b/src/xine-engine/buffer.h
@@ -1,7 +1,7 @@
/*
- * Copyright (C) 2000-2001 the xine project
+ * Copyright (C) 2000-2002 the xine project
*
- * This file is part of xine, a unix video player.
+ * This file is part of xine, a free video player.
*
* xine is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -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.34 2002/03/01 09:29:50 guenter Exp $
+ * $Id: buffer.h,v 1.35 2002/03/11 12:31:26 guenter Exp $
*
*
* contents:
@@ -98,6 +98,7 @@ extern "C" {
#define BUF_VIDEO_REAL 0x02170000
#define BUF_VIDEO_VP31 0x02180000
#define BUF_VIDEO_H263 0x02190000
+#define BUF_VIDEO_3IVX 0x021A0000
/* audio buffer types: (please keep in sync with buffer_types.c) */
@@ -139,15 +140,18 @@ struct buf_element_s {
buf_element_t *next;
unsigned char *mem;
- unsigned char *content; /* start of raw content in pMem (without header etc) */
+ unsigned char *content; /* start of raw content in mem (without header etc) */
- int32_t size ; /* size of _content_ */
- int32_t max_size;
+ int32_t size ; /* size of _content_ */
+ int32_t max_size; /* size of pre-allocated memory pointed to by "mem" */
uint32_t type;
- int64_t pts; /* presentation time stamp, used for a/v sync */
- int64_t scr; /* system clock reference, used for discont. detection */
+ int64_t pts; /* presentation time stamp, used for a/v sync */
+ int64_t disc_off; /* discontinuity offset */
off_t input_pos; /* remember where this buf came from in the input source */
int input_time;/* time offset in seconds from beginning of stream */
+
+ uint32_t decoder_flags; /* stuff like keyframe, is_header ... see below */
+
uint32_t decoder_info[4]; /* additional decoder flags and other dec-spec. stuff */
void (*free_buffer) (buf_element_t *buf);
@@ -157,6 +161,14 @@ struct buf_element_s {
} ;
+#define BUF_FLAG_KEYFRAME 0x0001
+#define BUF_FLAG_FRAME_START 0x0002
+#define BUF_FLAG_FRAME_END 0x0004
+#define BUF_FLAG_HEADER 0x0008
+#define BUF_FLAG_PREVIEW 0x0010
+#define BUF_FLAG_END_USER 0x0020
+#define BUF_FLAG_END_STREAM 0x0040
+
typedef struct fifo_buffer_s fifo_buffer_t;
struct fifo_buffer_s
{