예제 #1
0
        /// <summary>
        /// This method must be called to initialize the network sink. Make sure the SinkURL is properly populated before calling this method.
        /// </summary>
        protected void InitializeNetworkSink()
        {
            IFileSinkFilter fileSink = (IFileSinkFilter)_netSnk;

            if (fileSink == null)
            {
                throw new Exception("IFileSourceFilter not found on LMNetSink");
            }
            _lmNetSnk = (ILMNetSnk)_netSnk;
            AMMediaType mediaType = new AMMediaType();

            mediaType.majorType = DirectShowLib.MediaType.Stream;
            mediaType.subType   = MediaSubType.Null;
            int hr = fileSink.SetFileName(ClientURL, mediaType);

            DsError.ThrowExceptionForHR(hr);
        }
예제 #2
0
        public override void Dispose(bool disposing)
        {
            if (disposing)
            {
                if (_updateTimer != null)
                {
                    _updateTimer.Enabled  = false;
                    _updateTimer.Elapsed -= new System.Timers.ElapsedEventHandler(UpdateTimer_Elapsed);
                }

                if (_netSnk != null)
                {
                    if (_lmNetSnk != null)
                    {
                        _lmNetSnk.CloseAll();
                    }
                    _netSnk   = null;
                    _lmNetSnk = null;
                }
                _netMux = null;
            }
            base.Dispose(disposing);
        }