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