LINUX.ORG.RU

перестал работать multipart/x-mixed-replace


0

0

Никак не пойму, с чем это связано: внес в свою программу небольшие изменения, совершенно не влияющие на отправку сервером изображения, как перестал работать mjpeg.

Кадры отсылаются через «Content-type: multipart/x-mixed-replace;» отдельными jpeg'ами с разделителем. Сначала в браузере картинка отображалась, а потом вдруг он стал предлагать «сохранить двоичный файл», при нажатии отмены на некоторое время появлялось видео, потом - опять предлагал сохранить...

Я просмотрел «выхлоп» программы - заголовки и разделители правильные, между ними - jpeg-данные, но не показывает - хоть ты тресни. Проверял на разных компьютерах - результат одинаковый.

Формируются изображения при помощи libgd, и, что интересно, если отдавать по одному кадру - все ОК.

Как такое может произойти?

☆☆☆☆☆
Ответ на: комментарий от trashymichael

Так не пойму, как я мог напортачить, если статические картинки отсылаются? Вот файл, в котором собраны функции, отвечающие за пересылку видео. При запуске CGI переходит на функцию start_streaming().

Eddy_Em ☆☆☆☆☆
() автор топика

Оказалось, не я «что-то изменил и забыл исправить», а возникли глюки из-за совместного использования буферизованного и небуферизованного вывода. Отменил буферизацию stdout, и в firefox 3.5.5 заработало. Работает также в konqueror. Однако, как ни странно, firefox 3.0 все равно предлагает сохранять картинку...

Думаю, «глюки» с буферизацией возникли при увеличении нагрузки (запустил доп. модуль программы), из-за чего заголовки, все-таки, иногда не «успевали» за содержимым.

Eddy_Em ☆☆☆☆☆
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.