void TestReplayChapter()
        {
            int     hr;
            IDvdCmd ppCmd;
            DvdPlaybackLocation2 pLocation;

            AllowPlay();
            hr = m_idc2.PlayChapterInTitle(1, 2, DvdCmdFlags.Flush | DvdCmdFlags.SendEvents, out ppCmd);
            DsError.ThrowExceptionForHR(hr);

            Thread.Sleep(2000);

            hr = m_idc2.ReplayChapter(DvdCmdFlags.Flush | DvdCmdFlags.SendEvents, out ppCmd);
            DsError.ThrowExceptionForHR(hr);

            Thread.Sleep(2000);

            hr = m_idi2.GetCurrentLocation(out pLocation);
            DsError.ThrowExceptionForHR(hr);

            hr = m_idc2.Stop();
            DsError.ThrowExceptionForHR(hr);

            Debug.Assert(pLocation.TitleNum == 1, "TestReplayChapter");
            Debug.Assert(pLocation.ChapterNum == 2, "TestReplayChapter2");

            // Time should reset, but doesn't.  However, the chapter does restart.
            //Debug.Assert(pLocation.TimeCode.bSeconds == 0, "TestReplayChapter4");
        }