We need a small routine to be developed for an audio/video capture application.
Our application is already working, we just need somebody to develop a specialized routine that we can add into our existing application.
The application that we are using is made on Delphi, and is using Datastead TVideoGrabber component. The demo version can be downloaded from <[url removed, login to view]>
The TVideoGrabber component exposes a OnRawAudioSample event made as follows:
procedure [url removed, login to view](Sender: TObject;
? pSampleBuffer: PByte; SampleBufferSize, SampleDataLength: Integer;
? FormatType: TFormatType; pFormat, pWaveFormatEx: Pointer;
? SampleStartTime, SampleStopTime: Int64);
Basically, it is possible to make changes to RAW audio samples before the component sends data to the encoder.
Our requirement is the following: we want to use the same soundcard to capture 2 distinct audio channels at the same time (i.e. use a normal stereo soundcard to capture 2 mono channels).
So, let's suppose that we use 2 TVideoGrabber components to capture from 2 video capture card, and these 2 instances of the component are set to the same soundcard, then on the RawAudioSample event, we want to take only the left channel (1st instance of TVideoGrabber) and only the right channel (2nd instance) and copy the 1 input channel to left+right.
I hope the description is clear, it should be very easy for coders dealing with audio routines.