base_time difference between source and sink after flushing pipeline?

Mohammed Sameer msameer at foolab.org
Fri Jun 14 20:10:38 PDT 2013


Hi,

I am using GStreamer 0.10 (I know it's outdated and
unsupported but I have no other option).

I am developing a custom 3pad source element for camerabin2.

Before image capture, I have to make sure that all buffers allocated by the
driver get returned back to the driver otherwise image capturing will not succeed.

I am simply sending a FLUSH_START event followed by a FLUSH_STOP in order to be able
to claim back all buffers in the pipeline. This works fine.

The issue is when I start pushing buffers back through the flushing pad.

I start by sending a NEWSEGMENT event and then push the first buffer downstream.
What happens is that the sink blocks waiting for clock synchronization. That is also
fine but the real issue I have noticed is the base_time of my source element is different
than the base_time the sink element. This discrepancy remains until the sink receives
the first buffer after the NEWSEGMENT, prerolls and gets to playing state.

Is this an expected behavior? Is it a bug? Is there a way to work around it?

Cheers,

-- 
GPG-Key: 0xA3FD0DF7 - 9F73 032E EAC9 F7AD 951F  280E CB66 8E29 A3FD 0DF7
Debian User and Developer.
Homepage: www.foolab.org


More information about the gstreamer-devel mailing list