#!/usr/bin/env ruby require 'gst' pipeline = Gst::Pipeline.new src = Gst::ElementFactory.make("videotestsrc") identity = Gst::ElementFactory.make("identity") sink = Gst::ElementFactory.make("fakesink") caps = Gst::Caps.parse("video/x-raw-yuv, framerate=\(fraction\)2/1") src.live = true identity.signal_handoffs = true identity.signal_connect("handoff") { | element, buffer | puts Time.now.to_s + ": got buffer" } pipeline.add(src, identity, sink) src.link_filtered(identity, caps); identity >> sink p pipeline.play puts "Sleeping 5 times for one seconds" 5.times do sleep 1 end puts "Sleeping for five seconds" sleep 5 puts "done"