|
From: Kouhei S. <ko...@co...> - 2013-05-14 12:57:15
|
須藤です。
In <518...@ni...>
"Re: [ruby-gnome2-devel-ja] GStreamerサンプルstreamsのGstBus.set_sync_handler()について" on Sun, 12 May 2013 18:10:14 +0900,
Takashi Nakajima <nak...@ni...> wrote:
> ただControllerではなくて、Gst::Clockの方でつまづいています。
>
> bin = Gst::Pipeline.new("pipeline")
> clock = bin.clock
> ...
> clock_id = clock.new_single_shot_id(clock.time + (7 * Gst::SECOND))
>
> 私の環境では、ここでclock_idにnilが返ってきてしまいます。
数値が変えるようにしました!
C的にはgpointer(= void *)なのですが、Rubyにはポインターが
ないのでアドレスを数値として返すようにしました。
> コード全文は以下です。
> https://github.com/ted-n/ruby-gnome2/blob/controller/gstreamer/sample/audio-example.rb
手元では
wait_ret = Gst::Clock.id_wait(clock_id)
$stderr.puts "Clock::id_wait returned: #{wait_ret}" if wait_ret != Gst::Clock::OK
を
wait_ret, jitter = Gst::Clock.id_wait(clock_id)
$stderr.puts "Clock::id_wait returned: #{wait_ret}" if wait_ret != Gst::ClockReturn::OK
にしたら動いたのでそこだけ直してpull requestしてもらえますか?
修正点:
* id_waitの戻り値は第2引数のjitterもある。
* Clock::OKではなくClockReturn::OK。
|