diff options
author | Guenter Bartsch <guenter@users.sourceforge.net> | 2002-09-13 18:25:22 +0000 |
---|---|---|
committer | Guenter Bartsch <guenter@users.sourceforge.net> | 2002-09-13 18:25:22 +0000 |
commit | b5a4b5b7c50ef17e948c21077e6b693b5581b244 (patch) | |
tree | e7b0ca700136dc62cc53d30ba1a6be2923010041 /src | |
parent | 2e4d006f2c2418351da08843ed560ec271b69693 (diff) | |
download | xine-lib-b5a4b5b7c50ef17e948c21077e6b693b5581b244.tar.gz xine-lib-b5a4b5b7c50ef17e948c21077e6b693b5581b244.tar.bz2 |
introducing meta information and some audio controls - but nothing is really implemented yet, so please move on, nothing to see here...
CVS patchset: 2660
CVS date: 2002/09/13 18:25:22
Diffstat (limited to 'src')
-rw-r--r-- | src/xine-engine/buffer.h | 3 | ||||
-rw-r--r-- | src/xine-engine/xine.c | 12 | ||||
-rw-r--r-- | src/xine-engine/xine_interface.c | 41 | ||||
-rw-r--r-- | src/xine-engine/xine_internal.h | 8 |
4 files changed, 35 insertions, 29 deletions
diff --git a/src/xine-engine/buffer.h b/src/xine-engine/buffer.h index 702f1cfa9..3ecbfc7c9 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.68 2002/09/01 21:14:12 tmmm Exp $ + * $Id: buffer.h,v 1.69 2002/09/13 18:25:23 guenter Exp $ * * * contents: @@ -75,6 +75,7 @@ extern "C" { #define BUF_CONTROL_SPU_CHANNEL 0x01060000 #define BUF_CONTROL_NEWPTS 0x01070000 #define BUF_CONTROL_RESET_DECODER 0x01080000 +#define BUF_CONTROL_HEADERS_DONE 0x01090000 /* video buffer types: (please keep in sync with buffer_types.c) */ diff --git a/src/xine-engine/xine.c b/src/xine-engine/xine.c index ea58bfc7a..bc873030a 100644 --- a/src/xine-engine/xine.c +++ b/src/xine-engine/xine.c @@ -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: xine.c,v 1.156 2002/09/11 17:41:08 guenter Exp $ + * $Id: xine.c,v 1.157 2002/09/13 18:25:23 guenter Exp $ * * top-level xine functions * @@ -415,6 +415,16 @@ int xine_open_internal (xine_t *this, const char *mrl) { if (this->status == XINE_STATUS_STOP ) { plugin_node_t *node; + int i; + + /* + * reset metainfo + */ + + for (i=0; i<XINE_STREAM_INFO_MAX; i++) { + this->stream_info[i] = 0; + this->meta_info [i] = NULL; + } /* * find input plugin diff --git a/src/xine-engine/xine_interface.c b/src/xine-engine/xine_interface.c index 66e141dbe..0b2532141 100644 --- a/src/xine-engine/xine_interface.c +++ b/src/xine-engine/xine_interface.c @@ -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: xine_interface.c,v 1.10 2002/09/11 17:41:08 guenter Exp $ + * $Id: xine_interface.c,v 1.11 2002/09/13 18:25:23 guenter Exp $ * * convenience/abstraction layer, functions to implement * libxine's public interface @@ -384,50 +384,39 @@ int xine_get_param (xine_p this, int param) { } uint32_t xine_get_stream_info (xine_p this, int info) { - printf ("xine_interface: xine_get_stream_info: not implemented\n"); switch (info) { - case XINE_STREAM_INFO_WIDTH: - return 0; /* FIXME */ - - case XINE_STREAM_INFO_HEIGHT: - return 0; /* FIXME */ - case XINE_STREAM_INFO_SEEKABLE: if (this->cur_input_plugin) return this->cur_input_plugin->get_capabilities (this->cur_input_plugin) & INPUT_CAP_SEEKABLE; return 0; + case XINE_STREAM_INFO_HAS_CHAPTERS: + if (this->cur_input_plugin) + return this->cur_input_plugin->get_capabilities (this->cur_input_plugin) & INPUT_CAP_CHAPTERS; + return 0; + + case XINE_STREAM_INFO_WIDTH: + case XINE_STREAM_INFO_HEIGHT: case XINE_STREAM_INFO_VIDEO_FOURCC: - return 0; /* FIXME */ - case XINE_STREAM_INFO_VIDEO_CHANNELS: - return 0; /* FIXME */ - case XINE_STREAM_INFO_VIDEO_STREAMS: - return 0; /* FIXME */ - case XINE_STREAM_INFO_AUDIO_FOURCC: - return 0; /* FIXME */ - case XINE_STREAM_INFO_AUDIO_CHANNELS: - return 0; /* FIXME */ - case XINE_STREAM_INFO_AUDIO_BITS: - return 0; /* FIXME */ - case XINE_STREAM_INFO_AUDIO_SAMPLERATE: - return 0; /* FIXME */ + return this->stream_info[info]; - case XINE_STREAM_INFO_HAS_CHAPTERS: - if (this->cur_input_plugin) - return this->cur_input_plugin->get_capabilities (this->cur_input_plugin) & INPUT_CAP_CHAPTERS; - return 0; default: - printf ("xine_interface: error, unknown info (%d) requested\n", + printf ("xine_interface: error, unknown stream info (%d) requested\n", info); } return 0; } +const char *xine_get_meta_info (xine_p this, int info) { + + return this->meta_info[info]; +} + diff --git a/src/xine-engine/xine_internal.h b/src/xine-engine/xine_internal.h index 189a04191..cfa9d684a 100644 --- a/src/xine-engine/xine_internal.h +++ b/src/xine-engine/xine_internal.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: xine_internal.h,v 1.98 2002/09/11 17:41:08 guenter Exp $ + * $Id: xine_internal.h,v 1.99 2002/09/13 18:25:23 guenter Exp $ * */ @@ -136,6 +136,8 @@ struct audio_decoder_s { #define XINE_LOG_PLUGIN 2 #define XINE_LOG_NUM 3 /* # of log buffers defined */ +#define XINE_STREAM_INFO_MAX 99 + /* * the big xine struct, holding everything together */ @@ -240,6 +242,10 @@ struct xine_s { int playing_logo; int curtime_needed_for_osd; pthread_mutex_t osd_lock; + + /* stream meta information */ + int stream_info[XINE_STREAM_INFO_MAX]; + char *meta_info [XINE_STREAM_INFO_MAX]; }; /* |