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 whether autoscrub is enabled
hr = player->get_AutoScrub(&autoscrub);
if(FAILED(hr))
return hr;
// if enabled then disable it
if(autoscrub == VARIANT_TRUE)
{
hr = player->put_AutoScrub(VARIANT_FALSE);
if(FAILED(hr))
return hr;
}
// assign the source file
hr = player->put_SourceFile(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 = player->Scrub();
if(FAILED(hr))
return hr;
// restore the autoscrub value
hr = player->put_AutoScrub(VARIANT_TRUE);
if(FAILED(hr))
return hr;
}
return S_OK;
}
Raster .NET | C API | C++ Class Library | JavaScript HTML5
Document .NET | C API | C++ Class Library | JavaScript HTML5
Medical .NET | C API | C++ Class Library | JavaScript HTML5
Medical Web Viewer .NET