Commit 4aff5747 authored by Youness Alaoui's avatar Youness Alaoui Committed by Edward Hervey
Browse files

[MOVED FROM GST-P-FARSIGHT] Added dtmfsrc, a DTMF Tone Generator, and made it...

[MOVED FROM GST-P-FARSIGHT] Added dtmfsrc, a DTMF Tone Generator, and made it part of the 'dtmf' plugin.

20070820184852-4f0f6-a0d85e67708290aebafa89ab79d3cedd5815b620.gz
parent 9d1a8605
plugin_LTLIBRARIES = libgstrtpdtmf.la
plugin_LTLIBRARIES = libgstdtmf.la
libgstrtpdtmf_la_SOURCES = gstrtpdtmfsrc.c
libgstdtmf_la_SOURCES = gstdtmfsrc.c \
gstrtpdtmfsrc.c \
gstdtmf.c
libgstrtpdtmf_la_CFLAGS = $(GST_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) $(ERROR_CFLAGS) -DEXTERN_BUF -DRTP_SUPPORT
libgstrtpdtmf_la_LIBADD = $(GST_LIBS_LIBS)
libgstrtpdtmf_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) -lgstrtp-@GST_MAJORMINOR@
noinst_HEADERS = gstdtmfsrc.h \
gstrtpdtmfsrc.h
libgstdtmf_la_CFLAGS = $(GST_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) $(ERROR_CFLAGS) -DEXTERN_BUF -DRTP_SUPPORT
libgstdtmf_la_LIBADD = $(GST_LIBS_LIBS)
libgstdtmf_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) -lgstrtp-@GST_MAJORMINOR@
noinst_HEADERS = gstrtpdtmfsrc.h
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include "gstdtmfsrc.h"
#include "gstrtpdtmfsrc.h"
static gboolean
plugin_init (GstPlugin * plugin)
{
if (!gst_dtmf_src_plugin_init (plugin))
return FALSE;
if (!gst_rtp_dtmf_src_plugin_init (plugin))
return FALSE;
return TRUE;
}
GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
GST_VERSION_MINOR,
"dtmf",
"DTMF plugins",
plugin_init, "0.1" , "LGPL", "DTMF", "");
This diff is collapsed.
/* GStreamer DTMF source
*
* gstdtmfsrc.h:
*
* Copyright (C) <2007> Collabora.
* Contact: Youness Alaoui <youness.alaoui@collabora.co.uk>
* Copyright (C) <2007> Nokia Corporation.
* Contact: Zeeshan Ali <zeeshan.ali@nokia.com>
* Copyright (C) <2005> Wim Taymans <wim@fluendo.com>
*
* 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 details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#ifndef __GST_DTMF_SRC_H__
#define __GST_DTMF_SRC_H__
#include <gst/gst.h>
#include <gst/gstbuffer.h>
G_BEGIN_DECLS
#define GST_TYPE_DTMF_SRC (gst_dtmf_src_get_type())
#define GST_DTMF_SRC(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_DTMF_SRC,GstDTMFSrc))
#define GST_DTMF_SRC_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_DTMF_SRC,GstDTMFSrcClass))
#define GST_DTMF_SRC_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_DTMF_SRC, GstDTMFSrcClass))
#define GST_IS_DTMF_SRC(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_DTMF_SRC))
#define GST_IS_DTMF_SRC_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_DTMF_SRC))
#define GST_DTMF_SRC_CAST(obj) ((GstDTMFSrc *)(obj))
typedef struct _GstDTMFSrc GstDTMFSrc;
typedef struct _GstDTMFSrcClass GstDTMFSrcClass;
/**
* GstDTMFSrc:
* @element: the parent element.
*
* The opaque #GstDTMFSrc data structure.
*/
struct _GstDTMFSrc {
GstElement element;
GstPad *srcpad;
GstClockTime timestamp;
GstSegment segment;
double sample;
guint16 event;
guint16 volume;
guint16 interval;
};
struct _GstDTMFSrcClass {
GstElementClass parent_class;
};
GType gst_dtmf_src_get_type (void);
gboolean gst_dtmf_src_plugin_init (GstPlugin * plugin);
G_END_DECLS
#endif /* __GST_DTMF_SRC_H__ */
......@@ -244,7 +244,7 @@ gst_rtp_dtmf_src_base_init (gpointer g_class)
GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
GST_DEBUG_CATEGORY_INIT (gst_rtp_dtmf_src_debug,
"dtmfsrc", 0, "dtmfsrc element");
"rtpdtmfsrc", 0, "rtpdtmfsrc element");
gst_element_class_add_pad_template (element_class,
gst_static_pad_template_get (&gst_rtp_dtmf_src_template));
......@@ -849,24 +849,9 @@ failure:
}
}
static gboolean
gboolean
gst_rtp_dtmf_src_plugin_init (GstPlugin * plugin)
{
return gst_element_register (plugin, "rtpdtmfsrc",
GST_RANK_NONE, GST_TYPE_RTP_DTMF_SRC);
}
static gboolean
plugin_init (GstPlugin * plugin)
{
if (!gst_rtp_dtmf_src_plugin_init (plugin))
return FALSE;
return TRUE;
}
GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
GST_VERSION_MINOR,
"dtmf",
"DTMF plugins",
plugin_init, "0.1" , "LGPL", "DTMF", "");
......@@ -96,6 +96,9 @@ struct _GstRTPDTMFSrcClass {
GType gst_rtp_dtmf_src_get_type (void);
gboolean gst_rtp_dtmf_src_plugin_init (GstPlugin * plugin);
G_END_DECLS
#endif /* __GST_RTP_DTMF_SRC_H__ */
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