Поделиться через


Буферизация содержимого

[Функция, связанная с этой страницей, Windows Media Format 11 SDK, является устаревшей функцией.] Он был заменен на устройство чтения источника и запись данных приемника. Source Reader и Sink Writer оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать новый код средства чтения источника и писателя данных вместо Windows Media Format 11 SDK, когда это возможно. Корпорация Майкрософт предлагает, что существующий код, использующий устаревшие API, будет перезаписан для использования новых API, если это возможно.]

Когда объект чтения открывает потоковый файл, он определяет размер буфера на основе параметров в заголовке файла. Буфер можно представить как ведро с отверстием в дне, из которого утечка происходит с постоянной скоростью. Если скорость, с которой заполняется контейнер, не превышает, в среднем, больше скорости утечки, контейнер никогда не будет переполнен.

Скорость утечки воображаемого контейнера — это скорость потока. Скорость, с которой ведро наполняется, является реальной скоростью потока. Размер данных в сжатом потоке варьируется от выборки к выборке в зависимости от объема достигнутого сжатия. Таким образом, несмотря на то, что скорость потока задана в профиле, она представляет среднюю скорость бита, а не константу.

Другой параметр потока, важный для процесса буферизации, — это окно буфера. Окно буфера измеряется во времени и указывает, сколько содержимого может быть буферировано. Емкость мнимого контейнера можно найти с помощью окна буфера. Например, если у вас есть поток с скоростью 32 КБ и буферным окном в 3 секунды, буфер имеет размер, чтобы хранить 3 секунды содержимого в 32 КБ или 12 000 байт (32 000 бит в секунду x 3 секунд / 8 бит в байт). Кодек ограничивает вариацию между фактической скоростью потоковой передачи кодированных примеров, чтобы за период времени, равный окну буфера, средняя скорость бита не превышает скорость передачи потока.

Как правило, вы задаете скорость передачи данных и буферное окно для потока в профиле, а программа записи обрабатывает остальные. Однако при передаче сжатых примеров читателю необходимо убедиться, что правильные значения перенесены в новый файл, установив скорость передачи данных и буферное окно для потока в целевом профиле на значения, которые из сжатого потока.

основные понятия

примеры мультимедиа

входные данные, потоки и выходные данные