diff options
Diffstat (limited to 'src/libxinevdec')
-rw-r--r-- | src/libxinevdec/cinepak.c | 3 | ||||
-rw-r--r-- | src/libxinevdec/cyuv.c | 3 | ||||
-rw-r--r-- | src/libxinevdec/fli.c | 8 | ||||
-rw-r--r-- | src/libxinevdec/foovideo.c | 39 | ||||
-rw-r--r-- | src/libxinevdec/idcinvideo.c | 37 | ||||
-rw-r--r-- | src/libxinevdec/msrle.c | 8 | ||||
-rw-r--r-- | src/libxinevdec/msvc.c | 3 | ||||
-rw-r--r-- | src/libxinevdec/qtrpza.c | 42 | ||||
-rw-r--r-- | src/libxinevdec/qtsmc.c | 43 | ||||
-rw-r--r-- | src/libxinevdec/rgb.c | 3 | ||||
-rw-r--r-- | src/libxinevdec/roqvideo.c | 7 | ||||
-rw-r--r-- | src/libxinevdec/svq1.c | 3 | ||||
-rw-r--r-- | src/libxinevdec/wc3video.c | 47 | ||||
-rw-r--r-- | src/libxinevdec/yuv.c | 8 |
14 files changed, 98 insertions, 156 deletions
diff --git a/src/libxinevdec/cinepak.c b/src/libxinevdec/cinepak.c index 441b464c0..14e931644 100644 --- a/src/libxinevdec/cinepak.c +++ b/src/libxinevdec/cinepak.c @@ -22,7 +22,7 @@ * based on overview of Cinepak algorithm and example decoder * by Tim Ferguson: http://www.csse.monash.edu.au/~timf/ * - * $Id: cinepak.c,v 1.13 2002/09/05 20:44:41 mroi Exp $ + * $Id: cinepak.c,v 1.14 2002/09/05 22:19:02 mroi Exp $ */ #include <stdlib.h> @@ -454,7 +454,6 @@ static void *init_video_decoder_plugin (xine_t *xine, void *data) { this->video_decoder.close = cvid_close; this->video_decoder.get_identifier = cvid_get_id; this->video_decoder.dispose = cvid_dispose; - this->video_decoder.priority = 5; return (video_decoder_t *) this; } diff --git a/src/libxinevdec/cyuv.c b/src/libxinevdec/cyuv.c index 16aef6bc9..fd663e315 100644 --- a/src/libxinevdec/cyuv.c +++ b/src/libxinevdec/cyuv.c @@ -18,7 +18,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: cyuv.c,v 1.7 2002/09/05 20:44:41 mroi Exp $ + * $Id: cyuv.c,v 1.8 2002/09/05 22:19:02 mroi Exp $ */ /* And this is the header that came with the CYUV decoder: */ @@ -245,7 +245,6 @@ static void *init_video_decoder_plugin (xine_t *xine, void *data) { this->video_decoder.close = cyuv_close; this->video_decoder.get_identifier = cyuv_get_id; this->video_decoder.dispose = cyuv_dispose; - this->video_decoder.priority = 1; return this; } diff --git a/src/libxinevdec/fli.c b/src/libxinevdec/fli.c index 662aa4b35..238bc09ef 100644 --- a/src/libxinevdec/fli.c +++ b/src/libxinevdec/fli.c @@ -23,7 +23,7 @@ * avoid when implementing a FLI decoder, visit: * http://www.pcisys.net/~melanson/codecs/ * - * $Id: fli.c,v 1.5 2002/09/05 20:44:41 mroi Exp $ + * $Id: fli.c,v 1.6 2002/09/05 22:19:02 mroi Exp $ */ #include <stdio.h> @@ -559,10 +559,7 @@ static void fli_dispose (video_decoder_t *this_gen) { /* * This function should be the plugin's only advertised function to the * outside world. It allows xine to query the plugin module for the addresses - * to the necessary functions in the video decoder object. The video - * decoder object also has a priority field which allows different decoder - * plugins for the same buffer types to coexist peacefully. The higher the - * priority number, the more precedence a decoder has. E.g., 9 beats 1. + * to the necessary functions in the video decoder object. */ static void *init_video_decoder_plugin (xine_t *xine, void *data) { @@ -578,7 +575,6 @@ static void *init_video_decoder_plugin (xine_t *xine, void *data) { this->video_decoder.close = fli_close; this->video_decoder.get_identifier = fli_get_id; this->video_decoder.dispose = fli_dispose; - this->video_decoder.priority = 1; return this; } diff --git a/src/libxinevdec/foovideo.c b/src/libxinevdec/foovideo.c index e2cb23c52..3ddfea646 100644 --- a/src/libxinevdec/foovideo.c +++ b/src/libxinevdec/foovideo.c @@ -20,7 +20,7 @@ * General description and author credits go here... * * Leave the following line intact for when the decoder is committed to CVS: - * $Id: foovideo.c,v 1.5 2002/09/05 20:44:41 mroi Exp $ + * $Id: foovideo.c,v 1.6 2002/09/05 22:19:02 mroi Exp $ */ #include <stdio.h> @@ -67,6 +67,7 @@ typedef struct foovideo_decoder_s { *************************************************************************/ /* + * FIXME: revise documentation, reflect api changes * This function is called by xine to determine which buffer types this * decoder knows how to handle. * Parameters: @@ -251,28 +252,15 @@ static void foovideo_dispose (video_decoder_t *this_gen) { /* * This function should be the plugin's only advertised function to the * outside world. It allows xine to query the plugin module for the addresses - * to the necessary functions in the video decoder object. The video - * decoder object also has a priority field which allows different decoder - * plugins for the same buffer types to coexist peacefully. The higher the - * priority number, the more precedence a decoder has. E.g., 9 beats 1. + * to the necessary functions in the video decoder object. */ -static void *init_video_decoder_plugin (int iface_version, xine_t *xine) { +static void *init_video_decoder_plugin (xine_t *xine, void *data) { foovideo_decoder_t *this ; - if (iface_version != 10) { - printf( "foovideo: plugin doesn't support plugin API version %d.\n" - "foovideo: this means there's a version mismatch between xine and this " - "foovideo: decoder plugin.\nInstalling current plugins should help.\n", - iface_version); - return NULL; - } - this = (foovideo_decoder_t *) malloc (sizeof (foovideo_decoder_t)); memset(this, 0, sizeof (foovideo_decoder_t)); - this->video_decoder.interface_version = iface_version; - this->video_decoder.can_handle = foovideo_can_handle; this->video_decoder.init = foovideo_init; this->video_decoder.decode_data = foovideo_decode_data; this->video_decoder.flush = foovideo_flush; @@ -280,8 +268,25 @@ static void *init_video_decoder_plugin (int iface_version, xine_t *xine) { this->video_decoder.close = foovideo_close; this->video_decoder.get_identifier = foovideo_get_id; this->video_decoder.dispose = foovideo_dispose; - this->video_decoder.priority = 1; return (video_decoder_t *) this; } +/* + * exported plugin catalog entry + */ +static uint32_t video_types[] = { + /* BUF_VIDEO_FOOVIDEO, */ + 0 +}; + +static decoder_info_t dec_info_video = { + video_types, /* supported types */ + 5 /* priority */ +}; + +plugin_info_t xine_plugin_info[] = { + /* type, API, "name", version, special_info, init_function */ + { PLUGIN_VIDEO_DECODER, 10, "foovideo", XINE_VERSION_CODE, &dec_info_video, init_video_decoder_plugin }, + { PLUGIN_NONE, 0, "", 0, NULL, NULL } +}; diff --git a/src/libxinevdec/idcinvideo.c b/src/libxinevdec/idcinvideo.c index 5273a1160..af763b015 100644 --- a/src/libxinevdec/idcinvideo.c +++ b/src/libxinevdec/idcinvideo.c @@ -21,7 +21,7 @@ * the Id CIN format, visit: * http://www.csse.monash.edu.au/~timf/ * - * $Id: idcinvideo.c,v 1.4 2002/09/05 20:44:41 mroi Exp $ + * $Id: idcinvideo.c,v 1.5 2002/09/05 22:19:02 mroi Exp $ */ #include <stdio.h> @@ -195,11 +195,6 @@ void huff_build_tree(int prev) { * xine video plugin functions *************************************************************************/ -static int idcinvideo_can_handle (video_decoder_t *this_gen, int buf_type) { - - return (buf_type == BUF_VIDEO_IDCIN); -} - /* * This function is responsible is called to initialize the video decoder * for use. Initialization usually involves setting up the fields in your @@ -382,23 +377,12 @@ static void idcinvideo_dispose (video_decoder_t *this_gen) { /* * This function should be the plugin's only advertised function to the * outside world. It allows xine to query the plugin module for the addresses - * to the necessary functions in the video decoder object. The video - * decoder object also has a priority field which allows different decoder - * plugins for the same buffer types to coexist peacefully. The higher the - * priority number, the more precedence a decoder has. E.g., 9 beats 1. + * to the necessary functions in the video decoder object. */ -static void *init_video_decoder_plugin (int iface_version, xine_t *xine) { +static void *init_video_decoder_plugin (xine_t *xine, void *data) { idcinvideo_decoder_t *this ; - if (iface_version != 10) { - printf( "idcinvideo: plugin doesn't support plugin API version %d.\n" - "idcinvideo: this means there's a version mismatch between xine and this " - "idcinvideo: decoder plugin.\nInstalling current plugins should help.\n", - iface_version); - return NULL; - } - this = (idcinvideo_decoder_t *) malloc (sizeof (idcinvideo_decoder_t)); memset(this, 0, sizeof (idcinvideo_decoder_t)); @@ -409,7 +393,20 @@ static void *init_video_decoder_plugin (int iface_version, xine_t *xine) { this->video_decoder.close = idcinvideo_close; this->video_decoder.get_identifier = idcinvideo_get_id; this->video_decoder.dispose = idcinvideo_dispose; - this->video_decoder.priority = 1; return (video_decoder_t *) this; } + +/* plugin catalog information */ +static uint32_t supported_types[] = { BUF_VIDEO_IDCIN, 0 }; + +static decoder_info_t video_decoder_info = { + supported_types, /* supported types */ + 1 /* priority */ +}; + +plugin_info_t xine_plugin_info[] = { + /* type, API, "name", version, special_info, init_function */ + { PLUGIN_VIDEO_DECODER, 10, "Id CIN Video", XINE_VERSION_CODE, &video_decoder_info, &init_video_decoder_plugin }, + { PLUGIN_NONE, 0, "", 0, NULL, NULL } +}; diff --git a/src/libxinevdec/msrle.c b/src/libxinevdec/msrle.c index 531cf0f1f..776157297 100644 --- a/src/libxinevdec/msrle.c +++ b/src/libxinevdec/msrle.c @@ -21,7 +21,7 @@ * For more information on the MS RLE format, visit: * http://www.pcisys.net/~melanson/codecs/ * - * $Id: msrle.c,v 1.6 2002/09/05 20:44:41 mroi Exp $ + * $Id: msrle.c,v 1.7 2002/09/05 22:19:03 mroi Exp $ */ #include <stdio.h> @@ -335,10 +335,7 @@ static void msrle_dispose (video_decoder_t *this_gen) { /* * This function should be the plugin's only advertised function to the * outside world. It allows xine to query the plugin module for the addresses - * to the necessary functions in the video decoder object. The video - * decoder object also has a priority field which allows different decoder - * plugins for the same buffer types to coexist peacefully. The higher the - * priority number, the more precedence a decoder has. E.g., 9 beats 1. + * to the necessary functions in the video decoder object. */ static void *init_video_decoder_plugin (xine_t *xine, void *data) { @@ -354,7 +351,6 @@ static void *init_video_decoder_plugin (xine_t *xine, void *data) { this->video_decoder.close = msrle_close; this->video_decoder.get_identifier = msrle_get_id; this->video_decoder.dispose = msrle_dispose; - this->video_decoder.priority = 1; return this; } diff --git a/src/libxinevdec/msvc.c b/src/libxinevdec/msvc.c index 5ba1d142b..352cb3ce6 100644 --- a/src/libxinevdec/msvc.c +++ b/src/libxinevdec/msvc.c @@ -22,7 +22,7 @@ * based on overview of Microsoft Video-1 algorithm * by Mike Melanson: http://www.pcisys.net/~melanson/codecs/video1.txt * - * $Id: msvc.c,v 1.10 2002/09/05 20:44:41 mroi Exp $ + * $Id: msvc.c,v 1.11 2002/09/05 22:19:03 mroi Exp $ */ #include <stdlib.h> @@ -359,7 +359,6 @@ static void *init_video_decoder_plugin (xine_t *xine, void *data) { this->video_decoder.close = msvc_close; this->video_decoder.get_identifier = msvc_get_id; this->video_decoder.dispose = msvc_dispose; - this->video_decoder.priority = 5; return this; } diff --git a/src/libxinevdec/qtrpza.c b/src/libxinevdec/qtrpza.c index 05a0f04ee..4ccdd2c94 100644 --- a/src/libxinevdec/qtrpza.c +++ b/src/libxinevdec/qtrpza.c @@ -21,7 +21,7 @@ * For more information about the RPZA format, visit: * http://www.pcisys.net/~melanson/codecs/ * - * $Id: qtrpza.c,v 1.3 2002/09/05 20:44:42 mroi Exp $ + * $Id: qtrpza.c,v 1.4 2002/09/05 22:19:03 mroi Exp $ */ #include <stdio.h> @@ -278,22 +278,6 @@ void decode_qtrpza(qtrpza_decoder_t *this) { *************************************************************************/ /* - * This function is called by xine to determine which buffer types this - * decoder knows how to handle. - * Parameters: - * this_gen: A video decoder object - * buf_type: The number of the buffer type that xine is querying for; - * these buffer constants are defined in src/xine-engine/buffer.h. - * Return: - * 1 if the decoder is capable of handling buf_type - * 0 if the decoder is not capable of handling buf_type - */ -static int qtrpza_can_handle (video_decoder_t *this_gen, int buf_type) { - - return (buf_type == BUF_VIDEO_RPZA); -} - -/* * This function is responsible is called to initialize the video decoder * for use. Initialization usually involves setting up the fields in your * private video decoder object. @@ -445,18 +429,10 @@ static void qtrpza_dispose (video_decoder_t *this_gen) { free (this_gen); } -static void *init_video_decoder_plugin (int iface_version, xine_t *xine) { +static void *init_video_decoder_plugin (xine_t *xine, void *data) { qtrpza_decoder_t *this ; - if (iface_version != 10) { - printf( "qtrpza: plugin doesn't support plugin API version %d.\n" - "qtrpza: this means there's a version mismatch between xine and this " - "qtrpza: decoder plugin.\nInstalling current plugins should help.\n", - iface_version); - return NULL; - } - this = (qtrpza_decoder_t *) malloc (sizeof (qtrpza_decoder_t)); memset(this, 0, sizeof (qtrpza_decoder_t)); @@ -467,8 +443,20 @@ static void *init_video_decoder_plugin (int iface_version, xine_t *xine) { this->video_decoder.close = qtrpza_close; this->video_decoder.get_identifier = qtrpza_get_id; this->video_decoder.dispose = qtrpza_dispose; - this->video_decoder.priority = 1; return (video_decoder_t *) this; } +/* plugin catalog information */ +static uint32_t supported_types[] = { BUF_VIDEO_RPZA, 0 }; + +static decoder_info_t video_decoder_info = { + supported_types, /* supported types */ + 1 /* priority */ +}; + +plugin_info_t xine_plugin_info[] = { + /* type, API, "name", version, special_info, init_function */ + { PLUGIN_VIDEO_DECODER, 10, "QT RPZA", XINE_VERSION_CODE, &video_decoder_info, &init_video_decoder_plugin }, + { PLUGIN_NONE, 0, "", 0, NULL, NULL } +}; diff --git a/src/libxinevdec/qtsmc.c b/src/libxinevdec/qtsmc.c index 3dff56ee1..f145642e7 100644 --- a/src/libxinevdec/qtsmc.c +++ b/src/libxinevdec/qtsmc.c @@ -23,7 +23,7 @@ * For more information on the SMC format, visit: * http://www.pcisys.net/~melanson/codecs/ * - * $Id: qtsmc.c,v 1.3 2002/09/05 20:44:42 mroi Exp $ + * $Id: qtsmc.c,v 1.4 2002/09/05 22:19:03 mroi Exp $ */ #include <stdio.h> @@ -495,22 +495,6 @@ void decode_qtsmc(qtsmc_decoder_t *this) { *************************************************************************/ /* - * This function is called by xine to determine which buffer types this - * decoder knows how to handle. - * Parameters: - * this_gen: A video decoder object - * buf_type: The number of the buffer type that xine is querying for; - * these buffer constants are defined in src/xine-engine/buffer.h. - * Return: - * 1 if the decoder is capable of handling buf_type - * 0 if the decoder is not capable of handling buf_type - */ -static int qtsmc_can_handle (video_decoder_t *this_gen, int buf_type) { - - return (buf_type == BUF_VIDEO_SMC); -} - -/* * This function is responsible is called to initialize the video decoder * for use. Initialization usually involves setting up the fields in your * private video decoder object. @@ -677,18 +661,10 @@ static void qtsmc_dispose (video_decoder_t *this_gen) { free (this_gen); } -static void *init_video_decoder_plugin (int iface_version, xine_t *xine) { +static void *init_video_decoder_plugin (xine_t *xine, void *data) { qtsmc_decoder_t *this ; - if (iface_version != 10) { - printf( "qtsmc: plugin doesn't support plugin API version %d.\n" - "qtsmc: this means there's a version mismatch between xine and this " - "qtsmc: decoder plugin.\nInstalling current plugins should help.\n", - iface_version); - return NULL; - } - this = (qtsmc_decoder_t *) malloc (sizeof (qtsmc_decoder_t)); memset(this, 0, sizeof (qtsmc_decoder_t)); @@ -699,8 +675,21 @@ static void *init_video_decoder_plugin (int iface_version, xine_t *xine) { this->video_decoder.close = qtsmc_close; this->video_decoder.get_identifier = qtsmc_get_id; this->video_decoder.dispose = qtsmc_dispose; - this->video_decoder.priority = 9; return (video_decoder_t *) this; } +/* plugin catalog information */ +static uint32_t supported_types[] = { BUF_VIDEO_SMC, 0 }; + +static decoder_info_t video_decoder_info = { + supported_types, /* supported types */ + 9 /* priority */ +}; + +plugin_info_t xine_plugin_info[] = { + /* type, API, "name", version, special_info, init_function */ + { PLUGIN_VIDEO_DECODER, 10, "QT SMC", XINE_VERSION_CODE, &video_decoder_info, &init_video_decoder_plugin }, + { PLUGIN_NONE, 0, "", 0, NULL, NULL } +}; + diff --git a/src/libxinevdec/rgb.c b/src/libxinevdec/rgb.c index 29b7d120a..0bb905f19 100644 --- a/src/libxinevdec/rgb.c +++ b/src/libxinevdec/rgb.c @@ -21,7 +21,7 @@ * Actually, this decoder just converts a raw RGB image to a YUY2 map * suitable for display under xine. * - * $Id: rgb.c,v 1.6 2002/09/05 20:44:42 mroi Exp $ + * $Id: rgb.c,v 1.7 2002/09/05 22:19:03 mroi Exp $ */ #include <stdio.h> @@ -289,7 +289,6 @@ static void *init_video_decoder_plugin (xine_t *xine, void *data) { this->video_decoder.close = rgb_close; this->video_decoder.get_identifier = rgb_get_id; this->video_decoder.dispose = rgb_dispose; - this->video_decoder.priority = 1; return this; } diff --git a/src/libxinevdec/roqvideo.c b/src/libxinevdec/roqvideo.c index ad0d21096..322b5d741 100644 --- a/src/libxinevdec/roqvideo.c +++ b/src/libxinevdec/roqvideo.c @@ -18,7 +18,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: roqvideo.c,v 1.8 2002/09/05 20:44:42 mroi Exp $ + * $Id: roqvideo.c,v 1.9 2002/09/05 22:19:03 mroi Exp $ */ /* And this is the header that came with the RoQ video decoder: */ @@ -367,10 +367,6 @@ static void roq_decode_frame(roq_decoder_t *ri, vo_frame_t *img) { memcpy(img->base[2], ri->v[0], (ri->width * ri->height)/4); } -static int roq_can_handle (video_decoder_t *this_gen, int buf_type) { - return (buf_type == BUF_VIDEO_ROQ); -} - static void roq_init (video_decoder_t *this_gen, vo_instance_t *video_out) { roq_decoder_t *this = (roq_decoder_t *) this_gen; @@ -502,7 +498,6 @@ static void *init_video_decoder_plugin (xine_t *xine, void *data) { this->video_decoder.close = roq_close; this->video_decoder.get_identifier = roq_get_id; this->video_decoder.dispose = roq_dispose; - this->video_decoder.priority = 1; return this; } diff --git a/src/libxinevdec/svq1.c b/src/libxinevdec/svq1.c index 6f1d130e0..90f9c9bbb 100644 --- a/src/libxinevdec/svq1.c +++ b/src/libxinevdec/svq1.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: svq1.c,v 1.8 2002/09/05 20:44:42 mroi Exp $ + * $Id: svq1.c,v 1.9 2002/09/05 22:19:03 mroi Exp $ */ #include <stdio.h> @@ -1509,7 +1509,6 @@ static void *init_video_decoder_plugin (xine_t *xine, void *data) { this->video_decoder.close = svq1dec_close; this->video_decoder.get_identifier = svq1dec_get_id; this->video_decoder.dispose = svq1dec_dispose; - this->video_decoder.priority = 4; return this; } diff --git a/src/libxinevdec/wc3video.c b/src/libxinevdec/wc3video.c index a95262da5..f5628a9cc 100644 --- a/src/libxinevdec/wc3video.c +++ b/src/libxinevdec/wc3video.c @@ -22,7 +22,7 @@ * For more information on the WC3 Movie format, visit: * http://www.pcisys.net/~melanson/codecs/ * - * $Id: wc3video.c,v 1.3 2002/09/05 20:44:42 mroi Exp $ + * $Id: wc3video.c,v 1.4 2002/09/05 22:19:03 mroi Exp $ */ #include <stdio.h> @@ -331,22 +331,6 @@ static void wc3_decode_frame (wc3video_decoder_t *this) { *************************************************************************/ /* - * This function is called by xine to determine which buffer types this - * decoder knows how to handle. - * Parameters: - * this_gen: A video decoder object - * buf_type: The number of the buffer type that xine is querying for; - * these buffer constants are defined in src/xine-engine/buffer.h. - * Return: - * 1 if the decoder is capable of handling buf_type - * 0 if the decoder is not capable of handling buf_type - */ -static int wc3video_can_handle (video_decoder_t *this_gen, int buf_type) { - - return (buf_type == BUF_VIDEO_WC3); -} - -/* * This function is called to initialize the video decoder for use. * Initialization usually involves setting up the fields in your * private video decoder object. @@ -525,23 +509,12 @@ static void wc3video_dispose (video_decoder_t *this_gen) { /* * This function should be the plugin's only advertised function to the * outside world. It allows xine to query the plugin module for the addresses - * to the necessary functions in the video decoder object. The video - * decoder object also has a priority field which allows different decoder - * plugins for the same buffer types to coexist peacefully. The higher the - * priority number, the more precedence a decoder has. E.g., 9 beats 1. + * to the necessary functions in the video decoder object. */ -static void *init_video_decoder_plugin (int iface_version, xine_t *xine) { +static void *init_video_decoder_plugin (xine_t *xine, void *data) { wc3video_decoder_t *this ; - if (iface_version != 10) { - printf( "wc3video: plugin doesn't support plugin API version %d.\n" - "wc3video: this means there's a version mismatch between xine and this " - "wc3video: decoder plugin.\nInstalling current plugins should help.\n", - iface_version); - return NULL; - } - this = (wc3video_decoder_t *) malloc (sizeof (wc3video_decoder_t)); memset(this, 0, sizeof (wc3video_decoder_t)); @@ -552,8 +525,20 @@ static void *init_video_decoder_plugin (int iface_version, xine_t *xine) { this->video_decoder.close = wc3video_close; this->video_decoder.get_identifier = wc3video_get_id; this->video_decoder.dispose = wc3video_dispose; - this->video_decoder.priority = 9; return (video_decoder_t *) this; } +/* plugin catalog information */ +static uint32_t supported_types[] = { BUF_VIDEO_WC3, 0 }; + +static decoder_info_t video_decoder_info = { + supported_types, /* supported types */ + 9 /* priority */ +}; + +plugin_info_t xine_plugin_info[] = { + /* type, API, "name", version, special_info, init_function */ + { PLUGIN_VIDEO_DECODER, 10, "WC3 Video", XINE_VERSION_CODE, &video_decoder_info, &init_video_decoder_plugin }, + { PLUGIN_NONE, 0, "", 0, NULL, NULL } +}; diff --git a/src/libxinevdec/yuv.c b/src/libxinevdec/yuv.c index b6976c367..7775f1884 100644 --- a/src/libxinevdec/yuv.c +++ b/src/libxinevdec/yuv.c @@ -21,7 +21,7 @@ * Actually, this decoder just reorganizes chunks of raw YUV data in such * a way that xine can display them. * - * $Id: yuv.c,v 1.5 2002/09/05 20:44:42 mroi Exp $ + * $Id: yuv.c,v 1.6 2002/09/05 22:19:03 mroi Exp $ */ #include <stdio.h> @@ -278,10 +278,7 @@ static void yuv_dispose (video_decoder_t *this_gen) { /* * This function should be the plugin's only advertised function to the * outside world. It allows xine to query the plugin module for the addresses - * to the necessary functions in the video decoder object. The video - * decoder object also has a priority field which allows different decoder - * plugins for the same buffer types to coexist peacefully. The higher the - * priority number, the more precedence a decoder has. E.g., 9 beats 1. + * to the necessary functions in the video decoder object. */ static void *init_video_decoder_plugin (xine_t *xine, void *data) { @@ -297,7 +294,6 @@ static void *init_video_decoder_plugin (xine_t *xine, void *data) { this->video_decoder.close = yuv_close; this->video_decoder.get_identifier = yuv_get_id; this->video_decoder.dispose = yuv_dispose; - this->video_decoder.priority = 1; return this; } |