Воспроизвожу flv-видео в баннере. Столкнулся с проблемой.
Хотел установить условие, по которому воспроизводиться оно начнет только после заполнения буфера первыми 15-ю секундами ролика.
Для этого задаю потоку свойство setBufferTime(15):
Однако в некоторых случаях, которые я так и не смог отследить, происходит неприятная вещь:
Пока заполняется буфер (время зависит от скорости канала), картинка стоит на первом кадре (это вроде как правильно), после первоначального заполнения буфера 15 секундами
происходит очень быстрое проигрывание практически до середины ролика (сам ролик 25 сек).
С чем это может быть связано? Что я делаю не так?
В некоторых случаях все происходит по задуманному - ожидание заполнения буфера на 15 сек. видеоматериала и после этого стартует плавное воспроизведение с начального кадра и с ровным fps видео.
Вот сам баннер с видео:
http://www.21rest.ru/test/aurum/aurum.html
Проблема проявляется, когда банер стартует первй раз, потом, когда видео берется уже из кэша, все нормально.
Думал, с чем это может быть связано, но не уверен, что ищу ошибку в нужном направлении.
Может ли это быть связано с тем, что поток и его свойства я создаю с самого начала, но присоединяю его к видео-объекту и запускаю само проигрывание спустя некоторое время:

Код AS1/AS2:
var nc:NetConnection = new NetConnection();
nc.connect(null);
var ns:NetStream = new NetStream(nc);
ns.setBufferTime(15);
Спустя некоторое время вызывается функция, в которой:

Код AS1/AS2:
vid.attachVideo(ns);
ns.play(videoUrl);
В примерах хелпа приведены разные последовательности действий:
1. Из примера по созданию видеобанера:

Код AS1/AS2:
var my_nc:NetConnection = new NetConnection();
my_nc.connect(null);
var my_ns:NetStream = new NetStream(my_nc);
my_video.attachVideo(my_ns);
my_ns.setBufferTime(5);
my_ns.play("http://www.helpexamples.com/flash/video/vbanner.flv");
2. Из примера по свойсту
NetStream.bufferLength :

Код AS1/AS2:
var connection_nc:NetConnection = new NetConnection();
connection_nc.connect(null);
var stream_ns:NetStream = new NetStream(connection_nc);
stream_ns.setBufferTime(3);
my_video.attachVideo(stream_ns);
stream_ns.play("video1.flv");
То есть в одном случае сперва устанавливается размер буфера, потом поток присоединяется к видеобъекту, в другом случае наоборот.
Принципиально ли это? И связано ли с моей трудностью или я не туда копаю?
Сам прямо сейчас проверить не могу.
Может быть корни проблемы в другом?