Beispiel #1
0
 public override int OnReceive(ref IMediaSampleImpl _sample)
 {
     HRESULT hr = (HRESULT)CheckStreaming();
     if (hr != S_OK) return hr;
     return (m_Filter as DumpFilter).OnReceive(ref _sample);
 }
Beispiel #2
0
        public int OnReceive(ref IMediaSampleImpl _sample)
        {
            lock (m_Lock)
            {
                if (m_Stream == null && m_sFileName != "")
                {
                    m_Stream = new FileStream(m_sFileName, FileMode.Create, FileAccess.Write, FileShare.Read);
                }

                int _length = _sample.GetActualDataLength();
                if (m_Stream != null && _length > 0)
                {
                    byte[] _data = new byte[_length];
                    IntPtr _ptr;
                    _sample.GetPointer(out _ptr);
                    Marshal.Copy(_ptr, _data, 0, _length);
                    m_Stream.Write(_data, 0, _length);
                }
            }
            return S_OK;
        }