Module: M3u8

Included in:
DateRangeItem, KeyItem, MapItem, MapItem, MediaItem, PlaybackStart, PlaylistItem, Reader, SegmentItem, SessionDataItem, SessionKeyItem, TimeItem
Defined in:
lib/m3u8.rb,
lib/m3u8/error.rb,
lib/m3u8/reader.rb,
lib/m3u8/writer.rb,
lib/m3u8/version.rb,
lib/m3u8/key_item.rb,
lib/m3u8/map_item.rb,
lib/m3u8/playlist.rb,
lib/m3u8/time_item.rb,
lib/m3u8/byte_range.rb,
lib/m3u8/media_item.rb,
lib/m3u8/encryptable.rb,
lib/m3u8/segment_item.rb,
lib/m3u8/playlist_item.rb,
lib/m3u8/playback_start.rb,
lib/m3u8/date_range_item.rb,
lib/m3u8/session_key_item.rb,
lib/m3u8/session_data_item.rb,
lib/m3u8/discontinuity_item.rb

Overview

M3u8 provides parsing, generation, and validation of m3u8 playlists

Defined Under Namespace

Modules: Encryptable Classes: ByteRange, DateRangeItem, DiscontinuityItem, KeyItem, MapItem, MediaItem, MissingCodecError, PlaybackStart, Playlist, PlaylistItem, PlaylistTypeError, Reader, SegmentItem, SessionDataItem, SessionKeyItem, TimeItem, Writer

Constant Summary collapse

VERSION =
'0.7.1'

Instance Method Summary collapse

Instance Method Details

#intialize_with_byterange(params = {}) ⇒ Object



8
9
10
11
12
13
# File 'lib/m3u8.rb', line 8

def intialize_with_byterange(params = {})
  params.each do |key, value|
    value = ByteRange.new(value) if value.is_a?(Hash)
    instance_variable_set("@#{key}", value)
  end
end

#parse_attributes(line) ⇒ Object



15
16
17
18
# File 'lib/m3u8.rb', line 15

def parse_attributes(line)
  array = line.delete("\n").scan(/([A-z0-9-]+)\s*=\s*("[^"]*"|[^,]*)/)
  Hash[array.map { |key, value| [key, value.delete('"')] }]
end

#parse_float(value) ⇒ Object



20
21
22
# File 'lib/m3u8.rb', line 20

def parse_float(value)
  value.nil? ? nil : value.to_f
end

#parse_yes_no(value) ⇒ Object



24
25
26
# File 'lib/m3u8.rb', line 24

def parse_yes_no(value)
  value == 'YES' ? true : false
end

#to_yes_no(boolean) ⇒ Object



28
29
30
# File 'lib/m3u8.rb', line 28

def to_yes_no(boolean)
  boolean == true ? 'YES' : 'NO'
end