2012-06-27 2 views
0

Образец расширения для носителей Этот пример демонстрирует, как использовать средства массовой информации для применения эффектов к видео, декодирования видео и создания медиапотоков с использованием обработчиков схем.Устранение ошибок в распространении мультимедиа?

Я просто отлаживаю образец. Я выбираю один файл mpg, продолжительность файла - 4 минуты. приложение sdk работает нормально, отобразите два блока перекрытия. но примерно через 1 минуту40 сбой приложения sdk. : «Необработанное исключение в 0x68A95B94 (mfcore.dll) в MediaExtensionsCPP.exe: 0xC0000005: место чтения нарушения доступа 0x68A26A38».

Я заменю другой файл, ту же ошибку. Так что, я думаю, у образца Microsoft есть ошибка. У кого-то такая же проблема? может поделиться мне методом разрешения. Большое спасибо.

+0

Я нахожу причину этой проблемы. dllmain.cpp для метро. Функция такова: HRESULT WINAPI DllCanUnloadNow() { auto & module = Microsoft :: WRL :: Module :: GetModule(); return (module.Terminate())? S_OK: S_FALSE; } – ayuppie

ответ

1

У команды средств массовой информации есть исправление, которое будет в новой версии образцов для решения этой проблемы. Это инструкции по исправлению текущих образцов:

Мы обнаружили ошибку в образцах Media, которые заставляют библиотеки загружаться слишком рано. Тем временем вы можете добавить эти строки к конструкторам/деструкторам классов source/stream в образцах MSDN: Примечание: Это не требуется для классов, которые происходят из RuntimeClass <> (например: обработчик схемы).

Конструктор: auto module = :: Microsoft :: WRL :: GetModuleBase(); if (module! = Nullptr) { module-> IncrementObjectCount(); }

Деструктор: auto module = :: Microsoft :: WRL :: GetModuleBase(); if (module! = Nullptr) { module-> DecrementObjectCount(); }

Смежные вопросы