Я разбираю некоторую информацию в моем собственном исходном фильтре. Мне нужно отправить эту информацию в мой фильтр преобразования. Как я могу это сделать? Спасибо.Сообщения в DirectShow Graph
0
A
ответ
0
Если вы источник, то почему бы не просто расширить CMediaSample class с помощью собственного интерфейса?
Или второй подход заключается в том, чтобы отправить MediaType с каждым образцом, а затем сохранить дополнительные байты в блоке pbFormat
.
Если вам нужно отправить информацию на выборочной основе, эти два метода являются наилучшим и самым чистым способом.
0
Стандартная общая передача сообщений для заданной задачи невелика.
- Вы можете подключить фильтры снаружи трубопровода и иметь их обмен сообщениями любого рода
- С прямой связью между этими двумя, приемник может осуществлять отправитель пользовательского интерфейса будет обнаружить и использовать
- же, как 2 выше , но отправитель может ходить вокруг графа, чтобы найти интерфейс интереса (перечисляя подключенные фильтры и булавки)
- фильтров может воспользоваться интерфейсом графа
IRegisterServiceProvider
разоблачить и открыть пользовательские интерфейсы/услуги, представляющие интерес
0
Я выбираю использовать Mailslot. Это нормально.
Может быть, я могу использовать интерфейс IMediaEventSink и создать собственное событие с данными? Мне нужно отправить ~ 5 байт. – fandyushin
'IMediaEventSink' - это не связь фильтра с фильтром. Я не вижу, как вы можете это сделать, находясь в то же время, не уступая пунктам 1-4 выше. –