#!/bin/zsh
-# Copyright 2014, 2015 Paul Hänsch
+# Copyright 2014 2016 Paul Hänsch
#
# This file is part of Serve0.
#
# You should have received a copy of the GNU Affero General Public License
# along with Serve0. If not, see <http://www.gnu.org/licenses/>.
-info="$_GET[\"i\"]"
. $_EXEC/pages/common.sh
+info="${_GET[i]}"
+location="$(invalidate "${_GET[l]}" '(.*/)?\.\.(/.*)?|' /)"
+directory="${location%/*}"
+
+TITLE="$info"
+
meta="${_DATA}/meta/$info.meta"
-video="${_DATA}/videos/$info"
+[ -n "$info" ] && video="${_DATA}/videos/$info" \
+ || video="${treeroot%/}/${location#/}"
tags="$(sed -n '2p' "$meta")"
description="$(sed -n '3,$p' "$meta")"
length=0; width=0; height=0;
-eval $(mplayer -noconsolecontrols -input file=/dev/null -slave -really-quiet -identify -frames 0 -ao null -vo null "$video" 2>/dev/null\
-| sed -rn 's:ID_VIDEO_WIDTH=(.*):width=\1:p;s:ID_VIDEO_HEIGHT=(.*):height=\1:p;s:ID_LENGTH=(.*)(\..*)$:length=\1:p;')
-video="videos/$info"
-case "$1" in
- title)
- echo "Videos"
- ;;
- css)
- . ${_EXEC}/templates/common.css.sh
- ;;
- body)
- . ${_EXEC}/templates/view.html.sh
- ;;
-esac
+debug "Analysing video: $video"
+printf '' |mplayer -input nodefault-bindings -nosound -vo null -identify -frames 0 "$video" \
+| sort \
+| sed -rn 's:ID_LENGTH=(.*)(\..*)$:\1:p;
+ s:ID_VIDEO_HEIGHT=(.*):\1:p;
+ s:ID_VIDEO_WIDTH=(.*):\1:p;' \
+| tr '\n' ' ' \
+| read length height width 2>/dev/null
+
+video="videos/$info"
+[ -n "$info" ] && video="videos/$info" \
+ || video="${location#/}"