diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | gst/mpegtsmux/mpegtsmux.c | 4 |
2 files changed, 9 insertions, 0 deletions
@@ -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; |