Поддерживается ли URL mms:// через Media Foundation?

Я запускаю пример примера Media Foundation MFPlayer для отображения URL-адреса mms://.

это выходит из строя с кодом ошибки MF_E_INVALIDMEDIATYPE.

В GetMajorType этого образца тип идет как MFMediaType_Image вместо MFMediaType_Video.

  1. Любая причина, по которой он идет как MFMediaType_Image, даже если это видеофайл?

  2. Если он придет как MFMediaType_Image, как с этим справиться? Я пытался использовать тот же код, что и

он используется для рендеринга видео, но произошел сбой с ошибкой 0xc00d5214 (MF_E_TOPO_UNSUPPORTED).

  1. Если я воспроизведу тот же mms:// в wmplayer, он не использует Media Foundation, он использует прямое отображение для воспроизведения того же самого. в прямом шоу он использует исходный фильтр wmrender, который я не могу использовать, так как нет информации, как его использовать. Что на самом деле делает этот исходный фильтр wmrender? Как я могу использовать/создать то же самое в своем приложении?

  2. Я попытался использовать topoedit для рендеринга того же самого. он выдает ошибку с указанием недопустимого типа носителя. Я прочитал, что протокол MMS поддерживается в Media Foundation, чем вызван сбой в topoedit?


person user1802096    schedule 14.06.2013    source источник


Ответы (1)


Для начинающих:

При воспроизведении mms:// в проигрывателе Windows Media график фильтра выглядит следующим образом:

mms:// в WMP

Тот факт, что WMP использует DirectShow, говорит о том, что ему не удалось настроить воспроизведение через Media Foundation. CLSID исходного фильтра на этом графике не является общедоступным, это внутренний класс проигрывателя Windows Media: он не документирован и даже недоступен для сторонних приложений.

Это оставляет вам два варианта:

  1. Фильтр для чтения WM ASF
  2. Ваш собственный исходный фильтр на основе SDK формата WM

Я читал, что протокол MMS поддерживается в Media Foundation

В статье MSDN говорится, что URL-адреса mms:// принимаются для согласования протокола RTSP/HTTP (где и если он доступен!) через ролловер.

person Roman R.    schedule 14.06.2013
comment
Привет Роман, Спасибо за быстрый ответ. Просто хочу подтвердить одну вещь в проигрывателе Windows Media, если мы воспроизводим mms://, он работает в Windows 7. Там Microsoft использует Direcshow Filter WMRenderer Source Filter, который недоступен снаружи. Microsoft говорит, что это оболочка вокруг WM ASF Reader Filter. Как я могу использовать/написать исходный фильтр WMRender для своего приложения? - Шарад - person user1802096; 17.06.2013