xine-lib 1.2.11
plugin_catalog.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2000-2018 the xine project
3 *
4 * This file is part of xine, a free video player.
5 *
6 * xine is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * xine is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
19 *
20 * xine-internal header: Definitions for plugin lists
21 */
22
23#ifndef _PLUGIN_CATALOG_H
24#define _PLUGIN_CATALOG_H
25
26#include <xine/xine_plugin.h>
27#include <xine/xineutils.h>
28
29#define DECODER_MAX 128
30#define PLUGIN_MAX 256
31
32/* the engine takes this many plugins for one stream type */
33#define PLUGINS_PER_TYPE 10
34
35typedef struct {
36 char *filename;
37 off_t filesize;
38 time_t filemtime;
40 int ref; /* count number of classes */
41 int no_unload; /* set if the file can't be unloaded */
43
44typedef struct plugin_node_s {
49 int ref; /* count intances of plugins */
52
55
58
62
63 const char *ids[PLUGIN_MAX];
64
65 /* memory block for the decoder priority config entry descriptions */
67
68 pthread_mutex_t lock; /* recursive mutex */
69
72
74};
76
77#endif
#define DECODER_MAX
Definition: plugin_catalog.h:29
struct plugin_node_s plugin_node_t
#define PLUGINS_PER_TYPE
Definition: plugin_catalog.h:33
#define PLUGIN_MAX
Definition: plugin_catalog.h:30
Definition: plugin_catalog.h:53
int plugin_count
Definition: plugin_catalog.h:70
pthread_mutex_t lock
Definition: plugin_catalog.h:68
xine_sarray_t * modules_list
Definition: plugin_catalog.h:73
const char * ids[256]
Definition: plugin_catalog.h:63
plugin_node_t * spu_decoder_map[128][10]
Definition: plugin_catalog.h:61
int decoder_count
Definition: plugin_catalog.h:71
xine_sarray_t * plugin_lists[PLUGIN_TYPE_MAX]
Definition: plugin_catalog.h:54
xine_list_t * file_list
Definition: plugin_catalog.h:57
plugin_node_t * video_decoder_map[128][10]
Definition: plugin_catalog.h:60
plugin_node_t * audio_decoder_map[128][10]
Definition: plugin_catalog.h:59
char * prio_desc[128]
Definition: plugin_catalog.h:66
xine_sarray_t * cache_list
Definition: plugin_catalog.h:56
Definition: plugin_catalog.h:35
void * lib_handle
Definition: plugin_catalog.h:39
time_t filemtime
Definition: plugin_catalog.h:38
int ref
Definition: plugin_catalog.h:40
off_t filesize
Definition: plugin_catalog.h:37
int no_unload
Definition: plugin_catalog.h:41
char * filename
Definition: plugin_catalog.h:36
Definition: xine_plugin.h:55
Definition: plugin_catalog.h:44
xine_list_t * config_entry_list
Definition: plugin_catalog.h:48
plugin_file_t * file
Definition: plugin_catalog.h:45
int priority
Definition: plugin_catalog.h:50
plugin_info_t * info
Definition: plugin_catalog.h:46
int ref
Definition: plugin_catalog.h:49
void * plugin_class
Definition: plugin_catalog.h:47
Definition: list.c:51
Definition: sorted_array.c:34
#define PLUGIN_TYPE_MAX
Definition: xine_plugin.h:39