[xiph-commits] r3485 - in browser_plugin/trunk: mac/liboggplay.xcodeproj src src/audio

j at svn.annodex.net j at svn.annodex.net
Tue Feb 19 00:22:19 PST 2008


Author: j
Date: 2008-02-19 00:22:18 -0800 (Tue, 19 Feb 2008)
New Revision: 3485

Added:
   browser_plugin/trunk/src/audio/sydney_audio.h
Removed:
   browser_plugin/trunk/src/audio/sydney_audio.h
   browser_plugin/trunk/src/audio/sydney_audio_new.h
Modified:
   browser_plugin/trunk/mac/liboggplay.xcodeproj/project.pbxproj
   browser_plugin/trunk/src/Makefile.am
   browser_plugin/trunk/src/audio/sydney_audio_alsa.c
   browser_plugin/trunk/src/audio/sydney_audio_mac.c
   browser_plugin/trunk/src/audio/sydney_audio_waveapi.c
   browser_plugin/trunk/src/plugin_gui_linux.c
   browser_plugin/trunk/src/plugin_gui_mac.c
   browser_plugin/trunk/src/plugin_gui_win32.c
Log:
* remove old sydney_audio.h
* rename sydney_audio_new.h to sydney_audio.h



Modified: browser_plugin/trunk/mac/liboggplay.xcodeproj/project.pbxproj
===================================================================
--- browser_plugin/trunk/mac/liboggplay.xcodeproj/project.pbxproj	2008-02-18 07:27:29 UTC (rev 3484)
+++ browser_plugin/trunk/mac/liboggplay.xcodeproj/project.pbxproj	2008-02-19 08:22:18 UTC (rev 3485)
@@ -27,7 +27,7 @@
 		093AFB770D67073500F8439A /* pluginbase.h in Headers */ = {isa = PBXBuildFile; fileRef = 093AFB750D67073500F8439A /* pluginbase.h */; };
 		093AFB780D67073500F8439A /* npplat.h in Headers */ = {isa = PBXBuildFile; fileRef = 093AFB760D67073500F8439A /* npplat.h */; };
 		093AFB7B0D67075200F8439A /* sydney_audio_mac.c in Sources */ = {isa = PBXBuildFile; fileRef = 093AFB790D67075200F8439A /* sydney_audio_mac.c */; };
-		093AFB7C0D67075200F8439A /* sydney_audio_new.h in Headers */ = {isa = PBXBuildFile; fileRef = 093AFB7A0D67075200F8439A /* sydney_audio_new.h */; };
+		093AFB7C0D67075200F8439A /* sydney_audio.h in Headers */ = {isa = PBXBuildFile; fileRef = 093AFB7A0D67075200F8439A /* sydney_audio.h */; };
 		2C31AFE40BF455CB002C55BF /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2C31AFE30BF455CB002C55BF /* Carbon.framework */; };
 		2C83A7A10BE86E72004C14F4 /* liboggplay.r in Rez */ = {isa = PBXBuildFile; fileRef = 2C83A7110BE85E80004C14F4 /* liboggplay.r */; };
 		2C83AB280BE9C6EB004C14F4 /* AGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2C83AB270BE9C6EB004C14F4 /* AGL.framework */; };
@@ -77,7 +77,7 @@
 		093AFB750D67073500F8439A /* pluginbase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = pluginbase.h; path = ../src/include/pluginbase.h; sourceTree = SOURCE_ROOT; };
 		093AFB760D67073500F8439A /* npplat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = npplat.h; path = ../src/include/npplat.h; sourceTree = SOURCE_ROOT; };
 		093AFB790D67075200F8439A /* sydney_audio_mac.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = sydney_audio_mac.c; path = ../src/audio/sydney_audio_mac.c; sourceTree = SOURCE_ROOT; };
-		093AFB7A0D67075200F8439A /* sydney_audio_new.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sydney_audio_new.h; path = ../src/audio/sydney_audio_new.h; sourceTree = SOURCE_ROOT; };
+		093AFB7A0D67075200F8439A /* sydney_audio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sydney_audio.h; path = ../src/audio/sydney_audio.h; sourceTree = SOURCE_ROOT; };
 		2C31AFE30BF455CB002C55BF /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = "<absolute>"; };
 		2C83A7110BE85E80004C14F4 /* liboggplay.r */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.rez; path = liboggplay.r; sourceTree = "<group>"; };
 		2C83AB270BE9C6EB004C14F4 /* AGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AGL.framework; path = /System/Library/Frameworks/AGL.framework; sourceTree = "<absolute>"; };
@@ -211,7 +211,7 @@
 		2CF2FD540C191FD70074A9C3 /* audio */ = {
 			isa = PBXGroup;
 			children = (
-				093AFB7A0D67075200F8439A /* sydney_audio_new.h */,
+				093AFB7A0D67075200F8439A /* sydney_audio.h */,
 				093AFB790D67075200F8439A /* sydney_audio_mac.c */,
 			);
 			name = audio;
@@ -234,7 +234,7 @@
 				093AFB710D67070B00F8439A /* nsScriptablePeer.h in Headers */,
 				093AFB770D67073500F8439A /* pluginbase.h in Headers */,
 				093AFB780D67073500F8439A /* npplat.h in Headers */,
-				093AFB7C0D67075200F8439A /* sydney_audio_new.h in Headers */,
+				093AFB7C0D67075200F8439A /* sydney_audio.h in Headers */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};

Modified: browser_plugin/trunk/src/Makefile.am
===================================================================
--- browser_plugin/trunk/src/Makefile.am	2008-02-18 07:27:29 UTC (rev 3484)
+++ browser_plugin/trunk/src/Makefile.am	2008-02-19 08:22:18 UTC (rev 3485)
@@ -1,7 +1,7 @@
 ## Process this file with automake to produce Makefile.in
 
 EXTRA_DIST= \
-	audio/sydney_audio_new.h	\
+	audio/sydney_audio.h	\
 	audio/sydney_audio_mac.c	\
 	support/np_mac.cpp		\
 	plugin_gui_mac.c 		\

Deleted: browser_plugin/trunk/src/audio/sydney_audio.h
===================================================================
--- browser_plugin/trunk/src/audio/sydney_audio.h	2008-02-18 07:27:29 UTC (rev 3484)
+++ browser_plugin/trunk/src/audio/sydney_audio.h	2008-02-19 08:22:18 UTC (rev 3485)
@@ -1,271 +0,0 @@
-
-/* Requirements:
-
-- In sync mode, the device will automatically write data so that an initial read causes writes
-  of zeros to be issued to that one can do "while (1); {read(); write()}
-
-- All functions are thread-safe and can be called in any thread context. None of the functions is
-  async-signal safe.
-  
-- It is assumed that duplex streams have a single clock (synchronised)
-
-Outstanding issues:
-
-- Should we really return an error code all the time? I don't see how some functions
-(e.g. change sampling rate) can return an error?
- 
-- When should the error be returned from a function vs. through notifications?
-
-*/
-
-#ifndef __SYDNEY_AUDIO_H__
-#define __SYDNEY_AUDIO_H__
-
-#include <sys/types.h>
-
-/* Native endianness definitions for integer PCM */
-#define SA_PCM_S16_NE
-#define SA_PCM_S24_NE
-#define SA_PCM_S32_NE
-
-/** Volume that corresponds to muted in/out */
-#define SA_PCM_MUTED 0x80000000
-
-struct SAAudioHandle_;
-typedef struct SAAudioHandle_ SAAudioHandle;
-
-/** Ways to express seek offsets for pread/pwrite */
-typedef enum {
-   SA_PCM_SEEK_RELATIVE=0,
-   SA_PCM_SEEK_ABSOLUTE=1,
-   SA_PCM_SEEK_RELATIVE_END=2
-} sa_pcm_seek_whence_t;
-
-/** Supported formats */
-typedef enum {
-   SA_PCM_UINT8=0,
-   SA_PCM_ULAW=1,
-   SA_PCM_ALAW=2,
-   SA_PCM_S16_LE=3,
-   SA_PCM_S16_BE=4,
-   SA_PCM_S24_LE=5,
-   SA_PCM_S24_BE=6,
-   SA_PCM_S32_LE=7,
-   SA_PCM_S32_BE=8,
-   SA_PCM_FLOAT32_NE=9,
-} sa_pcm_format_t;
-
-/** Device opening modes */
-typedef enum {
-   SA_PCM_RDONLY=0,
-   SA_PCM_WRONLY=1,
-   SA_PCM_RW=2
-} sa_pcm_mode_t;
-
-/** Possible events for notifications */
-typedef enum {
-   SA_REQUEST_STOP=0,
-   SA_REQUEST_START=1,
-   SA_VOLUME_CHANGED_IN=2,
-   SA_VOLUME_CHANGED_OUT=3,
-   SA_DEVICE_CHANGED=4
-} sa_pcm_notification_t;
-
-/** Error codes */
-typedef enum {
-   SA_DEVICE_SUCCESS=0,
-   SA_DEVICE_NOT_SUPPORTED=1,
-   SA_DEVICE_INVALID=2,
-   SA_DEVICE_OOM=3,
-   SA_DEVICE_INTERNAL_ERROR=4,
-   SA_DEVICE_WRONG_ACCESS=5,
-} sa_pcm_error_t;
-
-/** Classes of events */
-typedef enum {
-   A_NO_EVENT=0,
-   SA_REQUEST_IO=1,
-   SA_INIT_THREAD=2,
-   SA_NOTIFY=3,
-   SA_ERROR=4
-} sa_pcm_event_t;
-
-/** List of sample position queries */
-typedef enum {
-   SA_PCM_WRITE_DELAY=0,
-   SA_PCM_WRITE_HARDWARE_POS=1,
-   SA_PCM_WRITE_SOFTWARE_POS=2,
-   SA_PCM_READ_DELAY=3,
-   SA_PCM_READ_HARDWARE_POS=4,
-   SA_PCM_READ_SOFTWARE_POS=5,
-   SA_PCM_DUPLEX_DELAY=6
-} sa_pcm_index_t;
-
-typedef enum {
-   SA_CHANNEL_FRONT_LEFT=0,
-   SA_CHANNEL_FRONT_RIGTH=1
-   /* put more stuff */
-} sa_channel_def_t;
-
-
-typedef enum {
-   SA_DEVICE_RUNNING=0,
-   SA_DEVICE_STOPPED=1
-   /* put more stuff */
-} sa_state_t;
-
-typedef enum {
-   XRUN_CLOCK_SYNC=0,
-   XRUN_IO_SYNC=1,
-   XRUN_NO_SYNC=2
-} sa_xrun_mode_t;
-
-/** Main callback function */
-typedef int (*sa_device_callback) (SAAudioHandle *dev, sa_pcm_event_t event);
-
-
-
-/** Create an opaque (e.g. AC3) codec stream */
-int sa_device_create_opaque(SAAudioHandle **dev, const char *client_name, sa_pcm_mode_t rw_mode, const char *codec);
-
-/** Normal way to open a PCM device */
-int sa_device_create_pcm(SAAudioHandle **dev, const char *client_name, sa_pcm_mode_t rw_mode, sa_pcm_format_t format, int rate, int channels);
-
-/** Initialise the device */
-int sa_device_open(SAAudioHandle *dev);
-
-/** Close/destroy everything */
-int sa_device_close(SAAudioHandle *dev);
-
-
-/* Init time "Soft" params (can only be set before calling open)
- * lower_watermark - buffer level, below which  	the buffer should not
- *  the write operations
- * should block
- * */
-
-int sa_device_set_write_lower_watermark(SAAudioHandle *dev, int size);
-int sa_device_set_read_lower_watermark(SAAudioHandle *dev, int size);
-
-int sa_device_set_write_upper_watermark(SAAudioHandle *dev, int size);
-int sa_device_set_read_upper_watermark(SAAudioHandle *dev, int size);
-
-/** Whether xruns cause the card to reset */
-int sa_device_set_xrun_mode(SAAudioHandle *dev, sa_xrun_mode_t mode);
-
-/** Set the device to non-interleaved mode */
-int sa_device_set_ni(SAAudioHandle *dev);
-
-/** Start callback */
-int sa_device_start_thread(SAAudioHandle *dev, sa_device_callback *callback);
-
-
-/** Set the mapping between channels and the loudspeakers */
-int sa_device_set_channel_map(SAAudioHandle *dev, const sa_channel_def_t *map);
-
-/* "Soft" params that can be changed at any time */
-
-/** Change the device connected to the stream */
-int sa_device_change_device(SAAudioHandle *dev, const char *device_name);
-
-
-/** volume in hundreths of dB's*/
-int sa_device_change_input_volume(SAAudioHandle *dev, const int *vol);
-
-/** volume in hundreths of dB's*/
-int sa_device_change_output_volume(SAAudioHandle *dev, const int *vol);
-
-/** Change the sampling rate */
-int sa_device_change_sampling_rate(SAAudioHandle *dev, int rate);
-
-/** Change the name of the client application using the device */
-int sa_device_change_client_name(SAAudioHandle *dev, const char *client_name);
-
-/** Change the name of the stream being sent */
-int sa_device_change_stream_name(SAAudioHandle *dev, const char *stream_name);
-
-/** Associate opaque user data */
-int sa_device_change_user_data(SAAudioHandle *dev, void *val);
-
-
-
-/* Hardware-related. This is implementation-specific and hardware specific. */
-int sa_device_adjust_rate(SAAudioHandle *dev, int rate, int direction);
-
-int sa_device_adjust_channels(SAAudioHandle *dev, int nb_channels);
-
-int sa_device_adjust_format(SAAudioHandle *dev, sa_pcm_format_t format, int direction);
-
-
-/* Query functions */
-
-/** Get current state of the audio device */
-int sa_device_get_state(SAAudioHandle *dev, sa_state_t *running);
-
-/** Get current sampling rate */
-int sa_device_get_sampling_rate(SAAudioHandle *dev, int *rate);
-
-/** Get number of channels */
-int sa_device_get_nb_channels(SAAudioHandle *dev, int *nb_channels);
-
-/** Get format being used */
-int sa_device_get_format(SAAudioHandle *dev, sa_pcm_format_t *format);
-
-/** Get opaque pointer associated to the device */
-int sa_device_get_user_data(SAAudioHandle *dev, void **val);
-
-/** Obtain the error code */
-int sa_device_get_event_error(SAAudioHandle *dev, sa_pcm_error_t *error);
-
-/** Obtain the notification code */
-int sa_device_get_event_notify(SAAudioHandle *dev, sa_pcm_notification_t *notify);
-
-/** sync/timing */
-int sa_device_get_position(SAAudioHandle *dev, sa_pcm_index_t ref, int64_t *pos);
-
-
-
-
-/* Blocking IO calls */
-
-/** Interleaved capture function */
-int sa_device_read(SAAudioHandle *dev, size_t nbytes, void *data);
-/** Interleaved playback function */
-int sa_device_write(SAAudioHandle *dev, size_t nbytes, const void *data);
-
-/** Non-interleaved capture function */
-int sa_device_read_ni(SAAudioHandle *dev, int channel, size_t nbytes, void *data);
-/** Non-interleaved playback function */
-int sa_device_write_ni(SAAudioHandle *dev, int channel, size_t nbytes, const void *data);
-
-/** Interleaved capture function with seek offset */
-int sa_device_pread(SAAudioHandle *dev, size_t nbytes, void *data, int64_t offset, sa_pcm_seek_whence_t whence);
-/** Interleaved playback function with seek offset */
-int sa_device_pwrite(SAAudioHandle *dev, size_t nbytes, const void *data, int64_t offset, sa_pcm_seek_whence_t whence);
-
-/** Non-interleaved capture function with seek offset */
-int sa_device_pread_ni(SAAudioHandle *dev, int channel, size_t nbytes, void *data, int64_t offset, sa_pcm_seek_whence_t whence);
-/** Non-interleaved playback function with seek offset */
-int sa_device_pwrite_ni(SAAudioHandle *dev, int channel, size_t nbytes, const void *data, int64_t offset, sa_pcm_seek_whence_t whence);
-
-
-/** Query how much can be read without blocking */
-int sa_device_get_read_size(SAAudioHandle *dev, size_t *size);
-/** Query how much can be written without blocking */
-int sa_device_get_write_size(SAAudioHandle *dev, size_t *size);
-
-
-/* Control/xrun */
-
-/** Resume playing after a pause */
-int sa_device_resume(SAAudioHandle *dev);
-
-/** Pause audio playback (do not empty the buffer) */
-int sa_device_pause(SAAudioHandle *dev);
-
-/** Block until all audio has been played */
-int sa_device_drain(SAAudioHandle *dev);
-
-#endif //__SYNDEY_AUDIO_H__
-
-

Copied: browser_plugin/trunk/src/audio/sydney_audio.h (from rev 3484, browser_plugin/trunk/src/audio/sydney_audio_new.h)
===================================================================
--- browser_plugin/trunk/src/audio/sydney_audio.h	                        (rev 0)
+++ browser_plugin/trunk/src/audio/sydney_audio.h	2008-02-19 08:22:18 UTC (rev 3485)
@@ -0,0 +1,412 @@
+#ifndef foosydneyhfoo
+#define foosydneyhfoo
+
+/* Requirements:
+
+- In sync mode, the device will automatically write data so that an initial read causes writes
+of zeros to be issued to that one can do "while (1); {read(); write()}
+
+- All functions are thread-safe and can be called in any thread context. None of the functions is
+async-signal safe.
+  
+- It is assumed that duplex streams have a single clock (synchronised)
+*/
+
+#include <sys/types.h>
+#if !defined (WIN32)
+#include <sys/param.h>
+#include <inttypes.h>
+#endif
+
+/* Detect byte order, based on sys/param.h */
+#undef SA_LITTLE_ENDIAN
+#undef SA_BIG_ENDIAN
+
+#if defined(__BYTE_ORDER)
+#   if __BYTE_ORDER == __LITTLE_ENDIAN
+#       define SA_LITTLE_ENDIAN 1
+#   elif __BYTE_ORDER == __BIG_ENDIAN
+#       define SA_BIG_ENDIAN 1
+#   endif
+#elif defined(WIN32)
+#   define SA_LITTLE_ENDIAN 1
+#elif defined(__APPLE__)
+#   if defined(__BIG_ENDIAN__)
+#       define SA_BIG_ENDIAN 1
+#   else
+#       define SA_LITTLE_ENDIAN 1
+#   endif
+#else
+#    error "Cannot determine byte order!"
+#endif
+
+#if defined(WIN32)
+#if !defined(int32_t)
+typedef __int32 int32_t;
+#endif
+#if !defined(int64_t)
+typedef __int64 int64_t;
+#endif
+#endif
+
+typedef struct sa_stream sa_stream_t;
+
+#if defined(WIN32)
+// (left << 16 | right) (16 bits per channel)
+#define SA_VOLUME_MUTED ((int32_t) (0x00000000))
+#else
+/** Volume that corresponds to muted in/out */
+#define SA_VOLUME_MUTED ((int32_t) (-0x80000000))
+#endif
+
+/** Ways to express seek offsets for pread/pwrite */
+typedef enum {
+    SA_SEEK_RELATIVE,
+    SA_SEEK_ABSOLUTE,
+    SA_SEEK_RELATIVE_END,
+    _SA_SEEK_MAX
+} sa_seek_t;
+
+/** Supported formats */
+typedef enum {
+    SA_PCM_FORMAT_U8,
+    SA_PCM_FORMAT_ULAW,
+    SA_PCM_FORMAT_ALAW,
+    SA_PCM_FORMAT_S16_LE,
+    SA_PCM_FORMAT_S16_BE,
+    SA_PCM_FORMAT_S24_LE,
+    SA_PCM_FORMAT_S24_BE,
+    SA_PCM_FORMAT_S32_LE,
+    SA_PCM_FORMAT_S32_BE,
+    SA_PCM_FORMAT_FLOAT32_LE,
+    SA_PCM_FORMAT_FLOAT32_BE,
+    _SA_PCM_FORMAT_MAX
+} sa_pcm_format_t;
+
+/* Native/reverse endianness definitions for PCM */
+#ifdef SA_LITTLE_ENDIAN
+#define SA_PCM_FORMAT_S16_NE SA_PCM_FORMAT_S16_LE
+#define SA_PCM_FORMAT_S24_NE SA_PCM_FORMAT_S24_LE
+#define SA_PCM_FORMAT_S32_NE SA_PCM_FORMAT_S32_LE
+#define SA_PCM_FORMAT_FLOAT32_NE SA_PCM_FORMAT_FLOAT32_LE
+#define SA_PCM_FORMAT_S16_RE SA_PCM_FORMAT_S16_BE
+#define SA_PCM_FORMAT_S24_RE SA_PCM_FORMAT_S24_BE
+#define SA_PCM_FORMAT_S32_RE SA_PCM_FORMAT_S32_BE
+#define SA_PCM_FORMAT_FLOAT32_RE SA_PCM_FORMAT_FLOAT32_BE
+#else
+#define SA_PCM_FORMAT_S16_NE SA_PCM_FORMAT_S16_BE
+#define SA_PCM_FORMAT_S24_NE SA_PCM_FORMAT_S24_BE
+#define SA_PCM_FORMAT_S32_NE SA_PCM_FORMAT_S32_BE
+#define SA_PCM_FORMAT_FLOAT32_NE SA_PCM_FORMAT_FLOAT32_BE
+#define SA_PCM_FORMAT_S16_RE SA_PCM_FORMAT_S16_LE
+#define SA_PCM_FORMAT_S24_RE SA_PCM_FORMAT_S24_LE
+#define SA_PCM_FORMAT_S32_RE SA_PCM_FORMAT_S32_LE
+#define SA_PCM_FORMAT_FLOAT32_RE SA_PCM_FORMAT_FLOAT32_LE
+#endif
+
+#define SA_CODEC_MPEG "mpeg"
+#define SA_CODEC_AC3 "ac3"
+#define SA_CODEC_GSM "gsm"
+#define SA_CODEC_VORBIS "vorbis"
+#define SA_CODEC_SPEEX "speex"
+
+/** Device opening modes */
+typedef enum {
+    SA_MODE_WRONLY = 1,
+    SA_MODE_RDONLY = 2,
+    SA_MODE_RDWR   = 3,
+    _SA_MODE_MAX   = 4,
+} sa_mode_t;
+
+/** Error codes */
+typedef enum {
+    SA_SUCCESS = 0,
+    SA_ERROR_NOT_SUPPORTED = -1,
+    SA_ERROR_INVALID = -2,
+    SA_ERROR_STATE = -3,
+    SA_ERROR_OOM = -4,
+    SA_ERROR_NO_DEVICE = -5,
+    SA_ERROR_NO_DRIVER = -6,
+    SA_ERROR_NO_CODEC = -7,
+    SA_ERROR_NO_PCM_FORMAT = -7,
+    SA_ERROR_SYSTEM = -8,
+    SA_ERROR_NO_INIT = -9,
+    SA_ERROR_NO_META = -10,
+    SA_ERROR_NO_DATA = -11,
+    SA_ERROR_NO_SPACE = -12,
+    _SA_ERROR_MAX = -13
+} sa_error_t;
+
+/** Possible events for notifications */
+typedef enum {
+    SA_NOTIFY_REQUEST_START,
+    SA_NOTIFY_REQUEST_STOP,
+    SA_NOTIFY_CHANGED_READ_VOLUME,
+    SA_NOTIFY_CHANGED_WRITE_VOLUME,
+    SA_NOTIFY_CHANGED_DEVICE,
+    _SA_NOTIFY_MAX
+} sa_notify_t;
+
+/** Classes of events */
+typedef enum {
+    SA_EVENT_REQUEST_IO,
+    SA_EVENT_INIT_THREAD,
+    SA_EVENT_NOTIFY,
+    SA_EVENT_ERROR,
+    _SA_EVENT_MAX
+} sa_event_t;
+
+/** List of sample position queries */
+typedef enum {
+    SA_POSITION_WRITE_DELAY,
+    SA_POSITION_WRITE_HARDWARE,
+    SA_POSITION_WRITE_SOFTWARE,
+    SA_POSITION_READ_DELAY,
+    SA_POSITION_READ_HARDWARE,
+    SA_POSITION_READ_SOFTWARE,
+    SA_POSITION_DUPLEX_DELAY,
+    _SA_POSITION_MAX
+} sa_position_t;
+
+/* Channel positions */
+typedef enum {
+    SA_CHANNEL_MONO,
+    SA_CHANNEL_LEFT,
+    SA_CHANNEL_RIGHT,
+    SA_CHANNEL_CENTER,
+    SA_CHANNEL_FRONT_LEFT,
+    SA_CHANNEL_FRONT_RIGHT,
+    SA_CHANNEL_FRONT_CENTER,
+    SA_CHANNEL_REAR_LEFT,
+    SA_CHANNEL_REAR_RIGHT,
+    SA_CHANNEL_REAR_CENTER,
+    SA_CHANNEL_LFE,
+    SA_CHANNEL_FRONT_LEFT_OF_CENTER,
+    SA_CHANNEL_FRONT_RIGHT_OF_CENTER,
+    SA_CHANNEL_SIDE_LEFT,
+    SA_CHANNEL_SIDE_RIGHT,
+    SA_CHANNEL_TOP_CENTER,
+    SA_CHANNEL_TOP_FRONT_LEFT,
+    SA_CHANNEL_TOP_FRONT_RIGHT,
+    SA_CHANNEL_TOP_FRONT_CENTER,
+    SA_CHANNEL_TOP_REAR_LEFT,
+    SA_CHANNEL_TOP_REAR_RIGHT,
+    SA_CHANNEL_TOP_REAR_CENTER,
+    SA_CHANNEL_AUX0,
+    SA_CHANNEL_AUX1,
+    SA_CHANNEL_AUX2,
+    SA_CHANNEL_AUX3,
+    SA_CHANNEL_AUX4,
+    SA_CHANNEL_AUX5,
+    SA_CHANNEL_AUX6,
+    SA_CHANNEL_AUX7,
+    SA_CHANNEL_AUX8,
+    SA_CHANNEL_AUX9,
+    SA_CHANNEL_AUX10,
+    SA_CHANNEL_AUX11,
+    SA_CHANNEL_AUX12,
+    SA_CHANNEL_AUX13,
+    SA_CHANNEL_AUX14,
+    SA_CHANNEL_AUX15,
+    SA_CHANNEL_AUX16,
+    SA_CHANNEL_AUX17,
+    SA_CHANNEL_AUX18,
+    SA_CHANNEL_AUX19,
+    SA_CHANNEL_AUX20,
+    SA_CHANNEL_AUX21,
+    SA_CHANNEL_AUX22,
+    SA_CHANNEL_AUX23,
+    SA_CHANNEL_AUX24,
+    SA_CHANNEL_AUX25,
+    SA_CHANNEL_AUX26,
+    SA_CHANNEL_AUX27,
+    SA_CHANNEL_AUX28,
+    SA_CHANNEL_AUX29,
+    SA_CHANNEL_AUX30,
+    SA_CHANNEL_AUX31,
+    _SA_CHANNEL_MAX
+} sa_channel_t;
+
+typedef enum {
+    SA_STATE_INIT,
+    SA_STATE_RUNNING,
+    SA_STATE_STOPPED,
+    /* put more stuff */
+    _SA_STATE_MAX,
+} sa_state_t;
+
+typedef enum {
+    SA_XRUN_MODE_STOP,
+    SA_XRUN_MODE_SPIN,
+    _SA_XRUN_MODE_MAX
+} sa_xrun_mode_t;
+
+typedef enum {
+    SA_ADJUST_UP = 1,
+    SA_ADJUST_DOWN = -1,
+    SA_ADJUST_NONE = 0,
+} sa_adjust_t;
+
+/* Some kind of meta information.  */
+#define SA_META_CLIENT_NAME "sydney.client-name"     /* utf-8 */ 
+#define SA_META_PROCESS_ID "sydney.process-id"       /* getpid() */
+#define SA_META_LANGUAGE "sydney.language"           /* de_DE and similar */
+
+/* Some kind of meta information. Not filled in */
+#define SA_META_STREAM_NAME "sydney.stream-name"     /* utf-8 */ 
+#define SA_META_ICON_NAME "sydney.icon-name"         /* file name (no slashes) */
+#define SA_META_ICON_PNG "sydney.icon-png"           /* PNG blob */
+#define SA_META_ROLE "sydney.role"                   /* one of: "music", "phone", "game", "event" */
+#define SA_META_X11_DISPLAY "sydney.x11-display"     /* X11 display */
+#define SA_META_X11_WINDOW "sydney.x11-window"       /* X11 window id */
+
+/** Main callback function */
+typedef int (*sa_event_callback_t)(sa_stream_t *s, sa_event_t event);
+
+/** Create an opaque (e.g. AC3) codec stream */
+int sa_stream_create_opaque(sa_stream_t **s, const char *client_name, sa_mode_t mode, const char *codec);
+
+/** Normal way to open a PCM device */
+int sa_stream_create_pcm(sa_stream_t **s, const char *client_name, sa_mode_t mode, sa_pcm_format_t format, unsigned int rate, unsigned int nchannels);
+
+/** Initialise the device */
+int sa_stream_open(sa_stream_t *s);
+
+/** Close/destroy everything */
+int sa_stream_destroy(sa_stream_t *s);
+
+/* "Soft" params */
+int sa_stream_set_write_lower_watermark(sa_stream_t *s, size_t size);
+int sa_stream_set_read_lower_watermark(sa_stream_t *s, size_t size);
+int sa_stream_set_write_upper_watermark(sa_stream_t *s, size_t size);
+int sa_stream_set_read_upper_watermark(sa_stream_t *s, size_t size);
+
+/** Set the mapping between channels and the loudspeakers */
+int sa_stream_set_channel_map(sa_stream_t *s, const sa_channel_t map[], unsigned int n);
+
+/** Whether xruns cause the card to reset */
+int sa_stream_set_xrun_mode(sa_stream_t *s, sa_xrun_mode_t mode);
+
+/** Set the device to non-interleaved mode */
+int sa_stream_set_non_interleaved(sa_stream_t *s, int enable);
+
+/** Require dynamic sample rate */
+int sa_stream_set_dynamic_rate(sa_stream_t *s, int enable);
+
+/** Select driver */
+int sa_stream_set_driver(sa_stream_t *s, const char *driver);
+
+/** Start callback */
+int sa_stream_start_thread(sa_stream_t *s, sa_event_callback_t callback);
+
+/** Start callback */
+int sa_stream_stop_thread(sa_stream_t *s);
+
+/** Change the device connected to the stream */
+int sa_stream_change_device(sa_stream_t *s, const char *device_name);
+
+/** volume in hundreths of dB*/
+int sa_stream_change_read_volume(sa_stream_t *s, const int32_t vol[], unsigned int n);
+
+/** volume in hundreths of dB*/
+int sa_stream_change_write_volume(sa_stream_t *s, const int32_t vol[], unsigned int n);
+
+/** Change the sampling rate */
+int sa_stream_change_rate(sa_stream_t *s, unsigned int rate);
+
+/** Change some meta data that is attached to the stream */
+int sa_stream_change_meta_data(sa_stream_t *s, const char *name, const void *data, size_t size);
+
+/** Associate opaque user data */
+int sa_stream_change_user_data(sa_stream_t *s, const void *value);
+
+/* Hardware-related. This is implementation-specific and hardware specific. */
+int sa_stream_set_adjust_rate(sa_stream_t *s, sa_adjust_t direction);
+int sa_stream_set_adjust_nchannels(sa_stream_t *s, sa_adjust_t direction);
+int sa_stream_set_adjust_pcm_format(sa_stream_t *s, sa_adjust_t direction);
+int sa_stream_set_adjust_watermarks(sa_stream_t *s, sa_adjust_t direction);
+
+/* Query functions */
+
+int sa_stream_get_mode(sa_stream_t *s, sa_mode_t *access_mode);
+int sa_stream_get_codec(sa_stream_t *s, char *codec, size_t *size);
+int sa_stream_get_pcm_format(sa_stream_t *s, sa_pcm_format_t *format);
+int sa_stream_get_rate(sa_stream_t *s, unsigned int *rate);
+int sa_stream_get_nchannels(sa_stream_t *s, int *nchannels);
+int sa_stream_get_user_data(sa_stream_t *s, void **value);
+int sa_stream_get_write_lower_watermark(sa_stream_t *s, size_t *size);
+int sa_stream_get_read_lower_watermark(sa_stream_t *s, size_t *size);
+int sa_stream_get_write_upper_watermark(sa_stream_t *s, size_t *size);
+int sa_stream_get_read_upper_watermark(sa_stream_t *s, size_t *size);
+int sa_stream_get_channel_map(sa_stream_t *s, sa_channel_t map[], unsigned int *n);
+int sa_stream_get_xrun_mode(sa_stream_t *s, sa_xrun_mode_t *mode);
+int sa_stream_get_non_interleaved(sa_stream_t *s, int *enabled);
+int sa_stream_get_dynamic_rate(sa_stream_t *s, int *enabled);
+int sa_stream_get_driver(sa_stream_t *s, char *driver_name, size_t *size);
+int sa_stream_get_device(sa_stream_t *s, char *device_name, size_t *size);
+int sa_stream_get_read_volume(sa_stream_t *s, int32_t vol[], unsigned int *n);
+int sa_stream_get_write_volume(sa_stream_t *s, int32_t vol[], unsigned int *n);
+int sa_stream_get_meta_data(sa_stream_t *s, const char *name, void*data, size_t *size);
+int sa_stream_get_adjust_rate(sa_stream_t *s, sa_adjust_t *direction);
+int sa_stream_get_adjust_nchannels(sa_stream_t *s, sa_adjust_t *direction);
+int sa_stream_get_adjust_pcm_format(sa_stream_t *s, sa_adjust_t *direction);
+int sa_stream_get_adjust_watermarks(sa_stream_t *s, sa_adjust_t *direction);
+
+/** Get current state of the audio device */
+int sa_stream_get_state(sa_stream_t *s, sa_state_t *state);
+
+/** Obtain the error code */
+int sa_stream_get_event_error(sa_stream_t *s, sa_error_t *error);
+
+/** Obtain the notification code */
+int sa_stream_get_event_notify(sa_stream_t *s, sa_notify_t *notify);
+
+/** sync/timing */
+int sa_stream_get_position(sa_stream_t *s, sa_position_t position, int64_t *pos);
+
+
+/* Blocking IO calls */
+
+/** Interleaved capture function */
+int sa_stream_read(sa_stream_t *s, void *data, size_t nbytes);
+/** Non-interleaved capture function */
+int sa_stream_read_ni(sa_stream_t *s, unsigned int channel, void *data, size_t nbytes);
+
+/** Interleaved playback function */
+int sa_stream_write(sa_stream_t *s, const void *data, size_t nbytes);
+/** Non-interleaved playback function */
+int sa_stream_write_ni(sa_stream_t *s, unsigned int channel, const void *data, size_t nbytes);
+/** Interleaved playback function with seek offset */
+int sa_stream_pwrite(sa_stream_t *s, const void *data, size_t nbytes, int64_t offset, sa_seek_t whence);
+/** Non-interleaved playback function with seek offset */
+int sa_stream_pwrite_ni(sa_stream_t *s, unsigned int channel, const void *data, size_t nbytes, int64_t offset, sa_seek_t whence);
+
+
+/** Query how much can be read without blocking */
+int sa_stream_get_read_size(sa_stream_t *s, size_t *size);
+/** Query how much can be written without blocking */
+int sa_stream_get_write_size(sa_stream_t *s, size_t *size);
+
+
+/* Control/xrun */
+
+/** Resume playing after a pause */
+int sa_stream_resume(sa_stream_t *s);
+
+/** Pause audio playback (do not empty the buffer) */
+int sa_stream_pause(sa_stream_t *s);
+
+/** Block until all audio has been played */
+int sa_stream_drain(sa_stream_t *s);
+
+/** Return a human readable error */
+const char *sa_strerror(int code);
+
+/* Extensions */
+int
+sa_stream_set_volume_abs(sa_stream_t *s, float vol);
+
+int
+sa_stream_get_volume_abs(sa_stream_t *s, float *vol);
+
+#endif

Modified: browser_plugin/trunk/src/audio/sydney_audio_alsa.c
===================================================================
--- browser_plugin/trunk/src/audio/sydney_audio_alsa.c	2008-02-18 07:27:29 UTC (rev 3484)
+++ browser_plugin/trunk/src/audio/sydney_audio_alsa.c	2008-02-19 08:22:18 UTC (rev 3485)
@@ -36,7 +36,7 @@
 #include <stdlib.h>
 #include <pthread.h>
 #include <alsa/asoundlib.h>
-#include "sydney_audio_new.h"
+#include "sydney_audio.h"
 
 /* ALSA implementation based heavily on sydney_audio_mac.c */
 

Modified: browser_plugin/trunk/src/audio/sydney_audio_mac.c
===================================================================
--- browser_plugin/trunk/src/audio/sydney_audio_mac.c	2008-02-18 07:27:29 UTC (rev 3484)
+++ browser_plugin/trunk/src/audio/sydney_audio_mac.c	2008-02-19 08:22:18 UTC (rev 3485)
@@ -34,7 +34,7 @@
  */
 
 #include <AudioUnit/AudioUnit.h>
-#include "sydney_audio_new.h"
+#include "sydney_audio.h"
 
 /*
  * The Mac's audio interface is based on a "pull" I/O model, which means you

Deleted: browser_plugin/trunk/src/audio/sydney_audio_new.h
===================================================================
--- browser_plugin/trunk/src/audio/sydney_audio_new.h	2008-02-18 07:27:29 UTC (rev 3484)
+++ browser_plugin/trunk/src/audio/sydney_audio_new.h	2008-02-19 08:22:18 UTC (rev 3485)
@@ -1,412 +0,0 @@
-#ifndef foosydneyhfoo
-#define foosydneyhfoo
-
-/* Requirements:
-
-- In sync mode, the device will automatically write data so that an initial read causes writes
-of zeros to be issued to that one can do "while (1); {read(); write()}
-
-- All functions are thread-safe and can be called in any thread context. None of the functions is
-async-signal safe.
-  
-- It is assumed that duplex streams have a single clock (synchronised)
-*/
-
-#include <sys/types.h>
-#if !defined (WIN32)
-#include <sys/param.h>
-#include <inttypes.h>
-#endif
-
-/* Detect byte order, based on sys/param.h */
-#undef SA_LITTLE_ENDIAN
-#undef SA_BIG_ENDIAN
-
-#if defined(__BYTE_ORDER)
-#   if __BYTE_ORDER == __LITTLE_ENDIAN
-#       define SA_LITTLE_ENDIAN 1
-#   elif __BYTE_ORDER == __BIG_ENDIAN
-#       define SA_BIG_ENDIAN 1
-#   endif
-#elif defined(WIN32)
-#   define SA_LITTLE_ENDIAN 1
-#elif defined(__APPLE__)
-#   if defined(__BIG_ENDIAN__)
-#       define SA_BIG_ENDIAN 1
-#   else
-#       define SA_LITTLE_ENDIAN 1
-#   endif
-#else
-#    error "Cannot determine byte order!"
-#endif
-
-#if defined(WIN32)
-#if !defined(int32_t)
-typedef __int32 int32_t;
-#endif
-#if !defined(int64_t)
-typedef __int64 int64_t;
-#endif
-#endif
-
-typedef struct sa_stream sa_stream_t;
-
-#if defined(WIN32)
-// (left << 16 | right) (16 bits per channel)
-#define SA_VOLUME_MUTED ((int32_t) (0x00000000))
-#else
-/** Volume that corresponds to muted in/out */
-#define SA_VOLUME_MUTED ((int32_t) (-0x80000000))
-#endif
-
-/** Ways to express seek offsets for pread/pwrite */
-typedef enum {
-    SA_SEEK_RELATIVE,
-    SA_SEEK_ABSOLUTE,
-    SA_SEEK_RELATIVE_END,
-    _SA_SEEK_MAX
-} sa_seek_t;
-
-/** Supported formats */
-typedef enum {
-    SA_PCM_FORMAT_U8,
-    SA_PCM_FORMAT_ULAW,
-    SA_PCM_FORMAT_ALAW,
-    SA_PCM_FORMAT_S16_LE,
-    SA_PCM_FORMAT_S16_BE,
-    SA_PCM_FORMAT_S24_LE,
-    SA_PCM_FORMAT_S24_BE,
-    SA_PCM_FORMAT_S32_LE,
-    SA_PCM_FORMAT_S32_BE,
-    SA_PCM_FORMAT_FLOAT32_LE,
-    SA_PCM_FORMAT_FLOAT32_BE,
-    _SA_PCM_FORMAT_MAX
-} sa_pcm_format_t;
-
-/* Native/reverse endianness definitions for PCM */
-#ifdef SA_LITTLE_ENDIAN
-#define SA_PCM_FORMAT_S16_NE SA_PCM_FORMAT_S16_LE
-#define SA_PCM_FORMAT_S24_NE SA_PCM_FORMAT_S24_LE
-#define SA_PCM_FORMAT_S32_NE SA_PCM_FORMAT_S32_LE
-#define SA_PCM_FORMAT_FLOAT32_NE SA_PCM_FORMAT_FLOAT32_LE
-#define SA_PCM_FORMAT_S16_RE SA_PCM_FORMAT_S16_BE
-#define SA_PCM_FORMAT_S24_RE SA_PCM_FORMAT_S24_BE
-#define SA_PCM_FORMAT_S32_RE SA_PCM_FORMAT_S32_BE
-#define SA_PCM_FORMAT_FLOAT32_RE SA_PCM_FORMAT_FLOAT32_BE
-#else
-#define SA_PCM_FORMAT_S16_NE SA_PCM_FORMAT_S16_BE
-#define SA_PCM_FORMAT_S24_NE SA_PCM_FORMAT_S24_BE
-#define SA_PCM_FORMAT_S32_NE SA_PCM_FORMAT_S32_BE
-#define SA_PCM_FORMAT_FLOAT32_NE SA_PCM_FORMAT_FLOAT32_BE
-#define SA_PCM_FORMAT_S16_RE SA_PCM_FORMAT_S16_LE
-#define SA_PCM_FORMAT_S24_RE SA_PCM_FORMAT_S24_LE
-#define SA_PCM_FORMAT_S32_RE SA_PCM_FORMAT_S32_LE
-#define SA_PCM_FORMAT_FLOAT32_RE SA_PCM_FORMAT_FLOAT32_LE
-#endif
-
-#define SA_CODEC_MPEG "mpeg"
-#define SA_CODEC_AC3 "ac3"
-#define SA_CODEC_GSM "gsm"
-#define SA_CODEC_VORBIS "vorbis"
-#define SA_CODEC_SPEEX "speex"
-
-/** Device opening modes */
-typedef enum {
-    SA_MODE_WRONLY = 1,
-    SA_MODE_RDONLY = 2,
-    SA_MODE_RDWR   = 3,
-    _SA_MODE_MAX   = 4,
-} sa_mode_t;
-
-/** Error codes */
-typedef enum {
-    SA_SUCCESS = 0,
-    SA_ERROR_NOT_SUPPORTED = -1,
-    SA_ERROR_INVALID = -2,
-    SA_ERROR_STATE = -3,
-    SA_ERROR_OOM = -4,
-    SA_ERROR_NO_DEVICE = -5,
-    SA_ERROR_NO_DRIVER = -6,
-    SA_ERROR_NO_CODEC = -7,
-    SA_ERROR_NO_PCM_FORMAT = -7,
-    SA_ERROR_SYSTEM = -8,
-    SA_ERROR_NO_INIT = -9,
-    SA_ERROR_NO_META = -10,
-    SA_ERROR_NO_DATA = -11,
-    SA_ERROR_NO_SPACE = -12,
-    _SA_ERROR_MAX = -13
-} sa_error_t;
-
-/** Possible events for notifications */
-typedef enum {
-    SA_NOTIFY_REQUEST_START,
-    SA_NOTIFY_REQUEST_STOP,
-    SA_NOTIFY_CHANGED_READ_VOLUME,
-    SA_NOTIFY_CHANGED_WRITE_VOLUME,
-    SA_NOTIFY_CHANGED_DEVICE,
-    _SA_NOTIFY_MAX
-} sa_notify_t;
-
-/** Classes of events */
-typedef enum {
-    SA_EVENT_REQUEST_IO,
-    SA_EVENT_INIT_THREAD,
-    SA_EVENT_NOTIFY,
-    SA_EVENT_ERROR,
-    _SA_EVENT_MAX
-} sa_event_t;
-
-/** List of sample position queries */
-typedef enum {
-    SA_POSITION_WRITE_DELAY,
-    SA_POSITION_WRITE_HARDWARE,
-    SA_POSITION_WRITE_SOFTWARE,
-    SA_POSITION_READ_DELAY,
-    SA_POSITION_READ_HARDWARE,
-    SA_POSITION_READ_SOFTWARE,
-    SA_POSITION_DUPLEX_DELAY,
-    _SA_POSITION_MAX
-} sa_position_t;
-
-/* Channel positions */
-typedef enum {
-    SA_CHANNEL_MONO,
-    SA_CHANNEL_LEFT,
-    SA_CHANNEL_RIGHT,
-    SA_CHANNEL_CENTER,
-    SA_CHANNEL_FRONT_LEFT,
-    SA_CHANNEL_FRONT_RIGHT,
-    SA_CHANNEL_FRONT_CENTER,
-    SA_CHANNEL_REAR_LEFT,
-    SA_CHANNEL_REAR_RIGHT,
-    SA_CHANNEL_REAR_CENTER,
-    SA_CHANNEL_LFE,
-    SA_CHANNEL_FRONT_LEFT_OF_CENTER,
-    SA_CHANNEL_FRONT_RIGHT_OF_CENTER,
-    SA_CHANNEL_SIDE_LEFT,
-    SA_CHANNEL_SIDE_RIGHT,
-    SA_CHANNEL_TOP_CENTER,
-    SA_CHANNEL_TOP_FRONT_LEFT,
-    SA_CHANNEL_TOP_FRONT_RIGHT,
-    SA_CHANNEL_TOP_FRONT_CENTER,
-    SA_CHANNEL_TOP_REAR_LEFT,
-    SA_CHANNEL_TOP_REAR_RIGHT,
-    SA_CHANNEL_TOP_REAR_CENTER,
-    SA_CHANNEL_AUX0,
-    SA_CHANNEL_AUX1,
-    SA_CHANNEL_AUX2,
-    SA_CHANNEL_AUX3,
-    SA_CHANNEL_AUX4,
-    SA_CHANNEL_AUX5,
-    SA_CHANNEL_AUX6,
-    SA_CHANNEL_AUX7,
-    SA_CHANNEL_AUX8,
-    SA_CHANNEL_AUX9,
-    SA_CHANNEL_AUX10,
-    SA_CHANNEL_AUX11,
-    SA_CHANNEL_AUX12,
-    SA_CHANNEL_AUX13,
-    SA_CHANNEL_AUX14,
-    SA_CHANNEL_AUX15,
-    SA_CHANNEL_AUX16,
-    SA_CHANNEL_AUX17,
-    SA_CHANNEL_AUX18,
-    SA_CHANNEL_AUX19,
-    SA_CHANNEL_AUX20,
-    SA_CHANNEL_AUX21,
-    SA_CHANNEL_AUX22,
-    SA_CHANNEL_AUX23,
-    SA_CHANNEL_AUX24,
-    SA_CHANNEL_AUX25,
-    SA_CHANNEL_AUX26,
-    SA_CHANNEL_AUX27,
-    SA_CHANNEL_AUX28,
-    SA_CHANNEL_AUX29,
-    SA_CHANNEL_AUX30,
-    SA_CHANNEL_AUX31,
-    _SA_CHANNEL_MAX
-} sa_channel_t;
-
-typedef enum {
-    SA_STATE_INIT,
-    SA_STATE_RUNNING,
-    SA_STATE_STOPPED,
-    /* put more stuff */
-    _SA_STATE_MAX,
-} sa_state_t;
-
-typedef enum {
-    SA_XRUN_MODE_STOP,
-    SA_XRUN_MODE_SPIN,
-    _SA_XRUN_MODE_MAX
-} sa_xrun_mode_t;
-
-typedef enum {
-    SA_ADJUST_UP = 1,
-    SA_ADJUST_DOWN = -1,
-    SA_ADJUST_NONE = 0,
-} sa_adjust_t;
-
-/* Some kind of meta information.  */
-#define SA_META_CLIENT_NAME "sydney.client-name"     /* utf-8 */ 
-#define SA_META_PROCESS_ID "sydney.process-id"       /* getpid() */
-#define SA_META_LANGUAGE "sydney.language"           /* de_DE and similar */
-
-/* Some kind of meta information. Not filled in */
-#define SA_META_STREAM_NAME "sydney.stream-name"     /* utf-8 */ 
-#define SA_META_ICON_NAME "sydney.icon-name"         /* file name (no slashes) */
-#define SA_META_ICON_PNG "sydney.icon-png"           /* PNG blob */
-#define SA_META_ROLE "sydney.role"                   /* one of: "music", "phone", "game", "event" */
-#define SA_META_X11_DISPLAY "sydney.x11-display"     /* X11 display */
-#define SA_META_X11_WINDOW "sydney.x11-window"       /* X11 window id */
-
-/** Main callback function */
-typedef int (*sa_event_callback_t)(sa_stream_t *s, sa_event_t event);
-
-/** Create an opaque (e.g. AC3) codec stream */
-int sa_stream_create_opaque(sa_stream_t **s, const char *client_name, sa_mode_t mode, const char *codec);
-
-/** Normal way to open a PCM device */
-int sa_stream_create_pcm(sa_stream_t **s, const char *client_name, sa_mode_t mode, sa_pcm_format_t format, unsigned int rate, unsigned int nchannels);
-
-/** Initialise the device */
-int sa_stream_open(sa_stream_t *s);
-
-/** Close/destroy everything */
-int sa_stream_destroy(sa_stream_t *s);
-
-/* "Soft" params */
-int sa_stream_set_write_lower_watermark(sa_stream_t *s, size_t size);
-int sa_stream_set_read_lower_watermark(sa_stream_t *s, size_t size);
-int sa_stream_set_write_upper_watermark(sa_stream_t *s, size_t size);
-int sa_stream_set_read_upper_watermark(sa_stream_t *s, size_t size);
-
-/** Set the mapping between channels and the loudspeakers */
-int sa_stream_set_channel_map(sa_stream_t *s, const sa_channel_t map[], unsigned int n);
-
-/** Whether xruns cause the card to reset */
-int sa_stream_set_xrun_mode(sa_stream_t *s, sa_xrun_mode_t mode);
-
-/** Set the device to non-interleaved mode */
-int sa_stream_set_non_interleaved(sa_stream_t *s, int enable);
-
-/** Require dynamic sample rate */
-int sa_stream_set_dynamic_rate(sa_stream_t *s, int enable);
-
-/** Select driver */
-int sa_stream_set_driver(sa_stream_t *s, const char *driver);
-
-/** Start callback */
-int sa_stream_start_thread(sa_stream_t *s, sa_event_callback_t callback);
-
-/** Start callback */
-int sa_stream_stop_thread(sa_stream_t *s);
-
-/** Change the device connected to the stream */
-int sa_stream_change_device(sa_stream_t *s, const char *device_name);
-
-/** volume in hundreths of dB*/
-int sa_stream_change_read_volume(sa_stream_t *s, const int32_t vol[], unsigned int n);
-
-/** volume in hundreths of dB*/
-int sa_stream_change_write_volume(sa_stream_t *s, const int32_t vol[], unsigned int n);
-
-/** Change the sampling rate */
-int sa_stream_change_rate(sa_stream_t *s, unsigned int rate);
-
-/** Change some meta data that is attached to the stream */
-int sa_stream_change_meta_data(sa_stream_t *s, const char *name, const void *data, size_t size);
-
-/** Associate opaque user data */
-int sa_stream_change_user_data(sa_stream_t *s, const void *value);
-
-/* Hardware-related. This is implementation-specific and hardware specific. */
-int sa_stream_set_adjust_rate(sa_stream_t *s, sa_adjust_t direction);
-int sa_stream_set_adjust_nchannels(sa_stream_t *s, sa_adjust_t direction);
-int sa_stream_set_adjust_pcm_format(sa_stream_t *s, sa_adjust_t direction);
-int sa_stream_set_adjust_watermarks(sa_stream_t *s, sa_adjust_t direction);
-
-/* Query functions */
-
-int sa_stream_get_mode(sa_stream_t *s, sa_mode_t *access_mode);
-int sa_stream_get_codec(sa_stream_t *s, char *codec, size_t *size);
-int sa_stream_get_pcm_format(sa_stream_t *s, sa_pcm_format_t *format);
-int sa_stream_get_rate(sa_stream_t *s, unsigned int *rate);
-int sa_stream_get_nchannels(sa_stream_t *s, int *nchannels);
-int sa_stream_get_user_data(sa_stream_t *s, void **value);
-int sa_stream_get_write_lower_watermark(sa_stream_t *s, size_t *size);
-int sa_stream_get_read_lower_watermark(sa_stream_t *s, size_t *size);
-int sa_stream_get_write_upper_watermark(sa_stream_t *s, size_t *size);
-int sa_stream_get_read_upper_watermark(sa_stream_t *s, size_t *size);
-int sa_stream_get_channel_map(sa_stream_t *s, sa_channel_t map[], unsigned int *n);
-int sa_stream_get_xrun_mode(sa_stream_t *s, sa_xrun_mode_t *mode);
-int sa_stream_get_non_interleaved(sa_stream_t *s, int *enabled);
-int sa_stream_get_dynamic_rate(sa_stream_t *s, int *enabled);
-int sa_stream_get_driver(sa_stream_t *s, char *driver_name, size_t *size);
-int sa_stream_get_device(sa_stream_t *s, char *device_name, size_t *size);
-int sa_stream_get_read_volume(sa_stream_t *s, int32_t vol[], unsigned int *n);
-int sa_stream_get_write_volume(sa_stream_t *s, int32_t vol[], unsigned int *n);
-int sa_stream_get_meta_data(sa_stream_t *s, const char *name, void*data, size_t *size);
-int sa_stream_get_adjust_rate(sa_stream_t *s, sa_adjust_t *direction);
-int sa_stream_get_adjust_nchannels(sa_stream_t *s, sa_adjust_t *direction);
-int sa_stream_get_adjust_pcm_format(sa_stream_t *s, sa_adjust_t *direction);
-int sa_stream_get_adjust_watermarks(sa_stream_t *s, sa_adjust_t *direction);
-
-/** Get current state of the audio device */
-int sa_stream_get_state(sa_stream_t *s, sa_state_t *state);
-
-/** Obtain the error code */
-int sa_stream_get_event_error(sa_stream_t *s, sa_error_t *error);
-
-/** Obtain the notification code */
-int sa_stream_get_event_notify(sa_stream_t *s, sa_notify_t *notify);
-
-/** sync/timing */
-int sa_stream_get_position(sa_stream_t *s, sa_position_t position, int64_t *pos);
-
-
-/* Blocking IO calls */
-
-/** Interleaved capture function */
-int sa_stream_read(sa_stream_t *s, void *data, size_t nbytes);
-/** Non-interleaved capture function */
-int sa_stream_read_ni(sa_stream_t *s, unsigned int channel, void *data, size_t nbytes);
-
-/** Interleaved playback function */
-int sa_stream_write(sa_stream_t *s, const void *data, size_t nbytes);
-/** Non-interleaved playback function */
-int sa_stream_write_ni(sa_stream_t *s, unsigned int channel, const void *data, size_t nbytes);
-/** Interleaved playback function with seek offset */
-int sa_stream_pwrite(sa_stream_t *s, const void *data, size_t nbytes, int64_t offset, sa_seek_t whence);
-/** Non-interleaved playback function with seek offset */
-int sa_stream_pwrite_ni(sa_stream_t *s, unsigned int channel, const void *data, size_t nbytes, int64_t offset, sa_seek_t whence);
-
-
-/** Query how much can be read without blocking */
-int sa_stream_get_read_size(sa_stream_t *s, size_t *size);
-/** Query how much can be written without blocking */
-int sa_stream_get_write_size(sa_stream_t *s, size_t *size);
-
-
-/* Control/xrun */
-
-/** Resume playing after a pause */
-int sa_stream_resume(sa_stream_t *s);
-
-/** Pause audio playback (do not empty the buffer) */
-int sa_stream_pause(sa_stream_t *s);
-
-/** Block until all audio has been played */
-int sa_stream_drain(sa_stream_t *s);
-
-/** Return a human readable error */
-const char *sa_strerror(int code);
-
-/* Extensions */
-int
-sa_stream_set_volume_abs(sa_stream_t *s, float vol);
-
-int
-sa_stream_get_volume_abs(sa_stream_t *s, float *vol);
-
-#endif

Modified: browser_plugin/trunk/src/audio/sydney_audio_waveapi.c
===================================================================
--- browser_plugin/trunk/src/audio/sydney_audio_waveapi.c	2008-02-18 07:27:29 UTC (rev 3484)
+++ browser_plugin/trunk/src/audio/sydney_audio_waveapi.c	2008-02-19 08:22:18 UTC (rev 3485)
@@ -33,7 +33,7 @@
  * ***** END LICENSE BLOCK ***** *
  */
 
-#include "sydney_audio_new.h"
+#include "sydney_audio.h"
 #include <stdio.h>
 #include <stdlib.h>
 

Modified: browser_plugin/trunk/src/plugin_gui_linux.c
===================================================================
--- browser_plugin/trunk/src/plugin_gui_linux.c	2008-02-18 07:27:29 UTC (rev 3484)
+++ browser_plugin/trunk/src/plugin_gui_linux.c	2008-02-19 08:22:18 UTC (rev 3485)
@@ -50,7 +50,7 @@
 #include <oggplay/oggplay_tools.h>
 #include "plugin_tools.h"
 
-#include "sydney_audio_new.h"
+#include "sydney_audio.h"
 
 #define OGGPLAY_FRAME_SKIP_OFFSET -30
 #define OGGPLAY_MIN_OFFSET        3

Modified: browser_plugin/trunk/src/plugin_gui_mac.c
===================================================================
--- browser_plugin/trunk/src/plugin_gui_mac.c	2008-02-18 07:27:29 UTC (rev 3484)
+++ browser_plugin/trunk/src/plugin_gui_mac.c	2008-02-19 08:22:18 UTC (rev 3485)
@@ -36,7 +36,7 @@
 #include "std_semaphore.h"
 #include "plugin_gui.h"
 #include "plugin_oggplay.h"
-#include "sydney_audio_new.h"
+#include "sydney_audio.h"
 #include <oggplay/oggplay_tools.h>
 
 typedef enum {

Modified: browser_plugin/trunk/src/plugin_gui_win32.c
===================================================================
--- browser_plugin/trunk/src/plugin_gui_win32.c	2008-02-18 07:27:29 UTC (rev 3484)
+++ browser_plugin/trunk/src/plugin_gui_win32.c	2008-02-19 08:22:18 UTC (rev 3485)
@@ -40,7 +40,7 @@
 #include "std_semaphore.h"
 
 #ifdef USE_AUDIO
-#include "sydney_audio_new.h"
+#include "sydney_audio.h"
 #endif
 
 #include "plugin_gui.h"



More information about the commits mailing list