routing audio data from application to virtual audio driver in MAC OS - macos

I'm very new to mac os , I want to route the audio data captured from the real hardware mic/speaker to the virtual audio driver (null audio driver).How can I invoke the driver form my application and How to communicate between driver and apllication.
For this task Which method I need to follow and any recommendation of existing methods.
Any help / suggestions will be appreciated.

Related

How to know a filter device driver is hooked to a com port

I have been trying to determine if a USB serial port (COM) port is monitored by a system bus driver without success. Basically I have an application that monitors a com port via a filter device driver. I was able to do this after reading this article from the Dr Dobb's magazine. Now what am trying to achieve in a seperate app is to be able to determine if there is an app hooked to a particular com port using a filter device driver. Can anyone help or guide me

How can I access a DDC/CI Display Dependent Device from a Windows application?

I am modifying a monitor controller for a prototype. It would be convenient to send commands to the prototype using DDC/CI. In Windows, I can't find an obvious way to send a DDC/CI command to a "display dependent device".
The Monitor Configuration API can send virtual control panel commands, but it does not give access to display dependent devices (which would have an I2C address other than 0x6e).
Nicomsoft's WinI2C/DDC product seems to give access to a display dependent device, but it is end-of-life. I would prefer not to build a dependency on an end-of-life product.
NVIDIA's NVAPI has an I2C API, but I would like a solution that also works with Intel and AMD graphics adaptors.
A solution exists for windows which respect XDDM driver display model. Windows 8 and 10 use WDDM.
In XDDM there is a windows O.S. supplied video port driver, and the hardware vendor supplies a miniport driver. When the miniport driver call's the video port driver's edid helper api (VideoPortDDCMonitorHelper), the miniport must supply 4 i2c function pointers as arguments.
In order to utilize these interfaces however you must be acting as the video port driver. So you have to write a video port lower filter driver which just passes along all the interfaces on from the windows supplied video port driver to the miniport driver. Hook the api's and export them to a usermode driver or ioctl which an application can call.
It may be possible to simply mount an instance of the miniport driver and some how get it to call VideoPortDDCMonitorHelper. But with out the help of the actual video port driver it would be difficult to get guidance on how to do that. Also you would have 2 instances of the driver running which may be against the rules for windows.
It does not appear this solution works for windows 8 and 10 because they use a different display driver model which doesn't appear to expose low level control of i2c. It is internal to the miniport driver.

Open a socket connection to bluetooth device without a virtual COM port

I am using the 32feet bluetooth library to connect to a device that supports Serial Port Profile (SPP). I try to connect like this:
using (BluetoothClient client = new BluetoothClient())
{
var address = new BluetoothAddress(0xecfe7e11c3af);
BluetoothEndPoint endPoint = new BluetoothEndPoint(address, BluetoothService.SerialPort);
client.Connect(endPoint);
var stream = client.GetStream();
System.Threading.Thread.Sleep(10000);
}
Everything is great until the Connect method is called. At this point, Windows interrupts the program flow with a bubble alert that says
"A bluetooth device is trying to connect -- click to allow this"
At which point the user is led through a wizard that ends up installing drivers and a Bluetooth virtual COM port shows up in Device Manager. I don't want this to happen -- I want to simply access the stream and communicate directly with the device without windows intervening. Is this possible? What can be done to tell Windows to keep out of my business?
I'm attempting to connect to a Bluetooth 4.0 device. I've done something similar in the past with a 2.0 device and Windows does not interfere in this case.
Have a look at http://SimpleBluetooth4Win.SourceForge.net
It's a small wrapper library that uses the windows bluetooth networking API that could help you.
https://msdn.microsoft.com/en-us/library/windows/desktop/aa362932%28v=vs.85%29.aspx
In particular if your bluetooth USB dongle or bluetooth device has been correctly recognized by the appropriate drivers and the remote bluetooth device is already paired with the PC, you don't need to install a bluetooth virtual COM port that shows up in Device Manager but you simply use the write or read calls to access directly the stream for communicating with the paired device.

How the 1st PDO is created in case of toaster bus driver (virtual )in wdm?

I am very new in wdm , so as a beginner i started with toaster sample (virtual device). During studying this , I found there is a toaster device which is connected to its bus (toaster bus) and this bus(toaster bus) is attached to root bus ... now as a bus driver for its attached device(toaster bus) , root driver has responsibility to detect the device and create PDO and then PnP manager will extract information by this pdo like h/w id etc. But here since it is a virtual so we did it by add new h/w wizard prompt , so after the device installation I can find the h/w id and other attribute in registry but i m not able to see it after device installation ... Instead i found it after INF file loading (driver installation by manually).

Windows 8 Bluetooth Low Energy - Custom driver required

I'm trying to connect a Glucose and Heartrate monitor LE devices using Windows 8. It is being detected just fine and default LE is used for the device. I'm trying to use the sample BLE http://code.msdn.microsoft.com/windowsapps/Bluetooth-LE-Metro-sample-a2ba1b5b but getting 80070057 error.
I have read some post that a custom driver is required. I run it using the sample in Mac and it works just fine. The sample application was able to use the device without any issues. Is there a way to access and use the device without creating a custom driver?
Thanks!
The sample is just a facade to the user. Driver is always needed in order to communicate with hardware. For some standard devices the OS might include a default driver (e.g., standard Web cam) with a predefined set of functionality but for all the rest a vendor-supplied driver is required.

Resources