The following code demonstrates disabling scrubbing so a user can install callbacks when the source is assigned.
HRESULT SetPlayerSourceWithCallbacks(IltmmPlay* player, BSTR source)
{
HRESULT hr;
VARIANT_BOOL autoscrub;
// check to see if autoscrub is enabled
hr = IltmmPlayer_get_AutoScrub(player, &autoscrub);
if(FAILED(hr))
return hr;
// if enabled then disable it
if(autoscrub == VARIANT_TRUE)
{
hr = IltmmPlayer_put_AutoScrub(player, VARIANT_FALSE);
if(FAILED(hr))
return hr;
}
// assign the source file
hr = IltmmPlayer_put_SourceFile(player, source);
if(FAILED(hr))
return hr;
// install any user-defined callbacks
hr = InstallUserCallbacks(player);
if(FAILED(hr))
return hr;
// check to see if autoscrub was enabled on function entry
if(autoscrub == VARIANT_TRUE)
{
// manually force a poster frame
hr = IltmmPlayer_Scrub(player);
if(FAILED(hr))
return hr;
// restore the autoscrub value
hr = IltmmPlayer_put_AutoScrub(player, VARIANT_TRUE);
if(FAILED(hr))
return hr;
}
return S_OK;
}
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document