13 inline unsigned int roundUpPow2(
unsigned int n, 
unsigned int multiple)
 
   15   return (
n + multiple - 1) & ~(multiple - 1);
 
   24   unsigned int ChannelMask()
 const 
   26     const static uint8_t mask = 0x60;
 
   27     return (mask & head) >> 5;
 
   30   unsigned int Amplitude()
 const 
   32     const static uint8_t mask = 0x18;
 
   33     return (mask & head) >> 3;
 
   38     const static uint8_t mask = 0x80;
 
   42   unsigned int amplitude()
 const 
   52   unsigned int timeInfo()
 const 
   54     return ntohl(TimeInfo);
 
   57   double samplingRate()
 const 
   59     const static double conv_factor = 1e6 / 128;
 
   60     return SamplingRate * conv_factor;
 
   63   unsigned int audioWordSize()
 const 
   65     unsigned int sample_size_bit = amplitude();
 
   68       sample_size_bit <<= 1;  
 
   70     const unsigned int size_bit = sample_size_bit + 8;
 
   80 std::ostream& 
operator <<(std::ostream& stream, 
const InfoWord& iw)
 
   83       << 
"Is an InfoWord:        " << iw.Mark()                  << 
'\n' 
   84       << 
"ChannelMask:           " << iw.ChannelMask()           << 
'\n' 
   85       << 
"Amplitude:             " << iw.Amplitude()             << 
'\n' 
   86       << 
"Amplitude (human):     " << iw.amplitude() << 
" bit"   << 
'\n' 
   87       << 
"Sampling rate:         " << (uint32_t) iw.SamplingRate << 
'\n' 
   88       << 
"Sampling rate (human): " << iw.samplingRate() << 
" Hz" << 
'\n' 
   89       << 
"TimeInfo:              " << iw.timeInfo();
 
   95   const static unsigned char mask = 0x80;
 
   96   const unsigned char* 
const p = static_cast<const unsigned char* const>(