On line 91 of directshowutil.cs
add
public static IBaseFilter AddAudioRendererToGraph(IGraphBuilder graphBuilder, string strFilterName, bool setAsReferenceClock)
//Iosu changes, First try to add the filter without checking or removing
{
try
{
IPin pinOut = null;
IBaseFilter NewFilter = null;
IEnumFilters enumFilters;
HResult hr = new HResult(graphBuilder.EnumFilters(out enumFilters));
Log.Info("DirectShowUtils: IOSU First Try Insert new Audio Renderer {0} ", strFilterName);
// next add the new one...
foreach (Filter filter in Filters.AudioRenderers)
{
if (String.Compare(filter.Name, strFilterName, true) == 0)
{
Log.Info("DirectShowUtils: Passed finding Audio Renderer");
NewFilter = (IBaseFilter)Marshal.BindToMoniker(filter.MonikerS tring);
hr.Set(graphBuilder.AddFilter(NewFilter, strFilterName));
if (hr < 0)
{
Log.Error("failed:unable to add filter:{0} to graph", strFilterName);
NewFilter = null;
}
else
{
Log.Debug("added filter:{0} to graph", strFilterName);
if (pinOut != null)
{
hr.Set(graphBuilder.Render(pinOut));
if (hr == 0) Log.Info(" pinout rendererd");
else Log.Error(" failed: pinout render");
}
if (setAsReferenceClock)
{
hr.Set((graphBuilder as IMediaFilter).SetSyncSource(NewFilter as IReferenceClock));
Log.Debug("setAsReferenceClock sync source " + hr.ToDXString());
}
return NewFilter;
}
}//if (String.Compare(filter.Name,strFilterName,true) ==0)
}//foreach (Filter filter in filters.AudioRenderers)
if (NewFilter == null)
{
Log.Error("failed filter:{0} not found", strFilterName);
}
}
catch
{
Log.Info("DirectShowUtils: IOSU FAILD First Try Insert new Audio Renderer {0} ", strFilterName);
}
Log.Info("DirectShowUtils: IOSU FAILD First Try Insert new Audio Renderer {0} ", strFilterName);
//End Iosu's change, It has fail so go to Old Methond
try
================================================== ==================================
Also another delay... 6sec on
TsReaderPlayer.cs on line 410
hr = interfaceFile.Load(filename, null);
If the file is rtsp:\\ it takes only less 1sec but if the file is R:\MediaShift\live4-0.ts.tsbuffer it takes 6SEC!!...
I think that if we speed up these issues... "we will fix the No responding...."
Iosu
Last edited by iosub; 2008-05-15 at 21:57.
Reason: Automerged Doublepost
|