| Предыдущий | Следующий |
| NS_E_INVALID_SAMPLING_RATE | NS_E_LATE_PACKET |
NS_E_MAX_PACKET_SIZE_TOO_SMALL
Что означает NS_E_MAX_PACKET_SIZE_TOO_SMALL на уровне ответственного API
Когда этот результат (0xC00D0BD1) появляется, первый заблокированный переход — настроенный предел размера ASF-пакета слишком мал для данных, формируемых профилем. На практике проверку media format для packet size too small нужно воспроизводить с теми же URL, stream, поколением объекта и последовательностью вызовов.
Windows Media Format разделяет профиль сжатого потока, необработанный входной формат и декодированный выход reader для состояния «настроенный предел размера ASF-пакета слишком мал для данных, формируемых профилем». Writer затем пакетирует samples, применяет attributes и необязательные расширения data units, поэтому сбой на одной границе не доказывает нечитаемость ASF-контейнера при диагностике «слишком малый максимальный размер пакета». В случае этот результат, сохраняйте самый ранний результат нижнего уровня: оболочки могут сопоставлять разные причины с одним HRESULT в этой контрольной точке.
Контролируемая проверка формата мультимедиа
- Запишите
0xC00D0BD1, этот результат, точную операцию и время первого сбоя. - Сохраните номер и размер ASF-пакета, временные метки отправки и получения, sequence number, окно jitter и настройка размера пакета профиля.
- Не используйте повторно graph, session, reader или metadata object, созданные до изменения соответствующей конфигурации или ресурса.
- Выполните один изолированный тест: увеличить только предел размера ASF-пакета до значения, достаточного для того же профиля, и повторить упаковку.
- Повторите проверку через тот же API и protocol path; другой Player или локальная копия полезны только для сравнения и сами по себе не доказывают исправление исходной границы для состояния «настроенный предел размера ASF-пакета слишком мал для данных, формируемых профилем».
- Подтвердите ожидаемое следующее состояние и сохраните новый HRESULT, если он появился, как отдельный результат последующей стадии.
Что завершилось и что не завершилось
До этой контрольной точки предыдущая настройка могла завершиться успешно, однако этап «настроенный предел размера ASF-пакета слишком мал для данных, формируемых профилем» не был завершён. Поэтому в журнале нужны и последний успешный вызов, и этот результат.
Целевое сравнение: увеличить только предел размера ASF-пакета до значения, достаточного для того же профиля, и повторить упаковку. Оно меняет спорное предварительное условие, не меняя идентичность мультимедиа и несвязанные параметры компьютера при проверке «настроенный предел размера ASF-пакета слишком мал для данных, формируемых профилем».
Данные профиля и образца
| Зафиксируйте | Как это помогает выделить он |
|---|---|
| Вызов-владелец | Зафиксируйте метод API, идентификатор объекта, поток или callback и временную метку для контрольной точки «слишком малый максимальный размер пакета». |
| Решающие значения | номер и размер ASF-пакета, временные метки отправки и получения, sequence number, окно jitter и настройка размера пакета профиля |
| Поколение объекта | Отметьте, когда были созданы reader, writer, graph, URL object, streaming session или metadata provider; устаревшее состояние может воспроизвести он после изменения конфигурации. |
| Первый вложенный результат | Сохраните самый ранний статус codec, COM, socket, DNS, parser или provider до него; более поздние сообщения интерфейса менее конкретны. |
| Случай для сравнения | Используйте один заведомо рабочий ресурс, проходящий ту же контрольную точку «слишком малый максимальный размер пакета», изменив только отклонённое предварительное условие. |
Как интерпретировать следующий HRESULT
| Результат повторной проверки | Толкование для него |
|---|---|
| Тот же вызов по-прежнему возвращает этот код | Значения, определяющие контрольную точку «слишком малый максимальный размер пакета», не изменились либо вызывающая сторона всё ещё использует старое поколение объекта. |
| Новый объект работает успешно | На результат повлияли lifetime объекта или cached state он; исправьте пересоздание объекта вместо применения обходного решения на уровне всего компьютера. |
| Вызов доходит до другого HRESULT | Исходная граница пройдена. Диагностируйте новый код отдельно на его собственной стадии format, graph, URL, network или metadata. |
| Сбой возникает только для одного ресурса | Данные указывают на состояние конкретного content, URL, publishing point, stream, attribute или object, а не на общий сбой системы. |
Действия, вводящие в заблуждение
- не меняйте одновременно несколько параметров profile и codec: это скрывает первое несовместимое поле.
- Не стирайте данные о первом появлении он многократными повторами; callbacks и reconnect могут заменить полезное исходное состояние более поздней ошибкой оболочки.
- Не публикуйте учётные данные, материалы защищённого содержимого или полные закрытые URL. Записывайте обезличенные identifiers, lengths, hashes и поля protocol, необходимые для воспроизведения этой контрольной точки.
Близкие результаты не взаимозаменяемы
Основное различие: Ограничение размера пакета относится к packetization выбранного профиля, а не к сетевому разрешению имени или доступности сервера.
| Близкий HRESULT | Как его сравнивать |
|---|---|
NS_E_NO_MORE_SAMPLES | Сравните ответственный API и первое отклонённое значение: этот HRESULT относится к соседней контрольной точке и не обязан иметь ту же причину, что он. |
NS_E_INVALID_SAMPLING_RATE | Используйте состояние объекта и порядок операций, чтобы определить, какой код является исходным, если оба появляются в одной трассировке. |
NS_E_LATE_PACKET | Сохраните он отдельно, если он появляется только после устранения условия он. |
Технические ссылки
- Обзор Windows Media Format SDK
- Входные, потоковые и выходные форматы
- Профили
- Объекты Windows Media SDK
- Реестр HRESULT Microsoft
Сохраните трассировку после исправления, чтобы более поздний результат pipeline не был ошибочно принят за повтор этой границы при изоляции случая packet size too small.
Нужно найти другой код? Найти другой код состояния или ошибки.