...
 
Commits (2)
commit b851de7220657aaba96d447abd2937ffd2a23490
Author: Jean-Baptiste Kempf <jb@videolan.org>
Date: Tue Feb 5 16:16:13 2019 +0100
Update NEWS for 6.0.1
commit 34bb5af1400606fc7cd15e5770d149f38adc8f51
Author: Jean-Baptiste Kempf <jb@videolan.org>
Date: Tue Feb 5 15:18:39 2019 +0100
Update Release version to 6.0.1
commit 1f4136e86450d58146683a065b829c812e9602d4
Author: Jean-Baptiste Kempf <jb@videolan.org>
Date: Tue Feb 5 16:09:47 2019 +0100
Fix fallthrough warning
commit 98423d6aa67cfdcc2def0600d82a877a6646c403
Author: Nicolas Porcel <nicolasporcel06@gmail.com>
Date: Tue Feb 6 02:57:44 2018 +0100
Fix dvd burnt with Nero
Some DVD written with Nero Burning ROM have faulty IFO files that make
them unreadable with libdvdread. The condition removed is checked anyway
using the CHECK_VALUE macro.
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
commit b1f3681b2b7e19c0c060771f9d5acc2db2ec7a1a
Author: John Stebbins <stebbins@jetheaddev.com>
Date: Wed Jan 25 10:08:31 2017 -0700
Don't ignore I/O errors in InternalUDFReadBlocksRaw
Ignoring these errors can lead to hanging in a loop for hours on damaged
images.
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
commit 3ba6d4eb22acb316eaec5de907ca815f6a6415c7
Author: Jean-Baptiste Kempf <jb@videolan.org>
Date: Tue Feb 5 15:15:47 2019 +0100
Update NEWS
commit 978c6275c004db5485fb7ffde2508b89cc45c7f7
Author: Thomas Guillem <thomas@gllm.fr>
Date: Tue Jan 8 15:51:08 2019 +0100
Invalidate cache when forcing filesize
This fixes playback of Resident Evil Extention DVD.
commit 30e4a6e29862024a95a2e0a731025e4d7f783b6b
Author: Konstantin Pavlov <thresh@videolan.org>
Date: Fri Nov 30 18:05:22 2018 +0300
CI: added debian, macos, win32 and win64 build jobs.
commit 95fdbe8337d2ff31dcfb68f35f3e4441dc27d92f
Author: Jean-Baptiste Kempf <jb@videolan.org>
Date: Sun Jan 14 10:45:31 2018 +0100
......
# Makefile.in generated by automake 1.15.1 from Makefile.am.
# Makefile.in generated by automake 1.16.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# Copyright (C) 1994-2018 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
......@@ -165,7 +165,12 @@ am__v_at_0 = @
am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
am__maybe_remake_depfiles = depfiles
am__depfiles_remade = src/$(DEPDIR)/bitreader.Plo \
src/$(DEPDIR)/dvd_input.Plo src/$(DEPDIR)/dvd_reader.Plo \
src/$(DEPDIR)/dvd_udf.Plo src/$(DEPDIR)/ifo_print.Plo \
src/$(DEPDIR)/ifo_read.Plo src/$(DEPDIR)/md5.Plo \
src/$(DEPDIR)/nav_print.Plo src/$(DEPDIR)/nav_read.Plo
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
......@@ -433,8 +438,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' $(SHELL) ./config.status'; \
$(SHELL) ./config.status;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
......@@ -528,15 +533,21 @@ mostlyclean-compile:
distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/bitreader.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/dvd_input.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/dvd_reader.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/dvd_udf.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/ifo_print.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/ifo_read.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/md5.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/nav_print.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/nav_read.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/bitreader.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/dvd_input.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/dvd_reader.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/dvd_udf.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/ifo_print.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/ifo_read.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/md5.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/nav_print.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/nav_read.Plo@am__quote@ # am--include-marker
$(am__depfiles_remade):
@$(MKDIR_P) $(@D)
@echo '# dummy' >$@-t && $(am__mv) $@-t $@
am--depfiles: $(am__depfiles_remade)
.c.o:
@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
......@@ -694,7 +705,10 @@ distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
distdir: $(DISTFILES)
distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am
distdir-am: $(DISTFILES)
$(am__remove_distdir)
test -d "$(distdir)" || mkdir "$(distdir)"
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
......@@ -906,7 +920,15 @@ clean-am: clean-generic clean-libLTLIBRARIES clean-libtool clean-local \
distclean: distclean-am
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -rf src/$(DEPDIR)
-rm -f src/$(DEPDIR)/bitreader.Plo
-rm -f src/$(DEPDIR)/dvd_input.Plo
-rm -f src/$(DEPDIR)/dvd_reader.Plo
-rm -f src/$(DEPDIR)/dvd_udf.Plo
-rm -f src/$(DEPDIR)/ifo_print.Plo
-rm -f src/$(DEPDIR)/ifo_read.Plo
-rm -f src/$(DEPDIR)/md5.Plo
-rm -f src/$(DEPDIR)/nav_print.Plo
-rm -f src/$(DEPDIR)/nav_read.Plo
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-hdr distclean-libtool distclean-tags
......@@ -955,7 +977,15 @@ installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -rf $(top_srcdir)/autom4te.cache
-rm -rf src/$(DEPDIR)
-rm -f src/$(DEPDIR)/bitreader.Plo
-rm -f src/$(DEPDIR)/dvd_input.Plo
-rm -f src/$(DEPDIR)/dvd_reader.Plo
-rm -f src/$(DEPDIR)/dvd_udf.Plo
-rm -f src/$(DEPDIR)/ifo_print.Plo
-rm -f src/$(DEPDIR)/ifo_read.Plo
-rm -f src/$(DEPDIR)/md5.Plo
-rm -f src/$(DEPDIR)/nav_print.Plo
-rm -f src/$(DEPDIR)/nav_read.Plo
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
......@@ -978,15 +1008,15 @@ uninstall-am: uninstall-dist_docDATA uninstall-libLTLIBRARIES \
$(MAKE) $(AM_MAKEFLAGS) uninstall-hook
.MAKE: all install-am install-strip uninstall-am
.PHONY: CTAGS GTAGS TAGS all all-am all-local am--refresh check \
check-am clean clean-cscope clean-generic clean-libLTLIBRARIES \
clean-libtool clean-local cscope cscopelist-am ctags ctags-am \
dist dist-all dist-bzip2 dist-gzip dist-lzip dist-shar \
dist-tarZ dist-xz dist-zip distcheck distclean \
distclean-compile distclean-generic distclean-hdr \
distclean-libtool distclean-tags distcleancheck distdir \
distuninstallcheck dvi dvi-am html html-am info info-am \
install install-am install-data install-data-am \
.PHONY: CTAGS GTAGS TAGS all all-am all-local am--depfiles am--refresh \
check check-am clean clean-cscope clean-generic \
clean-libLTLIBRARIES clean-libtool clean-local cscope \
cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \
dist-gzip dist-lzip dist-shar dist-tarZ dist-xz dist-zip \
distcheck distclean distclean-compile distclean-generic \
distclean-hdr distclean-libtool distclean-tags distcleancheck \
distdir distuninstallcheck dvi dvi-am html html-am info \
info-am install install-am install-data install-data-am \
install-data-local install-dist_docDATA install-dvi \
install-dvi-am install-exec install-exec-am install-html \
install-html-am install-info install-info-am \
......
libdvdread (6.0.1)
* fix a regression on some DVDs, like Resident Evil
* check InternalUDFReadBlocksRaw I/O issues
* fix issues with some DVD burnt by Nero
libdvdread (6.0.0)
* restrict the number of symbols to be exposed to the shared-object
* remove dvdinput_error function
......
This diff is collapsed.
#! /bin/sh
# Wrapper for compilers which do not understand '-c -o'.
scriptversion=2012-10-14.11; # UTC
scriptversion=2018-03-07.03; # UTC
# Copyright (C) 1999-2014 Free Software Foundation, Inc.
# Copyright (C) 1999-2018 Free Software Foundation, Inc.
# Written by Tom Tromey <tromey@cygnus.com>.
#
# This program is free software; you can redistribute it and/or modify
......@@ -17,7 +17,7 @@ scriptversion=2012-10-14.11; # UTC
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# along with this program. If not, see <https://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
......@@ -255,7 +255,8 @@ EOF
echo "compile $scriptversion"
exit $?
;;
cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \
icl | *[/\\]icl | icl.exe | *[/\\]icl.exe )
func_cl_wrapper "$@" # Doesn't return...
;;
esac
......@@ -339,9 +340,9 @@ exit $ret
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# eval: (add-hook 'before-save-hook 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC"
# time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC"
# End:
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
dnl library version number
m4_define([dvdread_major], 6)
m4_define([dvdread_minor], 0)
m4_define([dvdread_micro], 0)
m4_define([dvdread_micro], 1)
m4_define([dvdread_version],[dvdread_major.dvdread_minor.dvdread_micro])
AC_INIT(libdvdread, dvdread_version)
......
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
scriptversion=2016-01-11.22; # UTC
scriptversion=2018-03-07.03; # UTC
# Copyright (C) 1999-2017 Free Software Foundation, Inc.
# Copyright (C) 1999-2018 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
......@@ -16,7 +16,7 @@ scriptversion=2016-01-11.22; # UTC
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# along with this program. If not, see <https://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
......@@ -783,7 +783,7 @@ exit 0
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# eval: (add-hook 'before-save-hook 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC0"
......
#!/bin/sh
# install - install a program, script, or datafile
scriptversion=2014-09-12.12; # UTC
scriptversion=2018-03-11.20; # UTC
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
......@@ -271,15 +271,18 @@ do
fi
dst=$dst_arg
# If destination is a directory, append the input filename; won't work
# if double slashes aren't ignored.
# If destination is a directory, append the input filename.
if test -d "$dst"; then
if test "$is_target_a_directory" = never; then
echo "$0: $dst_arg: Is a directory" >&2
exit 1
fi
dstdir=$dst
dst=$dstdir/`basename "$src"`
dstbase=`basename "$src"`
case $dst in
*/) dst=$dst$dstbase;;
*) dst=$dst/$dstbase;;
esac
dstdir_status=0
else
dstdir=`dirname "$dst"`
......@@ -288,6 +291,11 @@ do
fi
fi
case $dstdir in
*/) dstdirslash=$dstdir;;
*) dstdirslash=$dstdir/;;
esac
obsolete_mkdir_used=false
if test $dstdir_status != 0; then
......@@ -324,14 +332,16 @@ do
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
;;
*)
# $RANDOM is not portable (e.g. dash); use it when possible to
# lower collision chance
# Note that $RANDOM variable is not portable (e.g. dash); Use it
# here however when possible just to lower collision chance.
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0
# As "mkdir -p" follows symlinks and we work in /tmp possibly; so
# create the $tmpdir first (and fail if unsuccessful) to make sure
# that nobody tries to guess the $tmpdir name.
# Because "mkdir -p" follows existing symlinks and we likely work
# directly in world-writeable /tmp, make sure that the '$tmpdir'
# directory is successfully created first before we actually test
# 'mkdir -p' feature.
if (umask $mkdir_umask &&
$mkdirprog $mkdir_mode "$tmpdir" &&
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
......@@ -434,8 +444,8 @@ do
else
# Make a couple of temp file names in the proper directory.
dsttmp=$dstdir/_inst.$$_
rmtmp=$dstdir/_rm.$$_
dsttmp=${dstdirslash}_inst.$$_
rmtmp=${dstdirslash}_rm.$$_
# Trap to clean up those temp files at exit.
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
......@@ -500,9 +510,9 @@ do
done
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# eval: (add-hook 'before-save-hook 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC"
# time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC"
# End:
This diff is collapsed.
......@@ -4063,7 +4063,8 @@ _LT_EOF
if AC_TRY_EVAL(ac_compile); then
# Now try to grab the symbols.
nlist=conftest.nm
if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then
$ECHO "$as_me:$LINENO: $NM conftest.$ac_objext | $lt_cv_sys_global_symbol_pipe > $nlist" >&AS_MESSAGE_LOG_FD
if eval "$NM" conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist 2>&AS_MESSAGE_LOG_FD && test -s "$nlist"; then
# Try sorting and uniquifying the output.
if sort "$nlist" | uniq > "$nlist"T; then
mv -f "$nlist"T "$nlist"
......@@ -6438,7 +6439,7 @@ if test yes != "$_lt_caught_CXX_error"; then
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
# linking a shared library.
output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"'
else
GXX=no
......@@ -6813,7 +6814,7 @@ if test yes != "$_lt_caught_CXX_error"; then
# explicitly linking system object files so we need to strip them
# from the output so that they don't get included in the library
# dependencies.
output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
;;
*)
if test yes = "$GXX"; then
......@@ -6878,7 +6879,7 @@ if test yes != "$_lt_caught_CXX_error"; then
# explicitly linking system object files so we need to strip them
# from the output so that they don't get included in the library
# dependencies.
output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
;;
*)
if test yes = "$GXX"; then
......@@ -7217,7 +7218,7 @@ if test yes != "$_lt_caught_CXX_error"; then
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
# linking a shared library.
output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"'
else
# FIXME: insert proper C++ library support
......@@ -7301,7 +7302,7 @@ if test yes != "$_lt_caught_CXX_error"; then
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
# linking a shared library.
output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"'
else
# g++ 2.7 appears to require '-G' NOT '-shared' on this
# platform.
......@@ -7312,7 +7313,7 @@ if test yes != "$_lt_caught_CXX_error"; then
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
# linking a shared library.
output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"'
fi
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir'
......
#! /bin/sh
# Common wrapper for a few potentially missing GNU programs.
scriptversion=2013-10-28.13; # UTC
scriptversion=2018-03-07.03; # UTC
# Copyright (C) 1996-2014 Free Software Foundation, Inc.
# Copyright (C) 1996-2018 Free Software Foundation, Inc.
# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
# This program is free software; you can redistribute it and/or modify
......@@ -17,7 +17,7 @@ scriptversion=2013-10-28.13; # UTC
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# along with this program. If not, see <https://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
......@@ -101,9 +101,9 @@ else
exit $st
fi
perl_URL=http://www.perl.org/
flex_URL=http://flex.sourceforge.net/
gnu_software_URL=http://www.gnu.org/software
perl_URL=https://www.perl.org/
flex_URL=https://github.com/westes/flex
gnu_software_URL=https://www.gnu.org/software
program_details ()
{
......@@ -207,9 +207,9 @@ give_advice "$1" | sed -e '1s/^/WARNING: /' \
exit $st
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# eval: (add-hook 'before-save-hook 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC"
# time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC"
# End:
......@@ -1156,13 +1156,13 @@ int InternalUDFReadBlocksRaw( const dvd_reader_t *device, uint32_t lb_number,
if( !device->dev ) {
fprintf( stderr, "libdvdread: Fatal error in block read.\n" );
return 0;
return -1;
}
ret = dvdinput_seek( device->dev, (int) lb_number );
if( ret != (int) lb_number ) {
fprintf( stderr, "libdvdread: Can't seek to block %u\n", lb_number );
return 0;
return ret;
}
ret = dvdinput_read( device->dev, (char *) data,
......@@ -1332,6 +1332,8 @@ int DVDFileSeekForce(dvd_file_t *dvd_file, int offset, int force_size)
force_size = (offset - 1) / DVD_VIDEO_LB_LEN + 1;
if( dvd_file->filesize < force_size ) {
dvd_file->filesize = force_size;
free(dvd_file->cache);
dvd_file->cache = NULL;
fprintf(stderr, "libdvdread: Ignored size of file indicated in UDF.\n");
}
}
......
......@@ -516,6 +516,7 @@ static int UDFMapICB( dvd_reader_t *device, struct AD ICB, uint8_t *FileType,
uint32_t lbnum;
uint16_t TagID;
struct icbmap tmpmap;
int ret;
lbnum = partition->Start + ICB.Location;
tmpmap.lbn = lbnum;
......@@ -526,10 +527,16 @@ static int UDFMapICB( dvd_reader_t *device, struct AD ICB, uint8_t *FileType,
}
do {
if( DVDReadLBUDF( device, lbnum++, 1, LogBlock, 0 ) <= 0 )
ret = DVDReadLBUDF( device, lbnum++, 1, LogBlock, 0 );
if( ret < 0 ) {
return ret;
}
else if( ret == 0 ) {
TagID = 0;
else
}
else {
UDFDescriptor( LogBlock, &TagID );
}
if( TagID == FileEntry ) {
UDFFileEntry( LogBlock, FileType, partition, File );
......@@ -564,6 +571,7 @@ static int UDFScanDir( dvd_reader_t *device, struct AD Dir, char *FileName,
uint8_t *cached_dir_base = NULL, *cached_dir;
uint32_t dir_lba;
struct AD tmpICB;
int ret;
/* Scan dir for ICB of file */
lbnum = partition->Start + Dir.Location;
......@@ -579,10 +587,13 @@ static int UDFScanDir( dvd_reader_t *device, struct AD Dir, char *FileName,
if((cached_dir_base = malloc(dir_lba * DVD_VIDEO_LB_LEN + 2048)) == NULL)
return 0;
cached_dir = (uint8_t *)(((uintptr_t)cached_dir_base & ~((uintptr_t)2047)) + 2048);
if( DVDReadLBUDF( device, lbnum, dir_lba, cached_dir, 0) <= 0 ) {
ret = DVDReadLBUDF( device, lbnum, dir_lba, cached_dir, 0);
if( ret <= 0 ) {
free(cached_dir_base);
cached_dir_base = NULL;
cached_dir = NULL;
if( ret < 0 )
return ret;
}
/*
if(cached_dir) {
......@@ -677,6 +688,7 @@ static int UDFGetAVDP( dvd_reader_t *device,
uint32_t lastsector;
int terminate;
struct avdp_t;
int ret;
if(GetUDFCache(device, AVDPCache, 0, avdp))
return 1;
......@@ -687,11 +699,16 @@ static int UDFGetAVDP( dvd_reader_t *device,
terminate = 0;
for(;;) {
if( DVDReadLBUDF( device, lbnum, 1, Anchor, 0 ) > 0 ) {
UDFDescriptor( Anchor, &TagID );
} else {
ret = DVDReadLBUDF( device, lbnum, 1, Anchor, 0 );
if( ret < 0 ) {
return ret;
}
else if( ret == 0 ) {
TagID = 0;
}
else {
UDFDescriptor( Anchor, &TagID );
}
if (TagID != AnchorVolumeDescriptorPointer) {
/* Not an anchor */
if( terminate ) return 0; /* Final try failed */
......@@ -742,7 +759,7 @@ static int UDFFindPartition( dvd_reader_t *device, int partnum,
uint8_t *LogBlock = (uint8_t *)(((uintptr_t)LogBlock_base & ~((uintptr_t)2047)) + 2048);
uint32_t lbnum, MVDS_location, MVDS_length;
uint16_t TagID;
int i, volvalid;
int i, volvalid, ret;
struct avdp_t avdp;
if(!UDFGetAVDP(device, &avdp))
......@@ -761,10 +778,16 @@ static int UDFFindPartition( dvd_reader_t *device, int partnum,
lbnum = MVDS_location;
do {
if( DVDReadLBUDF( device, lbnum++, 1, LogBlock, 0 ) <= 0 )
ret = DVDReadLBUDF( device, lbnum++, 1, LogBlock, 0 );
if( ret < 0 ) {
return ret;
}
else if( ret == 0 ) {
TagID = 0;
else
}
else {
UDFDescriptor( LogBlock, &TagID );
}
if( ( TagID == PartitionDescriptor ) && ( !part->valid ) ) {
/* Partition Descriptor */
......@@ -805,6 +828,7 @@ uint32_t UDFFindFile( dvd_reader_t *device, const char *filename,
struct AD RootICB, File, ICB;
char tokenline[ MAX_UDF_FILE_NAME_LEN ];
uint8_t filetype;
int ret;
*filesize = 0;
tokenline[0] = '\0';
......@@ -820,10 +844,16 @@ uint32_t UDFFindFile( dvd_reader_t *device, const char *filename,
/* Find root dir ICB */
lbnum = partition.Start;
do {
if( DVDReadLBUDF( device, lbnum++, 1, LogBlock, 0 ) <= 0 )
ret = DVDReadLBUDF( device, lbnum++, 1, LogBlock, 0 );
if( ret < 0 ) {
return ret;
}
else if( ret == 0 ) {
TagID = 0;
else
}
else {
UDFDescriptor( LogBlock, &TagID );
}
/* File Set Descriptor */
if( TagID == FileSetDescriptor ) /* File Set Descriptor */
......@@ -886,7 +916,7 @@ static int UDFGetDescriptor( dvd_reader_t *device, int id,
uint32_t lbnum, MVDS_location, MVDS_length;
struct avdp_t avdp;
uint16_t TagID;
int i, desc_found = 0;
int i, desc_found = 0, ret;
/* Find Anchor */
lbnum = 256; /* Try #1, prime anchor */
if(bufsize < DVD_VIDEO_LB_LEN)
......@@ -904,10 +934,16 @@ static int UDFGetDescriptor( dvd_reader_t *device, int id,
/* Find Descriptor */
lbnum = MVDS_location;
do {
if( DVDReadLBUDF( device, lbnum++, 1, descriptor, 0 ) <= 0 )
ret = DVDReadLBUDF( device, lbnum++, 1, descriptor, 0 );
if( ret < 0 ) {
return ret;
}
else if( ret == 0 ) {
TagID = 0;
else
}
else {
UDFDescriptor( descriptor, &TagID );
}
if( (TagID == id) && ( !desc_found ) )
/* Descriptor */
desc_found = 1;
......
......@@ -27,9 +27,9 @@
#define DVDREAD_VERSION_MAJOR 6
#define DVDREAD_VERSION_MINOR 0
#define DVDREAD_VERSION_MICRO 0
#define DVDREAD_VERSION_MICRO 1
#define DVDREAD_VERSION_STRING "6.0.0"
#define DVDREAD_VERSION_STRING "6.0.1"
#define DVDREAD_VERSION \
DVDREAD_VERSION_CODE(DVDREAD_VERSION_MAJOR, DVDREAD_VERSION_MINOR, DVDREAD_VERSION_MICRO)
......
......@@ -219,6 +219,7 @@ static void ifo_print_audio_attributes(audio_attr_t *attr) {
break;
case 2:
printf("mpeg1 ");
/* Falls Through. */ /* to MPEG-2 */
case 3:
printf("mpeg2ext ");
switch(attr->quantization) {
......
......@@ -1244,8 +1244,6 @@ int ifoRead_VTS_PTT_SRPT(ifo_handle_t *ifofile) {
= *(uint16_t*)(((char *)data) + data[i] + 4*j - VTS_PTT_SRPT_SIZE);
vts_ptt_srpt->title[i].ptt[j].pgn
= *(uint16_t*)(((char *)data) + data[i] + 4*j + 2 - VTS_PTT_SRPT_SIZE);
if(!vts_ptt_srpt->title[i].ptt[j].pgn)
goto fail;
}
}
......