summaryrefslogtreecommitdiff
path: root/src/libspudec
diff options
context:
space:
mode:
authorMichael Roitzsch <mroi@users.sourceforge.net>2002-10-17 17:43:41 +0000
committerMichael Roitzsch <mroi@users.sourceforge.net>2002-10-17 17:43:41 +0000
commit3bb1499e2dd8f9e63494259343968ae71060f6cb (patch)
tree208a51acd986b4f60aa90e6a61771e9633bbf44f /src/libspudec
parent76450053c7fa0b7dac22b5a0d77c287ac1410fca (diff)
downloadxine-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')
-rw-r--r--src/libspudec/spu_decoder_api.h32
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);