Что означает код HRESULT 0xC00D4A40 (MF_E_ASF_FILESINK_BITRATE_UNKNOWN)?

 
Предыдущий Следующий
MF_E_SINK_ALREADYSTOPPED MF_E_SINK_NO_STREAMS

MF_E_ASF_FILESINK_BITRATE_UNKNOWN

Что означает MF_E_ASF_FILESINK_BITRATE_UNKNOWN

MF_E_ASF_FILESINK_BITRATE_UNKNOWN (0xC00D4A40) означает, что приёмнику ASF-файла неизвестен битрейт, необходимый для подготовки вывода.

Фраза Windows про невозможность «reserve AVIO» относится к внутренней подготовке аудио/видеовывода приёмника файла. Практически важен не термин AVIO, а то, что до запуска записи в конфигурацию ASF не дошло значение скорости потока.

Что проверить

  • Проверьте выходной формат кодировщика и фактический битрейт каждого потока до активации приёмника ASF-файла.
  • Убедитесь, что битрейт попал в описание ASF-потока, в том числе в MF_SD_ASF_STREAMBITRATES_BITRATE, если этот атрибут используется вашим трактом.
  • Не ориентируйтесь только на значение в интерфейсе приложения или конфигурационном файле: важно, чтобы оно было перенесено в объекты Media Foundation, из которых строится ASF.
  • Если используется переменный битрейт (VBR), проверьте и связанные параметры модели буферизации «leaky bucket»: приёмник должен получить согласованное описание потока, а не только номинальное число бит/с.

Эта ошибка возникает до нормальной записи сэмплов в ASF-файл. Поэтому сначала исправляют конфигурацию выходного потока, а не ищут проблему в уже записанных пакетах.

Технические ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.