Я пытаюсь воспроизвести контент 4k с помощью графика directshow, и мы используем пользовательский рендерер текстур.Я также использовал комбинацию LAV Source / LAV Video Decoder и FIle Source -> Elecard Mp4-> Core AVC Decoder.
Наши шаги применения следующие (многопоточные)
1. Создание графика2. Создайте 4 текстуры для каждого видео с помощью Directx API в рендере в зависимости от размера кадра из функции CheckMediaType, когда правильный формат принят. 3. Дождитесь окончания текущего воспроизводимого контента и ресурсы графика будут очищены после его завершения. 4. Запустите график 5И снова готово к следующему воспроизведению контента за 5 секунд до его завершения
Мое приложение работает нормально с одним экземпляром 4k и несколькими экземплярами видео FHD без каких-либо проблем.Но когда я играю несколько экземпляров видео 4k (для нескольких экранов), в первый раз он загружает все видео и воспроизводит нормально. Но большую часть времени следующий воспроизводимый контент выдает ошибку 0x8007000e - E_OUTOFMEMORY либо в функции createtexture, либо в mediacontrol :: Pause / Run.Но я вижу, что осталось много памяти.Graphstudionext работает без проблем с 4 экземплярами графа 4k.У меня 4Gb Raedon графическая карта Windows10 с 8 ГБ оперативной памяти с i7.Я использую DirectX 9. Я застрял, как отладить и найти, что не так с приложением