diff options
author | Michael Roitzsch <mroi@users.sourceforge.net> | 2002-10-17 17:43:41 +0000 |
---|---|---|
committer | Michael Roitzsch <mroi@users.sourceforge.net> | 2002-10-17 17:43:41 +0000 |
commit | 3bb1499e2dd8f9e63494259343968ae71060f6cb (patch) | |
tree | 208a51acd986b4f60aa90e6a61771e9633bbf44f /src/libspudec/spu_decoder_api.h | |
parent | 76450053c7fa0b7dac22b5a0d77c287ac1410fca (diff) | |
download | xine-lib-3bb1499e2dd8f9e63494259343968ae71060f6cb.tar.gz xine-lib-3bb1499e2dd8f9e63494259343968ae71060f6cb.tar.bz2 |
move open_plugin function (used to create new plugin instances) from the plugin info
struct to the plugin class struct
small nerby change in libffmpeg decoder plugin:
access to video_out/audio_out in decoders should now be done via the
appropriate members in xine_stream_t
CVS patchset: 2843
CVS date: 2002/10/17 17:43:41
Diffstat (limited to 'src/libspudec/spu_decoder_api.h')
-rw-r--r-- | src/libspudec/spu_decoder_api.h | 32 |
1 files changed, 26 insertions, 6 deletions
diff --git a/src/libspudec/spu_decoder_api.h b/src/libspudec/spu_decoder_api.h index 937bc7507..d17f32a7b 100644 --- a/src/libspudec/spu_decoder_api.h +++ b/src/libspudec/spu_decoder_api.h @@ -31,14 +31,36 @@ /* * generic xine spu decoder plugin interface - * - * for a dynamic plugin make sure you provide this function call: - * spu_decoder_t *init_spu_decoder_plugin (int iface_version, - * xine_t *xine); */ +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); + + /* + * return short, human readable identifier for this plugin class + */ + char* (*get_identifier) (spu_decoder_class_t *this); + + /* + * return human readable (verbose = 1 line) description for + * this plugin class + */ + char* (*get_description) (spu_decoder_class_t *this); + + /* + * free all class-related resources + */ + void (*dispose) (spu_decoder_class_t *this); +}; + + struct spu_decoder_s { void (*init) (spu_decoder_t *this, vo_instance_t *video_out); @@ -49,8 +71,6 @@ struct spu_decoder_s { void (*close) (spu_decoder_t *this); - char* (*get_identifier) (void); - void (*dispose) (spu_decoder_t *this); int (*get_nav_pci) (spu_decoder_t *this, pci_t *nav_pci); |