summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--gst/mpegtsmux/mpegtsmux.c4
2 files changed, 9 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 0628333e..870c66e6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2008-09-02 Wim Taymans <wim.taymans@collabora.co.uk>
+
+ * gst/mpegtsmux/mpegtsmux.c: (new_packet_cb):
+ Set caps on outgoing buffers.
+
2008-09-02 Tim-Philipp Müller <tim.muller at collabora co uk>
* ext/resindvd/plugin.c: (plugin_init):
diff --git a/gst/mpegtsmux/mpegtsmux.c b/gst/mpegtsmux/mpegtsmux.c
index 9e5843e8..2b418f35 100644
--- a/gst/mpegtsmux/mpegtsmux.c
+++ b/gst/mpegtsmux/mpegtsmux.c
@@ -668,6 +668,8 @@ new_packet_cb (guint8 * data, guint len, void *user_data, gint64 new_pcr)
mux->last_flow_ret = GST_FLOW_ERROR;
return FALSE;
}
+ gst_buffer_set_caps (buf, GST_PAD_CAPS (mux->srcpad));
+
/* copies the ts data of 188 bytes to the m2ts buffer at an offset
of 4 bytes of timestamp */
memcpy (GST_BUFFER_DATA (buf) + 4, data, len);
@@ -710,6 +712,7 @@ new_packet_cb (guint8 * data, guint len, void *user_data, gint64 new_pcr)
out_buf = gst_adapter_take_buffer (mux->adapter, M2TS_PACKET_LENGTH);
if (G_UNLIKELY (!out_buf))
break;
+ gst_buffer_set_caps (out_buf, GST_PAD_CAPS (mux->srcpad));
/*writing the 4 byte timestamp value */
GST_WRITE_UINT32_BE (GST_BUFFER_DATA (out_buf), m2ts_pcr);
@@ -737,6 +740,7 @@ new_packet_cb (guint8 * data, guint len, void *user_data, gint64 new_pcr)
mux->last_flow_ret = GST_FLOW_ERROR;
return FALSE;
}
+ gst_buffer_set_caps (buf, GST_PAD_CAPS (mux->srcpad));
memcpy (GST_BUFFER_DATA (buf), data, len);
GST_BUFFER_TIMESTAMP (buf) = mux->last_ts;