示例#1
0
		public override void Start() {
			try {
				_videoCodecFactory = this.Scope.GetService(typeof(VideoCodecFactory)) as VideoCodecFactory;
			} catch (Exception ex) {
				log.Warn("No video codec factory available.", ex);
			}
		}
示例#2
0
		public void Register() {
			//Start services
			GodLesZ.Library.Amf.Messaging.Rtmp.IO.IStreamableFileFactory streamableFileFactory = ObjectFactory.CreateInstance(FluorineConfiguration.Instance.FluorineSettings.StreamableFileFactory.Type) as GodLesZ.Library.Amf.Messaging.Rtmp.IO.IStreamableFileFactory;
			AddService(typeof(GodLesZ.Library.Amf.Messaging.Rtmp.IO.IStreamableFileFactory), streamableFileFactory, false);
			streamableFileFactory.Start(null);
			GodLesZ.Library.Amf.Scheduling.SchedulingService schedulingService = new GodLesZ.Library.Amf.Scheduling.SchedulingService();
			AddService(typeof(GodLesZ.Library.Amf.Scheduling.ISchedulingService), schedulingService, false);
			schedulingService.Start(null);
			GodLesZ.Library.Amf.Messaging.Rtmp.Stream.IBWControlService bwControlService = ObjectFactory.CreateInstance(FluorineConfiguration.Instance.FluorineSettings.BWControlService.Type) as GodLesZ.Library.Amf.Messaging.Rtmp.Stream.IBWControlService;
			AddService(typeof(GodLesZ.Library.Amf.Messaging.Rtmp.Stream.IBWControlService), bwControlService, false);
			bwControlService.Start(null);
			VideoCodecFactory videoCodecFactory = new VideoCodecFactory();
			AddService(typeof(VideoCodecFactory), videoCodecFactory, false);
			Init();
		}
示例#3
0
		public override void Start() {
			lock (this.SyncRoot) {
				IConsumerService consumerManager = this.Scope.GetService(typeof(IConsumerService)) as IConsumerService;
				try {
					//_videoCodecFactory = new VideoCodecFactory();
					_videoCodecFactory = this.Scope.GetService(typeof(VideoCodecFactory)) as VideoCodecFactory;
					_checkVideoCodec = true;
				} catch (Exception ex) {
					log.Warn("No video codec factory available.", ex);
				}
				_firstPacketTime = _audioTime = _videoTime = _dataTime = -1;
				_connMsgOut = consumerManager.GetConsumerOutput(this);
				_connMsgOut.Subscribe(this, null);
				_recordPipe = new InMemoryPushPushPipe();
#if !(NET_1_1)
				Dictionary<string, object> recordParameterMap = new Dictionary<string, object>();
#else
                Hashtable recordParameterMap = new Hashtable();
#endif
				// Clear record flag
				recordParameterMap.Add("record", null);
				_recordPipe.Subscribe(this as IProvider, recordParameterMap);
				_recording = false;
				_recordingFilename = null;
				this.CodecInfo = new StreamCodecInfo();
				_closed = false;
				_bytesReceived = 0;
				_creationTime = System.Environment.TickCount;
			}
		}