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