Module: MPV

Extended by:
FFI::Library
Defined in:
lib/mpvlib.rb,
lib/mpvlib/base.rb,
lib/mpvlib/data.rb,
lib/mpvlib/error.rb,
lib/mpvlib/event.rb,
lib/mpvlib/handle.rb,
lib/mpvlib/version.rb,
lib/mpvlib/client_api_version.rb

Overview

See <libmpv/client.h>.

Defined Under Namespace

Classes: Base, Error, Event, Handle, MPVEvent, MPVEventClientMessage, MPVEventEndFile, MPVEventLogMessage, MPVEventProperty

Constant Summary collapse

MPVEventID =
enum :mpv_event_id, [
  :MPV_EVENT_NONE,                  0,
  :MPV_EVENT_SHUTDOWN,              1,
  :MPV_EVENT_LOG_MESSAGE,           2,
  :MPV_EVENT_GET_PROPERTY_REPLY,    3,
  :MPV_EVENT_SET_PROPERTY_REPLY,    4,
  :MPV_EVENT_COMMAND_REPLY,         5,
  :MPV_EVENT_START_FILE,            6,
  :MPV_EVENT_END_FILE,              7,
  :MPV_EVENT_FILE_LOADED,           8,
  :MPV_EVENT_TRACKS_CHANGED,        9,
  :MPV_EVENT_TRACK_SWITCHED,        10,
  :MPV_EVENT_IDLE,                  11,
  :MPV_EVENT_PAUSE,                 12,
  :MPV_EVENT_UNPAUSE,               13,
  :MPV_EVENT_TICK,                  14,
  :MPV_EVENT_SCRIPT_INPUT_DISPATCH, 15,
  :MPV_EVENT_CLIENT_MESSAGE,        16,
  :MPV_EVENT_VIDEO_RECONFIG,        17,
  :MPV_EVENT_AUDIO_RECONFIG,        18,
  :MPV_EVENT_METADATA_UPDATE,       19,
  :MPV_EVENT_SEEK,                  20,
  :MPV_EVENT_PLAYBACK_RESTART,      21,
  :MPV_EVENT_PROPERTY_CHANGE,       22,
  :MPV_EVENT_CHAPTER_CHANGE,        23,
  :MPV_EVENT_QUEUE_OVERFLOW,        24,
]
MPVEventNames =
VERSION =
'0.4'

Class Method Summary collapse

Class Method Details

.client_api_versionObject



5
6
7
# File 'lib/mpvlib/client_api_version.rb', line 5

def self.client_api_version
  MPV.mpv_client_api_version
end

.client_api_version_elementsObject



13
14
15
16
# File 'lib/mpvlib/client_api_version.rb', line 13

def self.client_api_version_elements
  long = MPV.mpv_client_api_version
  [long >> 16, long & 0x00FF]
end

.convert_data(data, format) ⇒ Object



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/mpvlib/data.rb', line 23

def self.convert_data(data, format)
  begin
    ptr = data.read_pointer
    case format
    when :MPV_FORMAT_NONE
      nil
    when :MPV_FORMAT_STRING, :MPV_FORMAT_OSD_STRING
      ptr.read_string
    else
      raise "Unknown format: #{format.inspect}"
    end
  rescue FFI::NullPointerError
    nil
  end
end

.make_version(major, minor) ⇒ Object



9
10
11
# File 'lib/mpvlib/client_api_version.rb', line 9

def self.make_version(major, minor)
  (major << 16) | minor
end