def parse_speaker_mapping(bit_field)
      return nil if bit_field.nil?

      mapping = []
      speaker_index = 0

      while speaker_index < SPEAKER_POSITIONS.length
        if bit_field & (2 ** speaker_index) != 0
          mapping << SPEAKER_POSITIONS[speaker_index]
        end

        speaker_index += 1
      end

      mapping.fill(:undefined, mapping.length, @channels - mapping.length)
      mapping.freeze
    end
def parse_speaker_mapping(bit_field)
      return nil if bit_field.nil?

      mapping = []
      speaker_index = 0

      while speaker_index < SPEAKER_POSITIONS.length
        if bit_field & (2 ** speaker_index) != 0
          mapping << SPEAKER_POSITIONS[speaker_index]
        end

        speaker_index += 1
      end

      mapping.fill(:undefined, mapping.length, @channels - mapping.length)
      mapping.freeze
    end
Internal