Category: Technology

Range-based for with ATL Collections

ATL collection classes did not receive an update related to new C++11 range-based fors and other fancy features. Well it’s a pity because writing for(auto&& pPin: AudioPinList) pPin-> //… compared to for(POSITION Position = AudioPinList.GetHeadPosition(); Position; AudioPinList.GetNext(Position)) { IPin* pPin = AudioPinList.GetAt(Position); pPin-> //… is indeed a relief. Namespace std is, of course, good but…

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

DirectShow Spy: ROT fix and evrprop.dll

A small issue appears to be affecting DirectShow applications with DirectShow Spy installed. As underlying COM base is non-standard, the spy implements a few hacks to run smoothly and to keep reference counting correct in particular. Under certain conditions, DirectShow-enabled ActiveX control hosted by Internet Explorer seems to be unable to put its graph onto…

Read the full article