Frame 1
var logger = (new runeimp.utils.Logger(runeimp.utils.Logger.__get__DEBUG(), "[receiver.swf]"));
_root.fmsHost = _root.host;
_root.fmsApp = _root.app;
_root.fmsToken = _root.token;
_root.fmsRole = _root.role;
_root.fmsInstance = _root.channelId;
this.player.controlbar_mc._alpha = ((_root.minimal == "true") ? 0 : 100);
this.poll._visible = false;
this.player.wait_ind._visible = false;
this.player.lowBWInd._visible = false;
this.onFMSConnect = function () {
this.player.isConnected = true;
this.player.init(this.FMSManager.nc, this);
this.poll.init(this.FMSManager.nc, this, "pollButton");
};
this.onConnect = function () {
this.player.connecting_mc._visible = true;
this._parent.logger.debug("[connect_mc][onConnect]");
this.connected = true;
this.player.offair_mc._visible = false;
this.FMSManager = new com.liveuniverse.livetv.fmsManager();
this.FMSManager.init(this, this.fmsHost, this.fmsApp, this.fmsInstance, this.fmsToken, this.fmsUserId, this.fmsUserName, this.fmsRole);
};
this.onFMSClosed = function () {
if ((_root.autoreconnect = this.noReconnect != true)) {
onConnect();
}
this.player.isConnected = false;
if (this.noReconnect != true) {
this.connect_mc._visible = true;
}
};
this.recycleProgamStream = function () {
this.player.resetStream();
trace("RECYCLING PROGRAM STREAM");
};
this.onBroadcastOver = function () {
this.noReconnect = true;
this.player.offair_mc._visible = true;
};
if (_root.autoconnect == "1") {
this.tile_mc._visible = false;
this.connect_mc.gotoAndPlay("play");
this.connect_mc._visible = false;
this.onConnect();
} else if (_root.autoconnect == "2") {
this.tile_mc._visible = false;
this.connect_mc._visible = false;
this.player.offair_mc._visible = true;
this.player.connecting_mc._visible = false;
} else if (_root.autoconnect == "0") {
this.tile_mc._visible = true;
this.connect_mc._visible = true;
this.player.offair_mc._visible = false;
this.player.connecting_mc._visible = false;
}
this.onUnload = function () {
this.player.nc.close();
};
if (_root.minimal == "true") {
var lastMouseMove = 0;
var lastMouseMoveCounter = 0;
var lastMouseMoveDelay = 3000;
var lastRollOut = 0;
var lastRollOutDelay = 1000;
Mouse.addListener(this);
this.onMouseMove = function () {
if ((this._xmouse > 0) && (this._xmouse < this._width)) {
if ((this._ymouse > 0) && (this._ymouse < (this._height - 20))) {
if ((this.lastRollOut + this.lastRollOutDelay) < getTimer()) {
this.connect_mc._visible = true;
this.lastMouseMove = getTimer();
}
}
}
};
this.onEnterFrame = function () {
if ((this.connected && (this.connect_mc._visible)) && ((this.lastMouseMove + this.lastMouseMoveDelay) < getTimer())) {
this.connect_mc._visible = false;
}
};
}
this.connect_mc.onRelease = function () {
this._parent.tile_mc._visible = false;
this._parent.logger.debug((("[connect_mc][onRelease] this.action: " + this.action) + " :: this._parent.connected: ") + this._parent.connected);
if (_root.minimal == "true") {
if (this.action == "play") {
if (this.connected && (_root.minimal == "true")) {
this._parent.player.ns.receiveAudio(true);
this._parent.player.ns.receiveVideo(true);
this._parent.player.isPaused = false;
} else {
this._parent.onConnect();
}
} else if (_root.minimal == "true") {
this._parent.player.ns.receiveAudio(false);
this._parent.player.ns.receiveVideo(false);
this._parent.player.isPaused = true;
}
this._parent.player.controlbar_mc.play_mc.btn_status = this.action;
this._parent.player.controlbar_mc.play_mc.gotoAndStop(this.action);
this.gotoAndPlay(this.action);
} else {
this._parent.onConnect();
this._parent.player.offair_mc._visible = false;
this._visible = false;
}
};
this.connect_mc.onRollOut = function () {
this._parent.lastRollOut = getTimer();
};
Symbol 6 MovieClip [liveTVPollButtonComponent] Frame 1
#initclip 11
Object.registerClass("liveTVPollButtonComponent", com.liveuniverse.livetv.liveTVPoll);
#endinitclip
Symbol 10 MovieClip [strap] Frame 1
#initclip 9
Object.registerClass("strap", com.liveuniverse.livetv.strap);
#endinitclip
Symbol 25 MovieClip [livestreamControllerPlayPause] Frame 1
stop();
Symbol 33 MovieClip Frame 1
stop();
Symbol 53 MovieClip [LiveTVPlayer] Frame 1
#initclip 10
Object.registerClass("LiveTVPlayer", com.liveuniverse.livetv.liveTVPlayerComponent);
#endinitclip
Symbol 58 MovieClip Frame 1
stop();
this.action = "play";
Symbol 58 MovieClip Frame 7
stop();
this.action = "pause";
Symbol 59 MovieClip [__Packages.com.liveuniverse.livetv.fmsManager] Frame 0
class com.liveuniverse.livetv.fmsManager extends Object
{
var owner, fmsHost, fmsApp, isViewer, replicatorInstance, fmsInstance, fmsToken, fmsUserId, fmsUserName, fmsRole, fmsPass, gatewayPass, isSimpleProducer, nc, broadcast_stream, publish_stream, gatekeeper, fmsSessionHost, fmsPort, fmsProtocol, syncIsConfirmed, autolist_so, chatusers_so, viewerlist_so, playlists_so, camList_so, channelSettings_so, program_stream, isModerator, isSuperModerator;
function fmsManager () {
super();
trace("FMS manager class loaded " + owner);
}
function init(owner, fmsHost, fmsApp, fmsInstance, fmsToken, fmsUserId, fmsUserName, fmsRole, fmsPass, gatewayPass, isSimpleProducer) {
this.owner = owner;
this.fmsHost = fmsHost;
this.fmsApp = fmsApp;
if (fmsRole == "viewer") {
isViewer = true;
replicatorInstance = fmsInstance + "_replicator";
}
this.fmsInstance = fmsInstance + "_publisher";
this.fmsToken = fmsToken;
this.fmsUserId = fmsUserId;
this.fmsUserName = fmsUserName;
this.fmsRole = fmsRole;
this.fmsPass = fmsPass;
this.gatewayPass = gatewayPass;
this.isSimpleProducer = isSimpleProducer;
nc = new NetConnection();
nc.owner = this;
broadcast_stream = new NetStream();
publish_stream = new NetStream();
gatekeeper = new com.liveuniverse.livetv.gatekeeperConnector();
trace("Connecting to gatekeeper...");
gatekeeper.init(this, this.fmsHost, this.fmsApp, this.fmsInstance, this.fmsRole, this.gatewayPass);
}
function reconnect() {
gatekeeper.init(this, fmsHost, fmsApp, fmsInstance, fmsRole, gatewayPass);
}
function onGatekeeper(host, port, protocol) {
trace((((("onGatekeeper " + protocol) + "://") + host) + ":") + port);
fmsSessionHost = host;
fmsPort = port;
fmsProtocol = protocol;
connectSession();
}
function onGatekeeperError() {
trace("Could not connect to gatekeeper...aborting session");
owner.onGatekeeperError();
}
function connectSession() {
syncIsConfirmed = false;
trace("Connecting to channel...");
nc.onStatus = function (info) {
if (info.code == "NetConnection.Connect.Success") {
this.owner.owner.onFMSConnect();
this.owner.updateInt = setInterval(this.owner, "updateTimestamp", 1000);
} else if (info.code == "NetConnection.Connect.Rejected") {
this.owner.onGatekeeperError();
} else if (info.code == "NetConnection.Connect.Failed") {
this.owner.onGatekeeperError();
} else if (info.code == "NetConnection.Connect.Closed") {
this.owner.owner.onFMSClosed();
}
};
nc.onBroadcastOver = function () {
this.owner.owner.onBroadcastOver();
};
nc.onAuthenticated = function (val, dataObj) {
trace("NC OnAuthenticated " + val);
this.owner.onFMSAuth(val, dataObj);
};
nc.onCameraConnected = function (bw) {
this.owner.owner.onConnected(this.owner.nc, bw);
};
nc.onViewerConnected = function () {
this.owner.owner.onConnected(this.owner.nc);
};
nc.onResyncStream = function () {
this.owner.recycleProgamStream();
this.owner.owner.recycleProgamStream();
};
nc.onInsufficientBW = function () {
trace("Insufficient bandwidth... dropping to 2fps");
this.owner.recycleProgamStream(true);
this.owner.owner.owner.lowBWInd._visible = true;
};
nc.onBroadcastViewerCount = function (vObj) {
this.owner.owner.owner.viewerCount_mc.members_txt.htmlText = vObj.members;
this.owner.owner.owner.viewerCount_mc.guests_txt.htmlText = vObj.guests;
this.owner.owner.owner.viewerCount_mc.count_txt.htmlText = vObj.total;
this.owner.owner.owner.viewerCount_mc.full_txt.htmlText = ((((vObj.total + " viewers (") + vObj.members) + " members + ") + vObj.guests) + " guests)";
this.owner.owner.owner.viewerCount_mc.full_txtMultiline.htmlText = ((((vObj.total + " viewers<br>(") + vObj.members) + " members + ") + vObj.guests) + " guests)";
};
nc.receiveHistory = function (hist) {
this.owner.owner.owner.chat.sta.htmlText = hist;
};
nc.receiveMessage = function (msg, txtcolor, fromWho, replicatorBanLink) {
trace("--- receiveMessage called");
if ((this.owner.owner.isModerator == true) && (replicatorBanLink != undefined)) {
var _local6 = replicatorBanLink;
} else {
var _local6 = "";
}
var _local2 = ((((("<font color=\"" + txtcolor) + "\">") + fromWho) + ": ") + msg) + "</font>";
if ((fromWho == undefined) || (fromWho == "")) {
_local2 = ((("<font color=\"" + txtcolor) + "\">") + msg) + "</font>";
}
this.owner.owner.owner.chat.receiveMessage(_local2);
};
nc.receivePrivateMessage = function (msg, txtcolor, fromWho) {
var _local2 = this.owner.checkIgnoredUsers(fromWho);
if (_local2 == true) {
} else {
var _local4 = ((((((("<font color=\"#0000FF\"><a href=\"asfunction:_root.application.ignoreUser,true|||" + fromWho) + "\">(ignore) </a></font><font color=\"") + txtcolor) + "\"><i>") + fromWho) + " whispers: </i>") + msg) + "</font>";
this.owner.owner.chat.receiveMessage(_local4);
}
};
if (isViewer == true) {
fmsInstance = replicatorInstance;
}
var _local2 = (((((((fmsProtocol + "://") + fmsSessionHost) + ":") + fmsPort) + "/") + fmsApp) + "/") + fmsInstance;
trace("Connecting to : " + _local2);
nc.connect(_local2, fmsRole, fmsUserName, fmsToken, fmsUserId, fmsPass, gatewayPass);
}
function onFMSAuth(val, obj) {
owner.onFMSAuth(val, obj);
}
function initSharedObjects() {
trace("Connecting shared objects");
autolist_so = SharedObject.getRemote("autoList", nc.uri, false);
autolist_so.isFirstSync = false;
autolist_so.owner = this;
autolist_so.onSync = function (list) {
trace("Playlist sync with FMS");
this.owner.owner.onAutoListSync(this);
};
autolist_so.connect(nc);
chatusers_so = SharedObject.getRemote("userList", nc.uri, false);
chatusers_so.isFirstSync = false;
chatusers_so.owner = this;
chatusers_so.onSync = function (list) {
trace("Playlist sync with FMS");
this.owner.owner.onChatUserListSync(this);
};
chatusers_so.connect(nc);
viewerlist_so = SharedObject.getRemote("viewerList", nc.uri, false);
viewerlist_so.isFirstSync = false;
viewerlist_so.owner = this;
viewerlist_so.onSync = function (list) {
trace("Viewer List sync with FMS");
this.owner.owner.onViewerListSync(this);
};
viewerlist_so.connect(nc);
playlists_so = SharedObject.getRemote("playLists", nc.uri, false);
playlists_so.isFirstSync = false;
playlists_so.owner = this;
playlists_so.onSync = function (list) {
if (this.isFirstSync != true) {
this.isFirstSync = true;
this.owner.confirmSOSync();
this.owner.channelSettings_so.connect(this.owner.nc);
}
trace("Playlist sync with FMS");
this.owner.owner.onPlaylistSync(this);
};
playlists_so.connect(nc);
camList_so = SharedObject.getRemote("camList", nc.uri, false);
camList_so.owner = this;
camList_so.isFirstSync = false;
camList_so.onSync = function (list) {
if (this.isFirstSync != true) {
this.isFirstSync = true;
this.owner.confirmSOSync();
}
trace("Playlist sync with FMS");
this.owner.owner.onCamListSync(this);
};
camList_so.connect(nc);
channelSettings_so = SharedObject.getRemote("channelSettings", nc.uri, false);
channelSettings_so.owner = this;
channelSettings_so.isFirstSync = false;
channelSettings_so.onSync = function (list) {
if (this.isFirstSync != true) {
this.isFirstSync = true;
this.owner.owner.camBWLimit = this.data.channelCameraBandwidthLimit;
this.owner.owner.onChannelSettingsSync(this);
this.owner.confirmSOSync();
}
this.owner.onChannelSettingsSync(this);
};
}
function confirmSOSync() {
if (syncIsConfirmed != true) {
if (((playlists_so.isFirstSync == true) && (camList_so.isFirstSync == true)) && (channelSettings_so.isFirstSync == true)) {
syncIsConfirmed = true;
if (isSimpleProducer != true) {
initStreams();
}
}
}
}
function initStreams() {
broadcast_stream = new NetStream(nc);
broadcast_stream.owner = this;
broadcast_stream.setBufferTime(1);
broadcast_stream.onStatus = function (info) {
trace(info.code);
this.owner.manageBroadcastBuffer(info);
};
broadcast_stream.onMetaData = function (data) {
this.owner.owner.onBroadcastMetaData(data);
trace("Video Width is " + data.width);
};
broadcast_stream.onStreamInfo = function (obj) {
this.owner.owner.onBroadcastStreamData(obj);
};
broadcast_stream.onStrap = function (dataObj) {
this.owner.owner.onStrap(dataObj.vis, dataObj.line1, dataObj.line2);
};
publish_stream = new NetStream(nc);
broadcast_stream.play("broadcast", -1, -1);
owner.onStreams();
}
function killStreams() {
broadcast_stream.play(false);
broadcast_stream.close();
publish_stream.close();
nc.onResyncStream = undefined;
}
function manageBroadcastBuffer(info) {
owner.debugNetstream(info.code + newline);
trace(info.code);
var _local3 = program_stream.bufferTime;
if (info.code == "NetStream.Buffer.Full") {
} else if (info.code == "NetStream.Buffer.Empty") {
}
trace("Current broadcast buffer is " + broadcast_stream.bufferTime);
}
function recycleProgamStream(lowBW) {
owner.owner.lowBWInd._visible = false;
broadcast_stream.play(false);
if (lowBW == true) {
broadcast_stream.receiveVideo(1);
owner.owner.lowBWInd._visible = true;
owner.onRecycleProgramStream(true);
} else {
broadcast_stream.receiveVideo(true);
owner.owner.lowBWInd._visible = false;
owner.onRecycleProgramStream(false);
}
broadcast_stream.play("broadcast", -1, -1, true);
}
function toggleCamera(val) {
nc.call("toggleCamera", null, val);
if (val == true) {
trace("PUBLISHING VIDEO! " + owner.fmsClientObj.streamName);
publish_stream.attachVideo(owner.cam);
publish_stream.attachAudio(owner.mic);
publish_stream.publish(owner.fmsClientObj.streamName, "live");
} else {
publish_stream.publish(false);
}
}
function toggleMic(val) {
if (val == true) {
publish_stream.attachAudio(owner.mic);
} else {
publish_stream.attachAudio(null);
}
}
function setStrap(vis, v1, v2) {
var _local2 = new Object();
_local2.vis = vis;
_local2.line1 = v1;
_local2.line2 = v2;
nc.call("sendStreamEvent", null, "onStrap", _local2);
}
function onChannelSettingsChanged(channelName, channelState, channelCameraPassword, channelCurrentPlaylist) {
trace("Setting channel details shared object" + channelCurrentPlaylist);
channelSettings_so.data.channelName = channelName;
channelSettings_so.data.channelState = channelState;
channelSettings_so.data.channelCameraPassword = channelCameraPassword;
channelSettings_so.data.channelCurrentPlaylist = channelCurrentPlaylist;
}
function setPlaylistLoop(val) {
autolist_so.data.loop = val;
}
function updateTimestamp() {
nc.call("updateTimestamp", null);
}
function onMuteProgramStream(val) {
trace("Setting program mute to " + val);
broadcast_stream.receiveAudio(val);
}
function onRefreshClipList() {
nc.call("refreshClipList", null);
}
function setModerator(modtype) {
isModerator = true;
owner.adminControls._visible = true;
if (modtype == "supermod") {
isSuperModerator = true;
}
}
function adminKickUser(id, user) {
var _local2 = ("<font color=\"#FF0000\"><b>Kicking " + user) + " out of the room</b></font>";
owner.owner.chat.receiveMessage(_local2);
nc.call("kickUser", null, id);
}
function adminBanUser(id, user) {
nc.call("banUser", null, id, false);
}
function adminBanUserByIP(id, user) {
nc.call("banUser", null, id, true);
}
function flagUser(id) {
owner.flagUser_mc.confirm(id);
}
function onFlagConfirm(id) {
nc.call("flagUser", null, id);
}
function clearTextChat() {
nc.call("clearChatHistory", null);
}
function promoteGuestToModerator(id, aspID) {
nc.call("promoteGuestToModerator", null, id, aspID);
}
}
Symbol 60 MovieClip [__Packages.com.liveuniverse.livetv.gatekeeperConnector] Frame 0
class com.liveuniverse.livetv.gatekeeperConnector
{
var owner, host, app, role, instance, gatewayPass, port, protocol, nc, attempt, connTimer;
function gatekeeperConnector () {
}
function init(owner, host, app, instance, role, gatewayPass) {
this.owner = owner;
trace((((("Gatekeeper connect " + host) + " : ") + app) + " : ") + instance);
this.host = host;
this.app = app;
this.role = role;
this.instance = instance;
this.gatewayPass = gatewayPass;
port = "1935";
protocol = "rtmp";
nc = new NetConnection();
attempt = 1;
findConnectionPort(attempt);
}
function findConnectionPort() {
if (attempt < 5) {
switch (attempt) {
case 1 :
var _local2 = (("rtmp://" + host) + "/") + app;
break;
case 2 :
_local2 = (("rtmpt://" + host) + "/") + app;
protocol = "rtmpt";
break;
case 3 :
_local2 = (("rtmp://" + host) + ":80/") + app;
protocol = "rtmp";
port = "80";
break;
case 4 :
_local2 = (("rtmpt://" + host) + ":80/") + app;
protocol = "rtmpt";
}
clearTimeout(connTimer);
nc.close();
delete nc;
tryConnection(_local2);
connTimer = setTimeout(this, "cancelAttempt", 5000);
attempt++;
} else {
trace("Gatekeeper could not connect to the server");
owner.onGatekeeperError();
}
}
function tryConnection(connStr) {
nc = new NetConnection();
nc.owner = this;
nc.onStatus = function (info) {
trace("Gateway attempt: " + info.code);
switch (info.code) {
case "NetConnection.Connect.Success" :
clearTimeout(this.owner.connTimer);
break;
case "NetConnection.Connect.Rejected" :
this.owner.findConnectionPort();
break;
case "NetConnection.Connect.Failed" :
this.owner.findConnectionPort();
}
};
nc.receiveSessionInfo = function (sessionHost) {
trace(sessionHost);
this.close();
this.owner.owner.onGatekeeper(sessionHost, this.owner.port, this.owner.protocol);
};
nc.connect(connStr, instance, role, gatewayPass);
}
function cancelAttempt() {
nc.close();
findConnectionPort();
}
function getServerDetails() {
}
}
Symbol 61 MovieClip [__Packages.runeimp.utils.Logger] Frame 0
class runeimp.utils.Logger
{
static var remoteInterface, isConnected;
function Logger (newLevel, classTag) {
if (newLevel != undefined) {
level = (newLevel);
}
if (classTag != undefined) {
cTag = classTag;
}
}
function alert(value) {
if (com.liveuniverse.utils.PlayerInfo.inBrowser()) {
getURL (("javascript: alert('" + value) + "');");
} else {
echo("ALERT", value);
}
}
function connectToInterface() {
if ((remoteInterface == undefined) && (useLocalConnection)) {
remoteInterface = new LocalConnection();
}
isConnected = remoteInterface.connect("_xray_view_remote_conn");
count++;
if (count < 50) {
}
return(isConnected);
}
static function get DEBUG() {
return(4);
}
function debug(value) {
if (_level > 3) {
echo("DEBUG", value);
}
}
function echo(level, value) {
if (useLocalConnection && (isConnected != true)) {
connectToInterface();
} else {
count = 0;
}
if (cTag != undefined) {
value = cTag + value;
}
var _local5 = (tTag + " ") + level;
var _local7 = ((((level == "INFO") || (level == "WARN")) || (level == "LOG")) ? "\t\t" : "\t");
trace((_local5 + _local7) + value);
var _local6 = (_local5 + "\t") + value;
if (useLocalConnection) {
var _local4 = {info:_local6, last:true};
var _local9 = remoteInterface.send("_xray_view_conn", "setViewInfo", _local4.info, _local4.last);
}
}
static function get ERROR() {
return(1);
}
function error(value) {
if (_level > 0) {
echo("ERROR", value);
}
}
static function get FATAL() {
return(0);
}
function fatal(value) {
echo("FATAL", value);
}
function get level() {
return(_level);
}
function set level(value) {
if ((value > -1) && (value < 5)) {
_level = value;
} else {
_level = 0;
}
//return(level);
}
function log(value) {
echo("LOG", value);
}
static function get INFO() {
return(3);
}
function info(value) {
if (_level > 2) {
echo("INFO", value);
}
}
function toString() {
return(("[" + classFQN) + "]");
}
function get tTag() {
var _local1 = String(getTimer());
while (_local1.length < 7) {
_local1 = "0" + _local1;
}
return(("(" + _local1) + ")");
}
static function get WARN() {
return(2);
}
function warn(value) {
if (_level > 1) {
echo("WARN", value);
}
}
static var className = "Logger";
static var classPackage = "runeimp.utils";
static var classVersion = "1.3.1";
static var classFQN = (classPackage + ".") + className;
var count = 0;
var cTag = "";
var _level = 0;
static var useLocalConnection = true;
}
Symbol 62 MovieClip [__Packages.com.liveuniverse.utils.PlayerInfo] Frame 0
class com.liveuniverse.utils.PlayerInfo
{
static var logger, _inBrowser, _playerType, _os, _release, _version;
function PlayerInfo () {
}
static function initLogger() {
if (logger == undefined) {
runeimp.utils.Logger.useLocalConnection = false;
logger = new runeimp.utils.Logger(runeimp.utils.Logger.__get__INFO(), ("[" + className) + "]");
logger.debug("[initLogger] version: " + classVersion);
}
}
static function inBrowser() {
if (_inBrowser == undefined) {
switch (System.capabilities.playerType) {
case "External" :
case "StandAlone" :
_inBrowser = false;
break;
default :
_inBrowser = true;
}
}
return(_inBrowser);
}
static function isDebugger() {
return(System.capabilities.isDebugger);
}
static function os() {
initLogger();
if (_playerType == undefined) {
_os = System.capabilities.os;
}
logger.debug("[os]: " + _os);
return(_os);
}
static function playerType() {
initLogger();
if (_playerType == undefined) {
_playerType = System.capabilities.playerType;
}
logger.debug("[playerType]: " + _playerType);
return(_playerType);
}
static function release() {
initLogger();
if (_release == undefined) {
var _local1 = System.capabilities.version;
var _local2 = _local1.split(",");
_release = Number(_local2[2]);
}
logger.debug("[release]: " + _release);
return(_release);
}
static function version() {
initLogger();
if (_version == undefined) {
var _local5 = System.capabilities.version;
var _local4 = _local5.split(",");
var _local2 = _local4[0];
_release = Number(_local4[2]);
var _local3 = "";
var _local1 = 0;
while (_local1 < _local2.length) {
if (isNaN(_local2.charAt(_local1)) == false) {
_local3 = _local3 + _local2.charAt(_local1);
}
_local1++;
}
_version = Number(_local3);
logger.debug("[version]: " + _version);
}
return(_version);
}
static function toString() {
initLogger();
logger.debug("[toString]");
return(("[" + classFQN) + "]");
}
static var className = "PlayerInfo";
static var classPackage = "com.liveuniverse.utils";
static var classFQN = (classPackage + ".") + className;
static var classVersion = "1.1.0";
}
Symbol 63 MovieClip [__Packages.mx.utils.Delegate] Frame 0
class mx.utils.Delegate extends Object
{
var func;
function Delegate (f) {
super();
func = f;
}
static function create(obj, func) {
var _local2 = function () {
var _local2 = arguments.callee.target;
var _local3 = arguments.callee.func;
return(_local3.apply(_local2, arguments));
};
_local2.target = obj;
_local2.func = func;
return(_local2);
}
function createDelegate(obj) {
return(create(obj, func));
}
}
Symbol 64 MovieClip [__Packages.com.liveuniverse.livetv.strap] Frame 0
class com.liveuniverse.livetv.strap extends MovieClip
{
var _visible, text1, text2;
function strap () {
super();
onLoaded();
}
function onLoaded() {
_visible = false;
}
function onStrap(vis, l1, l2) {
_visible = vis;
text1.text = l1;
text2.text = l2;
}
}
Symbol 65 MovieClip [__Packages.com.liveuniverse.livetv.liveTVPlayerComponent] Frame 0
class com.liveuniverse.livetv.liveTVPlayerComponent extends MovieClip
{
var offair_mc, connecting_mc, owner, nc, isHelper, ns, controlbar_mc, wait_ind, lowBWInd, isSuspended, recycleTimeout, fpInt, vid, isPaused, isConnected, title_txt;
function liveTVPlayerComponent () {
super();
trace("LiveTV player component class loaded");
offair_mc._visible = false;
connecting_mc._visible = true;
}
function init(nc, owner, isHelper) {
this.owner = owner;
this.nc = nc;
if (isHelper == true) {
this.isHelper = true;
}
this.nc.liveTVOwner = this;
this.nc.liveTVReset = function () {
this.liveTVOwner.resetStream();
};
ns = new NetStream(this.nc);
ns.owner = this;
ns.resetStream = function () {
this.owner.resetStream();
};
ns.onStreamInfo = function (obj) {
this.owner.owner.onBroadcastStreamData(obj);
this.owner.onBroadcastStreamData(obj);
};
ns.onStatus = function (info) {
if ((info.code == "NetStream.buffer.Full") && (this.bufferTime <= 5)) {
this.setBufferTime(5);
} else if (info.code == "NetStream.buffer.Empty") {
this.setBufferTime(1);
} else if (info.code == "NetStream.Play.Start") {
this.owner.owner.onStreamConnected();
}
};
var _local3 = new Sound();
controlbar_mc.sound = _local3;
controlbar_mc.volume_mc.scrub._x = controlbar_mc.volume_mc.loadbar._width * 0.2;
var _local2 = Math.floor((controlbar_mc.volume_mc.scrub._x / controlbar_mc.volume_mc.loadbar._width) * 100);
controlbar_mc.sound.setVolume(_local2);
controlbar_mc.play_mc.btn_status = "pause";
wait_ind._visible = false;
lowBWInd._visible = false;
controlbar_mc.mute.onRollOver = function () {
this.gotoAndStop(2);
};
controlbar_mc.mute.onRelease = function () {
if (this.isMuted == true) {
this.isMuted = false;
this.gotoAndStop(1);
this._parent.sound.setVolume(this._parent.muteRecoveryVolume);
} else {
this.isMuted = true;
this._parent.muteRecoveryVolume = this._parent.sound.getVolume();
this._parent.sound.setVolume(0);
this.gotoAndStop(3);
}
};
controlbar_mc.mute.onRollOut = (controlbar_mc.mute.onDragOut = (controlbar_mc.mute.onReleaseOutside = function () {
if (this.isMuted != true) {
this.gotoAndStop(1);
} else {
this.gotoAndStop(3);
}
}));
controlbar_mc.volume_mc.scrub.onPress = function () {
this._parent._parent.mute.isMuted = false;
this._parent._parent.mute.gotoAndStop(1);
this.startDrag(false, 0, this._y, this._parent.loadbar._width, this._y);
this.onEnterFrame = function () {
newVol = Math.floor((this._x / this._parent.loadbar._width) * 100);
trace("Feature volume is set to " + newVol);
this._parent._parent.sound.setVolume(newVol);
};
};
controlbar_mc.volume_mc.scrub.onRelease = (controlbar_mc.volume_mc.scrub.onReleaseOutside = function () {
this.stopDrag();
newVol = Math.floor((this._x / this._parent.loadbar._width) * 100);
trace("Feature volume is set to " + newVol);
this._parent._parent.sound.setVolume(newVol);
delete this.onEnterFrame;
});
controlbar_mc.play_mc.onRelease = function () {
trace((("connected= " + this._parent._parent.connected) + " : btn status=") + this.btn_status);
if (this.btn_status == "play") {
trace("press play");
this._parent._parent.ns.receiveAudio(true);
this._parent._parent.ns.receiveVideo(true);
this._parent._parent.isPaused = false;
this.btn_status = "pause";
this.gotoAndStop("pause");
} else if (this.btn_status == "pause") {
trace("press pause");
this._parent._parent.ns.receiveAudio(false);
this._parent._parent.ns.receiveVideo(false);
this.gotoAndStop("play");
this.btn_status = "play";
this._parent._parent.isPaused = true;
}
};
connecting_mc._visible = false;
connectStream();
}
function resetStream() {
if (isSuspended != true) {
ns.play(false);
ns.receiveVideo(true);
ns.receiveAudio(true);
ns.setBufferTime(0);
ns.play("broadcast", -1, -1, true);
lowBWInd._visible = false;
}
}
function connectStream() {
clearTimeout(recycleTimeout);
clearInterval(fpInt);
trace("conecting to stream to play");
ns.owner = this;
ns.onStreamInfo = function (obj) {
this.owner.onBroadcastStreamData(obj);
this.owner.onBroadcastStreamData(obj);
};
ns.onStrap = function (dataObj) {
this.owner.strap.onStrap(dataObj.vis, dataObj.line1, dataObj.line2);
};
ns.onChannelOffair = function (obj) {
this.owner.isOffAir = obj.val;
this.owner.offair_mc._visible = obj.val;
};
ns.setBufferTime(2);
if (isHelper == true) {
owner.onPlayerReady();
}
ns.play("broadcast", -1, -1);
vid.attachVideo(ns);
controlbar_mc.sound.attachAudio(ns);
if (_root.audioState == "mute") {
controlbar_mc.sound.setVolume(0);
}
fpInt = setInterval(this, "checkFPS", 1000);
}
function checkFPS() {
if (((ns.currentFps < 1) && (isPaused != true)) && (isConnected == true)) {
wait_ind._visible = true;
} else {
wait_ind._visible = false;
}
if (ns.liveDelay > 2) {
}
}
function onBroadcastStreamData(obj) {
title_txt.text = obj.title;
owner.onBroadcastStreamData(obj);
}
function recycleProgamStream(lowBW) {
clearTimeout(recycleTimeout);
lowBWInd._visible = false;
if (lowBW == true) {
ns.receiveVideo(false);
ns.receiveAudio(false);
lowBWInd._visible = lowBW;
recycleTimeout = setTimeout(this, "resetStream", 6000);
} else {
ns.receiveVideo(true);
}
}
function suspend(val) {
isSuspended = val;
if (val == true) {
ns.play(false);
} else {
resetStream();
}
}
}
Symbol 66 MovieClip [__Packages.com.liveuniverse.livetv.liveTVPoll] Frame 0
class com.liveuniverse.livetv.liveTVPoll extends MovieClip
{
var isInited, _visible, owner, r_mc, bg, closepoll_btn, votenow_btn, nc, userMode, start_btn, close_btn, end_btn, cancel_btn, q_mc, readyMessage, status_txt, onStartPoll, poll_so, currentPollID, total_txt, _x, _y, question_txt, onCastVote;
function liveTVPoll () {
super();
}
function init(nc, owner, userMode) {
if (isInited != true) {
isInited = true;
_visible = false;
this.owner = owner;
r_mc._visible = false;
bg.useHandCursor = false;
bg.onPress = function () {
this._parent.startDrag();
};
bg.onRelease = (bg.onReleaseOutside = function () {
this.stopDrag();
});
closepoll_btn.onRelease = function () {
this._parent._visible = false;
};
votenow_btn.onRelease = function () {
this._parent.getURL(this._parent.owner.pollRedirect, "_blank");
};
this.nc = nc;
this.nc.pollOwner = this;
this.nc.onPresentPoll = function (id, question, answerArray) {
this.pollOwner.onPresentPoll(id, question, answerArray);
};
this.userMode = userMode;
start_btn.addEventListener("click", mx.utils.Delegate.create(this, startPoll));
close_btn.addEventListener("click", mx.utils.Delegate.create(this, closePoll));
end_btn.addEventListener("click", mx.utils.Delegate.create(this, endPoll));
cancel_btn.addEventListener("click", mx.utils.Delegate.create(this, cancel));
q_mc.vote_btn.onRelease = mx.utils.Delegate.create(this, castVote);
readyMessage = "Enter your poll question and answers, and press the \"Start Poll\" button to present the poll to your audience. Once you start the poll, you cannot change your question or answers.";
status_txt.text = readyMessage;
var _local2 = 0;
while (_local2 < 4) {
this["bar" + _local2].setValue(0);
_local2++;
}
setEnabledStates("ready");
onStartPoll = new Object();
onStartPoll.owner = this;
onStartPoll.onResult = function () {
this.owner.onStartPollEvent();
};
this.owner.openpoll_btn.onRelease = function () {
this._parent.poll.setVisible(true);
};
connectPoll();
}
}
function setVisible(val) {
_visible = val;
}
function connectPoll() {
if (userMode == "pollReplicator") {
poll_so = SharedObject.getRemote("pollReplicatorSync", nc.uri, false);
} else {
poll_so = SharedObject.getRemote("pollSync", nc.uri, false);
}
poll_so.owner = this;
currentPollID = 0;
poll_so.onSync = function () {
this.owner.onPollSync();
};
poll_so.connect(nc);
}
function onPollSync() {
var _local2 = poll_so.data;
if (currentPollID != _local2.currentPoll) {
var _local3 = 0;
while (_local3 < 4) {
q_mc["a" + _local3]._visible = false;
q_mc["a" + _local3].label = "";
r_mc[("r" + _local3) + "_txt"]._visible = false;
r_mc["bar" + _local3]._visible = false;
r_mc["bar" + _local3].setValue(0);
_local3++;
}
}
q_mc.q_txt.text = _local2.currentPollQuestion;
r_mc.total_txt.text = "Total Votes: " + _local2.votesCounted;
total_txt.text = "Total Votes: " + _local2.votesCounted;
var _local3 = 0;
while (_local3 < _local2.currentPollAnswers.length) {
this["bar" + _local3].setValue(_local2.votesByPercent[_local3]);
this["p" + _local3].text = ((_local2.votesByPercent[_local3] + "% (") + _local2.votesByCount[_local3]) + " votes)";
q_mc["a" + _local3].label = _local2.currentPollAnswers[_local3];
r_mc[("r" + _local3) + "_txt"].text = ((((_local2.currentPollAnswers[_local3] + " ") + _local2.votesByPercent[_local3]) + "% (") + _local2.votesByCount[_local3]) + " votes)";
r_mc["bar" + _local3].setValue(_local2.votesByPercent[_local3]);
q_mc["a" + _local3]._visible = true;
r_mc[("r" + _local3) + "_txt"]._visible = true;
r_mc["bar" + _local3]._visible = true;
_local3++;
}
var _local4 = _local3;
while (_local4 < 4) {
q_mc["a" + _local4]._visible = false;
q_mc["a" + _local4].label = "";
r_mc[("r" + _local4) + "_txt"]._visible = false;
r_mc["bar" + _local4]._visible = false;
r_mc["bar" + _local4].setValue(0);
_local4++;
}
if (_local2.showResults == true) {
}
if ((currentPollID != _local2.currentPoll) && (_local2.status == true)) {
currentPollID = _local2.currentPoll;
_local3 = 0;
while (_local3 < 4) {
q_mc["a" + _local3].enabled = true;
_local3++;
}
q_mc.vote_btn._visible = true;
r_mc._visible = false;
setVisible(true);
_local3 = 0;
while (_local3 < 4) {
q_mc["a" + _local3].selected = false;
_local3++;
}
if (((userMode != "producer") && (userMode != "simpleChat")) && (userMode != "pollButton")) {
_x = 80;
_y = 55;
}
if (userMode == "pollReplicator") {
_x = 300;
_y = 110;
}
if (owner.aspUserID > 0) {
} else {
_local4 = 0;
while (_local4 < 4) {
_local4++;
}
r_mc._visible = true;
}
owner.openpoll_btn._visible = true;
}
if ((_local2.status == false) && (currentPollID == _local2.currentPoll)) {
setVisible(false);
owner.openpoll_btn._visible = false;
}
if (_local2.allowVoting == false) {
_local3 = 0;
while (_local3 < 4) {
q_mc["a" + _local3].enabled = false;
_local3++;
}
q_mc.vote_btn._visible = false;
r_mc._visible = true;
}
}
function startPoll() {
setEnabledStates("polling");
var _local4 = question_txt.text;
var _local3 = new Array();
var _local2 = 0;
while (_local2 < 4) {
if (this["a" + _local2].text != "") {
_local3.push(this["a" + _local2].text);
}
this["bar" + _local2].setValue(0);
_local2++;
}
if (_local4 == "") {
onFormError(1);
return(undefined);
}
if (_local3.length < 2) {
onFormError(2);
return(undefined);
}
onSubmitPoll();
nc.call("startPoll", onStartPoll, _local4, _local3);
}
function onStartPollEvent() {
status_txt.text = "Your poll has been presented to the audience. Results will be shown in real time below. Press \"Close Voting\" to stop taking new votes. Press \"End Poll\" to end the polling session and close this window.";
}
function closePoll() {
nc.call("closePoll");
close_btn._visible = false;
status_txt.text = "Your poll has been closed. The audience can still see the results, but no new votes will be taken. Press \"End Poll\" to close this window.";
}
function endPoll() {
nc.call("endPoll");
cancel();
}
function onSubmitPoll() {
status_txt.text = "Preparing poll... one moment please.";
}
function onFormError(code) {
setEnabledStates("ready");
switch (code) {
case 1 :
status_txt.text = "You did not enter a question for the poll. Please enter your question now.";
break;
case 2 :
status_txt.text = "You have entered fewer than 2 answers for this poll. Please enter your answers now.";
}
}
function setEnabledStates(val) {
if (val == "ready") {
question_txt.enabled = true;
start_btn._visible = true;
cancel_btn._visible = true;
close_btn._visible = false;
end_btn._visible = false;
var _local2 = 0;
while (_local2 < 4) {
this["a" + _local2].enabled = true;
_local2++;
}
} else {
question_txt.enabled = false;
start_btn._visible = false;
cancel_btn._visible = false;
close_btn._visible = true;
end_btn._visible = true;
var _local2 = 0;
while (_local2 < 4) {
this["a" + _local2].enabled = false;
_local2++;
}
}
}
function cancel() {
_visible = false;
setEnabledStates("ready");
status_txt.text = readyMessage;
question_txt.text = "";
var _local2 = 0;
while (_local2 < 4) {
this["a" + _local2].text = "";
_local2++;
}
_local2 = 0;
while (_local2 < 4) {
this["bar" + _local2].setValue(0);
_local2++;
}
}
function onPresentPoll(question, answerArray) {
var _local3 = 0;
while (_local3 < 4) {
q_mc["a" + _local3]._visible = false;
r_mc[("r" + _local3) + "_txt"]._visible = false;
r_mc["bar" + _local3]._visible = false;
r_mc["bar" + _local3].setValue(0);
_local3++;
}
q_mc.q_txt.text = question;
var _local2 = 0;
while (_local2 < answerArray.length) {
q_mc["a" + _local2]._visible = true;
q_mc["a" + _local2].label = answerArray[_local2];
r_mc[("r" + _local2) + "_txt"]._visible = true;
r_mc["bar" + _local2]._visible = true;
r_mc["bar" + _local2].setValue(0);
_local2++;
}
}
function castVote() {
if (owner.aspUserID > 0) {
var _local2 = 0;
while (_local2 < 4) {
q_mc["a" + _local2].enabled = false;
_local2++;
}
q_mc.vote_btn._visible = false;
onCastVote = new Object();
onCastVote.owner = this;
onCastVote.onResult = function () {
this.owner.castVoteComplete();
};
nc.call("castVote", onCastVote, currentPollID, q_mc.vote_rg.selectedData, owner.aspUserID);
} else {
owner.onLoginAlert();
}
}
function castVoteComplete() {
r_mc._visible = true;
}
}