#!/bin/zsh
+# Copyright 2014 - 2016 Paul Hänsch
+#
+# This file is part of Serve0
+#
+# Serve0 is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# Serve0 is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with Serve0 If not, see <http://www.gnu.org/licenses/>.
video="$1"
meta="$2"
description="$(sed -n '3,$p' "$meta")"
fi
-eval $(mplayer -noconsolecontrols -input file=/dev/null -slave -really-quiet -identify -frames 0 -ao null -vo null "$video" |sed -rn 's:ID_VIDEO_WIDTH=(.*):width=\1:p;s:ID_VIDEO_HEIGHT=(.*):height=\1:p;s:ID_LENGTH=(.*)(\..*)$:length=\1:p;')
-
-[ -z "$tags" ] && tags='|'
+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
cat <<EOF >"$meta"
-$length $width $height $(basename "$video")
-$tags
-$description
+${length:-0} ${width:-0} ${height:-0} ${video##*/}
+${tags:-|}
+${description}
EOF