| Предыдущий | Следующий |
| kIOFireWireChannelActive | kIOFireWireNoChannels |
kIOFireWireNoListenerOrTalker
Одного номера канала недостаточно для создания потока
kIOFireWireNoListenerOrTalker указывает, что изохронный канал не имеет подключённого передающего или принимающего конечного объекта. Резервирование номера канала и пропускной способности отделено от создания изохронных портов, фактически отправляющих или принимающих мультимедийные пакеты. Apple моделирует эти конечные объекты как порты передатчика и слушателя.
Этот статус часто указывает на порядок настройки или завершения: канал запущен либо опрошен до подключения портов, или его последний порт удалён, пока код всё ещё ожидает активный поток. Он отличается от kIOFireWireMultipleTalkers, где слишком много отправителей, и от kIOFireWireNoChannels, где диспетчер ресурсов вообще не может предоставить канал.
Вопросы, определяющие отсутствующий уровень
- Был ли порт передатчика или слушателя успешно создан и подключён именно к этому каналу в текущем поколении шины FireWire?
- Соответствует ли направление нужной роли? Для захвата нужен слушатель, для передачи — передатчик; резервирование без обеих ролей не несёт изохронный трафик.
- Освободила ли очистка последний порт до завершения поставленной в очередь потоковой работы или путь переподключения создал канал заново, но пропустил подключение порта?
- После сброса шины проверяйте объекты порта и канала вместе. Восстановления только резервирования ресурса недостаточно для восстановления потока приложения.
Ссылки
- Apple: IOFireWireIsochPortInterface
- Apple: IOFireWireRemoteIsochPortInterface
- Apple: руководство по интерфейсу устройств FireWire — модель каналов и конечных объектов
Нужно найти другой код? Найти другой код состояния или ошибки.