| Предыдущий | Следующий |
| NS_E_END_OF_TAPE | NS_E_NO_AUDIENCES |
NS_E_NO_MEDIA_IN_AUDIENCE
Диагностический смысл помимо стандартного текста
Для NS_E_NO_MEDIA_IN_AUDIENCE (0xC00D1BAF) диагностически значимое событие — audience не содержит ни audio-, ни video-inputs. Сохраняйте границу, вернувшую этот результат, вместе с исходным callback Encoder или вызовом COM.
Почему сеанс может дойти до этой точки
Профиль Windows Media Encoder объявляет content types и один или несколько audiences в сеансе, который возвращает этот результат. Каждый audience сопоставляет source indexes с audio, video, script или file streams и должен оставаться структурно согласованным с другими audiences в multiple-bit-rate profile на этой контрольной точке.
Отдельные поля могут быть синтаксически допустимыми, тогда как полный профиль остаётся несогласованным между аудиториями или не соответствует группе источников в сеансе, возвращающем этот результат. Один конкретный способ получить это условие: редактор profile оставляет placeholder audience, содержащий только metadata. Он нужно сохранить поколение объекта и числовые параметры, а не только снимок итогового диалогового окна.
Поля трассировки, имеющие диагностическую ценность
| Поле | Что сохранить |
|---|---|
| Решающие значения | индекс audience, ContentType и число audio/video streams |
| Объект, вернувший ошибку | имя и content type профиля, число audiences и total bitrate, source indexes, типы потоков, language identifiers, выбранные audiences и результат IWMEncProfile2.Validate |
| Сопоставление с сеансом | то же поколение source group, индекс audience, идентичность объекта и последовательность callbacks, в которой был получен этот результат |
| Данные нижнего уровня | первый HRESULT COM, драйвера, файловой системы или codec, полученный до того, как Encoder сопоставил условие с ним |
| Контролируемое сравнение | заведомо исправный сеанс, в котором изменяется только параметр, относящийся |
Матрица решений
| Наблюдение | Как это интерпретировать |
|---|---|
| Наблюдение, подтверждающее он | Решающие данные: индекс audience, ContentType и число audio/video streams. Они подтверждают условие «audience не содержит ни audio-, ни video-inputs» в том же поколении объекта. |
| Наблюдение, указывающее на более ранний сбой | Зафиксированные значения удовлетворяют правилу этой границы, но source, driver, COM activation или file operation раньше возвращает другой HRESULT при проверке «audience не содержит ни audio-, ни video-inputs». |
| Наблюдение, указывающее на более поздний сбой | Encoder проходит эту границу («audience не содержит ни audio-, ни video-inputs»), но затем codec, archive или broadcast sink завершается ошибкой на следующем этапе. |
| Проверка после исправления | Примените одно изолированное изменение: добавить как минимум один audio- или video-stream либо удалить пустой audience. После этого исходный вызов должен пройти ту же контрольную точку. |
Практическое влияние он ограничен переходом «profile, audience and stream topology», которому принадлежит условие «audience не содержит ни audio-, ни video-inputs». Сам по себе код не доказывает, что повреждены все входные данные, отсутствуют все codecs или полностью неработоспособна установка Windows Media. Типичный сценарий: редактор profile оставляет placeholder audience, содержащий только metadata. Сохраните первый отказавший вызов и идентичность его объекта, чтобы более поздний wrapper не скрыл данные границы «audience не содержит ни audio-, ни video-inputs».
Путь принятия решения
- Зафиксируйте
0xC00D1BAF, он, версию Encoder и точный вызов API или обращение к свойству, вернувшее ошибку. - Экспортируйте текущую конфигурацию
.wmeили.prxконфигурацию, затем зафиксируйте индекс audience, ContentType и число audio/video streams. - Проверьте предварительное условие топологии профиля, аудиторий и потоков, не меняя одновременно источник, профиль и выходной приёмник.
- Выполните одно контролируемое сравнение, изменив только это условие: добавить как минимум один audio- или video-stream либо удалить пустой audience.
- После изменения пересоздайте затронутый объект Encoder, а не предполагайте, что существующий graph автоматически отбросил прежнее ошибочное состояние при проверке «audience не содержит ни audio-, ни video-inputs».
Коды с похожими симптомами, но другими владельцами
| Результат | Почему это другая граница |
|---|---|
NS_E_SMPTEMODE_MISMATCH | режим SMPTE timecode различается между audiences для одного source index |
NS_E_NO_AUDIENCES | проверка profile не находит ни одного audience с bitrate |
NS_E_NONSQUAREPIXELMODE_MISMATCH | режим non-square pixels различается между audiences с общим source index |
Безопасное восстановление
Устраните условие-источник: добавить как минимум один audio- или video-stream либо удалить пустой audience. Затем перестройте только ту часть graph Encoder, которую затрагивает он и проверьте исходный вызов.
Не исправляйте profile удалением случайных audiences; сначала экспортируйте.prx и сравните один и тот же source index во всех audiences в сеансе, который возвращает он.
Исходные материалы
- Добавление аудитории в профиль кодировщика.
- IWMEncAudienceObj.TotalBitrate.
- Получение профиля, назначенного группе источников.
- Определение совместимости профилей.
Нужно найти другой код? Найти другой код состояния или ошибки.
