summaryrefslogtreecommitdiffstats
path: root/sys/osxaudio/gstosxaudioelement.h
diff options
context:
space:
mode:
authorJustin Karnegas <justin@affinix.com>2009-01-02 20:39:34 +0000
committerMichael Smith <msmith@xiph.org>2009-01-02 20:39:34 +0000
commit17bb67f873a0bd3c4e631ed510a15799c253fc18 (patch)
tree710ea439dbb43826a10e0037ee144b6133f30b70 /sys/osxaudio/gstosxaudioelement.h
parent996fb72681d3da4fce8cb2e94957fe72aa832d8b (diff)
sys/osxaudio/: Rewrite osxaudio to work more flexibly and more reliably, using a different abstraction layer of corea...
Original commit message from CVS: Patch by: Justin Karnegas <justin@affinix.com> and Michael Smith <msmith@songbirdnest.com> * sys/osxaudio/gstosxaudio.c: * sys/osxaudio/gstosxaudioelement.c: * sys/osxaudio/gstosxaudioelement.h: * sys/osxaudio/gstosxaudiosink.c: * sys/osxaudio/gstosxaudiosink.h: * sys/osxaudio/gstosxaudiosrc.c: * sys/osxaudio/gstosxaudiosrc.h: * sys/osxaudio/gstosxringbuffer.c: * sys/osxaudio/gstosxringbuffer.h: Rewrite osxaudio to work more flexibly and more reliably, using a different abstraction layer of coreaudio that is the recommended way of doing low-level audio I/O on OSX. Fixes byg #564948.
Diffstat (limited to 'sys/osxaudio/gstosxaudioelement.h')
-rw-r--r--sys/osxaudio/gstosxaudioelement.h43
1 files changed, 28 insertions, 15 deletions
diff --git a/sys/osxaudio/gstosxaudioelement.h b/sys/osxaudio/gstosxaudioelement.h
index 1ab487a2..b5d90c0c 100644
--- a/sys/osxaudio/gstosxaudioelement.h
+++ b/sys/osxaudio/gstosxaudioelement.h
@@ -1,8 +1,8 @@
/*
* GStreamer
- * Copyright 2006 Zaheer Abbas Merali <zaheerabbas at merali dot org>
- * Copyright 2007 Pioneers of the Inevitable <songbird@songbirdnest.com>
- *
+ * Copyright (C) 2006 Zaheer Abbas Merali <zaheerabbas at merali dot org>
+ * Copyright (C) 2007 Pioneers of the Inevitable <songbird@songbirdnest.com>
+ *
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
@@ -41,8 +41,9 @@
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*
- * The development of this code was made possible due to the involvement of Pioneers of the * Inevitable, the creators of the Songbird Music player
- *
+ * The development of this code was made possible due to the involvement of
+ * Pioneers of the Inevitable, the creators of the Songbird Music player
+ *
*/
#ifndef __GST_OSX_AUDIO_ELEMENT_H__
@@ -50,22 +51,34 @@
#include <gst/gst.h>
#include <CoreAudio/CoreAudio.h>
+#include <AudioUnit/AudioUnit.h>
-#define GST_OSX_AUDIO_ELEMENT_TYPE (gst_osx_audio_element_get_type())
-#define GST_OSX_AUDIO_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_OSX_AUDIO_ELEMENT_TYPE, GstOsxAudioElementInterface))
-#define GST_IS_OSX_AUDIO_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_OSX_AUDIO_ELEMENT_TYPE))
-#define GST_OSX_AUDIO_ELEMENT_GET_INTERFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), GST_OSX_AUDIO_ELEMENT_TYPE, GstOsxAudioElementInterface))
+G_BEGIN_DECLS
+
+#define GST_OSX_AUDIO_ELEMENT_TYPE \
+ (gst_osx_audio_element_get_type())
+#define GST_OSX_AUDIO_ELEMENT(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_OSX_AUDIO_ELEMENT_TYPE,GstOsxAudioElementInterface))
+#define GST_IS_OSX_AUDIO_ELEMENT(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_OSX_AUDIO_ELEMENT_TYPE))
+#define GST_OSX_AUDIO_ELEMENT_GET_INTERFACE(inst) \
+ (G_TYPE_INSTANCE_GET_INTERFACE((inst),GST_OSX_AUDIO_ELEMENT_TYPE,GstOsxAudioElementInterface))
typedef struct _GstOsxAudioElementInterface GstOsxAudioElementInterface;
-struct _GstOsxAudioElementInterface {
- GTypeInterface parent;
-
- OSStatus (*io_proc) (AudioDeviceID inDevice, const AudioTimeStamp *inNow, const AudioBufferList *inInputData, const AudioTimeStamp *inInputTime, AudioBufferList *outOutputData, const AudioTimeStamp *inOutputTime, void *inClientData);
-
+struct _GstOsxAudioElementInterface
+{
+ GTypeInterface parent;
+
+ OSStatus (*io_proc) (void * userdata,
+ AudioUnitRenderActionFlags * ioActionFlags,
+ const AudioTimeStamp * inTimeStamp,
+ UInt32 inBusNumber, UInt32 inNumberFrames,
+ AudioBufferList * bufferList);
};
GType gst_osx_audio_element_get_type (void);
+G_END_DECLS
-#endif
+#endif /* __GST_OSX_AUDIO_ELEMENT_H__ */