Обмен сообщениями в DirectShow Graph

0

Я разбираю некоторую информацию в своем собственном исходном фильтре. Мне нужно отправить эту информацию в мой фильтр преобразования. Как я могу это сделать? Благодарю.

Теги:
directshow

3 ответа

0
Лучший ответ

Если вы источник, то почему бы просто не расширить класс CMediaSample с помощью собственного интерфейса?

Или второй подход - отправить MediaType с каждым образцом, а затем сохранить дополнительные байты в блоке pbFormat.

Если вам нужно отправить информацию на выборочной основе, эти два метода являются наилучшим и самым чистым способом.

0

Я предпочитаю использовать Mailslot. Он работает нормально.

0

Нет стандартного общего сообщения для заданной задачи.

  1. Вы можете подключать фильтры за пределами конвейера и обмениваться ими с сообщениями любого типа
  2. При прямом соединении между ними приемник может реализовать пользовательский интерфейс, отправитель обнаружил бы и использовал бы
  3. как указано выше, но отправитель может перемещаться по графику, чтобы найти интересующий интерфейс (перечисляя связанные фильтры и контакты)
  4. Фильтры могут воспользоваться графическим интерфейсом IRegisterServiceProvider для выявления и обнаружения пользовательских интерфейсов/сервисов, представляющих интерес
  • 0
    Может быть, я могу использовать интерфейс IMediaEventSink и сделать свое собственное событие с данными? Мне нужно отправить ~ 5 байтов.
  • 0
    IMediaEventSink - это не обмен данными между фильтрами. Я не понимаю, как вы можете сделать это, в то же время не уступая пунктам 1-4 выше.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню