y4menc: don't strip timestamps

Fixes #582483
This commit is contained in:
Wim Taymans 2009-05-13 17:54:47 +02:00
parent 453794d383
commit 60f46ec99c

View file

@ -231,6 +231,7 @@ gst_y4m_encode_chain (GstPad * pad, GstBuffer * buf)
{ {
GstY4mEncode *filter = GST_Y4M_ENCODE (GST_PAD_PARENT (pad)); GstY4mEncode *filter = GST_Y4M_ENCODE (GST_PAD_PARENT (pad));
GstBuffer *outbuf; GstBuffer *outbuf;
GstClockTime timestamp;
/* check we got some decent info from caps */ /* check we got some decent info from caps */
if (filter->width < 0) { if (filter->width < 0) {
@ -240,6 +241,8 @@ gst_y4m_encode_chain (GstPad * pad, GstBuffer * buf)
return GST_FLOW_NOT_NEGOTIATED; return GST_FLOW_NOT_NEGOTIATED;
} }
timestamp = GST_BUFFER_TIMESTAMP (buf);
if (G_UNLIKELY (!filter->header)) { if (G_UNLIKELY (!filter->header)) {
outbuf = gst_y4m_encode_get_stream_header (filter); outbuf = gst_y4m_encode_get_stream_header (filter);
filter->header = TRUE; filter->header = TRUE;
@ -252,8 +255,9 @@ gst_y4m_encode_chain (GstPad * pad, GstBuffer * buf)
/* decorate */ /* decorate */
gst_buffer_make_metadata_writable (outbuf); gst_buffer_make_metadata_writable (outbuf);
gst_buffer_set_caps (outbuf, GST_PAD_CAPS (filter->srcpad)); gst_buffer_set_caps (outbuf, GST_PAD_CAPS (filter->srcpad));
/* strip to avoid sink dropping on time-base, decorate and send */
GST_BUFFER_TIMESTAMP (outbuf) = GST_CLOCK_TIME_NONE; GST_BUFFER_TIMESTAMP (outbuf) = timestamp;
return gst_pad_push (filter->srcpad, outbuf); return gst_pad_push (filter->srcpad, outbuf);
} }