summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--ext/gsm/gstgsmenc.c17
2 files changed, 18 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 453903da..137a66ba 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,10 @@
+2005-09-20 Flavio Oliveira <flavio.oliveira@indt.org.br>
+
+ * ext/gsm/gstgsmenc.c:
+ Setting caps on the outgoing buffers.
+ Need to fix: rtpencoder does not know what it is handling and errors out
+
2005-09-20 Edgard Lima <edgard.lima@indt.org.br>
* configure.ac:
diff --git a/ext/gsm/gstgsmenc.c b/ext/gsm/gstgsmenc.c
index 7911b47d..6a8f24ee 100644
--- a/ext/gsm/gstgsmenc.c
+++ b/ext/gsm/gstgsmenc.c
@@ -153,11 +153,6 @@ gst_gsmenc_chain (GstPad * pad, GstBuffer * buf)
{
GstGSMEnc *gsmenc;
-/*
- g_return_if_fail (pad != NULL);
- g_return_if_fail (GST_IS_PAD (pad));
- g_return_if_fail (_data != NULL);
-*/
gsmenc = GST_GSMENC (GST_OBJECT_PARENT (pad));
if (GST_IS_EVENT (buf)) {
@@ -182,6 +177,7 @@ gst_gsmenc_chain (GstPad * pad, GstBuffer * buf)
} else if (GST_IS_BUFFER (buf)) {
gsm_signal *data;
guint size;
+ GstCaps *tempcaps = NULL;
data = (gsm_signal *) GST_BUFFER_DATA (buf);
size = GST_BUFFER_SIZE (buf) / sizeof (gsm_signal);
@@ -200,6 +196,10 @@ gst_gsmenc_chain (GstPad * pad, GstBuffer * buf)
gsm_encode (gsmenc->state, gsmenc->buffer,
(gsm_byte *) GST_BUFFER_DATA (outbuf));
+ tempcaps = gst_caps_new_simple ("audio/x-gsm",
+ "rate", G_TYPE_INT, 8000, "channels", G_TYPE_INT, 1, NULL);
+
+ gst_buffer_set_caps (outbuf, tempcaps);
gst_pad_push (gsmenc->srcpad, outbuf);
size -= (160 - gsmenc->bufsize);
@@ -217,6 +217,13 @@ gst_gsmenc_chain (GstPad * pad, GstBuffer * buf)
gsm_encode (gsmenc->state, data, (gsm_byte *) GST_BUFFER_DATA (outbuf));
+ /* I was wondering that gst_buffer_set_caps (outbuf, GST_PAD_CAPS (gsmenc->srcpad));
+ * could work, but it doens't work */
+
+ tempcaps = gst_caps_new_simple ("audio/x-gsm",
+ "rate", G_TYPE_INT, 8000, "channels", G_TYPE_INT, 1, NULL);
+
+ gst_buffer_set_caps (outbuf, tempcaps);
gst_pad_push (gsmenc->srcpad, outbuf);
size -= 160;