opus: remove Opus RTP elements, they have moved to -good
authorTim-Philipp Müller <tim@centricular.com>
Wed, 17 Feb 2016 15:20:47 +0000 (15:20 +0000)
committerTim-Philipp Müller <tim@centricular.com>
Thu, 25 Feb 2016 22:56:38 +0000 (22:56 +0000)
https://bugzilla.gnome.org/show_bug.cgi?id=756282

docs/plugins/gst-plugins-bad-plugins-docs.sgml
docs/plugins/gst-plugins-bad-plugins-sections.txt
docs/plugins/gst-plugins-bad-plugins.hierarchy
docs/plugins/inspect/plugin-opus.xml
ext/opus/Makefile.am
ext/opus/gstopus.c
ext/opus/gstrtpopusdepay.c [deleted file]
ext/opus/gstrtpopusdepay.h [deleted file]
ext/opus/gstrtpopuspay.c [deleted file]
ext/opus/gstrtpopuspay.h [deleted file]

index 4d7fc353adccca972e4f48f640d32118c9b27c25..57dac6418344662d748659bcc21796ed1c008ab7 100644 (file)
@@ -76,8 +76,6 @@
     <xi:include href="xml/element-opusdec.xml" />
     <xi:include href="xml/element-opusenc.xml" />
     <xi:include href="xml/element-opusparse.xml" />
-    <xi:include href="xml/element-rtpopuspay.xml" />
-    <xi:include href="xml/element-rtpopusdepay.xml" />
     <xi:include href="xml/element-pcapparse.xml" />
     <xi:include href="xml/element-pinch.xml" />
     <xi:include href="xml/element-pyramidsegment.xml" />
index 17f74a61218f6b8ffbbf3bcacfdb6f875e336d30..3b47c167fbfbfe8d0b60aef75d56a846be77ee60 100644 (file)
@@ -1141,32 +1141,6 @@ GST_IS_OPUS_PARSE
 GST_IS_OPUS_PARSE_CLASS
 </SECTION>
 
-<FILE>element-rtpopusdepay</FILE>
-<TITLE>rtpopusdepay</TITLE>
-GstRTPOpusDepay
-<SUBSECTION Standard>
-GstRTPOpusDepayClass
-gst_rtp_opus_depay_get_type
-GST_TYPE_RTP_OPUS_DEPAY
-GST_RTP_OPUS_DEPAY
-GST_RTP_OPUS_DEPAY_CLASS
-GST_IS_RTP_OPUS_DEPAY
-GST_IS_RTP_OPUS_DEPAY_CLASS
-</SECTION>
-
-<FILE>element-rtpopuspay</FILE>
-<TITLE>rtpopuspay</TITLE>
-GstRtpOPUSPay
-<SUBSECTION Standard>
-GstRtpOPUSPayClass
-gst_rtp_opus_pay_get_type
-GST_TYPE_RTP_OPUS_PAY
-GST_RTP_OPUS_PAY
-GST_RTP_OPUS_PAY_CLASS
-GST_IS_RTP_OPUS_PAY
-GST_IS_RTP_OPUS_PAY_CLASS
-</SECTION>
-
 <SECTION>
 <FILE>element-pcapparse</FILE>
 <TITLE>pcapparse</TITLE>
index c43c7b792cabb6c308c0011dff26d51a5a7df98e..2350f52a52543acfd4f4691bb89fbbe39f25cfd3 100644 (file)
@@ -303,11 +303,8 @@ GObject
         GstNetSim
         GstPcapParse
         GstPitch
-        GstRTPBaseDepayload
-          GstRTPOpusDepay
         GstRTPBasePayload
           GstRtpAsfPay
-          GstRtpOPUSPay
         GstRawParse
           GstAudioParse
           GstVideoParse
index 36542b430da22b34da1e1d6dcb53d39c5853d5b0..7f9053a87ef5e896758496d7e784d8c1c3923203 100644 (file)
@@ -3,10 +3,10 @@
   <description>OPUS plugin library</description>
   <filename>../../ext/opus/.libs/libgstopus.so</filename>
   <basename>libgstopus.so</basename>
-  <version>1.7.2</version>
+  <version>1.7.2.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins source release</package>
+  <package>GStreamer Bad Plug-ins git</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-opus, framed=(boolean)true</details>
-        </caps>
-      </pads>
-    </element>
-    <element>
-      <name>rtpopusdepay</name>
-      <longname>RTP Opus packet depayloader</longname>
-      <class>Codec/Depayloader/Network/RTP</class>
-      <description>Extracts Opus audio from RTP packets</description>
-      <author>Danilo Cesar Lemes de Paula &lt;danilo.cesar@collabora.co.uk&gt;</author>
-      <pads>
-        <caps>
-          <name>sink</name>
-          <direction>sink</direction>
-          <presence>always</presence>
-          <details>application/x-rtp, media=(string)audio, payload=(int)[ 96, 127 ], clock-rate=(int)48000, encoding-name=(string){ OPUS, X-GST-OPUS-DRAFT-SPITTKA-00 }</details>
-        </caps>
-        <caps>
-          <name>src</name>
-          <direction>source</direction>
-          <presence>always</presence>
-          <details>audio/x-opus, channel-mapping-family=(int)0</details>
-        </caps>
-      </pads>
-    </element>
-    <element>
-      <name>rtpopuspay</name>
-      <longname>RTP Opus payloader</longname>
-      <class>Codec/Payloader/Network/RTP</class>
-      <description>Puts Opus audio in RTP packets</description>
-      <author>Danilo Cesar Lemes de Paula &lt;danilo.cesar@collabora.co.uk&gt;</author>
-      <pads>
-        <caps>
-          <name>sink</name>
-          <direction>sink</direction>
-          <presence>always</presence>
-          <details>audio/x-opus, channels=(int)[ 1, 2 ], channel-mapping-family=(int)0</details>
-        </caps>
-        <caps>
-          <name>src</name>
-          <direction>source</direction>
-          <presence>always</presence>
-          <details>application/x-rtp, media=(string)audio, payload=(int)[ 96, 127 ], clock-rate=(int)48000, encoding-params=(string)2, encoding-name=(string){ OPUS, X-GST-OPUS-DRAFT-SPITTKA-00 }</details>
+          <details>audio/x-opus</details>
         </caps>
       </pads>
     </element>
index c643692525442414e5b5eabe7b078ec5c3fd2173..aa0d4388e86688e7c476d8bb222af1f85ff929be 100644 (file)
@@ -1,6 +1,6 @@
 plugin_LTLIBRARIES = libgstopus.la
 
-libgstopus_la_SOURCES = gstopus.c gstopusdec.c gstopusenc.c gstopusparse.c gstopusheader.c gstopuscommon.c gstrtpopuspay.c gstrtpopusdepay.c
+libgstopus_la_SOURCES = gstopus.c gstopusdec.c gstopusenc.c gstopusparse.c gstopusheader.c gstopuscommon.c
 libgstopus_la_CFLAGS = \
         -DGST_USE_UNSTABLE_API \
        $(GST_PLUGINS_BAD_CFLAGS) \
@@ -9,7 +9,7 @@ libgstopus_la_CFLAGS = \
        $(OPUS_CFLAGS)
 libgstopus_la_LIBADD = \
        $(GST_PLUGINS_BASE_LIBS) -lgstaudio-$(GST_API_VERSION) \
-       -lgsttag-$(GST_API_VERSION) -lgstrtp-$(GST_API_VERSION) \
+       -lgsttag-$(GST_API_VERSION) \
        -lgstpbutils-$(GST_API_VERSION) \
        $(GST_BASE_LIBS) \
        $(GST_LIBS) \
@@ -17,4 +17,4 @@ libgstopus_la_LIBADD = \
 libgstopus_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) $(LIBM)
 libgstopus_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
 
-noinst_HEADERS = gstopusenc.h gstopusdec.h gstopusparse.h gstopusheader.h gstopuscommon.h gstrtpopuspay.h gstrtpopusdepay.h
+noinst_HEADERS = gstopusenc.h gstopusdec.h gstopusparse.h gstopusheader.h gstopuscommon.h
index a3427b2849aeb3b58b7e7b9c6ca50dc4b8ae0f77..63d50ef3e6ec00377f5b67429d064ab2f7a6bae0 100644 (file)
@@ -25,9 +25,6 @@
 #include "gstopusenc.h"
 #include "gstopusparse.h"
 
-#include "gstrtpopuspay.h"
-#include "gstrtpopusdepay.h"
-
 #include <gst/tag/tag.h>
 
 static gboolean
@@ -46,14 +43,6 @@ plugin_init (GstPlugin * plugin)
           GST_TYPE_OPUS_PARSE))
     return FALSE;
 
-  if (!gst_element_register (plugin, "rtpopusdepay", GST_RANK_SECONDARY,
-          GST_TYPE_RTP_OPUS_DEPAY))
-    return FALSE;
-
-  if (!gst_element_register (plugin, "rtpopuspay", GST_RANK_SECONDARY,
-          GST_TYPE_RTP_OPUS_PAY))
-    return FALSE;
-
   gst_tag_register_musicbrainz_tags ();
 
   return TRUE;
diff --git a/ext/opus/gstrtpopusdepay.c b/ext/opus/gstrtpopusdepay.c
deleted file mode 100644 (file)
index 8152cd5..0000000
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- * Opus Depayloader Gst Element
- *
- *   @author: Danilo Cesar Lemes de Paula <danilo.cesar@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., 51 Franklin St, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-#  include "config.h"
-#endif
-
-#include <string.h>
-#include <stdlib.h>
-#include <gst/rtp/gstrtpbuffer.h>
-#include <gst/audio/audio.h>
-#include "gstrtpopusdepay.h"
-
-GST_DEBUG_CATEGORY_STATIC (rtpopusdepay_debug);
-#define GST_CAT_DEFAULT (rtpopusdepay_debug)
-
-static GstStaticPadTemplate gst_rtp_opus_depay_sink_template =
-GST_STATIC_PAD_TEMPLATE ("sink",
-    GST_PAD_SINK,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ("application/x-rtp, "
-        "media = (string) \"audio\", "
-        "payload = (int) " GST_RTP_PAYLOAD_DYNAMIC_STRING ","
-        "clock-rate = (int) 48000, "
-        "encoding-name = (string) { \"OPUS\", \"X-GST-OPUS-DRAFT-SPITTKA-00\" }")
-    );
-
-static GstStaticPadTemplate gst_rtp_opus_depay_src_template =
-GST_STATIC_PAD_TEMPLATE ("src",
-    GST_PAD_SRC,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ("audio/x-opus, channel-mapping-family = (int) 0")
-    );
-
-static GstBuffer *gst_rtp_opus_depay_process (GstRTPBaseDepayload * depayload,
-    GstBuffer * buf);
-static gboolean gst_rtp_opus_depay_setcaps (GstRTPBaseDepayload * depayload,
-    GstCaps * caps);
-
-G_DEFINE_TYPE (GstRTPOpusDepay, gst_rtp_opus_depay,
-    GST_TYPE_RTP_BASE_DEPAYLOAD);
-
-static void
-gst_rtp_opus_depay_class_init (GstRTPOpusDepayClass * klass)
-{
-  GstRTPBaseDepayloadClass *gstbasertpdepayload_class;
-  GstElementClass *element_class;
-
-  element_class = GST_ELEMENT_CLASS (klass);
-  gstbasertpdepayload_class = (GstRTPBaseDepayloadClass *) klass;
-
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtp_opus_depay_src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtp_opus_depay_sink_template));
-  gst_element_class_set_static_metadata (element_class,
-      "RTP Opus packet depayloader", "Codec/Depayloader/Network/RTP",
-      "Extracts Opus audio from RTP packets",
-      "Danilo Cesar Lemes de Paula <danilo.cesar@collabora.co.uk>");
-
-  gstbasertpdepayload_class->process = gst_rtp_opus_depay_process;
-  gstbasertpdepayload_class->set_caps = gst_rtp_opus_depay_setcaps;
-
-  GST_DEBUG_CATEGORY_INIT (rtpopusdepay_debug, "rtpopusdepay", 0,
-      "Opus RTP Depayloader");
-}
-
-static void
-gst_rtp_opus_depay_init (GstRTPOpusDepay * rtpopusdepay)
-{
-
-}
-
-static gboolean
-gst_rtp_opus_depay_setcaps (GstRTPBaseDepayload * depayload, GstCaps * caps)
-{
-  GstCaps *srccaps;
-  GstStructure *s;
-  gboolean ret;
-  const gchar *sprop_stereo, *sprop_maxcapturerate;
-
-  srccaps =
-      gst_caps_new_simple ("audio/x-opus", "channel-mapping-family", G_TYPE_INT,
-      0, NULL);
-
-  s = gst_caps_get_structure (caps, 0);
-  if ((sprop_stereo = gst_structure_get_string (s, "sprop-stereo"))) {
-    if (strcmp (sprop_stereo, "0") == 0)
-      gst_caps_set_simple (srccaps, "channels", G_TYPE_INT, 1, NULL);
-    else if (strcmp (sprop_stereo, "1") == 0)
-      gst_caps_set_simple (srccaps, "channels", G_TYPE_INT, 2, NULL);
-    else
-      GST_WARNING_OBJECT (depayload, "Unknown sprop-stereo value '%s'",
-          sprop_stereo);
-  }
-
-  if ((sprop_maxcapturerate =
-          gst_structure_get_string (s, "sprop-maxcapturerate"))) {
-    gulong rate;
-    gchar *tailptr;
-
-    rate = strtoul (sprop_maxcapturerate, &tailptr, 10);
-    if (rate > INT_MAX || *tailptr != '\0') {
-      GST_WARNING_OBJECT (depayload,
-          "Failed to parse sprop-maxcapturerate value '%s'",
-          sprop_maxcapturerate);
-    } else {
-      gst_caps_set_simple (srccaps, "rate", G_TYPE_INT, rate, NULL);
-    }
-  }
-
-  ret = gst_pad_set_caps (GST_RTP_BASE_DEPAYLOAD_SRCPAD (depayload), srccaps);
-
-  GST_DEBUG_OBJECT (depayload,
-      "set caps on source: %" GST_PTR_FORMAT " (ret=%d)", srccaps, ret);
-  gst_caps_unref (srccaps);
-
-  depayload->clock_rate = 48000;
-
-  return ret;
-}
-
-static gboolean
-foreach_metadata (GstBuffer * inbuf, GstMeta ** meta, gpointer user_data)
-{
-  GstRTPOpusDepay *depay = user_data;
-  const GstMetaInfo *info = (*meta)->info;
-  const gchar *const *tags = gst_meta_api_type_get_tags (info->api);
-
-  if (!tags || (g_strv_length ((gchar **) tags) == 1
-          && gst_meta_api_type_has_tag (info->api,
-              g_quark_from_string (GST_META_TAG_AUDIO_STR)))) {
-    GST_DEBUG_OBJECT (depay, "keeping metadata %s", g_type_name (info->api));
-  } else {
-    GST_DEBUG_OBJECT (depay, "dropping metadata %s", g_type_name (info->api));
-    *meta = NULL;
-  }
-
-  return TRUE;
-}
-
-static GstBuffer *
-gst_rtp_opus_depay_process (GstRTPBaseDepayload * depayload, GstBuffer * buf)
-{
-  GstBuffer *outbuf;
-  GstRTPBuffer rtpbuf = { NULL, };
-
-  gst_rtp_buffer_map (buf, GST_MAP_READ, &rtpbuf);
-  outbuf = gst_rtp_buffer_get_payload_buffer (&rtpbuf);
-  gst_rtp_buffer_unmap (&rtpbuf);
-
-  outbuf = gst_buffer_make_writable (outbuf);
-  /* Filter away all metas that are not sensible to copy */
-  gst_buffer_foreach_meta (outbuf, foreach_metadata, depayload);
-
-  return outbuf;
-}
diff --git a/ext/opus/gstrtpopusdepay.h b/ext/opus/gstrtpopusdepay.h
deleted file mode 100644 (file)
index 7890eb1..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Opus Depayloader Gst Element
- *
- *   @author: Danilo Cesar Lemes de Paula <danilo.eu@gmail.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., 51 Franklin St, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef __GST_RTP_OPUS_DEPAY_H__
-#define __GST_RTP_OPUS_DEPAY_H__
-
-#include <gst/gst.h>
-#include <gst/rtp/gstrtpbasedepayload.h>
-
-G_BEGIN_DECLS typedef struct _GstRTPOpusDepay GstRTPOpusDepay;
-typedef struct _GstRTPOpusDepayClass GstRTPOpusDepayClass;
-
-#define GST_TYPE_RTP_OPUS_DEPAY \
-  (gst_rtp_opus_depay_get_type())
-#define GST_RTP_OPUS_DEPAY(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTP_OPUS_DEPAY,GstRTPOpusDepay))
-#define GST_RTP_OPUS_DEPAY_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RTP_OPUS_DEPAY,GstRTPOpusDepayClass))
-#define GST_IS_RTP_OPUS_DEPAY(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RTP_OPUS_DEPAY))
-#define GST_IS_RTP_OPUS_DEPAY_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_OPUS_DEPAY))
-
-
-struct _GstRTPOpusDepay
-{
-  GstRTPBaseDepayload depayload;
-
-};
-
-struct _GstRTPOpusDepayClass
-{
-  GstRTPBaseDepayloadClass parent_class;
-};
-
-GType gst_rtp_opus_depay_get_type (void);
-
-G_END_DECLS
-#endif /* __GST_RTP_OPUS_DEPAY_H__ */
diff --git a/ext/opus/gstrtpopuspay.c b/ext/opus/gstrtpopuspay.c
deleted file mode 100644 (file)
index 5038028..0000000
+++ /dev/null
@@ -1,278 +0,0 @@
-/*
- * Opus Payloader Gst Element
- *
- *   @author: Danilo Cesar Lemes de Paula <danilo.cesar@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., 51 Franklin St, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-#  include "config.h"
-#endif
-
-#include <string.h>
-
-#include <gst/rtp/gstrtpbuffer.h>
-#include <gst/audio/audio.h>
-
-#include "gstrtpopuspay.h"
-
-GST_DEBUG_CATEGORY_STATIC (rtpopuspay_debug);
-#define GST_CAT_DEFAULT (rtpopuspay_debug)
-
-
-static GstStaticPadTemplate gst_rtp_opus_pay_sink_template =
-GST_STATIC_PAD_TEMPLATE ("sink",
-    GST_PAD_SINK,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS
-    ("audio/x-opus, channels = (int) [1, 2], channel-mapping-family = (int) 0")
-    );
-
-static GstStaticPadTemplate gst_rtp_opus_pay_src_template =
-GST_STATIC_PAD_TEMPLATE ("src",
-    GST_PAD_SRC,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ("application/x-rtp, "
-        "media = (string) \"audio\", "
-        "payload = (int) " GST_RTP_PAYLOAD_DYNAMIC_STRING ", "
-        "clock-rate = (int) 48000, "
-        "encoding-params = (string) \"2\", "
-        "encoding-name = (string) { \"OPUS\", \"X-GST-OPUS-DRAFT-SPITTKA-00\" }")
-    );
-
-static gboolean gst_rtp_opus_pay_setcaps (GstRTPBasePayload * payload,
-    GstCaps * caps);
-static GstCaps *gst_rtp_opus_pay_getcaps (GstRTPBasePayload * payload,
-    GstPad * pad, GstCaps * filter);
-static GstFlowReturn gst_rtp_opus_pay_handle_buffer (GstRTPBasePayload *
-    payload, GstBuffer * buffer);
-
-G_DEFINE_TYPE (GstRtpOPUSPay, gst_rtp_opus_pay, GST_TYPE_RTP_BASE_PAYLOAD);
-
-static void
-gst_rtp_opus_pay_class_init (GstRtpOPUSPayClass * klass)
-{
-  GstRTPBasePayloadClass *gstbasertppayload_class;
-  GstElementClass *element_class;
-
-  gstbasertppayload_class = (GstRTPBasePayloadClass *) klass;
-  element_class = GST_ELEMENT_CLASS (klass);
-
-  gstbasertppayload_class->set_caps = gst_rtp_opus_pay_setcaps;
-  gstbasertppayload_class->get_caps = gst_rtp_opus_pay_getcaps;
-  gstbasertppayload_class->handle_buffer = gst_rtp_opus_pay_handle_buffer;
-
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtp_opus_pay_src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtp_opus_pay_sink_template));
-
-  gst_element_class_set_static_metadata (element_class,
-      "RTP Opus payloader",
-      "Codec/Payloader/Network/RTP",
-      "Puts Opus audio in RTP packets",
-      "Danilo Cesar Lemes de Paula <danilo.cesar@collabora.co.uk>");
-
-  GST_DEBUG_CATEGORY_INIT (rtpopuspay_debug, "rtpopuspay", 0,
-      "Opus RTP Payloader");
-}
-
-static void
-gst_rtp_opus_pay_init (GstRtpOPUSPay * rtpopuspay)
-{
-}
-
-static gboolean
-gst_rtp_opus_pay_setcaps (GstRTPBasePayload * payload, GstCaps * caps)
-{
-  gboolean res;
-  GstCaps *src_caps;
-  GstStructure *s;
-  char *encoding_name;
-  gint channels, rate;
-  const char *sprop_stereo = NULL;
-  char *sprop_maxcapturerate = NULL;
-
-  src_caps = gst_pad_get_allowed_caps (GST_RTP_BASE_PAYLOAD_SRCPAD (payload));
-  if (src_caps) {
-    src_caps = gst_caps_make_writable (src_caps);
-    src_caps = gst_caps_truncate (src_caps);
-    s = gst_caps_get_structure (src_caps, 0);
-    gst_structure_fixate_field_string (s, "encoding-name", "OPUS");
-    encoding_name = g_strdup (gst_structure_get_string (s, "encoding-name"));
-    gst_caps_unref (src_caps);
-  } else {
-    encoding_name = g_strdup ("X-GST-OPUS-DRAFT-SPITTKA-00");
-  }
-
-  s = gst_caps_get_structure (caps, 0);
-  if (gst_structure_get_int (s, "channels", &channels)) {
-    if (channels > 2) {
-      GST_ERROR_OBJECT (payload,
-          "More than 2 channels with channel-mapping-family=0 is invalid");
-      return FALSE;
-    } else if (channels == 2) {
-      sprop_stereo = "1";
-    } else {
-      sprop_stereo = "0";
-    }
-  }
-
-  if (gst_structure_get_int (s, "rate", &rate)) {
-    sprop_maxcapturerate = g_strdup_printf ("%d", rate);
-  }
-
-  gst_rtp_base_payload_set_options (payload, "audio", FALSE,
-      encoding_name, 48000);
-  g_free (encoding_name);
-
-  if (sprop_maxcapturerate && sprop_stereo) {
-    res =
-        gst_rtp_base_payload_set_outcaps (payload, "sprop-maxcapturerate",
-        G_TYPE_STRING, sprop_maxcapturerate, "sprop-stereo", G_TYPE_STRING,
-        sprop_stereo, NULL);
-  } else if (sprop_maxcapturerate) {
-    res =
-        gst_rtp_base_payload_set_outcaps (payload, "sprop-maxcapturerate",
-        G_TYPE_STRING, sprop_maxcapturerate, NULL);
-  } else if (sprop_stereo) {
-    res =
-        gst_rtp_base_payload_set_outcaps (payload, "sprop-stereo",
-        G_TYPE_STRING, sprop_stereo, NULL);
-  } else {
-    res = gst_rtp_base_payload_set_outcaps (payload, NULL);
-  }
-
-  g_free (sprop_maxcapturerate);
-
-  return res;
-}
-
-typedef struct
-{
-  GstRtpOPUSPay *pay;
-  GstBuffer *outbuf;
-} CopyMetaData;
-
-static gboolean
-foreach_metadata (GstBuffer * inbuf, GstMeta ** meta, gpointer user_data)
-{
-  CopyMetaData *data = user_data;
-  GstRtpOPUSPay *pay = data->pay;
-  GstBuffer *outbuf = data->outbuf;
-  const GstMetaInfo *info = (*meta)->info;
-  const gchar *const *tags = gst_meta_api_type_get_tags (info->api);
-
-  if (!tags || (g_strv_length ((gchar **) tags) == 1
-          && gst_meta_api_type_has_tag (info->api,
-              g_quark_from_string (GST_META_TAG_AUDIO_STR)))) {
-    GstMetaTransformCopy copy_data = { FALSE, 0, -1 };
-    GST_DEBUG_OBJECT (pay, "copy metadata %s", g_type_name (info->api));
-    /* simply copy then */
-    info->transform_func (outbuf, *meta, inbuf,
-        _gst_meta_transform_copy, &copy_data);
-  } else {
-    GST_DEBUG_OBJECT (pay, "not copying metadata %s", g_type_name (info->api));
-  }
-
-  return TRUE;
-}
-
-static GstFlowReturn
-gst_rtp_opus_pay_handle_buffer (GstRTPBasePayload * basepayload,
-    GstBuffer * buffer)
-{
-  GstBuffer *outbuf;
-  GstClockTime pts, dts, duration;
-  CopyMetaData data;
-
-  pts = GST_BUFFER_PTS (buffer);
-  dts = GST_BUFFER_DTS (buffer);
-  duration = GST_BUFFER_DURATION (buffer);
-
-  outbuf = gst_rtp_buffer_new_allocate (0, 0, 0);
-  data.pay = GST_RTP_OPUS_PAY (basepayload);
-  data.outbuf = outbuf;
-  gst_buffer_foreach_meta (buffer, foreach_metadata, &data);
-  outbuf = gst_buffer_append (outbuf, buffer);
-
-  GST_BUFFER_PTS (outbuf) = pts;
-  GST_BUFFER_DTS (outbuf) = dts;
-  GST_BUFFER_DURATION (outbuf) = duration;
-
-  /* Push out */
-  return gst_rtp_base_payload_push (basepayload, outbuf);
-}
-
-static GstCaps *
-gst_rtp_opus_pay_getcaps (GstRTPBasePayload * payload,
-    GstPad * pad, GstCaps * filter)
-{
-  GstCaps *caps, *peercaps, *tcaps;
-  GstStructure *s;
-  const gchar *stereo;
-
-  if (pad == GST_RTP_BASE_PAYLOAD_SRCPAD (payload))
-    return
-        GST_RTP_BASE_PAYLOAD_CLASS (gst_rtp_opus_pay_parent_class)->get_caps
-        (payload, pad, filter);
-
-  tcaps = gst_pad_get_pad_template_caps (GST_RTP_BASE_PAYLOAD_SRCPAD (payload));
-  peercaps = gst_pad_peer_query_caps (GST_RTP_BASE_PAYLOAD_SRCPAD (payload),
-      tcaps);
-  gst_caps_unref (tcaps);
-  if (!peercaps)
-    return
-        GST_RTP_BASE_PAYLOAD_CLASS (gst_rtp_opus_pay_parent_class)->get_caps
-        (payload, pad, filter);
-
-  if (gst_caps_is_empty (peercaps))
-    return peercaps;
-
-  caps = gst_pad_get_pad_template_caps (GST_RTP_BASE_PAYLOAD_SINKPAD (payload));
-
-  s = gst_caps_get_structure (peercaps, 0);
-  stereo = gst_structure_get_string (s, "stereo");
-  if (stereo != NULL) {
-    caps = gst_caps_make_writable (caps);
-
-    if (!strcmp (stereo, "1")) {
-      GstCaps *caps2 = gst_caps_copy (caps);
-
-      gst_caps_set_simple (caps, "channels", G_TYPE_INT, 2, NULL);
-      gst_caps_set_simple (caps2, "channels", G_TYPE_INT, 1, NULL);
-      caps = gst_caps_merge (caps, caps2);
-    } else if (!strcmp (stereo, "0")) {
-      GstCaps *caps2 = gst_caps_copy (caps);
-
-      gst_caps_set_simple (caps, "channels", G_TYPE_INT, 1, NULL);
-      gst_caps_set_simple (caps2, "channels", G_TYPE_INT, 2, NULL);
-      caps = gst_caps_merge (caps, caps2);
-    }
-  }
-  gst_caps_unref (peercaps);
-
-  if (filter) {
-    GstCaps *tmp = gst_caps_intersect_full (caps, filter,
-        GST_CAPS_INTERSECT_FIRST);
-    gst_caps_unref (caps);
-    caps = tmp;
-  }
-
-  GST_DEBUG_OBJECT (payload, "Returning caps: %" GST_PTR_FORMAT, caps);
-  return caps;
-}
diff --git a/ext/opus/gstrtpopuspay.h b/ext/opus/gstrtpopuspay.h
deleted file mode 100644 (file)
index e21bbe3..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Opus Payloader Gst Element
- *
- *   @author: Danilo Cesar Lemes de Paula <danilo.eu@gmail.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., 51 Franklin St, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef __GST_RTP_OPUS_PAY_H__
-#define __GST_RTP_OPUS_PAY_H__
-
-#include <gst/gst.h>
-#include <gst/rtp/gstrtpbasepayload.h>
-
-G_BEGIN_DECLS
-
-#define GST_TYPE_RTP_OPUS_PAY \
-  (gst_rtp_opus_pay_get_type())
-#define GST_RTP_OPUS_PAY(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTP_OPUS_PAY,GstRtpOPUSPay))
-#define GST_RTP_OPUS_PAY_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RTP_OPUS_PAY,GstRtpOPUSPayClass))
-#define GST_IS_RTP_OPUS_PAY(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RTP_OPUS_PAY))
-#define GST_IS_RTP_OPUS_PAY_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_OPUS_PAY))
-
-typedef struct _GstRtpOPUSPay GstRtpOPUSPay;
-typedef struct _GstRtpOPUSPayClass GstRtpOPUSPayClass;
-
-struct _GstRtpOPUSPay
-{
-  GstRTPBasePayload payload;
-};
-
-struct _GstRtpOPUSPayClass
-{
-  GstRTPBasePayloadClass parent_class;
-};
-
-GType gst_rtp_opus_pay_get_type (void);
-
-G_END_DECLS
-
-#endif /* __GST_RTP_OPUS_PAY_H__ */