Sha256: 4ca7822a8c19b4ccb0c0ae7522f6f3f259220d69b32c80049857d5d32d114fe1

Contents?: true

Size: 680 Bytes

Versions: 16

Compression:

Stored size: 680 Bytes

Contents

# frozen_string_literal: true

require 'eac_ruby_utils/core_ext'

module Ehbrs
  module Videos
    class Track
      FFPROBE_PATTERN = /\A\s*Stream\s\#(\d+:\d+)(?:\(([^\)]+)\))?:\s*([^:]+):\s*([a-z0-9]+)(.*)/
                        .freeze
      class << self
        def create_from_string(string)
          m = FFPROBE_PATTERN.match(string)
          return nil unless m

          new(m[1].to_i, m[3], m[2], m[4], m[5].strip)
        end
      end

      common_constructor :number, :type, :language, :codec, :extra

      def to_s
        "[#{type}(#{number}): #{codec}/#{language || '-'}" +
          extra.if_present('') { |v| " | #{v}" } + ']'
      end
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
ehbrs-tools-0.16.1 lib/ehbrs/videos/track.rb
ehbrs-tools-0.16.0 lib/ehbrs/videos/track.rb
ehbrs-tools-0.15.0 lib/ehbrs/videos/track.rb
ehbrs-tools-0.14.1 lib/ehbrs/videos/track.rb
ehbrs-tools-0.14.0 lib/ehbrs/videos/track.rb
ehbrs-tools-0.13.1 lib/ehbrs/videos/track.rb
ehbrs-tools-0.13.0 lib/ehbrs/videos/track.rb
ehbrs-tools-0.12.0 lib/ehbrs/videos/track.rb
ehbrs-tools-0.11.0 lib/ehbrs/videos/track.rb
ehbrs-tools-0.10.0 lib/ehbrs/videos/track.rb
ehbrs-tools-0.9.0 lib/ehbrs/videos/track.rb
ehbrs-tools-0.7.0 lib/ehbrs/videos/track.rb
ehbrs-tools-0.6.0 lib/ehbrs/videos/track.rb
ehbrs-tools-0.5.0 lib/ehbrs/videos/track.rb
ehbrs-tools-0.3.1 lib/ehbrs/videos/track.rb
ehbrs-tools-0.3.0 lib/ehbrs/videos/track.rb