7sh3 Цитата: в любых других плеерах все нормально работает даже в kmp нормально работает если использовать нормальные сторонние сплиттеры, без всяких козней microsoft, так что это именно - "легендарная кривизна КМР"
Сам себе и противоречишь. Как всегда ты в трёх соснах путаешься - во многих сторонних сплиттерах если посмотреть логи изменения их исходников есть записи об устранении ошибок связанных с библиотеками MS DirectShow, и чаще всего такие ошибки связаны именно с
quartz.dll. Понятно, что если исходить из предположения об отсутствии ошибок у Микрософт, то виноваты все, кроме неё, но вот тебе, персонально ещё одна "отсутствующая" ошибка - к примеру ошибке с блокировкой файлов и каталогов не освобождаемых после завершения открывшего их процесса уже скоро двадцать с хвостиком лет будет - она появилась в ядре Windows NT 3.5 (проект Дайтона) уже после получения всех прав на ОС Windows NT компанией Микрософт в 1992-м году и после того как они сожрали её первого разработчика Дэвида Солмона разработавшего в DEC операционные системы DEC Open VMS и DEC ULTRIX (DEC OSF/1, после переименованную в DEC UNIX, DEC Tru64 UNIX).
Вторая группа до сих пор не исправленных ошибок - в
Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1 (SDK v7.0 и 7.0A), Microsoft Windows SDK for Windows 7 and .NET Framework 4.0 (SDK v7.1) имеется общая ошибка в .h файлах в подкаталоге ./include - часть определений #define записана с нарушениями не только правил ISO C++, но и правил самой же Микрософт! - по правилам стандарта языка С++ определения #define пишутся в одну строку и их перенос на другую строку запрещён, а в них они есть и это приводит к формированию синтаксической ошибки компиляторами Microsoft Visual C++ и прекращению сборки программ написанных с использованием данных SDK. Я сам лично нарывался на этом при сборке Process Hacker и один из его разработчиков
dmex подсказал мне что ошибка сидит именно в Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1/Microsoft Windows SDK for Windows 7 and .NET Framework 4.0 и после исправления в них нескольких десятков включений оператора #define всё собралось без проблем, но главное, что Микрософт прекрасно знает о наличии этого бага, и так же объявив его "несущественным" повторила его и в Windows DDK, и ряде других SDK.
Так что я не сильно удивлюсь услышав что причиной этих сбоев стал очередной перенос строк в очередном пакете SDK от Микрософт - сия компания давно и печально известна тем, что её разработчики сами же не соблюдают даже предложенные ими фирменные стандарты, а про национальные, отраслевые или международные стандарты вообще говорить не приходится о чём ещё в 1993-м году сказал Стив Балмер "Если какой-то национальный, отраслевой или международный стандарт противоречит нашему мнению, то мы будем его игнорировать если штрафы за его несоблюдение будут компенсированы полученной от этого прибылью...". Уж куда откровеннее...
И более того, я думаю, что многие ошибки КМР как раз и связаны с ошибками и не документированностью MS SDK и многих особенностей WinAPI и API MS DirectShow в частности на котором основан КМР, и так же думаю, что тут свою роль сыграли и ошибки среды разработки Borland Delphi на которой он написан - в ней и своих ошибок предостаточно.