Поделиться через


Управление проектами редактирования видео

[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]

[Этот API не поддерживается и может быть изменен или недоступен в будущем.]

Следующие советы помогут вам управлять проектами в службах редактирования DirectShow.

Изменения временной шкалы

  • При изменении временная шкала после построения графа фильтра вызовите IRenderEngine::ConnectFrontEnd еще раз, чтобы перестроить внешний интерфейс. Обычно это не влияет на остальную часть графа. Однако иногда обработчику отрисовки необходимо удалить весь граф, прежде чем перестроить внешний интерфейс. (Например, это происходит при добавлении или удалении группы.) Метод ConnectFrontEnd возвращает S_WARN_OUTPUTRESET, чтобы сообщить об удалении графа. В этом случае приложение должно перестроить раздел отрисовки графа.
  • Чтобы полностью удалить все объекты из временная шкала, вызовите метод IAMTimeline::ClearAllGroups.

Очистка

  • Завершив работу с подсистемой отрисовки, вызовите метод IRenderEngine::ScrapIt . Как и в случае с любым COM-объектом, не забудьте освободить каждый указатель интерфейса после завершения использования.
  • Модуль отрисовки не учитывает количество ссылок на временная шкала. Не выпускайте временная шкала, прежде чем использовать его, и всегда сначала вызывайте ScrapIt в подсистеме отрисовки.
  • Если вы освобождаете все ссылки на временная шкала, не используйте объекты в этом временная шкала, даже если вы используете счетчики ссылок.

Несколько экземпляров временной шкалы

  • Не перемещайте объекты временная шкала между временными шкалами. Каждый объект в временная шкала должен быть создан этим временная шкала. Временная шкала содержит внутренний кэш со сведениями о создаваемых объектах. Перемещение временная шкала объектов может нарушить работу кэша.
  • Никогда не используйте один и тот же экземпляр подсистемы отрисовки с несколькими временная шкала. Модуль отрисовки содержит кэш со сведениями о временная шкала. Использование нескольких временных шкал приведет к нарушению работы кэша и приведет к непредсказуемым результатам. Если требуется две активные временные шкалы, создайте отдельные экземпляры обработчиков отрисовки для каждого временная шкала.
  • Временная шкала может использовать несколько обработчиков отрисовки, но не одновременно. Прежде чем использовать другой модуль отрисовки, удалите старый модуль отрисовки. (Обычно это делается при переходе с использования базового обработчика отрисовки для предварительного просмотра к интеллектуальному механизму отрисовки для записи файлов.)

Сохраняемость

  • Граф фильтра не сохраняется при сохранении проекта в XML-файл. Таким образом, теряется информация, связанная с интеллектуальным повторным сжатием, форматом сжатия или параметрами сжатия. После загрузки проекта приложение может восстановить эти параметры.

Использование служб редактирования DirectShow