gst/rtp/gstrtph263penc.*: Added configurable pt and ssrc, to be merged in the caps...
authorWim Taymans <wim.taymans@gmail.com>
Fri, 19 Aug 2005 15:01:05 +0000 (15:01 +0000)
committerWim Taymans <wim.taymans@gmail.com>
Fri, 19 Aug 2005 15:01:05 +0000 (15:01 +0000)
Original commit message from CVS:
* gst/rtp/gstrtph263penc.c: (gst_rtph263penc_class_init),
(gst_rtph263penc_flush), (gst_rtph263penc_chain),
(gst_rtph263penc_set_property), (gst_rtph263penc_get_property):
* gst/rtp/gstrtph263penc.h:
Added configurable pt and ssrc, to be merged in the caps or
a base class...

ChangeLog
gst/rtp/gstrtph263penc.c
gst/rtp/gstrtph263penc.h
gst/rtp/gstrtph263ppay.c
gst/rtp/gstrtph263ppay.h

index adce6fa..366801c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
 2005-08-19  Wim Taymans  <wim@fluendo.com>
 
+       * gst/rtp/gstrtph263penc.c: (gst_rtph263penc_class_init),
+       (gst_rtph263penc_flush), (gst_rtph263penc_chain),
+       (gst_rtph263penc_set_property), (gst_rtph263penc_get_property):
+       * gst/rtp/gstrtph263penc.h:
+       Added configurable pt and ssrc, to be merged in the caps or
+       a base class...
+
+2005-08-19  Wim Taymans  <wim@fluendo.com>
+
        * gst/rtp/gstrtph263pdec.c: (gst_rtph263pdec_init),
        (gst_rtph263pdec_chain):
        * gst/rtp/gstrtph263penc.c: (gst_rtph263penc_class_init),
index 1cccfd2..a875ed0 100644 (file)
@@ -37,12 +37,16 @@ enum
   LAST_SIGNAL
 };
 
-#define DEFAULT_MTU    1024
+#define DEFAULT_MTU     1024
+#define DEFAULT_PT      96
+#define DEFAULT_SSRC    0
 
 enum
 {
   PROP_0,
-  PROP_MTU
+  PROP_MTU,
+  PROP_PT,
+  PROP_SSRC
 };
 
 static GstStaticPadTemplate gst_rtph263penc_sink_template =
@@ -132,6 +136,14 @@ gst_rtph263penc_class_init (GstRtpH263PEncClass * klass)
       g_param_spec_uint ("mtu", "MTU",
           "Maximum size of one packet",
           28, G_MAXUINT, DEFAULT_MTU, G_PARAM_READWRITE));
+  g_object_class_install_property (G_OBJECT_CLASS (klass), PROP_PT,
+      g_param_spec_uint ("pt", "payload type",
+          "The payload type of the packets",
+          0, 0x80, DEFAULT_PT, G_PARAM_READWRITE));
+  g_object_class_install_property (G_OBJECT_CLASS (klass), PROP_SSRC,
+      g_param_spec_uint ("ssrc", "SSRC",
+          "The SSRC of the packets",
+          0, G_MAXUINT, DEFAULT_SSRC, G_PARAM_READWRITE));
 
   gstelement_class->change_state = gst_rtph263penc_change_state;
 }
@@ -187,6 +199,9 @@ gst_rtph263penc_flush (GstRtpH263PEnc * rtph263penc)
     outbuf = gst_rtpbuffer_new_allocate (payload_len, 0, 0);
     gst_rtpbuffer_set_timestamp (outbuf,
         rtph263penc->first_ts * 90000 / GST_SECOND);
+    gst_rtpbuffer_set_payload_type (outbuf, rtph263penc->pt);
+    gst_rtpbuffer_set_ssrc (outbuf, rtph263penc->ssrc);
+    gst_rtpbuffer_set_seq (outbuf, rtph263penc->seqnum++);
     /* last fragment gets the marker bit set */
     gst_rtpbuffer_set_marker (outbuf, avail > towrite ? 0 : 1);
 
@@ -247,6 +262,12 @@ gst_rtph263penc_set_property (GObject * object, guint prop_id,
     case PROP_MTU:
       rtph263penc->mtu = g_value_get_uint (value);
       break;
+    case PROP_PT:
+      rtph263penc->pt = g_value_get_uint (value);
+      break;
+    case PROP_SSRC:
+      rtph263penc->ssrc = g_value_get_uint (value);
+      break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
@@ -265,6 +286,12 @@ gst_rtph263penc_get_property (GObject * object, guint prop_id, GValue * value,
     case PROP_MTU:
       g_value_set_uint (value, rtph263penc->mtu);
       break;
+    case PROP_PT:
+      g_value_set_uint (value, rtph263penc->pt);
+      break;
+    case PROP_SSRC:
+      g_value_set_uint (value, rtph263penc->ssrc);
+      break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
index 3d0f6e2..316ae03 100644 (file)
@@ -49,6 +49,10 @@ struct _GstRtpH263PEnc
   GstAdapter *adapter;
   GstClockTime first_ts;
 
+  guint16 seqnum;
+  guint   pt;
+  guint   ssrc;
+
   guint mtu;
 };
 
index 1cccfd2..a875ed0 100644 (file)
@@ -37,12 +37,16 @@ enum
   LAST_SIGNAL
 };
 
-#define DEFAULT_MTU    1024
+#define DEFAULT_MTU     1024
+#define DEFAULT_PT      96
+#define DEFAULT_SSRC    0
 
 enum
 {
   PROP_0,
-  PROP_MTU
+  PROP_MTU,
+  PROP_PT,
+  PROP_SSRC
 };
 
 static GstStaticPadTemplate gst_rtph263penc_sink_template =
@@ -132,6 +136,14 @@ gst_rtph263penc_class_init (GstRtpH263PEncClass * klass)
       g_param_spec_uint ("mtu", "MTU",
           "Maximum size of one packet",
           28, G_MAXUINT, DEFAULT_MTU, G_PARAM_READWRITE));
+  g_object_class_install_property (G_OBJECT_CLASS (klass), PROP_PT,
+      g_param_spec_uint ("pt", "payload type",
+          "The payload type of the packets",
+          0, 0x80, DEFAULT_PT, G_PARAM_READWRITE));
+  g_object_class_install_property (G_OBJECT_CLASS (klass), PROP_SSRC,
+      g_param_spec_uint ("ssrc", "SSRC",
+          "The SSRC of the packets",
+          0, G_MAXUINT, DEFAULT_SSRC, G_PARAM_READWRITE));
 
   gstelement_class->change_state = gst_rtph263penc_change_state;
 }
@@ -187,6 +199,9 @@ gst_rtph263penc_flush (GstRtpH263PEnc * rtph263penc)
     outbuf = gst_rtpbuffer_new_allocate (payload_len, 0, 0);
     gst_rtpbuffer_set_timestamp (outbuf,
         rtph263penc->first_ts * 90000 / GST_SECOND);
+    gst_rtpbuffer_set_payload_type (outbuf, rtph263penc->pt);
+    gst_rtpbuffer_set_ssrc (outbuf, rtph263penc->ssrc);
+    gst_rtpbuffer_set_seq (outbuf, rtph263penc->seqnum++);
     /* last fragment gets the marker bit set */
     gst_rtpbuffer_set_marker (outbuf, avail > towrite ? 0 : 1);
 
@@ -247,6 +262,12 @@ gst_rtph263penc_set_property (GObject * object, guint prop_id,
     case PROP_MTU:
       rtph263penc->mtu = g_value_get_uint (value);
       break;
+    case PROP_PT:
+      rtph263penc->pt = g_value_get_uint (value);
+      break;
+    case PROP_SSRC:
+      rtph263penc->ssrc = g_value_get_uint (value);
+      break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
@@ -265,6 +286,12 @@ gst_rtph263penc_get_property (GObject * object, guint prop_id, GValue * value,
     case PROP_MTU:
       g_value_set_uint (value, rtph263penc->mtu);
       break;
+    case PROP_PT:
+      g_value_set_uint (value, rtph263penc->pt);
+      break;
+    case PROP_SSRC:
+      g_value_set_uint (value, rtph263penc->ssrc);
+      break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
index 3d0f6e2..316ae03 100644 (file)
@@ -49,6 +49,10 @@ struct _GstRtpH263PEnc
   GstAdapter *adapter;
   GstClockTime first_ts;
 
+  guint16 seqnum;
+  guint   pt;
+  guint   ssrc;
+
   guint mtu;
 };