Class: PRbed::BytesParser
- Inherits:
-
Object
- Object
- PRbed::BytesParser
- Defined in:
- lib/PRbed.rb
Instance Method Summary collapse
-
#initialize(nsamples) ⇒ BytesParser
constructor
A new instance of BytesParser.
- #parse(bs) ⇒ Object
Constructor Details
#initialize(nsamples) ⇒ BytesParser
Returns a new instance of BytesParser.
17 18 19 20 |
# File 'lib/PRbed.rb', line 17 def initialize(nsamples) @nsamples = nsamples @bufsize = (@nsamples + 3) & ~3 end |
Instance Method Details
#parse(bs) ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/PRbed.rb', line 22 def parse(bs) a = Array.new(@bufsize, MISSING) i = 0 bs.each_byte do |c| a[i ] = c & 0b00000011 a[i + 1] = (c & 0b00001100) >> 2 a[i + 2] = (c & 0b00110000) >> 4 a[i + 3] = (c & 0b11000000) >> 6 i += SAMPLES_PER_BYTE end a.pop(@bufsize - @nsamples) a end |