[gst-devel] Losing prerolled buffers

Tim Müller t.i.m at zen.co.uk
Tue May 23 01:08:03 CEST 2006


On Mon, 2006-05-22 at 23:48 +0100, Iain * wrote:

Hi Iain,

> Message: Internal data flow problem.
> Debug: gstbasesink.c(1878): gst_base_sink_chain_unlocked ():
> /marlinloadpipeline0/load-sink-0:
> Received buffer without a new-segment. Assuming timestamps start from 0.
> 
> what element should be responsible for creating/sending the
> new-segment? The element the sink is linked to (my
> channel-splitter[2]) is just passing any events it receives onwards.
> 
> 	if (GST_IS_EVENT (buffer)) {
> 		for (p = splitter->srcpads; p; p = p->next) {
> 			gst_pad_event_default (GST_PAD (p->data),
> 					       GST_EVENT (buffer));
> 		}
> 		g_object_unref (splitter);
> 		return GST_FLOW_OK;
> 	}

In 0.10 chain functions never receive anything else but buffers, so that
block of code is never executed. You need to set up a sink event
function and do the forwarding there.

No idea about the second issue (maybe it disappears after you fix the
first one).

Cheers
 -Tim






More information about the gstreamer-devel mailing list