Nekto_Habr: Нужно включить компрессию и уменьшить или отключить нормализацию. Точные настройки вам никто не скажет, потому что "на вкус и цвет фломастеры разные". Да и от аудиосистемы вашей зависит. Мало кто станет включать компрессию в домашнем кинотеатре с крутым сабвуфером, например. Также учитывайте, что компрессия или нормализация проводимая "на лету" заведомо будет уступать компрессии проведенной отдельно, через virtualdub, например.
Хинт: если не сделать жесткий фильтр с допустимыми значениями (к примеру, разрешены высоты только 200, 300, 480, 600) то это дыра для DDoS, т.к. ресайз - довольно ресурсоемкая операция.
g3rmes: Фреймворки для того и предназначены, чтобы была халява. Чтобы повысить скорость разработки.
Представьте, что вам нужно по быстрому сколхозить какую-нибудь автоматическую помешивалку для пельменей, например.
Вы можете нарисовать чертежи деталей и отдать из на завод. Или набросать схему на салфетке и пойти к умельцу в гаражи. Или долгими зимними вечерами выпиливать детали напильником. Или взять половину деталек из конструктора, а если чего не хватает - заменить изолентой, термоклеем и фрагментами пластиковых бутылок.
Так вот, любые фреймворки - это и есть набор таких вот деталек, из которых вы можете выбрать те, которые вам подходят. Если в конструкторе чего-то не хватает, то нужно или искать дополнения (плагины) или выпиливать детальки самому.
Александр: Все дело в асинхронности. Запросы к серверу занимают огромное время и js не ждет пока запрос выполнится.
В итоге ваш console.log() выполнялся до того, как придет ответ с сервера, и выводил undefined.
гуглить: "асинхронность js ajax"