Module: M3u8

Included in:
KeyItem, MapItem, MapItem, MediaItem, 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/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, DiscontinuityItem, KeyItem, MapItem, MediaItem, MissingCodecError, Playlist, PlaylistItem, PlaylistTypeError, Reader, SegmentItem, SessionDataItem, SessionKeyItem, TimeItem, Writer

Constant Summary collapse

VERSION =
'0.6.9'

Instance Method Summary collapse

Instance Method Details

#intialize_with_byterange(params = {}) ⇒ Object



16
17
18
19
20
21
# File 'lib/m3u8.rb', line 16

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



7
8
9
10
# File 'lib/m3u8.rb', line 7

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

#parse_yes_no(value) ⇒ Object



12
13
14
# File 'lib/m3u8.rb', line 12

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