diff options
author | Diego 'Flameeyes' Pettenò <flameeyes@gmail.com> | 2007-12-19 02:10:56 +0100 |
---|---|---|
committer | Diego 'Flameeyes' Pettenò <flameeyes@gmail.com> | 2007-12-19 02:10:56 +0100 |
commit | f80c8d4d48e7a5ef6ac6c9f2a4dfdb39f40aaff6 (patch) | |
tree | d50515c199e8ca4385a9b78d045c5be195a024eb /src/xine-engine/spu_decoder.h | |
parent | 19d6e2179bcf9b2747ddf61eda6a55861de242b5 (diff) | |
download | xine-lib-f80c8d4d48e7a5ef6ac6c9f2a4dfdb39f40aaff6.tar.gz xine-lib-f80c8d4d48e7a5ef6ac6c9f2a4dfdb39f40aaff6.tar.bz2 |
Consolidate all public include files into include/xine directory.
--HG--
rename : src/xine-engine/alphablend.h => include/xine/alphablend.h
rename : src/xine-utils/array.h => include/xine/array.h
rename : src/xine-utils/attributes.h => include/xine/attributes.h
rename : src/xine-engine/audio_decoder.h => include/xine/audio_decoder.h
rename : src/xine-engine/audio_out.h => include/xine/audio_out.h
rename : src/xine-engine/broadcaster.h => include/xine/broadcaster.h
rename : src/xine-engine/buffer.h => include/xine/buffer.h
rename : src/xine-utils/compat.h => include/xine/compat.h
rename : src/xine-engine/configfile.h => include/xine/configfile.h
rename : src/demuxers/demux.h => include/xine/demux.h
rename : src/xine-engine/info_helper.h => include/xine/info_helper.h
rename : src/input/input_plugin.h => include/xine/input_plugin.h
rename : src/xine-engine/io_helper.h => include/xine/io_helper.h
rename : src/xine-utils/list.h => include/xine/list.h
rename : src/xine-engine/metronom.h => include/xine/metronom.h
rename : src/xine-engine/osd.h => include/xine/osd.h
rename : src/xine-engine/plugin_catalog.h => include/xine/plugin_catalog.h
rename : src/xine-utils/pool.h => include/xine/pool.h
rename : src/xine-engine/post.h => include/xine/post.h
rename : src/xine-engine/refcounter.h => include/xine/refcounter.h
rename : src/xine-engine/resample.h => include/xine/resample.h
rename : src/xine-utils/ring_buffer.h => include/xine/ring_buffer.h
rename : src/xine-engine/scratch.h => include/xine/scratch.h
rename : src/xine-utils/sorted_array.h => include/xine/sorted_array.h
rename : src/xine-engine/spu.h => include/xine/spu.h
rename : src/xine-engine/spu_decoder.h => include/xine/spu_decoder.h
rename : src/xine-engine/video_decoder.h => include/xine/video_decoder.h
rename : src/xine-engine/video_out.h => include/xine/video_out.h
rename : src/xine-engine/video_overlay.h => include/xine/video_overlay.h
rename : src/xine-engine/vo_scale.h => include/xine/vo_scale.h
rename : src/xine-utils/xine_buffer.h => include/xine/xine_buffer.h
rename : src/xine-engine/xine_internal.h => include/xine/xine_internal.h
rename : src/xine-engine/xine_plugin.h => include/xine/xine_plugin.h
rename : src/xine-engine/xineintl.h => include/xine/xineintl.h
rename : src/xine-utils/xineutils.h => include/xine/xineutils.h
rename : src/xine-utils/xmllexer.h => include/xine/xmllexer.h
rename : src/xine-utils/xmlparser.h => include/xine/xmlparser.h
Diffstat (limited to 'src/xine-engine/spu_decoder.h')
-rw-r--r-- | src/xine-engine/spu_decoder.h | 151 |
1 files changed, 0 insertions, 151 deletions
diff --git a/src/xine-engine/spu_decoder.h b/src/xine-engine/spu_decoder.h deleted file mode 100644 index dcf9107f7..000000000 --- a/src/xine-engine/spu_decoder.h +++ /dev/null @@ -1,151 +0,0 @@ -/* - * spu_decoder_api.h - * - * Copyright (C) James Courtier-Dutton James@superbug.demon.co.uk - July 2001 - * - * This file is part of xine, a unix 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 - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * xine is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with GNU Make; see the file COPYING. If not, write to - * the Free Software Foundation, - * - */ - -#ifndef HAVE_SPU_API_H -#define HAVE_SPU_API_H - -#ifdef XINE_COMPILE -# include <inttypes.h> -# include "buffer.h" -#else -# include <xine/os_types.h> -# include <xine/buffer.h> -#endif - -#define SPU_DECODER_IFACE_VERSION 17 - -/* - * generic xine spu decoder plugin interface - */ - -typedef struct spu_decoder_class_s spu_decoder_class_t; -typedef struct spu_decoder_s spu_decoder_t; - -struct spu_decoder_class_s { - - /* - * open a new instance of this plugin class - */ - spu_decoder_t* (*open_plugin) (spu_decoder_class_t *this, xine_stream_t *stream); - - /** - * @brief short human readable identifier for this plugin class - */ - const char *identifier; - - /** - * @brief human readable (verbose = 1 line) description for this plugin class - * - * The description is passed to gettext() to internationalise. - */ - const char *description; - - /** - * @brief Optional non-standard catalog to use with dgettext() for description. - */ - const char *textdomain; - - /* - * free all class-related resources - */ - void (*dispose) (spu_decoder_class_t *this); -}; - -#define default_spu_decoder_class_dispose (void (*) (spu_decoder_class_t *this))free - -struct spu_decoder_s { - - /* - * decode data from buf and feed the overlay to overlay manager - */ - void (*decode_data) (spu_decoder_t *this, buf_element_t *buf); - - /* - * reset decoder after engine flush (prepare for new - * SPU data not related to recently decoded data) - */ - void (*reset) (spu_decoder_t *this); - - /* - * inform decoder that a time reference discontinuity has happened. - * that is, it must forget any currently held pts value - */ - void (*discontinuity) (spu_decoder_t *this); - - /* - * close down, free all resources - */ - void (*dispose) (spu_decoder_t *this); - - /* - * When the SPU decoder also handles data used in user interaction, - * you can query the related information here. The typical example - * for this is DVD NAV packets which are handled by the SPU decoder - * and can be received readily parsed from here. - * The caller and the decoder must agree on the structure which is - * passed here. - * This function pointer may be NULL, if the plugin does not have - * such functionality. - */ - int (*get_interact_info) (spu_decoder_t *this, void *data); - - /* - * When the SPU decoder also handles menu overlays for user inter- - * action, you can set a menu button here. The typical example for - * this is DVD menus. - * This function pointer may be NULL, if the plugin does not have - * such functionality. - */ - void (*set_button) (spu_decoder_t *this_gen, int32_t button, int32_t mode); - - void *node; /* used by plugin loader */ -}; - - -/* SPU decoders differ from video and audio decoders in one significant - * way: unlike audio and video, SPU streams are not continuous; - * this results in another difference, programmers have to consider: - * while both audio and video decoders are automatically blocked in - * their get_buffer()/get_frame() methods when the output cannot take - * any more data, this does not work for SPU, because it could take - * minutes before the next free slot becomes available and we must not - * block the decoder thread for that long; - * therefore, we provide a convenience function for SPU decoders which - * implements a wait until a timestamp sufficiently close to the VPTS - * of the next SPU is reached, but the waiting will end before that, - * if some outside condition requires us to release the decoder thread - * to other tasks; - * if this functions returns with 1, noone needs the decoder thread and - * you may continue waiting; if it returns 0, finish whatever you are - * doing and return; - * the usual pattern for SPU decoders is this: - * - * do { - * spu = prepare_spu(); - * int thread_vacant = _x_spu_decoder_sleep(this->stream, spu->vpts); - * int success = process_spu(spu); - * } while (!success && thread_vacant); - */ -int _x_spu_decoder_sleep(xine_stream_t *, int64_t next_spu_vpts) XINE_PROTECTED; - -#endif /* HAVE_SPUDEC_H */ |