jpegpay: turn some errors into warnings
[platform/upstream/gstreamer.git] / gst / rtp / gstrtpsirenpay.c
index cb7be70..2277fec 100644 (file)
@@ -15,8 +15,8 @@
  *
  * 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.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
  */
 
 #ifdef HAVE_CONFIG_H
 #include "gstrtpsirenpay.h"
 #include <gst/rtp/gstrtpbuffer.h>
 
-/* elementfactory information */
-static GstElementDetails gst_rtp_siren_pay_details = {
-  "RTP Payloader for Siren Audio",
-  "Codec/Payloader/Network",
-  "Packetize Siren audio streams into RTP packets",
-  "Youness Alaoui <kakaroto@kakaroto.homelinux.net>"
-};
-
 GST_DEBUG_CATEGORY_STATIC (rtpsirenpay_debug);
 #define GST_CAT_DEFAULT (rtpsirenpay_debug)
 
@@ -56,66 +48,64 @@ GST_STATIC_PAD_TEMPLATE ("src",
         "bitrate = (string) \"16000\", " "dct-length = (int) 320")
     );
 
-static gboolean gst_rtp_siren_pay_setcaps (GstBaseRTPPayload * payload,
+static gboolean gst_rtp_siren_pay_setcaps (GstRTPBasePayload * payload,
     GstCaps * caps);
 
-GST_BOILERPLATE (GstRTPSirenPay, gst_rtp_siren_pay, GstBaseRTPAudioPayload,
-    GST_TYPE_BASE_RTP_AUDIO_PAYLOAD);
-
-static void
-gst_rtp_siren_pay_base_init (gpointer klass)
-{
-  GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
-
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtp_siren_pay_sink_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtp_siren_pay_src_template));
-  gst_element_class_set_details (element_class, &gst_rtp_siren_pay_details);
-}
+G_DEFINE_TYPE (GstRTPSirenPay, gst_rtp_siren_pay,
+    GST_TYPE_RTP_BASE_AUDIO_PAYLOAD);
 
 static void
 gst_rtp_siren_pay_class_init (GstRTPSirenPayClass * klass)
 {
-  GstBaseRTPPayloadClass *gstbasertppayload_class;
+  GstElementClass *gstelement_class;
+  GstRTPBasePayloadClass *gstrtpbasepayload_class;
+
+  gstelement_class = (GstElementClass *) klass;
+  gstrtpbasepayload_class = (GstRTPBasePayloadClass *) klass;
 
-  gstbasertppayload_class = (GstBaseRTPPayloadClass *) klass;
+  gstrtpbasepayload_class->set_caps = gst_rtp_siren_pay_setcaps;
 
-  gstbasertppayload_class->set_caps = gst_rtp_siren_pay_setcaps;
+  gst_element_class_add_pad_template (gstelement_class,
+      gst_static_pad_template_get (&gst_rtp_siren_pay_sink_template));
+  gst_element_class_add_pad_template (gstelement_class,
+      gst_static_pad_template_get (&gst_rtp_siren_pay_src_template));
+  gst_element_class_set_static_metadata (gstelement_class,
+      "RTP Payloader for Siren Audio", "Codec/Payloader/Network/RTP",
+      "Packetize Siren audio streams into RTP packets",
+      "Youness Alaoui <kakaroto@kakaroto.homelinux.net>");
 
   GST_DEBUG_CATEGORY_INIT (rtpsirenpay_debug, "rtpsirenpay", 0,
       "siren audio RTP payloader");
 }
 
 static void
-gst_rtp_siren_pay_init (GstRTPSirenPay * rtpsirenpay,
-    GstRTPSirenPayClass * klass)
+gst_rtp_siren_pay_init (GstRTPSirenPay * rtpsirenpay)
 {
-  GstBaseRTPPayload *basertppayload;
-  GstBaseRTPAudioPayload *basertpaudiopayload;
+  GstRTPBasePayload *rtpbasepayload;
+  GstRTPBaseAudioPayload *rtpbaseaudiopayload;
 
-  basertppayload = GST_BASE_RTP_PAYLOAD (rtpsirenpay);
-  basertpaudiopayload = GST_BASE_RTP_AUDIO_PAYLOAD (rtpsirenpay);
+  rtpbasepayload = GST_RTP_BASE_PAYLOAD (rtpsirenpay);
+  rtpbaseaudiopayload = GST_RTP_BASE_AUDIO_PAYLOAD (rtpsirenpay);
 
   /* we don't set the payload type, it should be set by the application using
    * the pt property or the default 96 will be used */
-  basertppayload->clock_rate = 16000;
+  rtpbasepayload->clock_rate = 16000;
 
-  /* tell basertpaudiopayload that this is a frame based codec */
-  gst_base_rtp_audio_payload_set_frame_based (basertpaudiopayload);
+  /* tell rtpbaseaudiopayload that this is a frame based codec */
+  gst_rtp_base_audio_payload_set_frame_based (rtpbaseaudiopayload);
 }
 
 static gboolean
-gst_rtp_siren_pay_setcaps (GstBaseRTPPayload * basertppayload, GstCaps * caps)
+gst_rtp_siren_pay_setcaps (GstRTPBasePayload * rtpbasepayload, GstCaps * caps)
 {
   GstRTPSirenPay *rtpsirenpay;
-  GstBaseRTPAudioPayload *basertpaudiopayload;
+  GstRTPBaseAudioPayload *rtpbaseaudiopayload;
   gint dct_length;
   GstStructure *structure;
   const char *payload_name;
 
-  rtpsirenpay = GST_RTP_SIREN_PAY (basertppayload);
-  basertpaudiopayload = GST_BASE_RTP_AUDIO_PAYLOAD (basertppayload);
+  rtpsirenpay = GST_RTP_SIREN_PAY (rtpbasepayload);
+  rtpbaseaudiopayload = GST_RTP_BASE_AUDIO_PAYLOAD (rtpbasepayload);
 
   structure = gst_caps_get_structure (caps, 0);
 
@@ -127,12 +117,12 @@ gst_rtp_siren_pay_setcaps (GstBaseRTPPayload * basertppayload, GstCaps * caps)
   if (g_ascii_strcasecmp ("audio/x-siren", payload_name))
     goto wrong_caps;
 
-  gst_basertppayload_set_options (basertppayload, "audio", TRUE, "SIREN",
+  gst_rtp_base_payload_set_options (rtpbasepayload, "audio", TRUE, "SIREN",
       16000);
   /* set options for this frame based audio codec */
-  gst_base_rtp_audio_payload_set_frame_options (basertpaudiopayload, 20, 40);
+  gst_rtp_base_audio_payload_set_frame_options (rtpbaseaudiopayload, 20, 40);
 
-  return gst_basertppayload_set_outcaps (basertppayload, NULL);
+  return gst_rtp_base_payload_set_outcaps (rtpbasepayload, NULL);
 
   /* ERRORS */
 wrong_dct:
@@ -153,5 +143,5 @@ gboolean
 gst_rtp_siren_pay_plugin_init (GstPlugin * plugin)
 {
   return gst_element_register (plugin, "rtpsirenpay",
-      GST_RANK_NONE, GST_TYPE_RTP_SIREN_PAY);
+      GST_RANK_SECONDARY, GST_TYPE_RTP_SIREN_PAY);
 }