~ubuntu-branches/ubuntu/maverick/vlc/maverick

« back to all changes in this revision

Viewing changes to include/main.h

  • Committer: Bazaar Package Importer
  • Author(s): Reinhard Tartler
  • Date: 2008-09-17 21:56:14 UTC
  • mfrom: (1.1.17 upstream)
  • Revision ID: james.westby@ubuntu.com-20080917215614-tj0vx8xzd57e52t8
Tags: 0.9.2-1ubuntu1
* New Upstream Release, exception granted by
    - dktrkranz, norsetto, Hobbsee (via irc). LP: #270404

Changes done in ubuntu:

* add libxul-dev to build-depends
* make sure that vlc is build against libxul in configure. This doesn't
  change anything in the package, but makes it more robust if building
  in an 'unclean' chroot or when modifying the package.
* debian/control: make Vcs-* fields point to the motumedia branch
* add libx264-dev and libass-dev to build-depends
  LP: #210354, #199870
* actually enable libass support by passing --enable-libass to configure
* enable libdca: add libdca-dev to build depends and --enable-libdca
* install the x264 plugin.

Changes already in the pkg-multimedia branch in debian:

* don't install usr/share/vlc/mozilla in debian/mozilla-plugin-vlc.install  
* new upstream .desktop file now registers flash video mimetype LP: #261567
* add Xb-Npp-Applications to mozilla-plugin-vlc
* remove duplicate entries in debian/vlc-nox.install

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*****************************************************************************
2
 
 * main.h: access to all program variables
3
 
 * Declaration and extern access to global program object.
4
 
 *****************************************************************************
5
 
 * Copyright (C) 1999, 2000, 2001, 2002 the VideoLAN team
6
 
 * $Id: 8505478d054c3120ec83cb6e69499daa672e57fe $
7
 
 *
8
 
 * Authors: Vincent Seguin <seguin@via.ecp.fr>
9
 
 *
10
 
 * This program is free software; you can redistribute it and/or modify
11
 
 * it under the terms of the GNU General Public License as published by
12
 
 * the Free Software Foundation; either version 2 of the License, or
13
 
 * (at your option) any later version.
14
 
 *
15
 
 * This program is distributed in the hope that it will be useful,
16
 
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17
 
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18
 
 * GNU General Public License for more details.
19
 
 *
20
 
 * You should have received a copy of the GNU General Public License
21
 
 * along with this program; if not, write to the Free Software
22
 
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
23
 
 *****************************************************************************/
24
 
 
25
 
/*****************************************************************************
26
 
 * libvlc_t (global variable)
27
 
 *****************************************************************************
28
 
 * This structure has an unique instance, statically allocated in main and
29
 
 * never accessed from the outside. It store once-initialized data such as
30
 
 * the CPU capabilities or the global lock.
31
 
 *****************************************************************************/
32
 
struct libvlc_t
33
 
{
34
 
    VLC_COMMON_MEMBERS
35
 
 
36
 
    /* Initialization boolean */
37
 
    vlc_bool_t             b_ready;
38
 
 
39
 
    /* CPU extensions */
40
 
    uint32_t               i_cpu;
41
 
 
42
 
    /* Generic settings */
43
 
    int                    i_verbose;                       /* info messages */
44
 
    vlc_bool_t             b_color;                       /* color messages? */
45
 
 
46
 
    /* Object structure data */
47
 
    int                    i_counter;                      /* object counter */
48
 
    int                    i_objects;              /* Attached objects count */
49
 
    vlc_object_t **        pp_objects;               /* Array of all objects */
50
 
 
51
 
    /* The message bank */
52
 
    msg_bank_t             msg_bank;
53
 
 
54
 
    /* The module bank */
55
 
    module_bank_t *        p_module_bank;
56
 
 
57
 
    /* Do stats ? - We keep this boolean to avoid unneeded lookups */
58
 
    vlc_bool_t             b_stats;
59
 
    stats_handler_t       *p_stats;
60
 
 
61
 
    /* Arch-specific variables */
62
 
#if !defined( WIN32 )
63
 
    vlc_bool_t             b_daemon;
64
 
#endif
65
 
#if defined( SYS_BEOS )
66
 
    vlc_object_t *         p_appthread;
67
 
    char *                 psz_vlcpath;
68
 
#elif defined( __APPLE__ )
69
 
    char *                 psz_vlcpath;
70
 
    vlc_iconv_t            iconv_macosx; /* for HFS+ file names */
71
 
    vlc_mutex_t            iconv_lock;
72
 
#elif defined( WIN32 ) && !defined( UNDER_CE )
73
 
    SIGNALOBJECTANDWAIT    SignalObjectAndWait;
74
 
    vlc_bool_t             b_fast_mutex;
75
 
    int                    i_win9x_cv;
76
 
    char *                 psz_vlcpath;
77
 
#elif defined( UNDER_CE )
78
 
    char *                 psz_vlcpath;
79
 
#endif
80
 
};
81
 
 
82
 
/*****************************************************************************
83
 
 * vlc_t, p_vlc
84
 
 *****************************************************************************
85
 
 * This structure is a LibVLC instance.
86
 
 *****************************************************************************/
87
 
struct vlc_t
88
 
{
89
 
    VLC_COMMON_MEMBERS
90
 
 
91
 
    /* Global properties */
92
 
    int                    i_argc;           /* command line arguments count */
93
 
    char **                ppsz_argv;              /* command line arguments */
94
 
    char *                 psz_homedir;           /* configuration directory */
95
 
    char *                 psz_userdir;             /* user's home directory */
96
 
    char *                 psz_configfile;        /* location of config file */
97
 
 
98
 
    /* Fast memcpy plugin used */
99
 
    module_t *             p_memcpy_module;
100
 
    void* ( *pf_memcpy ) ( void *, const void *, size_t );
101
 
    void* ( *pf_memset ) ( void *, int, size_t );
102
 
 
103
 
    /* Shared data - these structures are accessed directly from p_vlc by
104
 
     * several modules */
105
 
 
106
 
    /* Locks */
107
 
    vlc_mutex_t            config_lock;          /* lock for the config file */
108
 
#ifdef __APPLE__
109
 
    vlc_mutex_t            quicktime_lock;          /* QT is not thread safe on OSX */
110
 
#endif
111
 
 
112
 
    /* Structure storing the action name / key associations */
113
 
    struct hotkey
114
 
    {
115
 
        const char *psz_action;
116
 
        int i_action;
117
 
        int i_key;
118
 
 
119
 
        /* hotkey accounting information */
120
 
        mtime_t i_delta_date;/*< minimum delta time between two key presses */
121
 
        mtime_t i_last_date; /*< last date key was pressed */
122
 
        int     i_times;     /*< n times pressed within delta date*/
123
 
    } *p_hotkeys;
124
 
};
125