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"); }