Commit a33cd961 authored by Matteo F. Vescovi's avatar Matteo F. Vescovi

Merge tag 'upstream/4.9.9'

Upstream version 4.9.9

# gpg: Signature made Tue Apr 22 10:45:00 2014 CEST
# gpg:                using RSA key 0xA50635BCBF02576C
# gpg: Good signature from "Matteo F. Vescovi <mfvescovi@gmail.com>" [unknown]
# gpg:                 aka "Matteo F. Vescovi <mfv.debian@gmail.com>" [unknown]
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg:          There is no indication that the signature belongs to the owner.
# Primary key fingerprint: 4E8E 810A 6B44 5FDE 68DA  D025 8062 3989 83B2 CF7A
#      Subkey fingerprint: F586 7FC3 4CA5 8DD9 E563  B61E A506 35BC BF02 576C
parents bff85766 01f7ff3a
autom4te.cache
config.status
......@@ -4,3 +4,27 @@ Rich Wareham <richwareham@users.sourceforge.net>
Kees Cook <kees@outflux.net>
Michael Roitzsch <mroi@users.sourceforge.net>
Frantisek Dvorak <valtri@users.sourceforge.net>
Nico Sabbi <nicola.sabbi@poste.it>
Dominik Mierzejewski <dominik@greysector.net>
Erik Hovland <erik@hovland.org>
Diego Biurrun <diego@biurrun.de>
John Stebbins <stebbins@jetheaddev.com>
Dan Nicholson <dbn.lists@gmail.com>
KO Myung-Hun <komh@chollian.net>
Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Frédéric Marchal <fmarchal@perso.be>
Rafaël Carré <funman@videolan.org>
Alexander Roalter <alex@roalter.it>
Benjamin Kerensa <bkerensa@gmail.com>
Brad Smith <brad@comstyle.com>
Doug Springer <gpib@rickyrockrat.net>
Erik Auerswald <auerswal@unix-ag.uni-kl.de>
Ganael Laplanche <ganael.laplanche@martymac.org>
Ingo Brückl <ib@wupperonline.de>
Jindrich Makovicka <makovick@KMLinux.fjfi.cvut.cz>
Jorgen Lundman <lundman@lundman.net>
LRN <lrn1986@gmail.com>
Mike Castle <dalgoda.mplayer@gmail.com>
Reinhard Tartler <siretart@gmail.com>
Roger Pack <rogerdpack2@gmail.com>
Rémi Duraffort <ivoire@videolan.org>
This diff is collapsed.
This fork of dvdnav was created to overcome the lack of responsiveness
of the official development channel, not to bastardize this library in
something for specific usage by mplayer, so these are the rules to follow
when developing code:
- don't remove pre-existing code that mplayer doesn't need
- don't add code to expose the internals of dvdnav
- don't add code that binds applications to side-effects of the library
- don't alter the API in an incompatible manner
When committing code to the repository always follow these rules:
- don't break the compilability of the library - always keep svn checkouts usable
- never mix cosmetical and functional changes
- don't commit unrelated changes as a single transaction
- don't split strictly related changes over multiple commits
- never alter the indentation / bracing / prototyping style of existing files
- if you break something by accident fix it as soon as possible using the appropriate
svn tools to revert your commit(s). If in doubt ask explanations to the
mailing list
- trivial patches such as spell fixes, prototype mismatch, missing includes,
more proper variable typization and similar should be committed without asking
prior authorization
If in reiterated violation of these rules your account will be deleted.
include $(top_srcdir)/misc/Makefile.common
SUBDIRS = src misc m4
EXTRA_DIST = autogen.sh \
AUTHORS \
ChangeLog \
configure \
config.guess \
config.sub \
COPYING \
INSTALL \
install-sh \
libtool \
ltmain.sh \
missing \
mkinstalldirs \
README \
TODO
MOSTLYCLEANFILES += $(PACKAGE)_$(VERSION).tar.gz \
$(distdir).tar.gz $(PACKAGE).tgz package_descriptions
MAINTAINERCLEANFILES += configure $(ACLOCAL_M4) config.h.in \
ltmain.sh config.guess config.sub install-sh missing \
mkinstalldirs
world:
@$(MAKE) clean all install 2> warnings.log
test -s warnings.log || rm warnings.log
prune-cache:
-rm -f config.cache
release-check:
@./config.status misc/relchk.sh
@./autogen.sh noconfig && $(SHELL) misc/relchk.sh
dist-hook:
cp -r $(srcdir)/msvc $(distdir)/msvc
rm -rf `find $(distdir)/msvc -name CVS`
ACLOCAL_AMFLAGS = -Im4
AM_CPPFLAGS = -I$(top_srcdir)/src $(CSS_CFLAGS)
dist_doc_DATA = AUTHORS ChangeLog COPYING NEWS README TODO
DISTCLEANFILES = ChangeLog
ChangeLog: $(wildcard $(srcdir)/.git/logs/HEAD)
-cd $(srcdir) && git log > $(abs_builddir)/$(@)-tmp
test -s $(@)-tmp && mv $(@)-tmp $(@)
-rm -f $(@)-tmp
test -e $(@) || touch $(@)
EXTRA_DIST = msvc/ doc/footer.html doc/header.html
lib_LTLIBRARIES = libdvdread.la
libdvdread_la_SOURCES = \
src/bitreader.c \
src/bswap.h \
src/dvd_input.c \
src/dvd_input.h \
src/dvd_reader.c \
src/dvd_udf.c \
src/dvdread_internal.h \
src/ifo_print.c \
src/ifo_read.c \
src/md5.c \
src/md5.h \
src/nav_print.c \
src/nav_read.c
libdvdread_la_LIBADD = $(CSS_LIBS)
libdvdread_la_LDFLAGS = -version-info $(DVDREAD_LTVERSION) \
-export-symbols-regex "(^dvd.*|^nav.*|^ifo.*|^DVD.*|^UDF.*)"
pkgincludedir = $(includedir)/dvdread
pkginclude_HEADERS = \
src/dvdread/bitreader.h \
src/dvdread/dvd_reader.h \
src/dvdread/dvd_udf.h \
src/dvdread/ifo_print.h \
src/dvdread/ifo_read.h \
src/dvdread/ifo_types.h \
src/dvdread/nav_print.h \
src/dvdread/nav_read.h \
src/dvdread/nav_types.h
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = misc/dvdread.pc
if APIDOC
all-local: apidoc
install-data-local: install-apidoc
uninstall-hook: uninstall-apidoc
endif
apidoc: stamp-doxygen
stamp-doxygen: doc/doxygen.cfg
cd doc && doxygen doxygen.cfg
touch $@
clean-local:
-rm -Rf stamp-doxygen doc/html
install-apidoc:
$(MKDIR_P) $(DESTDIR)$(htmldir)
for file in doc/html/*; do \
$(INSTALL_DATA) $$file "$(DESTDIR)$(htmldir)" || exit 1; \
done;
uninstall-apidoc:
-rm -Rf $(DESTDIR)$(htmldir)/*.png $(DESTDIR)$(htmldir)/*.html $(DESTDIR)$(htmldir)/*.css $(DESTDIR)$(htmldir)/*.js
This diff is collapsed.
This file is unused.
The ChangeLog file lists changes for new versions.
libdvdread (4.9.9)
* major cleanup
* rewritten build system, including removal of configure2 and dvdread-config
* numerous crashes fixed, notably on ARCCOS protected DVDs,
like Transformers 3, Brave, The Express, Sherlock Holmes DVDs
* added QNX support
* updated to support libdvdcss 1.3.0
* improved dlopen support for Win32
* simplify static linking of libdvdcss
libdvdread (4.2.0)
* added OS/2 support
* fixed ARM memory alignment issue
* portability fixes for *BSD, Mac OS X, MINGW and OS/2
* added a missing DVDFileStat function
* exposed the dvd_stat_t struct in header
* fixed libdvdread closing stdin if it can't open the file/device
* fixed a segfault in UDFFileEntry on some badly mastered DVDs
* fixed big-endian builds
* Win32: large file support under Mingw to go over 2G limits
* configure: remove the special case test for uid=0
* provide BUP file support for more issues
* move UDFReadBlocksRaw declaration to dvdread_internal.h
* fixed double free of parental management information
* configure2: Use a single = instead of ==
* fixed crash when PTT is too short
* fixed segfault when reading certain DVDs, for example "Thor"
libdvdread (4.1.3)
* an embarassing amount of fixes regarding potential memory and resource leaks
(patches contributed by Erik Hovland)
* added dvdread-config (dvdnav-config's younger brother)
* added pkgconfig support
* split dvdread to a separate tree
libdvdnav (4.1.2)
* multiple build system fixes
* added dvdnav_describe_title_chapters(title) to get title and chapters
duration
libdvdnav (4.1.1)
* added dvdnav_audio_stream_channels() to return number of channels
* fixed dvdnav_time_search() in multi-angle dvds (but it still needs
improvements)
* added dvdnav_audio_stream_format() to identify the codec used
in audio streams
* starting DVD playback at specific title/part positions with
dvdnav_{title,part}_play() works again
* removed wrong SPU stream change event filter
(fixes unwanted subtitles in the trailer of "Girl, interrupted", RC2)
* fixed error "Expected NAV packet but none found." occuring sometimes
on resume from menu
libdvdnav (0.1.10)
* filter the symbols that we export.
* fix LinkNextC assertion failure (fixes LotR-SEE bonus disc image gallery)
* detect zero stilltime still cells inside PGCs, not only at the end
(fixes "Red Dragon" RC2 scene selection)
* PGC stills seem to work, assertion removed
* fix rare race condition after Exit commands
* fix wrong JumpSS_VTSM execution in German RC2 "Anatomie"
(fix ported from Ogle)
libdvdnav (0.1.9)
* libdvdnav does not depend on libdvdread any more. It has it's own version.
* fix some situations where an unlucky user could trigger assertions
libdvdnav (0.1.8)
* more timing info in cell change event struct
* documentation review
libdvdnav (0.1.7)
* fixed a bug in title jumping, where the title number would not be
converted from TTN to VTS_TTN properly
* some minor sanity checks added to prevent segfaults
libdvdnav (0.1.6) unstable; urgency=low
* new event DVDNAV_WAIT to fix consistency problems in applications with fifos
where libdvdnav is always a bit ahead in the stream, the event forces
the application to wait for its fifos to get empty
* correct HIGHLIGHT reporting when a button is activated
* method to try-run VM operations, now used for safer chapter skipping and menu jumps
* fixed detection of current PTT to not assume a 1:1 mapping between PTTs and PGs
* releasing stills when jumping to menu fixes some state inconsistencies
* do not assume PGs to be physically layed out in sequence on the disc
* optional PGC based seeking
* new event on cell changes for timing info
libdvdnav (0.1.5) unstable; urgency=low
* some bugfixes
* code cleanup
* build process polishing
* more sensible event order in get_next_block to ensure useful event delivery
* VOBU level resume
* fixed: seeking in a multiangle feature briefly showed the wrong angle
libdvdnav (0.1.4) unstable; urgency=low
* more read cache improvements
* minor fixes for some problematic DVDs
libdvdnav (0.1.3-1) unstable; urgency=low
* Zero-copy read cache.
* More support for alternative Menu languages.
-- Rich Wareham <richwareham@users.sourceforge.net> Fri, 2 Aug 2002 08:52:24 +0100
libdvdnav (0.1.2-1) unstable; urgency=low
* Read Cache changes. Recommended setting for read_cache is OFF.
Unless one's DVD drive has too small a buffer.
* Should work with xine 0.9.10 or above.
-- James Courtier-Dutton <jcdutton@users.sourceforge.net> Sun, 3 Jul 2002 15:30:00 +0000
libdvdnav (0.1.1-1) unstable; urgency=low
* New upstream version. (closes: #148495)
* Include TODO
* Fix config.h problem
* Threaded cache
-- Philipp Matthias Hahn <pmhahn@titan.lahn.de> Sat, 1 Jun 2002 17:47:59 +0200
libdvdnav (0.1.0-2) unstable; urgency=low
* Add manual page dvdnav-config.1
* Add bug-presubj on Daniel's request
* Get dvdnav.c:1.17 from CVS to fix angle support
* Merge patch from Jamie Wilkinson (#146699)
* Rerun automake to fix dependencies
* Ack NMU from siggi
* Fix include in examples/menus.c
-- Philipp Hahn <pmhahn@titan.lahn.de> Thu, 23 May 2002 09:41:15 +0200
libdvdnav (0.1.0-1.1) unstable; urgency=low
* Prepared for first 'real' release.
* Bug fixes
* Changes to allow apps to 'roll-their-own' dvdnav_get_next_block functions.
* NMU in order to get xine-dvdnav running again
- changed package name to libdvdnav0
(see patch from Jamie Wilkinson for a better solution)
-- Siggi Langauf <siggi@debian.org> Mon, 20 May 2002 15:57:40 +0200
libdvdnav (0.0.1-1) unstable; urgency=low
* Repackaged using dh-make.
-- Philipp Matthias Hahn <pmhahn@titan.lahn.de> Sun, 7 Apr 2002 16:29:35 +0200
libdvdnav (0.0.1) unstable; urgency=low
* Initial release.
* Split from xine-dvdnav
-- rjw57 <rjw57@hermes.cam.ac.uk> Tue, 12 Mar 2002 19:41:13 +0000
* Support DVDs with errors on them. So we can recover from corrupt sectors in the .VOB. Also, handle corrupt .IFO files by using the backup .BUP files.
* Support Random and Shuffle Titles. Only sequencial Titles are currently supported.
* Support DVDs with errors on them. So we can recover from corrupt sectors in
the .VOB. Be able to read the VAT ICB at the last sector of the UDF disk (see
function UDFGetAVDP)
* Support Random and Shuffle Titles. Only sequential Titles are currently supported.
* rework documentation
* implement restriction levels:
0 - execute everything as the app commands
......@@ -8,5 +10,3 @@
3 - fully respect user prohibitions
* cleanup public API and fix libtool versioning
* Update decoder.c with some of the more rare commands. Update already done to vmcmd.c
* RELEASE! (maybe it's time for libdvdnav 0.5?)
* Replace the auto* build system with a custom and clean one based on ffmpeg's (partly done)
This diff is collapsed.
#!/bin/sh
#
# run this to generate all the initial makefiles, etc.
srcdir=`dirname "$0"`
test -z "$srcdir" && srcdir=.
ORIGDIR=`pwd`
cd "$srcdir"
AUTORECONF=${AUTORECONF-autoreconf}
if ! type $AUTORECONF >/dev/null 2>&1; then
echo "**Error**: Missing \`autoreconf' program." >&2
echo "You will need the autoconf and automake packages." >&2
echo "You can download them from ftp://ftp.gnu.org/pub/gnu/." >&2
exit 1
fi
$AUTORECONF -v --install || exit $?
cd "$ORIGDIR" || exit $?
test "$1" = noconfig && NOCONFIGURE=1
if test -z "$NOCONFIGURE"; then
"$srcdir"/configure "$@"
fi
#! /bin/sh
# Wrapper for compilers which do not understand '-c -o'.
scriptversion=2012-10-14.11; # UTC
# Copyright (C) 1999-2013 Free Software Foundation, Inc.
# Written by Tom Tromey <tromey@cygnus.com>.
#
# 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
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program 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 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/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# This file is maintained in Automake, please report
# bugs to <bug-automake@gnu.org> or send patches to
# <automake-patches@gnu.org>.
nl='
'
# We need space, tab and new line, in precisely that order. Quoting is
# there to prevent tools from complaining about whitespace usage.
IFS=" "" $nl"
file_conv=
# func_file_conv build_file lazy
# Convert a $build file to $host form and store it in $file
# Currently only supports Windows hosts. If the determined conversion
# type is listed in (the comma separated) LAZY, no conversion will
# take place.
func_file_conv ()
{
file=$1
case $file in
/ | /[!/]*) # absolute file, and not a UNC file
if test -z "$file_conv"; then
# lazily determine how to convert abs files
case `uname -s` in
MINGW*)
file_conv=mingw
;;
CYGWIN*)
file_conv=cygwin
;;
*)
file_conv=wine
;;
esac
fi
case $file_conv/,$2, in
*,$file_conv,*)
;;
mingw/*)
file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
;;
cygwin/*)
file=`cygpath -m "$file" || echo "$file"`
;;
wine/*)
file=`winepath -w "$file" || echo "$file"`
;;
esac
;;
esac
}
# func_cl_dashL linkdir
# Make cl look for libraries in LINKDIR
func_cl_dashL ()
{
func_file_conv "$1"
if test -z "$lib_path"; then
lib_path=$file
else
lib_path="$lib_path;$file"
fi
linker_opts="$linker_opts -LIBPATH:$file"
}
# func_cl_dashl library
# Do a library search-path lookup for cl
func_cl_dashl ()
{
lib=$1
found=no
save_IFS=$IFS
IFS=';'
for dir in $lib_path $LIB
do
IFS=$save_IFS
if $shared && test -f "$dir/$lib.dll.lib"; then
found=yes
lib=$dir/$lib.dll.lib
break
fi
if test -f "$dir/$lib.lib"; then
found=yes
lib=$dir/$lib.lib
break
fi
if test -f "$dir/lib$lib.a"; then
found=yes
lib=$dir/lib$lib.a
break
fi
done
IFS=$save_IFS
if test "$found" != yes; then
lib=$lib.lib
fi
}
# func_cl_wrapper cl arg...
# Adjust compile command to suit cl
func_cl_wrapper ()
{
# Assume a capable shell
lib_path=
shared=:
linker_opts=
for arg
do
if test -n "$eat"; then
eat=
else
case $1 in
-o)
# configure might choose to run compile as 'compile cc -o foo foo.c'.
eat=1
case $2 in
*.o | *.[oO][bB][jJ])
func_file_conv "$2"
set x "$@" -Fo"$file"
shift
;;
*)
func_file_conv "$2"
set x "$@" -Fe"$file"
shift
;;
esac
;;
-I)
eat=1
func_file_conv "$2" mingw
set x "$@" -I"$file"
shift
;;
-I*)
func_file_conv "${1#-I}" mingw
set x "$@" -I"$file"
shift
;;
-l)
eat=1
func_cl_dashl "$2"
set x "$@" "$lib"
shift
;;
-l*)
func_cl_dashl "${1#-l}"
set x "$@" "$lib"
shift
;;
-L)
eat=1
func_cl_dashL "$2"
;;
-L*)
func_cl_dashL "${1#-L}"
;;
-static)
shared=false
;;
-Wl,*)
arg=${1#-Wl,}
save_ifs="$IFS"; IFS=','
for flag in $arg; do
IFS="$save_ifs"
linker_opts="$linker_opts $flag"
done
IFS="$save_ifs"
;;
-Xlinker)
eat=1
linker_opts="$linker_opts $2"
;;
-*)
set x "$@" "$1"
shift
;;
*.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
func_file_conv "$1"
set x "$@" -Tp"$file"
shift
;;
*.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
func_file_conv "$1" mingw
set x "$@" "$file"
shift
;;
*)
set x "$@" "$1"
shift
;;
esac
fi
shift
done
if test -n "$linker_opts"; then
linker_opts="-link$linker_opts"
fi
exec "$@" $linker_opts
exit 1
}
eat=
case $1 in
'')
echo "$0: No command. Try '$0 --help' for more information." 1>&2
exit 1;
;;
-h | --h*)
cat <<\EOF
Usage: compile [--help] [--version] PROGRAM [ARGS]
Wrapper for compilers which do not understand '-c -o'.
Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
arguments, and rename the output as expected.
If you are trying to build a whole package this is not the
right script to run: please start by reading the file 'INSTALL'.
Report bugs to <bug-automake@gnu.org>.
EOF
exit $?
;;
-v | --v*)
echo "compile $scriptversion"
exit $?
;;
cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
func_cl_wrapper "$@" # Doesn't return...
;;
esac
ofile=
cfile=
for arg
do
if test -n "$eat"; then
eat=
else
case $1 in
-o)
# configure might choose to run compile as 'compile cc -o foo foo.c'.
# So we strip '-o arg' only if arg is an object.
eat=1
case $2 in
*.o | *.obj)
ofile=$2
;;
*)
set x "$@" -o "$2"
shift
;;
esac
;;
*.c)
cfile=$1
set x "$@" "$1"
shift
;;
*)
set x "$@" "$1"
shift
;;
esac
fi
shift
done
if test -z "$ofile" || test -z "$cfile"; then
# If no '-o' option was seen then we might have been invoked from a
# pattern rule where we don't need one. That is ok -- this is a
# normal compilation that the losing compiler can handle. If no
# '.c' file was seen then we are probably linking. That is also
# ok.
exec "$@"
fi
# Name of file we expect compiler to create.
cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
# Create the lock directory.
# Note: use '[/\\:.-]' here to ensure that we don't use the same name
# that we are using for the .o file. Also, base the name on the expected
# object file name, since that is what matters with a parallel build.
lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
while true; do
if mkdir "$lockdir" >/dev/null 2>&1; then
break
fi
sleep 1
done
# FIXME: race condition here if user kills between mkdir and trap.
trap "rmdir '$lockdir'; exit 1" 1 2 15
# Run the compile.
"$@"
ret=$?
if test -f "$cofile"; then
test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
elif test -f "${cofile}bj"; then
test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
fi
rmdir "$lockdir"
exit $ret
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC"
# time-stamp-end: "; # UTC"
# End:
This diff is collapsed.
/* config.h.in. Generated from configure.ac by autoheader. */
/* Define if building universal (internal helper macro) */
#undef AC_APPLE_UNIVERSAL_BUILD
/* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H
/* Define to 1 if you have the <dvdcss/dvdcss.h> header file. */
#undef HAVE_DVDCSS_DVDCSS_H
/* Define to 1 if you have the `gettimeofday' function. */
#undef HAVE_GETTIMEOFDAY