diff options
author | Edgard Lima <edgard.lima@indt.org.br> | 2006-01-09 18:20:56 +0000 |
---|---|---|
committer | Edgard Lima <edgard.lima@indt.org.br> | 2006-01-09 18:20:56 +0000 |
commit | a438034608c14b446943fcc0fbb0fa04df93aa47 (patch) | |
tree | 765d96dbb8f9f3711cae0183c945612f09a84071 /ext/sdl/sdlaudiosink.h | |
parent | ce77e3b44bc291c54039918f2136dff8b44a4c9f (diff) | |
download | gst-plugins-bad-a438034608c14b446943fcc0fbb0fa04df93aa47.tar.gz gst-plugins-bad-a438034608c14b446943fcc0fbb0fa04df93aa47.tar.bz2 gst-plugins-bad-a438034608c14b446943fcc0fbb0fa04df93aa47.zip |
Created new element, sdlaudiosink.
Original commit message from CVS:
Created new element, sdlaudiosink.
Diffstat (limited to 'ext/sdl/sdlaudiosink.h')
-rw-r--r-- | ext/sdl/sdlaudiosink.h | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/ext/sdl/sdlaudiosink.h b/ext/sdl/sdlaudiosink.h new file mode 100644 index 00000000..646a7747 --- /dev/null +++ b/ext/sdl/sdlaudiosink.h @@ -0,0 +1,65 @@ +/* GStreamer + * Copyright (C) <2005> Edgard Lima <edgard.lima@indt.org.br> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more + */ + +#ifndef __GST_SDLAUDIOSINK_H__ +#define __GST_SDLAUDIOSINK_H__ + + +#include <gst/gst.h> +#include <gst/audio/gstaudiosink.h> + +#include <SDL.h> +#include <SDL_audio.h> + +G_BEGIN_DECLS + +#define GST_TYPE_SDLAUDIOSINK (gst_sdlaudio_sink_get_type()) +#define GST_SDLAUDIOSINK(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_SDLAUDIOSINK,GstSDLAudioSink)) +#define GST_SDLAUDIOSINK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_SDLAUDIOSINK,GstSDLAudioSinkClass)) +#define GST_IS_SDLAUDIOSINK(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_SDLAUDIOSINK)) +#define GST_IS_SDLAUDIOSINK_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_SDLAUDIOSINK)) + +typedef struct _GstSDLAudioSink GstSDLAudioSink; +typedef struct _GstSDLAudioSinkClass GstSDLAudioSinkClass; + +typedef struct _gstsdl_semaphore { + GCond *cond; + GMutex *mutex; + gboolean mutexflag; + +} gstsdl_semaphore; + +struct _GstSDLAudioSink { + GstAudioSink sink; + + SDL_AudioSpec fmt; + guint8 *buffer; + + gstsdl_semaphore semA; + + gstsdl_semaphore semB; + + gboolean eos; + +}; + +struct _GstSDLAudioSinkClass { + GstAudioSinkClass parent_class; +}; + +GType gst_sdlaudio_sink_get_type(void); + +G_END_DECLS + +#endif /* __GST_SDLAUDIOSINK_H__ */ |