} // This is for input sanitation $mid = intval($_REQUEST['mid']); if (!visibleMonitor($mid)) { $view = "error"; return; } $sql = 'SELECT C.*, M.* FROM Monitors AS M LEFT JOIN Controls AS C ON (M.ControlId = C.Id ) WHERE M.Id = ?'; $monitor = new Monitor($mid); #dbFetchOne( $sql, NULL, array( $_REQUEST['mid'] ) ); if (isset($_REQUEST['showControls'])) { $showControls = validInt($_REQUEST['showControls']); } else { $showControls = canView('Control') && $monitor->DefaultView() == 'Control'; } $showPtzControls = ZM_OPT_CONTROL && $monitor->Controllable() && canView('Control'); if (isset($_REQUEST['scale'])) { $scale = validInt($_REQUEST['scale']); } else { $scale = reScale(SCALE_BASE, $monitor->DefaultScale, ZM_WEB_DEFAULT_SCALE); } $connkey = generateConnKey(); if (ZM_WEB_STREAM_METHOD == 'mpeg' && ZM_MPEG_LIVE_FORMAT) { $streamMode = "mpeg"; $streamSrc = $monitor->getStreamSrc(array("mode=" . $streamMode, "scale=" . $scale, "bitrate=" . ZM_WEB_VIDEO_BITRATE, "maxfps=" . ZM_WEB_VIDEO_MAXFPS, "format=" . ZM_MPEG_LIVE_FORMAT)); } elseif (canStream()) { $streamMode = "jpeg"; $streamSrc = $monitor->getStreamSrc(array("mode=" . $streamMode, "scale=" . $scale, "maxfps=" . ZM_WEB_VIDEO_MAXFPS, "buffer=" . $monitor->StreamReplayBuffer())); } else { $streamMode = "single"; $streamSrc = $monitor->getStreamSrc(array("mode=" . $streamMode, "scale=" . $scale));