rpms/gstreamer-plugins-good/F-11 0001-Move-farsight-plugins-from-bad-to-good.patch, NONE, 1.1 gstreamer-plugins-good.spec, 1.95, 1.96

Bastien Nocera hadess at fedoraproject.org
Mon Jun 22 15:43:40 UTC 2009


Author: hadess

Update of /cvs/pkgs/rpms/gstreamer-plugins-good/F-11
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv16488

Modified Files:
	gstreamer-plugins-good.spec 
Added Files:
	0001-Move-farsight-plugins-from-bad-to-good.patch 
Log Message:
* Mon Jun 22 2009 Bastien Nocera <bnocera at redhat.com> 0.10.15-2
- Add the farsight plugins from gst-plugins-bad 0.10.13 (#507009)

0001-Move-farsight-plugins-from-bad-to-good.patch:

--- NEW FILE 0001-Move-farsight-plugins-from-bad-to-good.patch ---
>From 94f7caadf48775e70bd87fb6390193fe745cc967 Mon Sep 17 00:00:00 2001
From: Bastien Nocera <hadess at hadess.net>
Date: Mon, 22 Jun 2009 16:09:04 +0100
Subject: [PATCH] Move farsight plugins from -bad to -good

---
 Makefile.am                                |    1 +
 configure.ac                               |    7 +
 farsight/Makefile.am                       |    1 +
 farsight/autoconvert/Makefile.am           |    9 +
 farsight/autoconvert/gstautoconvert.c      | 1383 +++++++++++++++
 farsight/autoconvert/gstautoconvert.h      |   63 +
 farsight/dtmf/Makefile.am                  |   17 +
 farsight/dtmf/gstdtmf.c                    |   30 +
 farsight/dtmf/gstdtmfsrc.c                 |  929 ++++++++++
 farsight/dtmf/gstdtmfsrc.h                 |   98 ++
 farsight/dtmf/gstrtpdtmfcommon.h           |   23 +
 farsight/dtmf/gstrtpdtmfdepay.c            |  554 ++++++
 farsight/dtmf/gstrtpdtmfdepay.h            |   66 +
 farsight/dtmf/gstrtpdtmfsrc.c              | 1087 ++++++++++++
 farsight/dtmf/gstrtpdtmfsrc.h              |  112 ++
 farsight/liveadder/Makefile.am             |    9 +
 farsight/liveadder/liveadder.c             | 1549 +++++++++++++++++
 farsight/liveadder/liveadder.h             |  108 ++
 farsight/rtpmanager/.gitignore             |    2 +
 farsight/rtpmanager/Makefile.am            |   51 +
 farsight/rtpmanager/gstrtpbin-marshal.list |    8 +
 farsight/rtpmanager/gstrtpbin.c            | 2582 ++++++++++++++++++++++++++++
 farsight/rtpmanager/gstrtpbin.h            |   88 +
 farsight/rtpmanager/gstrtpclient.c         |  484 ++++++
 farsight/rtpmanager/gstrtpclient.h         |   56 +
 farsight/rtpmanager/gstrtpjitterbuffer.c   | 1973 +++++++++++++++++++++
 farsight/rtpmanager/gstrtpjitterbuffer.h   |   88 +
 farsight/rtpmanager/gstrtpmanager.c        |   65 +
 farsight/rtpmanager/gstrtpptdemux.c        |  492 ++++++
 farsight/rtpmanager/gstrtpptdemux.h        |   62 +
 farsight/rtpmanager/gstrtpsession.c        | 1998 +++++++++++++++++++++
 farsight/rtpmanager/gstrtpsession.h        |   81 +
 farsight/rtpmanager/gstrtpssrcdemux.c      |  722 ++++++++
 farsight/rtpmanager/gstrtpssrcdemux.h      |   62 +
 farsight/rtpmanager/rtpjitterbuffer.c      |  593 +++++++
 farsight/rtpmanager/rtpjitterbuffer.h      |  101 ++
 farsight/rtpmanager/rtpsession.c           | 2551 +++++++++++++++++++++++++++
 farsight/rtpmanager/rtpsession.h           |  303 ++++
 farsight/rtpmanager/rtpsource.c            | 1557 +++++++++++++++++
 farsight/rtpmanager/rtpsource.h            |  223 +++
 farsight/rtpmanager/rtpstats.c             |  176 ++
 farsight/rtpmanager/rtpstats.h             |  195 +++
 farsight/rtpmux/Makefile.am                |   11 +
 farsight/rtpmux/gstrtpdtmfmux.c            |  326 ++++
 farsight/rtpmux/gstrtpdtmfmux.h            |   68 +
 farsight/rtpmux/gstrtpmux.c                |  613 +++++++
 farsight/rtpmux/gstrtpmux.h                |   78 +
 farsight/rtpmux/gstrtpmuxer.c              |   48 +
 farsight/valve/Makefile.am                 |    9 +
 farsight/valve/gstvalve.c                  |  311 ++++
 farsight/valve/gstvalve.h                  |   82 +
 52 files changed, 22106 insertions(+), 1 deletions(-)
 create mode 100644 farsight/Makefile.am
 create mode 100644 farsight/autoconvert/Makefile.am
 create mode 100644 farsight/autoconvert/gstautoconvert.c
 create mode 100644 farsight/autoconvert/gstautoconvert.h
 create mode 100644 farsight/dtmf/Makefile.am
 create mode 100644 farsight/dtmf/gstdtmf.c
 create mode 100644 farsight/dtmf/gstdtmfsrc.c
 create mode 100644 farsight/dtmf/gstdtmfsrc.h
 create mode 100644 farsight/dtmf/gstrtpdtmfcommon.h
 create mode 100644 farsight/dtmf/gstrtpdtmfdepay.c
 create mode 100644 farsight/dtmf/gstrtpdtmfdepay.h
 create mode 100644 farsight/dtmf/gstrtpdtmfsrc.c
 create mode 100644 farsight/dtmf/gstrtpdtmfsrc.h
 create mode 100644 farsight/liveadder/Makefile.am
 create mode 100644 farsight/liveadder/liveadder.c
 create mode 100644 farsight/liveadder/liveadder.h
 create mode 100644 farsight/rtpmanager/.gitignore
 create mode 100644 farsight/rtpmanager/Makefile.am
 create mode 100644 farsight/rtpmanager/gstrtpbin-marshal.list
 create mode 100644 farsight/rtpmanager/gstrtpbin.c
 create mode 100644 farsight/rtpmanager/gstrtpbin.h
 create mode 100644 farsight/rtpmanager/gstrtpclient.c
 create mode 100644 farsight/rtpmanager/gstrtpclient.h
 create mode 100644 farsight/rtpmanager/gstrtpjitterbuffer.c
 create mode 100644 farsight/rtpmanager/gstrtpjitterbuffer.h
 create mode 100644 farsight/rtpmanager/gstrtpmanager.c
 create mode 100644 farsight/rtpmanager/gstrtpptdemux.c
 create mode 100644 farsight/rtpmanager/gstrtpptdemux.h
 create mode 100644 farsight/rtpmanager/gstrtpsession.c
 create mode 100644 farsight/rtpmanager/gstrtpsession.h
 create mode 100644 farsight/rtpmanager/gstrtpssrcdemux.c
 create mode 100644 farsight/rtpmanager/gstrtpssrcdemux.h
 create mode 100644 farsight/rtpmanager/rtpjitterbuffer.c
 create mode 100644 farsight/rtpmanager/rtpjitterbuffer.h
 create mode 100644 farsight/rtpmanager/rtpsession.c
 create mode 100644 farsight/rtpmanager/rtpsession.h
 create mode 100644 farsight/rtpmanager/rtpsource.c
 create mode 100644 farsight/rtpmanager/rtpsource.h
 create mode 100644 farsight/rtpmanager/rtpstats.c
 create mode 100644 farsight/rtpmanager/rtpstats.h
 create mode 100644 farsight/rtpmux/Makefile.am
 create mode 100644 farsight/rtpmux/gstrtpdtmfmux.c
 create mode 100644 farsight/rtpmux/gstrtpdtmfmux.h
 create mode 100644 farsight/rtpmux/gstrtpmux.c
 create mode 100644 farsight/rtpmux/gstrtpmux.h
 create mode 100644 farsight/rtpmux/gstrtpmuxer.c
 create mode 100644 farsight/valve/Makefile.am
 create mode 100644 farsight/valve/gstvalve.c
 create mode 100644 farsight/valve/gstvalve.h

diff --git a/Makefile.am b/Makefile.am
index 4247a97..997881b 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -8,6 +8,7 @@ endif
 
 ALWAYS_SUBDIRS =		\
 	gst sys ext 		\
+	farsight		\
 	tests			\
 	docs			\
 	po			\
diff --git a/configure.ac b/configure.ac
index fb9bbf8..28c0f31 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1080,6 +1080,13 @@ sys/osxvideo/Makefile
 sys/v4l2/Makefile
 sys/waveform/Makefile
 sys/ximage/Makefile
+farsight/Makefile
+farsight/valve/Makefile
+farsight/rtpmanager/Makefile
+farsight/liveadder/Makefile
+farsight/dtmf/Makefile
+farsight/rtpmux/Makefile
+farsight/autoconvert/Makefile
 po/Makefile.in
 tests/Makefile
 tests/check/Makefile
diff --git a/farsight/Makefile.am b/farsight/Makefile.am
new file mode 100644
index 0000000..00b6dd3
--- /dev/null
+++ b/farsight/Makefile.am
@@ -0,0 +1 @@
+SUBDIRS = autoconvert dtmf liveadder rtpmanager rtpmux valve
diff --git a/farsight/autoconvert/Makefile.am b/farsight/autoconvert/Makefile.am
new file mode 100644
index 0000000..22e8a67
--- /dev/null
+++ b/farsight/autoconvert/Makefile.am
@@ -0,0 +1,9 @@
+plugin_LTLIBRARIES = libgstautoconvert.la
+
+libgstautoconvert_la_SOURCES = gstautoconvert.c gstautoconvert.h
+
+libgstautoconvert_la_CFLAGS = $(GST_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) $(ERROR_CFLAGS)
+libgstautoconvert_la_LIBADD = $(GST_LIBS_LIBS)
+libgstautoconvert_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS)
+libgstautoconvert_la_LIBTOOLFLAGS = --tag=disable-static
+
diff --git a/farsight/autoconvert/gstautoconvert.c b/farsight/autoconvert/gstautoconvert.c
new file mode 100644
index 0000000..4311003
--- /dev/null
+++ b/farsight/autoconvert/gstautoconvert.c
@@ -0,0 +1,1383 @@
+/* GStreamer
+ *
+ *  Copyright 2007-2008 Collabora Ltd
+ *   @author: Olivier Crete <olivier.crete at collabora.co.uk>
+ *  Copyright 2007-2008 Nokia
+ *
+ * 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.
+ */
+/**
+ * SECTION:element-autoconvert
+ *
+ * The #autoconvert element has one sink and one source pad. It will look for
+ * other elements that also have one sink and one source pad.
+ * It will then pick an element that matches the caps on both sides.
+ * If the caps change, it may change the selected element if the current one
+ * no longer matches the caps.
+ *
+ * The list of element it will look into can be specified in the
+ * #GstAutoConvert::factories property, otherwise it will look at all available
+ * elements.
[...22133 lines suppressed...]
+
+  if (!drop && valve->discont) {
+    buffer = gst_buffer_make_metadata_writable (buffer);
+    GST_BUFFER_FLAG_SET (buffer, GST_BUFFER_FLAG_DISCONT);
+    valve->discont = FALSE;
+  }
+  GST_OBJECT_UNLOCK (GST_OBJECT (valve));
+
+  if (drop)
+    gst_buffer_unref (buffer);
+  else
+    ret = gst_pad_push (valve->srcpad, buffer);
+
+
+  GST_OBJECT_LOCK (GST_OBJECT (valve));
+  if (valve->drop)
+    ret = GST_FLOW_OK;
+  GST_OBJECT_UNLOCK (GST_OBJECT (valve));
+
+  gst_object_unref (valve);
+
+  return ret;
+}
+
+
+static gboolean
+gst_valve_event (GstPad * pad, GstEvent * event)
+{
+  GstValve *valve = GST_VALVE (gst_pad_get_parent_element (pad));
+  gboolean ret = TRUE;
+  gboolean drop;
+
+  GST_OBJECT_LOCK (GST_OBJECT (valve));
+  drop = valve->drop;
+  GST_OBJECT_UNLOCK (GST_OBJECT (valve));
+
+  if (drop)
+    gst_event_unref (event);
+  else
+    ret = gst_pad_push_event (valve->srcpad, event);
+
+  GST_OBJECT_LOCK (GST_OBJECT (valve));
+  if (valve->drop)
+    ret = TRUE;
+  GST_OBJECT_UNLOCK (GST_OBJECT (valve));
+
+  gst_object_unref (valve);
+  return ret;
+}
+
+static GstFlowReturn
+gst_valve_buffer_alloc (GstPad * pad, guint64 offset, guint size,
+    GstCaps * caps, GstBuffer ** buf)
+{
+  GstValve *valve = GST_VALVE (gst_pad_get_parent_element (pad));
+  GstFlowReturn ret = GST_FLOW_OK;
+  gboolean drop;
+
+  GST_OBJECT_LOCK (GST_OBJECT (valve));
+  drop = valve->drop;
+  GST_OBJECT_UNLOCK (GST_OBJECT (valve));
+
+  if (drop)
+    *buf = NULL;
+  else
+    ret = gst_pad_alloc_buffer (valve->srcpad, offset, size, caps, buf);
+
+  GST_OBJECT_LOCK (GST_OBJECT (valve));
+  if (valve->drop)
+    ret = GST_FLOW_OK;
+  GST_OBJECT_UNLOCK (GST_OBJECT (valve));
+
+  gst_object_unref (valve);
+
+  return ret;
+}
+
+static GstCaps *
+gst_valve_getcaps (GstPad * pad)
+{
+  GstValve *valve = GST_VALVE (gst_pad_get_parent (pad));
+  GstCaps *caps;
+
+  if (pad == valve->sinkpad)
+    caps = gst_pad_peer_get_caps (valve->srcpad);
+  else
+    caps = gst_pad_peer_get_caps (valve->sinkpad);
+
+  if (caps == NULL)
+    caps = gst_caps_copy (gst_pad_get_pad_template_caps (pad));
+
+  gst_object_unref (valve);
+
+  return caps;
+}
+
+
+static gboolean
+plugin_init (GstPlugin * plugin)
+{
+  return gst_element_register (plugin, "valve",
+      GST_RANK_MARGINAL, GST_TYPE_VALVE);
+}
+
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
+    GST_VERSION_MINOR,
+    "valve",
+    "Valve",
+    plugin_init, VERSION, GST_LICENSE, GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN)
diff --git a/farsight/valve/gstvalve.h b/farsight/valve/gstvalve.h
new file mode 100644
index 0000000..cc7cd38
--- /dev/null
+++ b/farsight/valve/gstvalve.h
@@ -0,0 +1,82 @@
+/*
+ * Farsight Voice+Video library
+ *
+ *  Copyright 2007 Collabora Ltd, 
+ *  Copyright 2007 Nokia Corporation
+ *   @author: Olivier Crete <olivier.crete at collabora.co.uk>
+ *
+ * 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_VALVE_H__
+#define __GST_VALVE_H__
+
+#include <gst/gst.h>
+
+G_BEGIN_DECLS
+/* #define's don't like whitespacey bits */
+#define GST_TYPE_VALVE \
+  (gst_valve_get_type())
+#define GST_VALVE(obj) \
+  (G_TYPE_CHECK_INSTANCE_CAST((obj), \
+  GST_TYPE_VALVE,GstValve))
+#define GST_VALVE_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_CAST((klass), \
+  GST_TYPE_VALVE,GstValveClass))
+#define GST_IS_VALVE(obj) \
+  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_VALVE))
+#define GST_IS_VALVE_CLASS(obj) \
+  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_VALVE))
+typedef struct _GstValve GstValve;
+typedef struct _GstValveClass GstValveClass;
+typedef struct _GstValvePrivate GstValvePrivate;
+
+/**
+ * GstValve:
+ *
+ * The private valve structure
+ */
+struct _GstValve
+{
+  /*< private >*/
+  GstElement parent;
+
+  /* Protected by the object lock */
+  gboolean drop;
+
+  /* Protected by the stream lock */
+  gboolean discont;
+
+  GstPad *srcpad;
+  GstPad *sinkpad;
+
+  /*< private > */
+  gpointer _gst_reserved[GST_PADDING];
+};
+
+struct _GstValveClass
+{
+  GstElementClass parent_class;
+
+  /*< private > */
+  gpointer _gst_reserved[GST_PADDING];
+};
+
+GType gst_valve_get_type (void);
+
+G_END_DECLS
+#endif /* __GST_VALVE_H__ */
-- 
1.6.2.2



Index: gstreamer-plugins-good.spec
===================================================================
RCS file: /cvs/pkgs/rpms/gstreamer-plugins-good/F-11/gstreamer-plugins-good.spec,v
retrieving revision 1.95
retrieving revision 1.96
diff -u -p -r1.95 -r1.96
--- gstreamer-plugins-good.spec	21 May 2009 09:32:44 -0000	1.95
+++ gstreamer-plugins-good.spec	22 Jun 2009 15:43:10 -0000	1.96
@@ -6,7 +6,7 @@
 
 Name: 		%{gstreamer}-plugins-good
 Version: 	0.10.15
-Release:  	1%{?dist}
+Release:  	2%{?dist}
 Summary: 	GStreamer plug-ins with good code and licensing
 
 Group: 		Applications/Multimedia
@@ -65,6 +65,10 @@ BuildRequires:  hal-devel
 Provides: gstreamer-plugins-pulse = 0.9.8-1
 Obsoletes: gstreamer-plugins-pulse < 0.9.8
 
+# farsight plugins
+Patch0: 0001-Move-farsight-plugins-from-bad-to-good.patch
+BuildRequires: automake autoconf libtool
+
 %description
 GStreamer is a streaming media framework, based on graphs of filters which
 operate on media data. Applications using this library can do anything
@@ -98,6 +102,11 @@ This is a dummy package to make gstreame
 %prep
 %setup -q -n gst-plugins-good-%{version}
 
+# Farsight plugins
+%patch0 -p1 -b .farsight
+libtoolize -f
+autoreconf
+
 %build
 
 %configure \
@@ -227,6 +236,13 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/gstreamer-%{majorminor}/libgst1394.so
 %endif
 
+# Farsight plugins
+%{_libdir}/gstreamer-%{majorminor}/libgstautoconvert.so
+%{_libdir}/gstreamer-%{majorminor}/libgstdtmf.so
+%{_libdir}/gstreamer-%{majorminor}/libgstliveadder.so
+%{_libdir}/gstreamer-%{majorminor}/libgstrtpmanager.so
+%{_libdir}/gstreamer-%{majorminor}/libgstrtpmux.so
+%{_libdir}/gstreamer-%{majorminor}/libgstvalve.so
 
 ## Libraries
 
@@ -253,6 +269,9 @@ export GCONF_CONFIG_SOURCE=`gconftool-2 
 gconftool-2 --makefile-install-rule %{_sysconfdir}/gconf/schemas/gstreamer-%{majorminor}.schemas > /dev/null || :
 
 %changelog
+* Mon Jun 22 2009 Bastien Nocera <bnocera at redhat.com> 0.10.15-2
+- Add the farsight plugins from gst-plugins-bad 0.10.13 (#507009)
+
 * Thu May 21 2009 Bastien Nocera <bnocera at redhat.com> 0.10.15-1
 - Update to 0.10.15
 




More information about the fedora-extras-commits mailing list