private void StepCodecsCheck() { if (EventConsumer != null) { EventConsumer.FireBeginStep("Checking filters"); } if (activeFilters != null) { foreach (string s in activeFilters) { LogCodecState(s); } } else { //throw new AssertException("No Codecs in graph!"); EventConsumer.FireLogStepEvent("Warning: no codecs in ffdshow graph - no media will be played!"); } if (EventConsumer != null) { EventConsumer.FireStepPassed(); } ; }
void LogCodecState(string Name) { if (KnownCodecs.ContainsKey(Name)) { CodecData Data = KnownCodecs[Name] as CodecData; string Out = ""; switch (Data.State) { case CodecState.Recommended: Out += "Recommended"; break; case CodecState.Known: Out += "Known"; break; case CodecState.Unrecommended: Out += "Unrecommended"; break; } Out += " "; switch (Data.Type) { case CodecType.Source: Out += "Source"; break; case CodecType.VideoDecoder: Out += "Video Decoder"; break; case CodecType.AudioDecoder: Out += "Audio Decoder"; break; case CodecType.VideoRenderer: Out += "Video Renderer"; break; case CodecType.AudioRenderer: Out += "Audio Renderer"; break; case CodecType.VideoProcessor: Out += "Video Processor"; break; case CodecType.AudioProcessor: Out += "Audio Processor"; break; } Out += " used: " + Name; //System.Diagnostics.Debug.WriteLine(Out); if (EventConsumer != null) { EventConsumer.FireLogStepEvent(Out); } ; } else { //System.Diagnostics.Debug.WriteLine("Unknown filter used [" + Name + "], please report to tech support"); if (EventConsumer != null) { EventConsumer.FireLogStepEvent("Unknown filter used [" + Name + "], please report to tech support"); } } }