Хорошо, я обнаружил, что моя проблема здесь:
Я объявляю ссылку на переменную stream внутри функции connectCamera:
private function connectCamera(ev:Event = null):void {
var stream:NetStream = new NetStream(connection);
}
То есть stream объявляется только внутри области действия этой функции.
Это не проблема для автономного проигрывателя, но в плагине для браузера. Похоже, что плагин для браузера выполняет гораздо больше работы на сборщике мусора, собирая мой поток после выполнения функции.
Поэтому мне нужно объявить переменную stream вне области действия функции, внутри области действия класса.
var stream:NetStream;
private function connectCamera(ev:Event = null):void {
stream = new NetStream(connection);
}
Вы должны всегда объявлять вещи, которые вам понадобятся позже, как поле вашего класса, а не внутри функции. Вы просто никогда не знаете, когда GC может очистить эти вещи.