Задержка WMP с 4 или более потоками - PullRequest
0 голосов
/ 04 мая 2020

Я разработал приложение в C, которое может отображать 4 видео и 1 звуковой файл в фоновом режиме.

В видео используется объект WMP в классе C ++, предоставленный Microsoft в WMP SDK. Аудио использует Windows 'MCI (Media Control Interface), который отправляет командные строки.

Чтобы иметь возможность воспроизводить множество различных форматов, я установил windows .7.code c .pack .

Возникла проблема, что при воспроизведении более 3 мультимедийных файлов (видео или аудио) мультимедиа останавливается . Видео, которое должно запускаться постоянно, циклично переходит из состояния 3 (воспроизведение) в состояние 9 (подготовка нового носителя) в состояние 10 (готов начать воспроизведение - ничего не происходит) и т. Д. И т. Д. Это выглядит как мерцание видео (состояние 3), за которым следуют несколько секунд ничего (черный или фон рабочего стола, состояние 9). Как только видео началось, оно воспроизводится нормально до конца.

Уменьшение количества медиафайлов для воспроизведения до 2 видео и 1 аудио позволяет воспроизводить его нормально; увеличение до 3 видео или более и 1 аудио, и это происходит. Диспетчер задач показывает нагрузку на процессор менее 25%, поэтому проблема с процессором не возникает.

Похоже, что MCI и WMP обмениваются данными в фоновом режиме, потому что не только видео останавливается, но и звук останавливается без сообщений об ошибках (запрос MCI возвращает его воспроизведение, но нет звука).

Я повышен до windows.7.codec.pack.v4.2.6. Это было ужасное представление

Я вернулся к windows.7.codec.pack.v4.1.6. Это имеет гораздо лучшую производительность, но все еще не идеально.

Мой вопрос (ы):

  • Есть ли способ настроить Windows или код * 1049? * пакет для бесперебойной обработки 5 потоков?

  • Как я могу сообщить об этой проблеме разработчику?

  • Есть ли другой код c пакетов у кого нет этой проблемы?

  • Любое другое предложение?

Системная информация: двухъядерный процессор Intel i7-3520M X64 с частотой 2,9 ГГц и 8 ГБ физическая память и адаптер дисплея NVIDIA Quatro K1000M.

...