DirectShow как добавить фильтр? - C#

Узнай цену своей работы

Формулировка задачи:

Есть замечательная статья про DirectShow в C#. Там же есть исходники и скомпилированные примеры. Среди примеров есть DxPlayer, который может проигрывать видео файлы. Скомпилированные фильтры так же есть. Собственно вопрос: как подключить фильтр в этом примере? Я не разобрался... Интересует простой фильтр поворота видео VideoRotationFilter.

Решение задачи: «DirectShow как добавить фильтр?»

textual
Листинг программы
public class SampleGraph : DSFilePlayback
    {
        protected override HRESULT OnInitInterfaces()
        {
            HRESULT hr = S_OK;
            // Create rotate filter
            DSFilter _rotate = new DSFilter(new DxPlayer.VideoRotationFilter());
 
            // Add it to filter graph
            _rotate.FilterGraph = m_GraphBuilder;
            // Call base class for render file
            hr = base.OnInitInterfaces();
            // if succeeded we should check if rotate filter connected
            if (hr.Succeeded)
            {
                if (!_rotate.InputPin.IsConnected) // rotate filter not connected
                {
 
                    hr = VFW_E_CANNOT_CONNECT;
                }
            }
            hr.Assert();
            return hr;
        }
    }

Оцени полезность:

5   голосов , оценка 4.2 из 5
Похожие ответы