| Предыдущая тема :: Следующая тема |
| Автор |
Сообщение |
evgepet Новенький
Зарегистрирован: 17.06.2007 Сообщения: 9
|
Добавлено: Вс Июн 24, 2007 5:50 am Заголовок сообщения: Как правильно убивать GraphBuilder ? |
|
|
При построении графа вручную, столкнулся с проблемой корректного удаления всех фильтров в графе.
Все исходники, что я нашёл толком ничего не удаляют...
Я вот решил всё строить вручную - всё отлично рендерится.
Но при завержении работы - MPEG4 декодеры и Audio декодеры падают.
Я пробовал и приваивать null и вызывать _Release и RemoveFilter (я пишу на Дельфе). В любом случае, декодеры вызывают ошибки.
В общем главный вопрос - как правильно всё уничтожать при ручном построении графа?
Подскажите, кто знает !
правка:
Только вот дошло, что может быть, нужно и пины рилизить после использования?
Для коннекта я енумерую пины, и получается, что те пины, которые пошли на коннект, никак не освобождаются! |
|
| Вернуться к началу |
|
 |
AndrеySol Активный
Зарегистрирован: 27.02.2007 Сообщения: 57
|
Добавлено: Вс Июн 24, 2007 4:05 pm Заголовок сообщения: |
|
|
| Может надо удалять фильтры начиная с конечного (рендер-фильтра). |
|
| Вернуться к началу |
|
 |
Валентин Вовк Участник
Зарегистрирован: 30.10.2006 Сообщения: 21
|
Добавлено: Пн Июн 25, 2007 11:21 am Заголовок сообщения: |
|
|
В MSDN'е, а также в статье о фильтрах есть где-то даже указание на то, что релиз нужно делать после перечисления.
Не совсем ясно, какие могут быть проблемы. Нужно делать как обычно. Создал - запустил - остановил, убил.
К статье есть и примеры, где граф строится вручную, а затем все корректно освобождается |
|
| Вернуться к началу |
|
 |
evgepet Новенький
Зарегистрирован: 17.06.2007 Сообщения: 9
|
Добавлено: Пт Июн 29, 2007 1:54 pm Заголовок сообщения: |
|
|
После использования src2 делаем:
Это освободит ссылку на интерфейс, когда ссылок на интерфей не останется он сам удалится |
|
| Вернуться к началу |
|
 |
evgepet Новенький
Зарегистрирован: 17.06.2007 Сообщения: 9
|
Добавлено: Сб Июн 30, 2007 1:43 am Заголовок сообщения: |
|
|
Это мне гажется или так и есть ?
Чужой ответ в моём посте  |
|
| Вернуться к началу |
|
 |
WondeRu Главвред :)

Зарегистрирован: 30.10.2006 Сообщения: 199 Откуда: Самара
|
Добавлено: Сб Июн 30, 2007 10:35 am Заголовок сообщения: |
|
|
да... это я каюсь вместо reply нажал edit |
|
| Вернуться к началу |
|
 |
evgepet Новенький
Зарегистрирован: 17.06.2007 Сообщения: 9
|
Добавлено: Вс Июл 01, 2007 9:55 am Заголовок сообщения: |
|
|
Всё равно есть проблемы
Перерыл DSPack, нашёл несколько полезностей, в частности про пины,
но так толком и не понял как правильно рассоединять фильтры внутри графа...
Хоть так хоть сяк, хоть об косяк - вылетает ошибка.
Может есть у кого исходник безошибочной ручной сборки/разборки графа ?
Поделитесь пожалуйста ! |
|
| Вернуться к началу |
|
 |
djan Новенький
Зарегистрирован: 27.07.2007 Сообщения: 6 Откуда: от туда
|
Добавлено: Вт Июл 31, 2007 4:27 pm Заголовок сообщения: |
|
|
| Аналогичная проблема. Собираю граф ручками, ренедрю, все нормально работает. Остнавливаю (Stop), удалю все фильтры (RemoveFilter), собираю граф по новому. Все вроде бы ничего, но только колчиство потоков ростет. При запуске создается 3 потока, при стопе и удалении фильтров удаляется только 2. |
|
| Вернуться к началу |
|
 |
|