diff options
author | Daniel Caujolle-Bert <f1rmb@users.sourceforge.net> | 2001-04-21 00:14:39 +0000 |
---|---|---|
committer | Daniel Caujolle-Bert <f1rmb@users.sourceforge.net> | 2001-04-21 00:14:39 +0000 |
commit | 8e7dc911d41be3013198436848492efbce679c9a (patch) | |
tree | e26bc7209baa161d7a790c4f3f2917db201fa7a1 /src/demuxers/demux_mpeg_block.c | |
parent | 9906645c4669be8476c683b7dfcf321b99ac15a1 (diff) | |
download | xine-lib-8e7dc911d41be3013198436848492efbce679c9a.tar.gz xine-lib-8e7dc911d41be3013198436848492efbce679c9a.tar.bz2 |
Turned demuxers into plugins. Change plugins naming scheme (see
xine_internal.h). Fixed load_plugins* to new API. Add iface version
into demux_plugin_t, add version checking into init_demux_plugin.
Fixed get_identifier from demuxers (void param). Turned libw32dll
into codec plugin (only compiling side yet).
CVS patchset: 11
CVS date: 2001/04/21 00:14:39
Diffstat (limited to 'src/demuxers/demux_mpeg_block.c')
-rw-r--r-- | src/demuxers/demux_mpeg_block.c | 40 |
1 files changed, 27 insertions, 13 deletions
diff --git a/src/demuxers/demux_mpeg_block.c b/src/demuxers/demux_mpeg_block.c index d3bf96519..bcdd003f6 100644 --- a/src/demuxers/demux_mpeg_block.c +++ b/src/demuxers/demux_mpeg_block.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: demux_mpeg_block.c,v 1.2 2001/04/19 09:46:57 f1rmb Exp $ + * $Id: demux_mpeg_block.c,v 1.3 2001/04/21 00:14:40 f1rmb Exp $ * * demultiplexer for mpeg 1/2 program streams * @@ -494,7 +494,7 @@ static int demux_mpeg_block_open(demux_plugin_t *this_gen, return DEMUX_CANNOT_HANDLE; } -static char *demux_mpeg_block_get_id(demux_plugin_t *this) { +static char *demux_mpeg_block_get_id(void) { return "MPEG_BLOCK"; } @@ -502,18 +502,32 @@ static void demux_mpeg_block_close (demux_plugin_t *this) { /* nothing */ } -demux_plugin_t *init_demux_mpeg_block(config_values_t *cfg, uint32_t xd) { +demux_plugin_t *init_demux_mpeg_block(int iface, config_values_t *config) { demux_mpeg_block_t *this = xmalloc (sizeof (demux_mpeg_block_t)); - xine_debug = xd; - - this->demux_plugin.open = demux_mpeg_block_open; - this->demux_plugin.start = demux_mpeg_block_start; - this->demux_plugin.stop = demux_mpeg_block_stop; - this->demux_plugin.close = demux_mpeg_block_close; - this->demux_plugin.get_status = demux_mpeg_block_get_status; - this->demux_plugin.get_identifier = demux_mpeg_block_get_id; - - return (demux_plugin_t *) this; + switch (iface) { + + case 1: + // FIXME xine_debug = xd; + this->demux_plugin.interface_version = DEMUXER_PLUGIN_IFACE_VERSION; + this->demux_plugin.open = demux_mpeg_block_open; + this->demux_plugin.start = demux_mpeg_block_start; + this->demux_plugin.stop = demux_mpeg_block_stop; + this->demux_plugin.close = demux_mpeg_block_close; + this->demux_plugin.get_status = demux_mpeg_block_get_status; + this->demux_plugin.get_identifier = demux_mpeg_block_get_id; + + return (demux_plugin_t *) this; + break; + + default: + fprintf(stderr, + "Demuxer plugin doesn't support plugin API version %d.\n" + "PLUGIN DISABLED.\n" + "This means there's a version mismatch between xine and this " + "demuxer plugin.\nInstalling current input plugins should help.\n", + iface); + return NULL; + } } |