Sha256: 3d7219a575861d6bfeea830c9e83665d45ea3fda72749dda548f69f90120b4a8

Contents?: true

Size: 762 Bytes

Versions: 3

Compression:

Stored size: 762 Bytes

Contents

module M3u8
  # SegmentItem represents EXTINF attributes with the URI that follows,
  # optionally allowing an EXT-X-BYTERANGE tag to be set.
  class SegmentItem
    attr_accessor :duration, :segment, :comment, :byterange_length,
                  :byterange_start

    def initialize(params = {})
      params.each do |key, value|
        instance_variable_set("@#{key}", value)
      end
    end

    def to_s
      "#EXTINF:#{duration},#{comment}#{byterange_format}\n#{segment}"
    end

    private

    def byterange_format
      return if byterange_length.nil?
      "\n#EXT-X-BYTERANGE:#{byterange_length}#{byterange_start_format}"
    end

    def byterange_start_format
      return if byterange_start.nil?
      "@#{byterange_start}"
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
m3u8-0.5.3 lib/m3u8/segment_item.rb
m3u8-0.5.2 lib/m3u8/segment_item.rb
m3u8-0.5.1 lib/m3u8/segment_item.rb