public int GetInfo(out AMStreamInfo pInfo)
        {
            lock (_pinLock)
            {
                pInfo = new AMStreamInfo { dwFlags = AMStreamInfoFlags.None };

                if (_start < _startAt)
                {
                    pInfo.dwFlags = pInfo.dwFlags | AMStreamInfoFlags.Discarding;
                }
                if (_startAt != -1)
                {
                    pInfo.dwFlags = pInfo.dwFlags | AMStreamInfoFlags.StartDefined;
                    pInfo.tStart = _startAt;
                    pInfo.dwStartCookie = _startCookie;
                }
                if (_stopAt != -1)
                {
                    pInfo.dwFlags = pInfo.dwFlags | AMStreamInfoFlags.StopDefined;
                    pInfo.tStop = _stopAt;
                    pInfo.dwStopCookie = _stopCookie;
                }
                if (_shouldFlush) pInfo.dwFlags = pInfo.dwFlags | AMStreamInfoFlags.StopSendExtra;
            }
            return NOERROR;
        }
Example #2
0
        public int GetInfo(out AMStreamInfo pInfo)
        {
            lock(m_csPinLock)
            {
                pInfo = new AMStreamInfo();
                pInfo.dwFlags = AMStreamInfoFlags.None;

                if (m_rtStart < m_rtStartAt)
                {
                    pInfo.dwFlags = pInfo.dwFlags | AMStreamInfoFlags.Discarding;
                }
                if (m_rtStartAt != -1)
                {
                    pInfo.dwFlags       = pInfo.dwFlags | AMStreamInfoFlags.StartDefined;
                    pInfo.tStart		= m_rtStartAt;
                    pInfo.dwStartCookie	= m_dwStartCookie;
                }
                if (m_rtStopAt != -1)
                {
                    pInfo.dwFlags       = pInfo.dwFlags | AMStreamInfoFlags.StopDefined;
                    pInfo.tStop			= m_rtStopAt;
                    pInfo.dwStopCookie	= m_dwStopCookie;
                }
                if (m_bShouldFlush) pInfo.dwFlags = pInfo.dwFlags |  AMStreamInfoFlags.StopSendExtra;
            }
            return NOERROR;
        }