mirror of
				https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
				synced 2025-11-03 09:01:50 -05:00 
			
		
		
		
	Spelling fixes in public headers
This commit is contained in:
		
							parent
							
								
									460a24778b
								
							
						
					
					
						commit
						231645d4fc
					
				
					 10 changed files with 39 additions and 39 deletions
				
			
		| 
						 | 
					@ -48,14 +48,14 @@
 | 
				
			||||||
 *                       that some implementations may block all other events
 | 
					 *                       that some implementations may block all other events
 | 
				
			||||||
 *                       when a deferred event is active.
 | 
					 *                       when a deferred event is active.
 | 
				
			||||||
 * \li I/O events - Events that trigger on file descriptor activities.
 | 
					 * \li I/O events - Events that trigger on file descriptor activities.
 | 
				
			||||||
 * \li Times events - Events that trigger after a fixed ammount of time.
 | 
					 * \li Times events - Events that trigger after a fixed amount of time.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * The abstraction is represented as a number of function pointers in the
 | 
					 * The abstraction is represented as a number of function pointers in the
 | 
				
			||||||
 * pa_mainloop_api structure.
 | 
					 * pa_mainloop_api structure.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * To actually be able to use these functions, an implementation needs to
 | 
					 * To actually be able to use these functions, an implementation needs to
 | 
				
			||||||
 * be coupled to the abstraction. There are three of these shipped with
 | 
					 * be coupled to the abstraction. There are three of these shipped with
 | 
				
			||||||
 * PulseAudio, but any other can be used with a minimal ammount of work,
 | 
					 * PulseAudio, but any other can be used with a minimal amount of work,
 | 
				
			||||||
 * provided it supports the three basic events listed above.
 | 
					 * provided it supports the three basic events listed above.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * The implementations shipped with PulseAudio are:
 | 
					 * The implementations shipped with PulseAudio are:
 | 
				
			||||||
| 
						 | 
					@ -143,7 +143,7 @@
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** \file
 | 
					/** \file
 | 
				
			||||||
 * Connection contexts for asynchrononous communication with a
 | 
					 * Connection contexts for asynchronous communication with a
 | 
				
			||||||
 * server. A pa_context object wraps a connection to a PulseAudio
 | 
					 * server. A pa_context object wraps a connection to a PulseAudio
 | 
				
			||||||
 * server using its native protocol.
 | 
					 * server using its native protocol.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
| 
						 | 
					@ -187,7 +187,7 @@ pa_context* pa_context_ref(pa_context *c);
 | 
				
			||||||
/** Set a callback function that is called whenever the context status changes */
 | 
					/** Set a callback function that is called whenever the context status changes */
 | 
				
			||||||
void pa_context_set_state_callback(pa_context *c, pa_context_notify_cb_t cb, void *userdata);
 | 
					void pa_context_set_state_callback(pa_context *c, pa_context_notify_cb_t cb, void *userdata);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** Set a callback function that is called whenver a meta/policy
 | 
					/** Set a callback function that is called whenever a meta/policy
 | 
				
			||||||
 * control event is received. \since 0.9.15 */
 | 
					 * control event is received. \since 0.9.15 */
 | 
				
			||||||
void pa_context_set_event_callback(pa_context *p, pa_context_event_cb_t cb, void *userdata);
 | 
					void pa_context_set_event_callback(pa_context *p, pa_context_event_cb_t cb, void *userdata);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -217,7 +217,7 @@ void pa_context_disconnect(pa_context *c);
 | 
				
			||||||
pa_operation* pa_context_drain(pa_context *c, pa_context_notify_cb_t cb, void *userdata);
 | 
					pa_operation* pa_context_drain(pa_context *c, pa_context_notify_cb_t cb, void *userdata);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** Tell the daemon to exit. The returned operation is unlikely to
 | 
					/** Tell the daemon to exit. The returned operation is unlikely to
 | 
				
			||||||
 * complete succesfully, since the daemon probably died before
 | 
					 * complete successfully, since the daemon probably died before
 | 
				
			||||||
 * returning a success notification */
 | 
					 * returning a success notification */
 | 
				
			||||||
pa_operation* pa_context_exit_daemon(pa_context *c, pa_context_success_cb_t cb, void *userdata);
 | 
					pa_operation* pa_context_exit_daemon(pa_context *c, pa_context_success_cb_t cb, void *userdata);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -119,7 +119,7 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifndef PA_GCC_WEAKREF
 | 
					#ifndef PA_GCC_WEAKREF
 | 
				
			||||||
#if defined(__GNUC__) && defined(__ELF__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ > 1)) || (__GNUC__ > 4))
 | 
					#if defined(__GNUC__) && defined(__ELF__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ > 1)) || (__GNUC__ > 4))
 | 
				
			||||||
/** Macro for usgae of GCC's weakref attribute */
 | 
					/** Macro for usage of GCC's weakref attribute */
 | 
				
			||||||
#define PA_GCC_WEAKREF(x) __attribute__((weakref(#x)));
 | 
					#define PA_GCC_WEAKREF(x) __attribute__((weakref(#x)));
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -33,14 +33,14 @@
 | 
				
			||||||
 * Main loop abstraction layer. Both the PulseAudio core and the
 | 
					 * Main loop abstraction layer. Both the PulseAudio core and the
 | 
				
			||||||
 * PulseAudio client library use a main loop abstraction layer. Due to
 | 
					 * PulseAudio client library use a main loop abstraction layer. Due to
 | 
				
			||||||
 * this it is possible to embed PulseAudio into other
 | 
					 * this it is possible to embed PulseAudio into other
 | 
				
			||||||
 * applications easily. Two main loop implemenations are
 | 
					 * applications easily. Two main loop implementations are
 | 
				
			||||||
 * currently available:
 | 
					 * currently available:
 | 
				
			||||||
 * \li A minimal implementation based on the C library's poll() function (See \ref mainloop.h)
 | 
					 * \li A minimal implementation based on the C library's poll() function (See \ref mainloop.h)
 | 
				
			||||||
 * \li A wrapper around the GLIB main loop. Use this to embed PulseAudio into your GLIB/GTK+/GNOME programs (See \ref glib-mainloop.h)
 | 
					 * \li A wrapper around the GLIB main loop. Use this to embed PulseAudio into your GLIB/GTK+/GNOME programs (See \ref glib-mainloop.h)
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * The structure pa_mainloop_api is used as vtable for the main loop abstraction.
 | 
					 * The structure pa_mainloop_api is used as vtable for the main loop abstraction.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This mainloop abstraction layer has no direct support for UNIX signals. Generic, mainloop implementation agnostic support is available throught \ref mainloop-signal.h.
 | 
					 * This mainloop abstraction layer has no direct support for UNIX signals. Generic, mainloop implementation agnostic support is available through \ref mainloop-signal.h.
 | 
				
			||||||
 * */
 | 
					 * */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
PA_C_DECL_BEGIN
 | 
					PA_C_DECL_BEGIN
 | 
				
			||||||
| 
						 | 
					@ -59,7 +59,7 @@ typedef enum pa_io_event_flags {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** An opaque IO event source object */
 | 
					/** An opaque IO event source object */
 | 
				
			||||||
typedef struct pa_io_event pa_io_event;
 | 
					typedef struct pa_io_event pa_io_event;
 | 
				
			||||||
/** An IO event callback protoype \since 0.9.3 */
 | 
					/** An IO event callback prototype \since 0.9.3 */
 | 
				
			||||||
typedef void (*pa_io_event_cb_t)(pa_mainloop_api*ea, pa_io_event* e, int fd, pa_io_event_flags_t events, void *userdata);
 | 
					typedef void (*pa_io_event_cb_t)(pa_mainloop_api*ea, pa_io_event* e, int fd, pa_io_event_flags_t events, void *userdata);
 | 
				
			||||||
/** A IO event destroy callback prototype \ since 0.9.3 */
 | 
					/** A IO event destroy callback prototype \ since 0.9.3 */
 | 
				
			||||||
typedef void (*pa_io_event_destroy_cb_t)(pa_mainloop_api*a, pa_io_event *e, void *userdata);
 | 
					typedef void (*pa_io_event_destroy_cb_t)(pa_mainloop_api*a, pa_io_event *e, void *userdata);
 | 
				
			||||||
| 
						 | 
					@ -73,7 +73,7 @@ typedef void (*pa_time_event_destroy_cb_t)(pa_mainloop_api*a, pa_time_event *e,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** An opaque deferred event source object. Events of this type are triggered once in every main loop iteration */
 | 
					/** An opaque deferred event source object. Events of this type are triggered once in every main loop iteration */
 | 
				
			||||||
typedef struct pa_defer_event pa_defer_event;
 | 
					typedef struct pa_defer_event pa_defer_event;
 | 
				
			||||||
/** A defer event callback protoype \since 0.9.3 */
 | 
					/** A defer event callback prototype \since 0.9.3 */
 | 
				
			||||||
typedef void (*pa_defer_event_cb_t)(pa_mainloop_api*a, pa_defer_event* e, void *userdata);
 | 
					typedef void (*pa_defer_event_cb_t)(pa_mainloop_api*a, pa_defer_event* e, void *userdata);
 | 
				
			||||||
/** A defer event destroy callback prototype \ since 0.9.3 */
 | 
					/** A defer event destroy callback prototype \ since 0.9.3 */
 | 
				
			||||||
typedef void (*pa_defer_event_destroy_cb_t)(pa_mainloop_api*a, pa_defer_event *e, void *userdata);
 | 
					typedef void (*pa_defer_event_destroy_cb_t)(pa_mainloop_api*a, pa_defer_event *e, void *userdata);
 | 
				
			||||||
| 
						 | 
					@ -110,7 +110,7 @@ struct pa_mainloop_api {
 | 
				
			||||||
    /** Set a function that is called when the deferred event source is destroyed. Use this to free the userdata argument if required */
 | 
					    /** Set a function that is called when the deferred event source is destroyed. Use this to free the userdata argument if required */
 | 
				
			||||||
    void (*defer_set_destroy)(pa_defer_event *e, pa_defer_event_destroy_cb_t cb);
 | 
					    void (*defer_set_destroy)(pa_defer_event *e, pa_defer_event_destroy_cb_t cb);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /** Exit the main loop and return the specfied retval*/
 | 
					    /** Exit the main loop and return the specified retval*/
 | 
				
			||||||
    void (*quit)(pa_mainloop_api*a, int retval);
 | 
					    void (*quit)(pa_mainloop_api*a, int retval);
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -124,7 +124,7 @@ PA_C_DECL_BEGIN
 | 
				
			||||||
/** For streams that belong to a window on the screen: relative position of the window center on the screen, float formatted as text string, ranging from 0.0 (top of the screen) to 1.0 (bottom of the screen). e.g. "0.43". \since 0.9.17 */
 | 
					/** For streams that belong to a window on the screen: relative position of the window center on the screen, float formatted as text string, ranging from 0.0 (top of the screen) to 1.0 (bottom of the screen). e.g. "0.43". \since 0.9.17 */
 | 
				
			||||||
#define PA_PROP_WINDOW_VPOS                    "window.vpos"
 | 
					#define PA_PROP_WINDOW_VPOS                    "window.vpos"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** For streams that belong to a window on the screen: if the windowing system supports multiple desktops, a comma seperated list of indexes of the desktops this window is visible on. If this property is an empty string, it is visible on all desktops (i.e. 'sticky'). The first desktop is 0. e.g. "0,2,3" \since 0.9.18 */
 | 
					/** For streams that belong to a window on the screen: if the windowing system supports multiple desktops, a comma separated list of indexes of the desktops this window is visible on. If this property is an empty string, it is visible on all desktops (i.e. 'sticky'). The first desktop is 0. e.g. "0,2,3" \since 0.9.18 */
 | 
				
			||||||
#define PA_PROP_WINDOW_DESKTOP                 "window.desktop"
 | 
					#define PA_PROP_WINDOW_DESKTOP                 "window.desktop"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** For streams that belong to an X11 window on the screen: the X11 display string. e.g. ":0.0" */
 | 
					/** For streams that belong to an X11 window on the screen: the X11 display string. e.g. ":0.0" */
 | 
				
			||||||
| 
						 | 
					@ -236,7 +236,7 @@ PA_C_DECL_BEGIN
 | 
				
			||||||
/** For devices: profile identifier for the profile this devices is in. e.g. "analog-stereo", "analog-surround-40", "iec958-stereo", ...*/
 | 
					/** For devices: profile identifier for the profile this devices is in. e.g. "analog-stereo", "analog-surround-40", "iec958-stereo", ...*/
 | 
				
			||||||
#define PA_PROP_DEVICE_PROFILE_NAME            "device.profile.name"
 | 
					#define PA_PROP_DEVICE_PROFILE_NAME            "device.profile.name"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** For devices: intended use. A comma seperated list of roles (see PA_PROP_MEDIA_ROLE) this device is particularly well suited for, due to latency, quality or form factor. \since 0.9.16 */
 | 
					/** For devices: intended use. A comma separated list of roles (see PA_PROP_MEDIA_ROLE) this device is particularly well suited for, due to latency, quality or form factor. \since 0.9.16 */
 | 
				
			||||||
#define PA_PROP_DEVICE_INTENDED_ROLES          "device.intended_roles"
 | 
					#define PA_PROP_DEVICE_INTENDED_ROLES          "device.intended_roles"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** For devices: human readable one-line description of the profile this device is in. e.g. "Analog Stereo", ... */
 | 
					/** For devices: human readable one-line description of the profile this device is in. e.g. "Analog Stereo", ... */
 | 
				
			||||||
| 
						 | 
					@ -359,19 +359,19 @@ int pa_proplist_unset_many(pa_proplist *p, const char * const keys[]);
 | 
				
			||||||
 * which should be called in a loop until it returns NULL which
 | 
					 * which should be called in a loop until it returns NULL which
 | 
				
			||||||
 * signifies EOL. The property list should not be modified during
 | 
					 * signifies EOL. The property list should not be modified during
 | 
				
			||||||
 * iteration through the list -- except for deleting the current
 | 
					 * iteration through the list -- except for deleting the current
 | 
				
			||||||
 * looked at entry. On each invication this function will return the
 | 
					 * looked at entry. On each invocation this function will return the
 | 
				
			||||||
 * key string for the next entry. The keys in the property list do not
 | 
					 * key string for the next entry. The keys in the property list do not
 | 
				
			||||||
 * have any particular order. \since 0.9.11 */
 | 
					 * have any particular order. \since 0.9.11 */
 | 
				
			||||||
const char *pa_proplist_iterate(pa_proplist *p, void **state);
 | 
					const char *pa_proplist_iterate(pa_proplist *p, void **state);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** Format the property list nicely as a human readable string. This
 | 
					/** Format the property list nicely as a human readable string. This
 | 
				
			||||||
 * works very much like pa_proplist_to_string_sep() and uses a newline
 | 
					 * works very much like pa_proplist_to_string_sep() and uses a newline
 | 
				
			||||||
 * as seperator and appends one final one. Call pa_xfree() on the
 | 
					 * as separator and appends one final one. Call pa_xfree() on the
 | 
				
			||||||
 * result. \since 0.9.11 */
 | 
					 * result. \since 0.9.11 */
 | 
				
			||||||
char *pa_proplist_to_string(pa_proplist *p);
 | 
					char *pa_proplist_to_string(pa_proplist *p);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** Format the property list nicely as a human readable string and
 | 
					/** Format the property list nicely as a human readable string and
 | 
				
			||||||
 * choose the seperator. Call pa_xfree() on the result. \since
 | 
					 * choose the separator. Call pa_xfree() on the result. \since
 | 
				
			||||||
 * 0.9.15 */
 | 
					 * 0.9.15 */
 | 
				
			||||||
char *pa_proplist_to_string_sep(pa_proplist *p, const char *sep);
 | 
					char *pa_proplist_to_string_sep(pa_proplist *p, const char *sep);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -379,7 +379,7 @@ char *pa_proplist_to_string_sep(pa_proplist *p, const char *sep);
 | 
				
			||||||
 * readable string. \since 0.9.15 */
 | 
					 * readable string. \since 0.9.15 */
 | 
				
			||||||
pa_proplist *pa_proplist_from_string(const char *str);
 | 
					pa_proplist *pa_proplist_from_string(const char *str);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** Returns 1 if an entry for the specified key is existant in the
 | 
					/** Returns 1 if an entry for the specified key exists in the
 | 
				
			||||||
 * property list. \since 0.9.11 */
 | 
					 * property list. \since 0.9.11 */
 | 
				
			||||||
int pa_proplist_contains(pa_proplist *p, const char *key);
 | 
					int pa_proplist_contains(pa_proplist *p, const char *key);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -85,7 +85,7 @@
 | 
				
			||||||
 * based style or if you want to use the advanced features of the
 | 
					 * based style or if you want to use the advanced features of the
 | 
				
			||||||
 * PulseAudio API. A guide can be found in \subpage async.
 | 
					 * PulseAudio API. A guide can be found in \subpage async.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * By using the built-in threaded main loop, it is possible to acheive a
 | 
					 * By using the built-in threaded main loop, it is possible to achieve a
 | 
				
			||||||
 * pseudo-synchronous API, which can be useful in synchronous applications
 | 
					 * pseudo-synchronous API, which can be useful in synchronous applications
 | 
				
			||||||
 * where the simple API is insufficient. See the \ref async page for
 | 
					 * where the simple API is insufficient. See the \ref async page for
 | 
				
			||||||
 * details.
 | 
					 * details.
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -71,7 +71,7 @@
 | 
				
			||||||
 * \section chan_sec Channels
 | 
					 * \section chan_sec Channels
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * PulseAudio supports up to 32 individual channels. The order of the
 | 
					 * PulseAudio supports up to 32 individual channels. The order of the
 | 
				
			||||||
 * channels is up to the application, but they must be continous. To map
 | 
					 * channels is up to the application, but they must be continuous. To map
 | 
				
			||||||
 * channels to speakers, see \ref channelmap.
 | 
					 * channels to speakers, see \ref channelmap.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * \section calc_sec Calculations
 | 
					 * \section calc_sec Calculations
 | 
				
			||||||
| 
						 | 
					@ -315,11 +315,11 @@ char* pa_sample_spec_snprint(char *s, size_t l, const pa_sample_spec *spec);
 | 
				
			||||||
char* pa_bytes_snprint(char *s, size_t l, unsigned v);
 | 
					char* pa_bytes_snprint(char *s, size_t l, unsigned v);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** Return 1 when the specified format is little endian, return -1
 | 
					/** Return 1 when the specified format is little endian, return -1
 | 
				
			||||||
 * when endianess does not apply to this format. \since 0.9.16 */
 | 
					 * when endianness does not apply to this format. \since 0.9.16 */
 | 
				
			||||||
int pa_sample_format_is_le(pa_sample_format_t f) PA_GCC_PURE;
 | 
					int pa_sample_format_is_le(pa_sample_format_t f) PA_GCC_PURE;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** Return 1 when the specified format is big endian, return -1 when
 | 
					/** Return 1 when the specified format is big endian, return -1 when
 | 
				
			||||||
 * endianess does not apply to this format. \since 0.9.16 */
 | 
					 * endianness does not apply to this format. \since 0.9.16 */
 | 
				
			||||||
int pa_sample_format_is_be(pa_sample_format_t f) PA_GCC_PURE;
 | 
					int pa_sample_format_is_be(pa_sample_format_t f) PA_GCC_PURE;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef WORDS_BIGENDIAN
 | 
					#ifdef WORDS_BIGENDIAN
 | 
				
			||||||
| 
						 | 
					@ -327,10 +327,10 @@ int pa_sample_format_is_be(pa_sample_format_t f) PA_GCC_PURE;
 | 
				
			||||||
#define pa_sample_format_is_re(f) pa_sample_format_is_le(f)
 | 
					#define pa_sample_format_is_re(f) pa_sample_format_is_le(f)
 | 
				
			||||||
#else
 | 
					#else
 | 
				
			||||||
/** Return 1 when the specified format is native endian, return -1
 | 
					/** Return 1 when the specified format is native endian, return -1
 | 
				
			||||||
 * when endianess does not apply to this format. \since 0.9.16 */
 | 
					 * when endianness does not apply to this format. \since 0.9.16 */
 | 
				
			||||||
#define pa_sample_format_is_ne(f) pa_sample_format_is_le(f)
 | 
					#define pa_sample_format_is_ne(f) pa_sample_format_is_le(f)
 | 
				
			||||||
/** Return 1 when the specified format is reverse endian, return -1
 | 
					/** Return 1 when the specified format is reverse endian, return -1
 | 
				
			||||||
 * when endianess does not apply to this format. \since 0.9.16 */
 | 
					 * when endianness does not apply to this format. \since 0.9.16 */
 | 
				
			||||||
#define pa_sample_format_is_re(f) pa_sample_format_is_be(f)
 | 
					#define pa_sample_format_is_re(f) pa_sample_format_is_be(f)
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -39,7 +39,7 @@
 | 
				
			||||||
 * playback or capture needs. It can only support a single stream per
 | 
					 * playback or capture needs. It can only support a single stream per
 | 
				
			||||||
 * connection and has no handling of complex features like events, channel
 | 
					 * connection and has no handling of complex features like events, channel
 | 
				
			||||||
 * mappings and volume control. It is, however, very simple to use and
 | 
					 * mappings and volume control. It is, however, very simple to use and
 | 
				
			||||||
 * quite sufficent for many programs.
 | 
					 * quite sufficient for many programs.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * \section conn_sec Connecting
 | 
					 * \section conn_sec Connecting
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -155,7 +155,7 @@
 | 
				
			||||||
 * index. The application writes to the write index and the sound
 | 
					 * index. The application writes to the write index and the sound
 | 
				
			||||||
 * device reads from the read index. The read index is increased
 | 
					 * device reads from the read index. The read index is increased
 | 
				
			||||||
 * monotonically, while the write index may be freely controlled by
 | 
					 * monotonically, while the write index may be freely controlled by
 | 
				
			||||||
 * the application. Substracting the read index from the write index
 | 
					 * the application. Subtracting the read index from the write index
 | 
				
			||||||
 * will give you the current fill level of the buffer. The read/write
 | 
					 * will give you the current fill level of the buffer. The read/write
 | 
				
			||||||
 * indexes are 64bit values and measured in bytes, they will never
 | 
					 * indexes are 64bit values and measured in bytes, they will never
 | 
				
			||||||
 * wrap. The current read/write index may be queried using
 | 
					 * wrap. The current read/write index may be queried using
 | 
				
			||||||
| 
						 | 
					@ -194,7 +194,7 @@
 | 
				
			||||||
 * The transfer buffers can be controlled through a number of operations:
 | 
					 * The transfer buffers can be controlled through a number of operations:
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * \li pa_stream_cork() - Start or stop the playback or recording.
 | 
					 * \li pa_stream_cork() - Start or stop the playback or recording.
 | 
				
			||||||
 * \li pa_stream_trigger() - Start playback immediatly and do not wait for
 | 
					 * \li pa_stream_trigger() - Start playback immediately and do not wait for
 | 
				
			||||||
 *                           the buffer to fill up to the set trigger level.
 | 
					 *                           the buffer to fill up to the set trigger level.
 | 
				
			||||||
 * \li pa_stream_prebuf() - Reenable the playback trigger level.
 | 
					 * \li pa_stream_prebuf() - Reenable the playback trigger level.
 | 
				
			||||||
 * \li pa_stream_drain() - Wait for the playback buffer to go empty. Will
 | 
					 * \li pa_stream_drain() - Wait for the playback buffer to go empty. Will
 | 
				
			||||||
| 
						 | 
					@ -280,7 +280,7 @@
 | 
				
			||||||
 * pa_stream_set_overflow_callback() and
 | 
					 * pa_stream_set_overflow_callback() and
 | 
				
			||||||
 * pa_stream_set_underflow_callback().
 | 
					 * pa_stream_set_underflow_callback().
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * \section sync_streams Sychronizing Multiple Playback Streams
 | 
					 * \section sync_streams Synchronizing Multiple Playback Streams
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * PulseAudio allows applications to fully synchronize multiple
 | 
					 * PulseAudio allows applications to fully synchronize multiple
 | 
				
			||||||
 * playback streams that are connected to the same output device. That
 | 
					 * playback streams that are connected to the same output device. That
 | 
				
			||||||
| 
						 | 
					@ -419,7 +419,7 @@ int pa_stream_is_corked(pa_stream *s);
 | 
				
			||||||
/** Connect the stream to a sink. It is strongly recommended to pass
 | 
					/** Connect the stream to a sink. It is strongly recommended to pass
 | 
				
			||||||
 * NULL in both dev and volume and not to set either
 | 
					 * NULL in both dev and volume and not to set either
 | 
				
			||||||
 * PA_STREAM_START_MUTED nor PA_STREAM_START_UNMUTED -- unless these
 | 
					 * PA_STREAM_START_MUTED nor PA_STREAM_START_UNMUTED -- unless these
 | 
				
			||||||
 * options are directly dependant on user input or configuration. If
 | 
					 * options are directly dependent on user input or configuration. If
 | 
				
			||||||
 * you follow this rule then the sound server will have the full
 | 
					 * you follow this rule then the sound server will have the full
 | 
				
			||||||
 * flexibility to choose the device, volume and mute status
 | 
					 * flexibility to choose the device, volume and mute status
 | 
				
			||||||
 * automatically, based on server-side policies, heuristics and stored
 | 
					 * automatically, based on server-side policies, heuristics and stored
 | 
				
			||||||
| 
						 | 
					@ -459,7 +459,7 @@ int pa_stream_disconnect(pa_stream *s);
 | 
				
			||||||
 * can place the data to write and the maximum number of bytes you can
 | 
					 * can place the data to write and the maximum number of bytes you can
 | 
				
			||||||
 * write. On return *nbytes can be smaller or have the same value as
 | 
					 * write. On return *nbytes can be smaller or have the same value as
 | 
				
			||||||
 * you passed in. You need to be able to handle both cases. Accessing
 | 
					 * you passed in. You need to be able to handle both cases. Accessing
 | 
				
			||||||
 * memory beyond the returned *nbytes value is invalid. Acessing the
 | 
					 * memory beyond the returned *nbytes value is invalid. Accessing the
 | 
				
			||||||
 * memory returned after the following pa_stream_write() or
 | 
					 * memory returned after the following pa_stream_write() or
 | 
				
			||||||
 * pa_stream_cancel_write() is invalid. On invocation only *nbytes
 | 
					 * pa_stream_cancel_write() is invalid. On invocation only *nbytes
 | 
				
			||||||
 * needs to be initialized, on return both *data and *nbytes will be
 | 
					 * needs to be initialized, on return both *data and *nbytes will be
 | 
				
			||||||
| 
						 | 
					@ -608,11 +608,11 @@ void pa_stream_set_moved_callback(pa_stream *p, pa_stream_notify_cb_t cb, void *
 | 
				
			||||||
 * 0.9.8. \since 0.9.8 */
 | 
					 * 0.9.8. \since 0.9.8 */
 | 
				
			||||||
void pa_stream_set_suspended_callback(pa_stream *p, pa_stream_notify_cb_t cb, void *userdata);
 | 
					void pa_stream_set_suspended_callback(pa_stream *p, pa_stream_notify_cb_t cb, void *userdata);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** Set the callback function that is called whenver a meta/policy
 | 
					/** Set the callback function that is called whenever a meta/policy
 | 
				
			||||||
 * control event is received.\since 0.9.15 */
 | 
					 * control event is received.\since 0.9.15 */
 | 
				
			||||||
void pa_stream_set_event_callback(pa_stream *p, pa_stream_event_cb_t cb, void *userdata);
 | 
					void pa_stream_set_event_callback(pa_stream *p, pa_stream_event_cb_t cb, void *userdata);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** Set the callback function that is called whenver the buffer
 | 
					/** Set the callback function that is called whenever the buffer
 | 
				
			||||||
 * attributes on the server side change. Please note that the buffer
 | 
					 * attributes on the server side change. Please note that the buffer
 | 
				
			||||||
 * attributes can change when moving a stream to a different
 | 
					 * attributes can change when moving a stream to a different
 | 
				
			||||||
 * sink/source too, hence if you use this callback you should use
 | 
					 * sink/source too, hence if you use this callback you should use
 | 
				
			||||||
| 
						 | 
					@ -654,7 +654,7 @@ pa_operation* pa_stream_set_name(pa_stream *s, const char *name, pa_stream_succe
 | 
				
			||||||
 * pa_stream_get_timing_info().
 | 
					 * pa_stream_get_timing_info().
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This function will usually only return new data if a timing info
 | 
					 * This function will usually only return new data if a timing info
 | 
				
			||||||
 * update has been recieved. Only if timing interpolation has been
 | 
					 * update has been received. Only if timing interpolation has been
 | 
				
			||||||
 * requested (PA_STREAM_INTERPOLATE_TIMING) the data from the last
 | 
					 * requested (PA_STREAM_INTERPOLATE_TIMING) the data from the last
 | 
				
			||||||
 * timing update is used for an estimation of the current
 | 
					 * timing update is used for an estimation of the current
 | 
				
			||||||
 * playback/recording time based on the local time that passed since
 | 
					 * playback/recording time based on the local time that passed since
 | 
				
			||||||
| 
						 | 
					@ -678,7 +678,7 @@ pa_operation* pa_stream_set_name(pa_stream *s, const char *name, pa_stream_succe
 | 
				
			||||||
 * pa_stream_update_timing_info().
 | 
					 * pa_stream_update_timing_info().
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * If no timing information has been
 | 
					 * If no timing information has been
 | 
				
			||||||
 * recieved yet this call will return PA_ERR_NODATA. For more details
 | 
					 * received yet this call will return PA_ERR_NODATA. For more details
 | 
				
			||||||
 * see pa_stream_get_timing_info(). */
 | 
					 * see pa_stream_get_timing_info(). */
 | 
				
			||||||
int pa_stream_get_time(pa_stream *s, pa_usec_t *r_usec);
 | 
					int pa_stream_get_time(pa_stream *s, pa_usec_t *r_usec);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -689,7 +689,7 @@ int pa_stream_get_time(pa_stream *s, pa_usec_t *r_usec);
 | 
				
			||||||
 * negative, i.e. the captured samples are not yet played. In this
 | 
					 * negative, i.e. the captured samples are not yet played. In this
 | 
				
			||||||
 * case *negative is set to 1.
 | 
					 * case *negative is set to 1.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * If no timing information has been recieved yet this call will
 | 
					 * If no timing information has been received yet this call will
 | 
				
			||||||
 * return PA_ERR_NODATA. For more details see
 | 
					 * return PA_ERR_NODATA. For more details see
 | 
				
			||||||
 * pa_stream_get_timing_info() and pa_stream_get_time(). */
 | 
					 * pa_stream_get_timing_info() and pa_stream_get_time(). */
 | 
				
			||||||
int pa_stream_get_latency(pa_stream *s, pa_usec_t *r_usec, int *negative);
 | 
					int pa_stream_get_latency(pa_stream *s, pa_usec_t *r_usec, int *negative);
 | 
				
			||||||
| 
						 | 
					@ -707,7 +707,7 @@ int pa_stream_get_latency(pa_stream *s, pa_usec_t *r_usec, int *negative);
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Please note that the write_index member field (and only this field)
 | 
					 * Please note that the write_index member field (and only this field)
 | 
				
			||||||
 * is updated on each pa_stream_write() call, not just when a timing
 | 
					 * is updated on each pa_stream_write() call, not just when a timing
 | 
				
			||||||
 * update has been recieved. */
 | 
					 * update has been received. */
 | 
				
			||||||
const pa_timing_info* pa_stream_get_timing_info(pa_stream *s);
 | 
					const pa_timing_info* pa_stream_get_timing_info(pa_stream *s);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** Return a pointer to the stream's sample specification. */
 | 
					/** Return a pointer to the stream's sample specification. */
 | 
				
			||||||
| 
						 | 
					@ -720,7 +720,7 @@ const pa_channel_map* pa_stream_get_channel_map(pa_stream *s);
 | 
				
			||||||
const pa_format_info* pa_stream_get_format_info(pa_stream *s);
 | 
					const pa_format_info* pa_stream_get_format_info(pa_stream *s);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** Return the per-stream server-side buffer metrics of the
 | 
					/** Return the per-stream server-side buffer metrics of the
 | 
				
			||||||
 * stream. Only valid after the stream has been connected successfuly
 | 
					 * stream. Only valid after the stream has been connected successfully
 | 
				
			||||||
 * and if the server is at least PulseAudio 0.9. This will return the
 | 
					 * and if the server is at least PulseAudio 0.9. This will return the
 | 
				
			||||||
 * actual configured buffering metrics, which may differ from what was
 | 
					 * actual configured buffering metrics, which may differ from what was
 | 
				
			||||||
 * requested during pa_stream_connect_record() or
 | 
					 * requested during pa_stream_connect_record() or
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -78,7 +78,7 @@ struct timeval* pa_timeval_add(struct timeval *tv, pa_usec_t v);
 | 
				
			||||||
/** Subtract the specified time in microseconds to the specified timeval structure. \since 0.9.11 */
 | 
					/** Subtract the specified time in microseconds to the specified timeval structure. \since 0.9.11 */
 | 
				
			||||||
struct timeval* pa_timeval_sub(struct timeval *tv, pa_usec_t v);
 | 
					struct timeval* pa_timeval_sub(struct timeval *tv, pa_usec_t v);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** Store the specified uec value in the timeval struct. \since 0.9.7 */
 | 
					/** Store the specified usec value in the timeval struct. \since 0.9.7 */
 | 
				
			||||||
struct timeval* pa_timeval_store(struct timeval *tv, pa_usec_t v);
 | 
					struct timeval* pa_timeval_store(struct timeval *tv, pa_usec_t v);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** Load the specified tv value and return it in usec. \since 0.9.7 */
 | 
					/** Load the specified tv value and return it in usec. \since 0.9.7 */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -37,7 +37,7 @@
 | 
				
			||||||
 * \section overv_sec Overview
 | 
					 * \section overv_sec Overview
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Sinks, sources, sink inputs and samples can all have their own volumes.
 | 
					 * Sinks, sources, sink inputs and samples can all have their own volumes.
 | 
				
			||||||
 * To deal with these, The PulseAudio libray contains a number of functions
 | 
					 * To deal with these, The PulseAudio library contains a number of functions
 | 
				
			||||||
 * that ease handling.
 | 
					 * that ease handling.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * The basic volume type in PulseAudio is the \ref pa_volume_t type. Most of
 | 
					 * The basic volume type in PulseAudio is the \ref pa_volume_t type. Most of
 | 
				
			||||||
| 
						 | 
					@ -71,7 +71,7 @@
 | 
				
			||||||
 * \section conv_sec Convenience Functions
 | 
					 * \section conv_sec Convenience Functions
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * To handle the pa_cvolume structure, the PulseAudio library provides a
 | 
					 * To handle the pa_cvolume structure, the PulseAudio library provides a
 | 
				
			||||||
 * number of convenienc functions:
 | 
					 * number of convenience functions:
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * \li pa_cvolume_valid() - Tests if a pa_cvolume structure is valid.
 | 
					 * \li pa_cvolume_valid() - Tests if a pa_cvolume structure is valid.
 | 
				
			||||||
 * \li pa_cvolume_equal() - Tests if two pa_cvolume structures are identical.
 | 
					 * \li pa_cvolume_equal() - Tests if two pa_cvolume structures are identical.
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue