/* 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(klass) (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__ */