Class: MKV::Track
- Inherits:
-
Object
- Object
- MKV::Track
- Defined in:
- lib/mkv/track.rb
Instance Attribute Summary collapse
-
#channels ⇒ Object
readonly
Audio.
-
#codec_id ⇒ Object
readonly
Video, Audio & Subtitle.
-
#default ⇒ Object
readonly
Subtitle & Audio.
-
#enabled ⇒ Object
readonly
Subtitle & Audio.
-
#forced ⇒ Object
readonly
Subtitle & Audio.
-
#height ⇒ Object
readonly
Video.
-
#lacing ⇒ Object
readonly
Video, Audio & Subtitle.
-
#language ⇒ Object
readonly
Subtitle & Audio.
-
#mkv_info_id ⇒ Object
readonly
Video, Audio & Subtitle.
-
#number ⇒ Object
readonly
Video, Audio & Subtitle.
-
#sampling_frequency ⇒ Object
readonly
Audio.
-
#type ⇒ Object
readonly
Video, Audio & Subtitle.
-
#uid ⇒ Object
readonly
Video, Audio & Subtitle.
-
#width ⇒ Object
readonly
Video.
Instance Method Summary collapse
-
#initialize(data) ⇒ Track
constructor
A new instance of Track.
Constructor Details
#initialize(data) ⇒ Track
Returns a new instance of Track.
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/mkv/track.rb', line 12 def initialize(data) (@number, @mkv_info_id) = data.match(/track number:\s(\d+)\s\(track ID for mkvmerge & mkvextract: (\d+)\)/i)[1..2] @uid = data.match(/track uid: (\d+)/i)[1] @lacing = data.match(/lacing flag: (\d+)/i)[1] != '0' @type = data.match(/track type: (\w+)/i)[1] @codec_id = data.match(/codec id: (.*)/i)[1] if @type == 'video' @width = data.match(/pixel width: (\d+)/i)[1].to_i @height = data.match(/pixel height: (\d+)/i)[1].to_i end if @type == 'audio' @sampling_frequency = data.match(/sampling frequency: (\d+)/i)[1].to_i @channels = data.match(/channels: (\d+)/i)[1].to_i end if @type == 'audio' || @type == 'subtitles' @language = data.match(/language: (\w+)/i)[1] @enabled = data.match(/enabled: (\d+)/i)[1] != '0' @default = data.match(/default flag: (\d+)/i)[1] != '0' @forced = data.match(/forced flag: (\d+)/i)[1] != '0' end end |
Instance Attribute Details
#channels ⇒ Object (readonly)
Audio
8 9 10 |
# File 'lib/mkv/track.rb', line 8 def channels @channels end |
#codec_id ⇒ Object (readonly)
Video, Audio & Subtitle
4 5 6 |
# File 'lib/mkv/track.rb', line 4 def codec_id @codec_id end |
#default ⇒ Object (readonly)
Subtitle & Audio
10 11 12 |
# File 'lib/mkv/track.rb', line 10 def default @default end |
#enabled ⇒ Object (readonly)
Subtitle & Audio
10 11 12 |
# File 'lib/mkv/track.rb', line 10 def enabled @enabled end |
#forced ⇒ Object (readonly)
Subtitle & Audio
10 11 12 |
# File 'lib/mkv/track.rb', line 10 def forced @forced end |
#height ⇒ Object (readonly)
Video
6 7 8 |
# File 'lib/mkv/track.rb', line 6 def height @height end |
#lacing ⇒ Object (readonly)
Video, Audio & Subtitle
4 5 6 |
# File 'lib/mkv/track.rb', line 4 def lacing @lacing end |
#language ⇒ Object (readonly)
Subtitle & Audio
10 11 12 |
# File 'lib/mkv/track.rb', line 10 def language @language end |
#mkv_info_id ⇒ Object (readonly)
Video, Audio & Subtitle
4 5 6 |
# File 'lib/mkv/track.rb', line 4 def mkv_info_id @mkv_info_id end |
#number ⇒ Object (readonly)
Video, Audio & Subtitle
4 5 6 |
# File 'lib/mkv/track.rb', line 4 def number @number end |
#sampling_frequency ⇒ Object (readonly)
Audio
8 9 10 |
# File 'lib/mkv/track.rb', line 8 def sampling_frequency @sampling_frequency end |
#type ⇒ Object (readonly)
Video, Audio & Subtitle
4 5 6 |
# File 'lib/mkv/track.rb', line 4 def type @type end |
#uid ⇒ Object (readonly)
Video, Audio & Subtitle
4 5 6 |
# File 'lib/mkv/track.rb', line 4 def uid @uid end |
#width ⇒ Object (readonly)
Video
6 7 8 |
# File 'lib/mkv/track.rb', line 6 def width @width end |