~diwic/ubuntu/lucid/pulseaudio/bugfixes

« back to all changes in this revision

Viewing changes to src/pulsecore/core.h

  • Committer: Bazaar Package Importer
  • Author(s): Luke Yelavich
  • Date: 2008-11-04 15:46:00 UTC
  • mfrom: (1.2.1 upstream) (1.1.6 lenny)
  • Revision ID: james.westby@ubuntu.com-20081104154600-hlzknpcazaam0nxm
Tags: 0.9.13-1ubuntu1
* Merge from Debian unstable, remaining changes:
  - Don't build against, and create jack package. Jack is not in main.
  - Remove --disable-per-user-esound-socket from configure flags, as we still
    want per user esound sockets.
  - Remove stop links from rc0 and rc6.
  - Change default resample algorithm and bubffer size.
  - Add alsa configuration files to route alsa applications via pulseaudio.
  - Move libasound2-plugins from Recommends to Depends.
* debian/pulseaudio.preinst: When upgrading from intrepid, remove
  /etc/X11/Xsession.d/70pulseaudio, as this was used to minimize a race
  condition when starting GNOME in intrepid. This race should not exist in
  jaunty once libcanberra is built to use pulseaudio as a backend.
* Do not spawn a pulseaudio server if clients fail to find a running server.
* Remove explicit version dependency for libspeex-dev to allow the package
  to be built for now.
* Regenerate autotools files to work with Ubuntu's newer libtool/libltdl.
* debian/control: libpulsecore5 -> libpulsecore8 to match the library
  soname.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
#ifndef foocorehfoo
2
2
#define foocorehfoo
3
3
 
4
 
/* $Id: core.h 2067 2007-11-21 01:30:40Z lennart $ */
5
 
 
6
4
/***
7
5
  This file is part of PulseAudio.
8
6
 
35
33
#include <pulsecore/llist.h>
36
34
#include <pulsecore/hook-list.h>
37
35
#include <pulsecore/asyncmsgq.h>
 
36
#include <pulsecore/sample-util.h>
38
37
 
39
38
typedef struct pa_core pa_core;
40
39
 
43
42
#include <pulsecore/msgobject.h>
44
43
 
45
44
typedef enum pa_core_hook {
46
 
    PA_CORE_HOOK_SINK_NEW_POST,
 
45
    PA_CORE_HOOK_SINK_NEW,
 
46
    PA_CORE_HOOK_SINK_FIXATE,
 
47
    PA_CORE_HOOK_SINK_PUT,
47
48
    PA_CORE_HOOK_SINK_UNLINK,
48
49
    PA_CORE_HOOK_SINK_UNLINK_POST,
49
50
    PA_CORE_HOOK_SINK_STATE_CHANGED,
50
 
    PA_CORE_HOOK_SINK_DESCRIPTION_CHANGED,
51
 
    PA_CORE_HOOK_SOURCE_NEW_POST,
 
51
    PA_CORE_HOOK_SINK_PROPLIST_CHANGED,
 
52
    PA_CORE_HOOK_SOURCE_NEW,
 
53
    PA_CORE_HOOK_SOURCE_FIXATE,
 
54
    PA_CORE_HOOK_SOURCE_PUT,
52
55
    PA_CORE_HOOK_SOURCE_UNLINK,
53
56
    PA_CORE_HOOK_SOURCE_UNLINK_POST,
54
57
    PA_CORE_HOOK_SOURCE_STATE_CHANGED,
55
 
    PA_CORE_HOOK_SOURCE_DESCRIPTION_CHANGED,
 
58
    PA_CORE_HOOK_SOURCE_PROPLIST_CHANGED,
56
59
    PA_CORE_HOOK_SINK_INPUT_NEW,
57
60
    PA_CORE_HOOK_SINK_INPUT_FIXATE,
58
61
    PA_CORE_HOOK_SINK_INPUT_PUT,
60
63
    PA_CORE_HOOK_SINK_INPUT_UNLINK_POST,
61
64
    PA_CORE_HOOK_SINK_INPUT_MOVE,
62
65
    PA_CORE_HOOK_SINK_INPUT_MOVE_POST,
63
 
    PA_CORE_HOOK_SINK_INPUT_NAME_CHANGED,
64
66
    PA_CORE_HOOK_SINK_INPUT_STATE_CHANGED,
 
67
    PA_CORE_HOOK_SINK_INPUT_PROPLIST_CHANGED,
65
68
    PA_CORE_HOOK_SOURCE_OUTPUT_NEW,
66
69
    PA_CORE_HOOK_SOURCE_OUTPUT_FIXATE,
67
70
    PA_CORE_HOOK_SOURCE_OUTPUT_PUT,
69
72
    PA_CORE_HOOK_SOURCE_OUTPUT_UNLINK_POST,
70
73
    PA_CORE_HOOK_SOURCE_OUTPUT_MOVE,
71
74
    PA_CORE_HOOK_SOURCE_OUTPUT_MOVE_POST,
72
 
    PA_CORE_HOOK_SOURCE_OUTPUT_NAME_CHANGED,
73
75
    PA_CORE_HOOK_SOURCE_OUTPUT_STATE_CHANGED,
 
76
    PA_CORE_HOOK_SOURCE_OUTPUT_PROPLIST_CHANGED,
74
77
    PA_CORE_HOOK_MAX
75
78
} pa_core_hook_t;
76
79
 
91
94
    pa_idxset *clients, *sinks, *sources, *sink_inputs, *source_outputs, *modules, *scache, *autoload_idxset;
92
95
 
93
96
    /* Some hashmaps for all sorts of entities */
94
 
    pa_hashmap *namereg, *autoload_hashmap, *properties;
 
97
    pa_hashmap *namereg, *autoload_hashmap, *shared;
95
98
 
96
99
    /* The name of the default sink/source */
97
100
    char *default_source_name, *default_sink_name;
108
111
    pa_subscription_event *subscription_event_last;
109
112
 
110
113
    pa_mempool *mempool;
 
114
    pa_silence_cache silence_cache;
111
115
 
112
116
    int exit_idle_time, module_idle_time, scache_idle_time;
113
117
 
114
 
    pa_time_event *quit_event;
 
118
    pa_time_event *exit_event;
115
119
 
116
120
    pa_time_event *scache_auto_unload_event;
117
121
 
118
 
    pa_bool_t disallow_module_loading, running_as_daemon;
 
122
    pa_bool_t disallow_module_loading:1;
 
123
    pa_bool_t disallow_exit:1;
 
124
    pa_bool_t running_as_daemon:1;
 
125
    pa_bool_t realtime_scheduling:1;
 
126
    pa_bool_t disable_remixing:1;
 
127
    pa_bool_t disable_lfe_remixing:1;
 
128
 
119
129
    pa_resample_method_t resample_method;
120
 
    pa_bool_t is_system_instance;
121
 
    pa_bool_t realtime_scheduling;
122
130
    int realtime_priority;
123
 
    pa_bool_t disable_remixing;
124
131
 
125
132
    /* hooks */
126
133
    pa_hook hooks[PA_CORE_HOOK_MAX];
134
141
    PA_CORE_MESSAGE_MAX
135
142
};
136
143
 
137
 
pa_core* pa_core_new(pa_mainloop_api *m, int shared);
 
144
pa_core* pa_core_new(pa_mainloop_api *m, pa_bool_t shared, size_t shm_size);
138
145
 
139
146
/* Check whether noone is connected to this core */
140
 
void pa_core_check_quit(pa_core *c);
 
147
void pa_core_check_idle(pa_core *c);
 
148
 
 
149
int pa_core_exit(pa_core *c, pa_bool_t force, int retval);
141
150
 
142
151
#endif