view tests/faterun.sh @ 37159:d4fbf2eb4a04

Ensure up-to-dateness of global_sub information upon request. Some demuxers (like mpg) can detect subtitles only while playing, which is the reason why MPlayer always - indirectly - calls update_global_sub_size() prior to dealing with subtitles. Functions mpctx_get_global_sub_size() and mpctx_get_global_sub_pos(), however, merely return last determined values, thus missing information that may have been arisen after MPlayer has checked last for subtitles (when playback started). Merge the two mpctx_get_global_sub_*() functions into one for easier handling. Retrieve global_sub pos by a mp_property_do("sub") command which performs the necessary update of both global_sub variables, pos and size. Reported by Lode Leroy, lode.leroy gmail com.
author ib
date Sun, 17 Aug 2014 18:06:56 +0000
parents 8d19b1ec5ea5
children
line wrap: on
line source

#!/bin/sh
if [ -z "$FATE_SAMPLES" ] ; then
  echo "FATE_SAMPLES is not set!"
  exit 1
fi

sample="$1"
md5out="tests/res/$sample.md5"
ref_file="tests/ref/$sample.md5"
options="-noconfig all -lavdopts threads=4:bitexact:idct=2 -really-quiet -noconsolecontrols -nosound -benchmark"
if [ -z ${sample##h264-conformance/*} ] ; then
  # these files generally only work when a fps is given explicitly
  options="$options -fps 25"
fi
echo "testing $sample"

# create necessary files and run
mkdir -p $(dirname "$md5out")
touch "$md5out"
./mplayer $options -vo md5sum:outfile="$md5out" "$FATE_SAMPLES/$sample"

# check result
if ! [ -e "$ref_file" ] ; then
  touch tests/ref/empty.md5
  ref_file=tests/ref/empty.md5
fi
if ! diff -uw "$ref_file" "$md5out" ; then
  mv "$md5out" "$md5out.bad"
  exit 1
fi