Scan Modes and Capabilities (Windows Embedded CE 6.0)
1/6/2010
Scan modes are playback modes other than forward playback at normal speed. These modes include what are commonly referred to as fast forward and reverse.
The terms fast forward and reverse are somewhat imprecise and will not be used in this discussion because your DVD-Video renderer may actually support several different forward and backward playback speeds.
You can use the IDVDNavigationManager::GetScanCaps method to determine the exact scan modes supported by your DVD-Video renderer.
As with other common player operations, the scan mode direction and speed are set through an IDVDUserOperation interface. Both the IDVDUserOperation::BackwardScan and IDVDUserOperation::ForwardScan methods allow you to set arbitrary scan speeds regardless of what your DVD-Video renderer actually supports. The renderer will choose its closest supported speed and use that.
There are methods in the DVD-Video API for monitoring the playback state, including scan modes. The IDVDNavigationManager::GetPlaybackState method allows your application to actively poll the navigation manager to determine what the current scan mode is, though not the specific speed. Alternatively, IDVDNavigatorSink::OnPlaybackStateChange is a callback method that allows your application to respond to scan mode changes as they occur. Both of these methods report the current playback or scan mode as an EDDVDPlaybackState value.
The DVD-Video API only supports normal playback speeds in the menu domain. If your application attempts to play back in a scan mode, while in the menu domain, it will lose its highlighting information.
This will give the end user the impression that your application has stopped responding, even though navigational buttons may still work.
Your application should either entirely disallow scan modes while playing back from the menu domain, or it should block requests for scan mode playback while in the menu domain whenever a highlight is active.