#!/usr/bin/env python import pygtk, gtk, gobject import pygst pygst.require("0.10") import gst LEAKY=True #LEAKY=False def new_buffer(sink): if LEAKY: buf = sink.get_last_buffer() del buf test = gst.parse_launch("videotestsrc ! video/x-raw-yuv,width=500,height=500 ! " + "tee name=t ! queue ! decodebin2 ! ffmpegcolorspace ! autovideosink" + " t. ! queue max-size-buffers=2 leaky=2 ! appsink max-buffers=1 drop=1 name=a") sink = test.get_by_name('a') sink.set_property('emit_signals', True) sink.connect('new-buffer', new_buffer) test.set_state(gst.STATE_PLAYING) gtk.main()