Normal
The attached patch solve DVBSub3 crash on my side It's ready to commit and i have bump the version : v0.0.59b XXXSorry i messup my edit lol. [CODE]HRESULT CTsReaderFilter::FindSubtitleFilter(){if( m_pDVBSubtitle ){return S_OK;}//LogDebug( "FindSubtitleFilter - start"); IEnumFilters * piEnumFilters = NULL;if (GetFilterGraph() && SUCCEEDED(GetFilterGraph()->EnumFilters(&piEnumFilters))){IBaseFilter * pFilter;while (piEnumFilters->Next(1, &pFilter, 0) == NOERROR ){FILTER_INFO filterInfo;if (pFilter->QueryFilterInfo(&filterInfo) == S_OK){if (!wcsicmp(L"MediaPortal DVBSub3", filterInfo.achName)){HRESULT fhr = pFilter->QueryInterface( IID_IDVBSubtitle3, ( void**)&m_pDVBSubtitle );assert( fhr == S_OK);//LogDebug("Testing that DVBSub3 works");m_pDVBSubtitle->Test(1);}else if (!wcsicmp(L"MediaPortal DVBSub2", filterInfo.achName)){HRESULT fhr = pFilter->QueryInterface( IID_IDVBSubtitle2, ( void**)&m_pDVBSubtitle );assert( fhr == S_OK);//LogDebug("Testing that DVBSub2 works");m_pDVBSubtitle->Test(1);}filterInfo.pGraph->Release();}pFilter->Release();pFilter = NULL;}piEnumFilters->Release();}//LogDebug( "FindSubtitleFilter - End");return S_OK;}[/CODE] [CODE]// {1CF3606B-6F89-4813-9D05-F9CA324CF2EA}DEFINE_GUID(CLSID_DVBSub2, 0x1cf3606b, 0x6f89, 0x4813, 0x9d, 0x5, 0xf9, 0xca, 0x32, 0x4c, 0xf2, 0xea); // {901C9084-246A-47c9-BBCD-F8F398D30AB0}DEFINE_GUID(IID_IDVBSubtitle2, 0x901c9084, 0x246a, 0x47c9, 0xbb, 0xcd, 0xf8, 0xf3, 0x98, 0xd3, 0xa, 0xb0); // {1E00BDAA-44AB-460b-A2CB-4D554D771392}DEFINE_GUID(IID_IDVBSubtitle3,0x1e00bdaa, 0x44ab, 0x460b, 0xa2, 0xcb, 0x4d, 0x55, 0x4d, 0x77, 0x13, 0x92); // {4A4fAE7C-6095-11DC-8314-0800200C9A66}DEFINE_GUID(IID_IDVBSubtitleSource, 0x4a4fae7c, 0x6095, 0x11dc, 0x83, 0x14, 0x08, 0x00, 0x20, 0x0c, 0x9a, 0x66);[/CODE]
The attached patch solve DVBSub3 crash on my side
It's ready to commit and i have bump the version : v0.0.59b XXX
Sorry i messup my edit lol.
[CODE]HRESULT CTsReaderFilter::FindSubtitleFilter()
{
if( m_pDVBSubtitle )
return S_OK;
}
//LogDebug( "FindSubtitleFilter - start");
IEnumFilters * piEnumFilters = NULL;
if (GetFilterGraph() && SUCCEEDED(GetFilterGraph()->EnumFilters(&piEnumFilters)))
IBaseFilter * pFilter;
while (piEnumFilters->Next(1, &pFilter, 0) == NOERROR )
FILTER_INFO filterInfo;
if (pFilter->QueryFilterInfo(&filterInfo) == S_OK)
if (!wcsicmp(L"MediaPortal DVBSub3", filterInfo.achName))
HRESULT fhr = pFilter->QueryInterface( IID_IDVBSubtitle3, ( void**)&m_pDVBSubtitle );
assert( fhr == S_OK);
//LogDebug("Testing that DVBSub3 works");
m_pDVBSubtitle->Test(1);
else if (!wcsicmp(L"MediaPortal DVBSub2", filterInfo.achName))
HRESULT fhr = pFilter->QueryInterface( IID_IDVBSubtitle2, ( void**)&m_pDVBSubtitle );
//LogDebug("Testing that DVBSub2 works");
filterInfo.pGraph->Release();
pFilter->Release();
pFilter = NULL;
piEnumFilters->Release();
//LogDebug( "FindSubtitleFilter - End");
}[/CODE]
[CODE]// {1CF3606B-6F89-4813-9D05-F9CA324CF2EA}
DEFINE_GUID(CLSID_DVBSub2,
0x1cf3606b, 0x6f89, 0x4813, 0x9d, 0x5, 0xf9, 0xca, 0x32, 0x4c, 0xf2, 0xea);
// {901C9084-246A-47c9-BBCD-F8F398D30AB0}
DEFINE_GUID(IID_IDVBSubtitle2,
0x901c9084, 0x246a, 0x47c9, 0xbb, 0xcd, 0xf8, 0xf3, 0x98, 0xd3, 0xa, 0xb0);
// {1E00BDAA-44AB-460b-A2CB-4D554D771392}
DEFINE_GUID(IID_IDVBSubtitle3,
0x1e00bdaa, 0x44ab, 0x460b, 0xa2, 0xcb, 0x4d, 0x55, 0x4d, 0x77, 0x13, 0x92);
// {4A4fAE7C-6095-11DC-8314-0800200C9A66}
DEFINE_GUID(IID_IDVBSubtitleSource,
0x4a4fae7c, 0x6095, 0x11dc, 0x83, 0x14, 0x08, 0x00, 0x20, 0x0c, 0x9a, 0x66);[/CODE]