Пример #1
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);
        }
Пример #2
0
        public int GetInfo(out AMStreamInfo pInfo)
        {
#if HAMED_LOG_METHOD_INFO
            MethodBase method = new StackTrace().GetFrame(0).GetMethod();
            Console.WriteLine(this.GetType().FullName + " - " + method.Name + " - " + method.ToString());
#endif

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