<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" import="java.net.*,java.io.*" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> <%@ taglib prefix="sagefav" tagdir="/WEB-INF/tags/sage/api/favorite" %> <%@ taglib prefix="sageglbl" tagdir="/WEB-INF/tags/sage/api/global" %> <%@ taglib prefix="sagemf" tagdir="/WEB-INF/tags/sage/api/mediafile" %> <%@ taglib prefix="sagedb" tagdir="/WEB-INF/tags/sage/api/database" %> <%@ taglib prefix="sageshow" tagdir="/WEB-INF/tags/sage/api/show" %> <%@ taglib prefix="sageair" tagdir="/WEB-INF/tags/sage/api/airing" %> <%@ taglib prefix="sagecfg" tagdir="/WEB-INF/tags/sage/api/configuration" %> <%@ taglib prefix="sagetc" tagdir="/WEB-INF/tags/sage/api/transcode" %> <%@ taglib prefix="sageutil" tagdir="/WEB-INF/tags/sage/api/utility" %> <%@ taglib prefix="sageairfn" tagdir="/WEB-INF/tags/sage/functions/airing" %> <%@ taglib prefix="sageutilfn" tagdir="/WEB-INF/tags/sage/functions/utility" %> <%@ taglib prefix="sagecapdevfn" tagdir="/WEB-INF/tags/sage/functions/capturedevice" %> <%@ include file="/WEB-INF/jspf/m/cacheheaders.jspf" %> <%@ include file="/WEB-INF/jspf/m/contextpath.jspf"%> <%-- Get airing, airingId, mediaFile, mediaFileId --%> <%-- TODO if invalid media file id --%> <%--c:set var="idArg" value="MediaFileId=${param.MediaFileId}"/--%> <%--c:set var="idArg" value="AiringId=${param.AiringId}"/--%> "${airingTitle}" Details <%@ include file="/WEB-INF/jspf/m/htmlheaders.jspf"%> <%-- error in GetScheduledEncoder --%>
<%-- 6.0 only API --%>
${airingTitle} This show is currently recording.
<%--div id="status" class="progress button hidden"> <%--img id="overlay" src="/stream/MediaFileThumbnailServlet?MediaFileId=${mediaFileId}" width="${videoElementWidth}" height="${videoElementHeight}"--%> <%--div style="content: url(images/spinner.gif);">

<% if (pageContext.getAttribute("mediaFileId")!=null) { String mediaid = pageContext.getAttribute("mediaFileId").toString(); String strURL = "Http://" + request.getServerName() + ":" + request.getServerPort() + "/stream/HTTPLiveStreamingPlaylist?MediaFileId=" + mediaid; URL url = new URL(strURL); BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream())); String str; while ((str = in.readLine()) != null) { if(!str.contains("#EXT")){ %> > <% if(str.length() > 140 ){out.println("Stream Quality = " +str.substring(str.length()-4,str.length()));} else {out.println("Stream Quality = " + str.substring(str.length()-3,str.length()));} %>
<% } } in.close(); } %>
<%@ include file="/WEB-INF/jspf/m/conflictmarkers.jspf" %>

Episode: ${episode}

Description: ${description}

<%@ include file="/WEB-INF/jspf/m/markers.jspf" %>

<%@ include file="/WEB-INF/jspf/m/ratings.jspf" %>

Aired: Airing: ${airingDate}, ${airingStartTime} - ${airingEndTime} - Archived

Duration: ${duration}

Channel: ${channelNumber}-${channelName}

<%-- -- Recording/Recorded/Scheduled to Record time --%>

Recording: ${fileStartTime} - ${scheduleEndTime}

Recorded: ${fileStartTime} - ${fileEndTime}

Scheduled to Record: ${scheduleStartTime} - ${scheduleEndTime}

Scheduled Encoder: ${scheduledEncoder}

Show Details

Rating: ${rating} for ${expandedRatings}

Rated: ${rated} for ${expandedRatings}

Category: ${category}/${subcategory} - First Run - ReRun - ${year}

Run Time: ${formattedDuration}

Original Air Date: ${originalAiringDate}

${extraDetails}

${showMisc}

Language: ${showLanguage}

Show ID: ${showId}

<%-- People --%>

Starring: ${starring}

Co-Starring: ${costarring}

Guest Stars: ${gueststars}

Director: ${director}

Producer: ${producer}

Writer: ${writer}

Choreographer: ${choreographer}

Sports Figure: ${sportsfigure}

Coach: ${coach}

Host: ${host}

Executive Producer: ${executiveproducer}

Artist: ${artist}

Media File Details

Encoded by: ${encoding}

Files:
   ${file}

<%-- 6.0 only API --%>

Format: ${formatDescription}

Size: ${formattedSize} GB

Size: ${formattedSize} MB

Internal Details

MediaFileID: ${mediaFileId}

AiringID: ${airingId}

<%-- details --%> <%-- Airing is in the future or is currently recording --%>
Recording Options
Padding (minutes)
<%-- Padding --%>
<%-- ${pageContext.request.requestURL} does not work with reverse proxy --%> <%-- TODO vertical-align: middle --%>Start Pad: "/> minutes
End Pad: "/> minutes
<%-- TODO doesn't jump to conflicts page--%>
<%-- Quality --%> <%-- Don't allow modification of recording quality if recording has started or if it's HD --%>
Quality
<%--Quality:
--%> <%--div style="padding-top: 2px;">
<%--c:if test="${(!empty contexts or !empty connectedClients or isSafari) and (isMediaFileObject or (isStartedAiring and not isPastAiring))}"--%>
Watch Now
"/> <%--button type="button" onClick="location.href='webremote.jsp?context=${context}'">${contextName} Web Remote
"/> <%--button type="button" onClick="location.href='webremote.jsp?context=${client}'">${clientName} Web Remote
Options
<%--tr> <%--tr> <%--tr> <%-- Recording Options --%> <%-- Airing is in the future or is currently recording --%> <%-- Cancel Recording --%> <%-- Airing is in the past --%> <%--c:if test="${isStartedAiring}"--%> <%--c:if test="${!empty mediaFile and isPastAiring}"--%> <%--tr> <%-- airing is an unresolved conflict --%> <%--tr> <%-- 5.1 only API --%> <%-- try { if ( airing.idType==Airing.ID_TYPE_MEDIAFILE && !SageApi.booleanApi("IsDVD",new Object[]{airing.sageAiring}) && SageApi.booleanApi("IsVideoFile",new Object[]{airing.sageAiring}) && !SageApi.booleanApi("IsFileCurrentlyRecording",new Object[]{airing.sageAiring}) && SageApi.booleanApi("CanFileBeTranscoded",new Object[]{airing.sageAiring})){ out.println("
  • "); out.println(" "); out.println(" Convert"); out.println(" " + "
  • "); } } catch (InvocationTargetException e) { // transcoding not supported prior to V6 } --%>
    TODO call a servlet which starts a vlc transcode and returns an sdp file which points to the stream
    <%--if (! airing.getTitle().startsWith("Timed Record")) <%--/c:if--%>
    <%-- <%= request.getHeader("HOST") %>
    ${pageContext.request.requestURL}
    ${pageContext.request.requestURI}
    ${pageContext.request.scheme}://${pageContext.request.localName}:${pageContext.request.localPort}${cp}${pageContext.request.servletPath}${pageContext.request.pathTranslated}
    ${pageContext.request.scheme}://${pageContext.request.localName}:${pageContext.request.localPort}${pageContext.request.requestURI} --%>
    <%-- TODO redirect doesn't work through reverse proxy --%> <%-- TODO need jsessionid --%> <%--input type="hidden" name="returnto" value="${pageContext.request.requestURL}?${pageContext.request.queryString}"/--%> <%--input type="hidden" name="returnto" value="${pageContext.request.scheme}://${pageContext.request.localName}:${pageContext.request.localPort}${pageContext.request.requestURI}?${pageContext.request.queryString}"/--%>
    <%--form action="${cp}/m/convert.jsp" method="get"--%>
    <%-- options body --%> <%-- content --%> <%@ include file="/WEB-INF/jspf/m/footer.jspf" %>