Device Transport State

[The feature associated with this page, DirectShow, is a legacy feature. It has been superseded by MediaPlayer, IMFMediaEngine, and Audio/Video Capture in Media Foundation. Those features have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use MediaPlayer, IMFMediaEngine and Audio/Video Capture in Media Foundation instead of DirectShow, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]

To retrieve the current state of the device, such as play, pause, or stop, call the IAMExtTransport::get_Mode method. The method retrieves a constant that indicates the device state:

Value Device State
ED_MODE_PLAY Play
ED_MODE_STOP Stop
ED_MODE_FREEZE Pause
ED_MODE_FF Fast-forward
ED_MODE_REW Rewind
ED_MODE_RECORD Record
ED_MODE_RECORD_FREEZE Record-pause

 

The following code checks the device state:

LONG State;
hr = MyDevCap.pTransport->get_Mode(&State);
if (SUCCEEDED(hr))
{
    switch (State)
    {
        case ED_MODE_PLAY:
        // ... 
    }
}

Controlling a DV Camcorder