diff options
author | Guenter Bartsch <guenter@users.sourceforge.net> | 2002-03-11 12:31:24 +0000 |
---|---|---|
committer | Guenter Bartsch <guenter@users.sourceforge.net> | 2002-03-11 12:31:24 +0000 |
commit | face806c1ee187c1efbaa88313c955b9947948db (patch) | |
tree | 974813b717201ac54afa760bac32a69f1a42addc /src/xine-engine/buffer.h | |
parent | 36a843032b4e28aa294ce0795fd96d76c57e3304 (diff) | |
download | xine-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.h | 28 |
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 { |