Author: Roman

DirectShowSpy: Media Sample Traces

Overview DirectShow filters pass media samples (portions of data) through graphs and details of how the streaming happens exactly is important for debugging and troubleshooting DirectShow graphs and development. A developer needs clear understanding of parts of streaming process, importance of which increases with multiple streams, threads, parallelization, cut-off times, multiple graphs working simultaneously. Details…

Read the full article

Enumeration of DirectShow Capture Capabilities (Video and Audio)

The tool appears to be unmentioned here, and this is to fix the problem. DirectShowCaptureCapabilities application enumerates video and audio capture devices and lists their typical DirectShow properties, specifically: Moniker names (including USB identification) Pins and property pages Supported interfaces Formats and capabilities available through IAMStreamConfig interface Video and audio devices The utility allows to save output and…

Read the full article

PolyTextOut API – Does It Work?

As MSDN says, The PolyTextOut function draws several strings using the font and text colors currently selected in the specified device context. The article also mentions ExtTextOut as a simpler sister function: To draw a single string of text, the application should call the ExtTextOut function. It looks like the API is not so Unicode friendly. Code as simple as PolyTextOut(L”Мама мыла раму”); PolyTextOut(L”Mother…

Read the full article

Windows Media Player encountered a problem while playing ASF/WMV file with multiple audio tracks

This is not really obvious: Windows Media Player refuses to open a Windows Media (ASF) file with an undescriptive error message: “Windows Media Player encountered a problem while playing the file”. The problem, however, is that the file is actually good, more or less. The file plays well in DirectShow and Media Foundation APIs. There…

Read the full article

IP Video Source: Compatibility Issues

I received a few emails recently with questions about compatibility issues between IP Video Source and other applications. The compatibility issues typically fall into classes: An application is sensitively expecting the device to be real camera, with specific requests, e.g. to be able to change resolution of video capture An application is explicitly requesting that…

Read the full article

Audio playback at non-standard rates in DirectShow

DirectShow streaming and playback in particular offers flexible playback rates for scenarios where playback is requested to take place slower or faster than real time. For a DirectShow developer, the outer interface is pretty straightforward:IMediaPosition::put_Rate takes playback rate and that’s it. Playback rate. Must not be zero. The playback rate is expressed as a ratio of…

Read the full article