class ActiveVlc::LibVlc::Instance
Attributes
exit_callback[R]
ptr[R]
Public Class Methods
new(args = [""])
click to toggle source
# File lib/activevlc/libvlc/instance.rb, line 16 def initialize(args = [""]) argc = args.length @argv = args.map{ |a| FFI::MemoryPointer.from_string a} test = FFI::MemoryPointer.new(:pointer, argc) test.put_array_of_pointer(0, @argv) @ptr = InstancePtr.new Api.libvlc_new(argc, test) raise "Unable to create a libvlc_instance_t" if @ptr.null? end
Public Instance Methods
add_interface(name = nil)
click to toggle source
# File lib/activevlc/libvlc/instance.rb, line 66 def add_interface(name = nil) Api.libvlc_add_intf(@ptr, name) end
at_exit(&block)
click to toggle source
# File lib/activevlc/libvlc/instance.rb, line 60 def at_exit(&block) Api.libvlc_set_exit_handler(@ptr, nil, nil) @exit_callback = block Api.libvlc_set_exit_handler(@ptr, @exit_callback, nil) end
create_list_player(list = nil, player = nil)
click to toggle source
# File lib/activevlc/libvlc/instance.rb, line 42 def create_list_player(list = nil, player = nil) mlp = Api.libvlc_media_list_player_new(@ptr) raise "Unable to create a libvlc_media_list_player_t" if mlp.null? MediaListPlayer.new(mlp, list, player) end
create_media(mrl)
click to toggle source
# File lib/activevlc/libvlc/instance.rb, line 26 def create_media(mrl) if mrl =~ /\A[a-z]+:\/\/.+/ m = Api.libvlc_media_new_location(@ptr, mrl) else m = Api.libvlc_media_new_path(@ptr, mrl) end raise "Unable to create a libvlc_media_t" if m.null? Media.new(m, mrl) end
create_media_list()
click to toggle source
# File lib/activevlc/libvlc/instance.rb, line 36 def create_media_list ml = Api.libvlc_media_list_new(@ptr) raise "Unable to create a libvlc_media_list_t" if ml.null? MediaList.new(ml) end
create_player(media = nil)
click to toggle source
# File lib/activevlc/libvlc/instance.rb, line 48 def create_player(media = nil) if media and media.is_a?(Media) MediaPlayer.new(media) else MediaPlayer.new self end end
wait!()
click to toggle source
# File lib/activevlc/libvlc/instance.rb, line 56 def wait! Api.libvlc_wait(@ptr) end