} $monitors[$i] = array_merge($monitors[$i], $counts); $seqIdList[] = $monitors[$i]['Id']; $displayMonitors[] = $monitors[$i]; } $states = dbFetchAll("select * from States"); /* XML Dump Starts here */ xml_header(); /* Print out the general section */ xml_tag_sec("ZM_XML", 1); xml_tag_sec("GENERAL", 1); xml_tag_val("RUNNING", $running); xml_tag_val("PROTOVER", ZM_EYEZM_PROTOCOL_VERSION); xml_tag_val("FEATURESET", ZM_EYEZM_FEATURE_SET); xml_tag_val("VERSION", ZM_VERSION); xml_tag_val("CANSTR264", canStream264(1)); xml_tag_val("GD", gdExists()); xml_tag_val("FVCODEC", ZM_EYEZM_FEED_VCODEC); xml_tag_val("FVTMT", ZM_EYEZM_H264_TIMEOUT); xml_tag_val("USER", $user['Username']); xml_tag_val("UID", $user['Id']); /* Permissions block */ xml_tag_sec("PERMS", 1); xml_tag_val("STREAM", $user['Stream']); xml_tag_val("EVENTS", $user['Events']); xml_tag_val("CONTROL", $user['Control']); xml_tag_val("MONITORS", $user['Monitors']); xml_tag_val("DEVICES", $user['Devices']); xml_tag_val("SYSTEM", $user['System']); xml_tag_sec("PERMS", 0); /* End permissions block */
exit; } $monitor = validInteger($_REQUEST['monitor']); if (!isMonitor($monitor)) { exit; } $dims = getMonitorDims($monitor); $width = validInteger(getset('width', $dims['Width'])); $height = validInteger(getset('height', $dims['Height'])); $fps = validInteger(getset('fps', ZM_WEB_VIDEO_MAXFPS)); $scale = validInteger(getset('scale', 100)); $vcodec = validString(getset('vcodec', ZM_EYEZM_FEED_VCODEC)); /* Select which codec we want */ if (!strcmp($vcodec, "h264")) { /* Validate that we can in fact stream H264 */ if (!canStream264()) { /* canStream264 will print out error if * there is one */ echo "Server cannot stream H264. Check eyeZm log for details"; exit; } if (!requireVer("1", "2")) { echo "H264 Streaming requires eyeZm v1.2 or above"; logXmlErr("H264 Streaming requires eyeZm v1.2 or above"); exit; } $br = validString(getset('br', ZM_EYEZM_H264_DEFAULT_BR)); /* H264 processing */ noCacheHeaders(); /* Kill any existing processes and files */ kill264proc($monitor);