Commit 1795f778 authored by Arwed v. Merkatz's avatar Arwed v. Merkatz

Ported esdsink plugin.

Original commit message from CVS:
Ported esdsink plugin.
parent 4eb7e48a
......@@ -8,6 +8,7 @@ aalib (wim)
libcaca (zeeshan)
law (wim)
shout2 (zaheer) - not fully tested
esdsink (arwed)
osssink is partially done in the threaded branch (wim)
......
......@@ -420,6 +420,18 @@ GST_CHECK_FEATURE(MAD, [mad mp3 decoder], mad, [
])
AC_SUBST(MAD_LIBS)
dnl **** ESound ****
translit(dnm, m, l) AM_CONDITIONAL(USE_ESD, true)
GST_CHECK_FEATURE(ESD, [esound plug-ins], esdsink, [
PKG_CHECK_MODULES(ESD, esound >= 0.2.12, [
HAVE_ESD="yes"
AC_SUBST(ESD_CFLAGS)
AC_SUBST(ESD_LIBS)
], [
AM_PATH_ESD(0.2.12, HAVE_ESD="yes", HAVE_ESD="no")
AS_SCRUB_INCLUDE(ESD_CFLAGS)
])
])
AC_SUBST(GST_LIBS)
AC_SUBST(GST_CFLAGS)
......@@ -484,6 +496,7 @@ ext/libcaca/Makefile
ext/mad/Makefile
ext/shout2/Makefile
ext/sidplay/Makefile
ext/esd/Makefile
common/Makefile
common/m4/Makefile
m4/Makefile
......
......@@ -94,11 +94,11 @@ endif
# DVDNAV_DIR=
# endif
# if USE_ESD
# ESD_DIR=esd
# else
# ESD_DIR=
# endif
if USE_ESD
ESD_DIR=esd
else
ESD_DIR=
endif
# if USE_FAAC
# FAAC_DIR=faac
......
......@@ -2,8 +2,8 @@
plugin_LTLIBRARIES = libgstesd.la
libgstesd_la_SOURCES = esdsink.c esdmon.c gstesd.c
libgstesd_la_CFLAGS = $(GST_CFLAGS) $(ESD_CFLAGS)
libgstesd_la_LIBADD = $(ESD_LIBS)
libgstesd_la_CFLAGS = $(GST_CFLAGS) $(ESD_CFLAGS) $(GST_PLUGINS_LIBS_CFLAGS)
libgstesd_la_LIBADD = $(ESD_LIBS) $(GST_PLUGINS_LIBS_LIBS) -lgstaudio-@GST_MAJORMINOR@
libgstesd_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
noinst_HEADERS = esdsink.h esdmon.h
......
This diff is collapsed.
/* GStreamer
* Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu>
* Copyright (C) <2005> Arwed v. Merkatz <v.merkatz@gmx.net>
*
* esdsink.h: an EsounD audio sink
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
......@@ -22,50 +24,34 @@
#define __GST_ESDSINK_H__
#include <gst/gst.h>
#include <gst/audio/audioclock.h>
#include <gst/audio/gstaudiosink.h>
G_BEGIN_DECLS
#define GST_TYPE_ESDSINK \
(gst_esdsink_get_type())
#define GST_ESDSINK(obj) \
(G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_ESDSINK,GstEsdsink))
(G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_ESDSINK,GstEsdSink))
#define GST_ESDSINK_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_ESDSINK,GstEsdsinkClass))
(G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_ESDSINK,GstEsdSinkClass))
#define GST_IS_ESDSINK(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_ESDSINK))
#define GST_IS_ESDSINK_CLASS(obj) \
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_ESDSINK))
typedef struct _GstEsdsink GstEsdsink;
typedef struct _GstEsdsinkClass GstEsdsinkClass;
struct _GstEsdsink {
GstElement element;
GstPad *sinkpad;
typedef struct _GstEsdSink GstEsdSink;
typedef struct _GstEsdSinkClass GstEsdSinkClass;
GstClock *provided_clock;
GstClock *clock;
struct _GstEsdSink {
GstAudioSink sink;
gboolean mute;
int fd;
gint format;
gint depth;
gint channels;
gint frequency;
gboolean negotiated;
int ctrl_fd;
gchar *host;
int handled;
int bytes_per_sample;
gboolean link_open;
gboolean sync;
gboolean resync;
gboolean fallback;
};
struct _GstEsdsinkClass {
GstElementClass parent_class;
struct _GstEsdSinkClass {
GstAudioSinkClass parent_class;
};
GType gst_esdsink_get_type(void);
......
......@@ -22,7 +22,9 @@
#include "config.h"
#endif
#include "esdsink.h"
#if 0
#include "esdmon.h"
#endif
GST_DEBUG_CATEGORY (esd_debug);
......@@ -31,16 +33,20 @@ plugin_init (GstPlugin * plugin)
{
gboolean ret;
#if 0
if (!gst_library_load ("gstaudio"))
return FALSE;
#endif
ret = gst_esdsink_factory_init (plugin);
if (ret == FALSE)
return FALSE;
#if 0
ret = gst_esdmon_factory_init (plugin);
if (ret == FALSE)
return FALSE;
#endif
GST_DEBUG_CATEGORY_INIT (esd_debug, "esd", 0, "ESounD elements");
return TRUE;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment