The minimalistic sample demonstrates support of [deprecated] Waveform Audio API for multiple playback streams. Depending on command line parameters, the application starts threads to open audio hardware using separate waveOutOpen call and stream one or more generated sine waves: 1,000 Hz sine wave as 22,050 Hz, Mono, 16-bit PCM (command line parameter “a”) 5,000 Hz [...]
Archive for the ‘Audio’ Category
Sample: Simultaneous Audio Playback via Waveform Audio (waveOut) API
Posted: 12th October 2011 by Roman in Audio, SourceTags: Audio, C++, playback, Source, waveOut
Utility Clearance: Enumerate Audio ‘MMDevice’s
Posted: 30th August 2011 by Roman in ATL, Audio, Source, Utilities, WTLTags: API, Audio, Core Audio, device, IMMDevice, MMDevice, tool, utility, WASAPI
The utility and code does straightforward enumeration of MMDevices (Vista+, check MSDN for MMDevice API availability), which correspond to MMDevice API, WASAPI, Core Audio API. The code itself is straightforward, with a ready to use binary to quickly lookup data of interest: The data is detailed well and in Excel-friendly format (via Copy/Paste): The code [...]
Utility Clearance: Generate PCM .WAV File
Posted: 25th August 2011 by Roman in ATL, Audio, Source, UtilitiesTags: .WAV, Audio, C++, dB, generation, Loudness, PCM, sine, tool, utility, wavdest, waveform
GeneratePcmWavFile tool is generating PCM .WAV files with requested parameters, silent or with a sine wave data. The utility uses WavDest SDK Sample as a multiplexer, so it is expected to be available. It is possible to define the following audio data parameters: sampling frequency, number of samples per second, such as 44100 or 48000 [...]
Adobe Flash Media Live Encoder 3.1
Posted: 24th July 2010 by Roman in AudioTags: adobe, Audio, crap, DirectShow, dshow, flash, FMLE, garbage, media
It is the first time ever – because probably I am not as experienced as Geraint – I witness availability of IMediaSample interface without availability of IMediaSample2. One might be curious what kind of software could provide such a weirdo in 2010? It is latest and greatest Adobe Flash Media Live Encoder 3.1. Additionally to [...]
DirectShow Spy: Filter Mapper Spy
Posted: 24th December 2009 by Roman in Audio, Source, Technology, VideoTags: DirectShow, filter, graph, hook, mapper, spy
DirectShow Filter Graph Spy was updated to add new functionality: spying over another DirectShow object – Filter Mapper. Filter Mapper object is used for filter registration purposes and also internally by DirectShow’s Intelligent Connect. IFilterMapper2 interface traces provide detailed description on steps DirectShow takes in order to connect and/or render filter pins. For example when [...]
Windows Media Codec List
Posted: 28th August 2009 by Roman in Audio, Utilities, Video, WTLTags: Audio, codec, utility, Video, windows media
Windows Media Codec List utility uses IWMCodecInfo interface (see also IWMCodecInfo2, IWMCodecInfo3) lists installed Windows Media Codecs and their formats and presents the findings in a convenient way. The utility gives a quick idea what a programmer would obtain through IWMCodecInfo2/IWMCodecInfo3 interfaces and what well known format structures (WM_MEDIA_TYPE, AM_MEDIA_TYPE, WAVEFORMATEX, VIDEOINFOHEADER) correspond to particular [...]
MediaTools: Tone Source Filter to generate reference audio feed, dual Audio Source Filter and Virtual Audio Capture Device
Posted: 28th February 2009 by Roman in ATL, Audio, Media Tools, Source, WTLTags: ATL, C++, capture, device, DirectShow, filter, PCM, tone, virtual, WTL
In order to obtain a reference audio source and especially useful for debugging purposes, including: audio input device unrelated to physical device, to avoid conditions when device is already in use by someone else non-zero audio signal which is independent of certain speaker or broadcasting service, including one that makes capture, transmission or rendering issues [...]
