Example #1
0
        void TestGetCurrent()
        {
            int          hr;
            IDvdCmd      ppCmd = null;
            int          pulAnglesAvailable;
            int          pulCurrentAngle;
            int          pulStreamsAvailable;
            int          pulCurrentStream;
            int          pulSubAvailable;
            int          pulCurrentSub;
            bool         pbIsDisabled;
            ValidUOPFlag pulUOPs;

            AllowPlay();
            hr = m_idc2.PlayTitle(2, DvdCmdFlags.Flush, out ppCmd);
            DsError.ThrowExceptionForHR(hr);

            hr = m_idi2.GetCurrentAngle(out pulAnglesAvailable, out pulCurrentAngle);
            DsError.ThrowExceptionForHR(hr);

            hr = m_idi2.GetCurrentAudio(out pulStreamsAvailable, out pulCurrentStream);
            DsError.ThrowExceptionForHR(hr);

            hr = m_idi2.GetCurrentSubpicture(out pulSubAvailable, out pulCurrentSub, out pbIsDisabled);
            DsError.ThrowExceptionForHR(hr);

            hr = m_idi2.GetCurrentUOPS(out pulUOPs);
            DsError.ThrowExceptionForHR(hr);

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

            Debug.Assert(pulAnglesAvailable == 1, "GetCurrentAngle");
            Debug.Assert(pulCurrentAngle == 1, "GetCurrentAngle2");

            Debug.Assert(pulStreamsAvailable == 1, "GetCurrentAudio");
            Debug.Assert(pulCurrentStream == 0, "GetCurrentAudio2");

            Debug.Assert(pulSubAvailable == 0, "GetCurrentSubpicture");
            //Debug.Assert(pulCurrentSub == 1, "GetCurrentSubpicture2");
            Debug.Assert(pbIsDisabled, "GetCurrentSubpicture3");

            Debug.Assert(pulUOPs == 0);
        }