commit 2b8f60f0c4efd85f17116a5443851d4bb4a288b7
Author: Jean-Baptiste Kempf <jb@videolan.org>
Date:   Wed Mar 25 14:55:05 2015 +0100

    Update NEWS for 5.0.3

commit 107ca98775df1eb953881acd8df5471e8bcc88cd
Author: Jean-Baptiste Kempf <jb@videolan.org>
Date:   Wed Mar 25 14:32:38 2015 +0100

    Update dvd_reader version too

commit a76a31f0f909200a96eecffe6ea3292f3aa2374f
Author: Thomas Guillem <thomas@gllm.fr>
Date:   Fri Mar 13 17:03:13 2015 +0100

    Update NEWS for 5.0.3
    
    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>

commit 85b6663a59290f1cda175690daaf89eb433430bc
Author: Thomas Guillem <thomas@gllm.fr>
Date:   Fri Mar 13 17:03:12 2015 +0100

    dvd_reader: cache IFO and BUP files (only for images files)
    
    It reduces the number of read/seek accesses
    
    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>

commit af446d463a15fb08f95f8b84bfc89af395b6e1bc
Author: KO Myung-Hun <komh78@gmail.com>
Date:   Thu Jan 29 17:29:03 2015 +0900

    ifo_types.h: fix 'warning: `gcc_struct' attribute directive ignored'
    
    gcc_struct has been supported since gcc 3.4.
    
    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>

commit 574b886b733e8737e8cf17d9330049289e837ac3
Author: Jean-Baptiste Kempf <jb@videolan.org>
Date:   Wed Jan 28 17:17:32 2015 +0100

    Fix compilation when staticly linked to libdvdcss

commit cd82f3072c75736dd0459738d12dbc0da0884f28
Author: Thomas Guillem <thomas@gllm.fr>
Date:   Wed Jan 28 16:30:31 2015 +0100

    dvd_input: always init dev->dvdcss
    
    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>

commit 8bda55f887d7d8e926f943977129e26eaf2ff02a
Author: KO Myung-Hun <komh78@gmail.com>
Date:   Mon Jan 19 13:23:58 2015 +0900

    src/dvd_input.c: use dvdcss2.dll instead of dvdcss.dll on OS/2
    
    libtool creates a versioned dll on OS/2 as well.
    
    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>

commit 6b86232c82503d65b3a5d25283ae5f9a7f66acc0
Author: Thomas Guillem <thomas@gllm.fr>
Date:   Wed Jan 28 14:45:52 2015 +0100

    dvd_input.c: can link with dvdcss without new open_stream symbol
    
    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>

commit 55465dba693864ea04f83455fa0f470b4fb957e4
Author: Thomas Guillem <thomas@gllm.fr>
Date:   Wed Jan 28 14:45:51 2015 +0100

    dvd_input.c fix unused parameter warnings
    
    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>

commit d14f83e4ab1bf7b5856898365a8c4bd2b107c041
Author: Jean-Baptiste Kempf <jb@videolan.org>
Date:   Tue Jan 27 16:37:12 2015 +0100

    Update NEWS for 5.0.2

commit 40571a6f7bdbd7c5a8530675f3c082032ab540b3
Author: Jean-Baptiste Kempf <jb@videolan.org>
Date:   Tue Jan 27 16:34:48 2015 +0100

    Update .so version because of added API

commit 6dfeb9b50421d98f7a228de05498d98eecd23f02
Author: Thomas Guillem <tom@gllm.fr>
Date:   Fri Oct 17 15:43:26 2014 +0200

    add DVDOpenStream
    
    open a DVD Device using external read/seek callbacks (see libdvdcss).
    
    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>

commit f5ea91421d7912bffc8c5964409fd4454f1f5985
Author: Steve Dibb <steve.dibb@gmail.com>
Date:   Thu Jan 15 13:45:42 2015 -0700

    Check for malloc fail before setting buffer
    
    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>

commit 05c4e138c27ad372c2640506017b15f34b3dd92f
Author: Steve Dibb <steve.dibb@gmail.com>
Date:   Thu Jan 15 13:45:41 2015 -0700

    Check for malloc fail before setting buffer
    
    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>

commit a3d569054c4e57d401137ba2e93d56afa5edd6d7
Author: Steve Dibb <steve.dibb@gmail.com>
Date:   Thu Jan 15 13:45:39 2015 -0700

    Check for malloc fail before setting secbuf
    
    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>

commit e381f0766f4a1cf9b0cf526b38fca445080ba94e
Author: Steve Dibb <steve.dibb@gmail.com>
Date:   Thu Jan 15 13:45:38 2015 -0700

    Remove unnecessary memset() calls because of calloc being used
    
    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>

commit 76f813477a863873bea842e4ae182b3c4cacfc96
Author: Steve Dibb <steve.dibb@gmail.com>
Date:   Thu Jan 15 13:45:37 2015 -0700

    Use calloc instead of malloc, then memset
    
    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>

commit a63467f9ec4dbdb63057439665a561ac68c6cae8
Author: Steve Dibb <steve.dibb@gmail.com>
Date:   Thu Jan 15 13:45:36 2015 -0700

    Use calloc as a safety measure since ifoRead functions populate parts of the data independently
    
    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>

commit a097e3da09e8fe8d32115dad8992e4326536e8c5
Author: Steve Dibb <steve.dibb@gmail.com>
Date:   Thu Jan 15 13:45:33 2015 -0700

    Use calloc as a safety measure since ifoRead functions populate parts of the data independently
    
    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>

commit a267a3bc899a72712baab8bc37fe59405dcd1904
Author: Steve Dibb <steve.dibb@gmail.com>
Date:   Thu Jan 15 13:45:32 2015 -0700

    Use calloc as a safety measure since ifoRead functions populate parts of the data independently
    
    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>

commit fa457d44da389ad576c1e3b3a880401a796cdcbf
Author: Steve Dibb <steve.dibb@gmail.com>
Date:   Thu Jan 15 13:45:13 2015 -0700

    Set freed pointers to NULL instead of zero
    
    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>

commit 4507900078d45d7262dd26bfc6405c8faadd293c
Author: Jean-Baptiste Kempf <jb@videolan.org>
Date:   Sat Jan 3 01:16:48 2015 +0100

    Add NEWS for 5.0.1

commit 41c3e42563ad2e3f29cdbc28529d515f2e71384d
Author: Evgeny Grin <karlson2k@kodi.tv>
Date:   Tue Nov 25 18:46:33 2014 +0300

    Fix partial read handling in DVDReadLBUDF()
    
    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>

commit 72f87861057b9f3fcf929e9ba31312f72d9ab081
Author: Evgeny Grin <karlson2k@kodi.tv>
Date:   Tue Nov 25 18:12:45 2014 +0300

    Fix partial read handling in file_read()
    
    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>

commit 3dbbdfb548135eb73a06cf01ac0a0b3fde48b5ab
Author: Andrew Clayton <andrew@digital-domain.net>
Date:   Wed Nov 5 21:36:37 2014 +0000

    src/md5: Replace the MD5 implementation with the FSF LGPL one
    
    With GCC 4.8.3 on x86_64 Fedora 20 we get the following warnings from
    src/md5.c
    
        src/md5.c: In function 'md5_finish_ctx':
        src/md5.c:102:3: warning: dereferencing type-punned pointer will
         break strict-aliasing rules [-Wstrict-aliasing]
        *(md5_uint32 *) &ctx->buffer[bytes + pad] = SWAP (ctx->total[0] <<
         3);
        ^
        src/md5.c:103:3: warning: dereferencing type-punned pointer will
         break strict-aliasing rules [-Wstrict-aliasing]
        *(md5_uint32 *) &ctx->buffer[bytes + pad + 4] = SWAP
         ((ctx->total[1] << 3) |
        ^
    
    Rather than trying to fix this, Jean-Baptiste Kempf suggested it would
    be better to replace this old implementation with something newer such
    as the one used in VLC. So, this is what this does.
    
    We take src/misc/md5.c as src/md5.c and include/vlc_md5.h as src/md5.h
    
    md5.c had little changed in it, just some #include changes, I also had
    to remove the restrict keyword from the AddMD5() function definition as
    this is a C99 thing. This shouldn't really make much difference in this
    usage.
    
    md5.h had the VLC_API macro usage removed and I removed the psz_md5_hash
    function as it's not used.
    
    Finally DVDDiscID() in src/dvd_reader.c was changed to make use of this
    new implementation. I tested this with the following program
    
        /*
         * gcc -O2 -Wall -o dvddiscid dvddiscid.c -ldvdread
         */
    
        #include <stdio.h>
    
        #include <dvdread/dvd_reader.h>
    
        int main(void)
        {
            int i;
            dvd_reader_t *dvd;
            unsigned char id[16];
    
            dvd = DVDOpen("/dev/sr0");
            DVDDiscID(dvd, id);
            DVDClose(dvd);
    
            for (i = 0; i < 16; i++)
                 printf("%.2x", id[i]);
            printf("\n");
    
            return 0;
        }
    
    and get the same MD5 before and after this change.
    
        $ ./dvddiscid
        a02f30eb3e76e624b766ec0248757901
    
        $ LD_LIBRARY_PATH=/opt/libdvdread/lib ./dvddiscid
        a02f30eb3e76e624b766ec0248757901
    
    Signed-off-by: Andrew Clayton <andrew@digital-domain.net>
    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
    Tested-by: Steve Dibb <beandog@gentoo.org>

commit d2314b8c65ca1a3a92fcc9b46791375e24dbfd9b
Author: Andrew Clayton <andrew@digital-domain.net>
Date:   Tue Nov 4 01:08:32 2014 +0000

    src/dvd_input.c: Annotate unused function parameters
    
    In libdvdread some functions take parameters that are unused. These
    functions are for working without the libdvdcss library but have to have
    the same prototype as the ones for working with it as these are
    presented as single API.
    
    As such we get the following warnings from GCC (4.8.3)
    
        src/dvd_input.c: In function 'file_error':
        src/dvd_input.c:186:37: warning: unused parameter 'dev'
          [-Wunused-parameter]
         static char *file_error(dvd_input_t dev)
                                             ^
        src/dvd_input.c: In function 'file_title':
        src/dvd_input.c:210:35: warning: unused parameter 'dev'
          [-Wunused-parameter]
         static int file_title(dvd_input_t dev, int block)
                                           ^
        src/dvd_input.c:210:44: warning: unused parameter 'block'
          [-Wunused-parameter]
         static int file_title(dvd_input_t dev, int block)
                                                    ^
        src/dvd_input.c: In function 'file_read':
        src/dvd_input.c:218:69: warning: unused parameter 'flags'
          [-Wunused-parameter]
         static int file_read(dvd_input_t dev, void *buffer, int blocks,
                              int flags)
                                  ^
    The previous commit added a #define set to __attribute__((unused)) when
    GCC is being used (empty otherwise). This can be used to inform the
    compiler about such unused parameters and gets rid of those warnings.
    
    Signed-off-by: Andrew Clayton <andrew@digital-domain.net>
    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>

commit c10f0f7c909a26b7d3b4953924a6e88285aae19f
Author: Andrew Clayton <andrew@digital-domain.net>
Date:   Tue Nov 4 01:08:31 2014 +0000

    configure.ac: Create an UNUSED #define for parameter passing
    
    Some functions in libdvdread take parameters that are unused, e.g
    file_read() in dvd_input.c. These functions can't be changed to remove
    the unused parameters as they are public API.
    
    GCC provides a __attribute__((unused)) annotation that can be used on
    function parameters to inform the compiler of such and will squash
    warnings of the following nature
    
        src/dvd_input.c: In function 'file_read':
        src/dvd_input.c:218:69: warning: unused parameter 'flags'
          [-Wunused-parameter]
         static int file_read(dvd_input_t dev, void *buffer, int blocks,
                              int flags)
                                  ^
    
    A check is added to configure.ac for the use of GCC and if found it
    creates an UNUSED #define set to __attribute__((unused)) otherwise it
    just sets it empty.
    
    If compilers on other systems have a similar feature this check can be
    adjusted to accommodate them.
    
    Signed-off-by: Andrew Clayton <andrew@digital-domain.net>
    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>

commit 4d5cb54738bc79cbfd3ada4345eddd4b40d1ddb0
Author: Andrew Clayton <andrew@digital-domain.net>
Date:   Fri Oct 24 15:21:35 2014 +0100

    src/nav_print.c: Fix several printf format strings
    
    There were several printf()'s in navPrint_HL_GI() & navPrint_BTNIT()
    that were printing unsigned int's but were using %d for the format
    specifier.
    
    Signed-off-by: Andrew Clayton <andrew@digital-domain.net>
    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>

commit 0b9e76358a85a9789d21e3cc603508db03dd899a
Author: Andrew Clayton <andrew@digital-domain.net>
Date:   Fri Oct 24 15:21:34 2014 +0100

    src/ifo_read.c: Reduce the scope of some variables
    
    Signed-off-by: Andrew Clayton <andrew@digital-domain.net>
    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>

commit 15c9da69c8203179030cc890ece296f584e1f480
Author: Andrew Clayton <andrew@digital-domain.net>
Date:   Fri Oct 24 15:21:33 2014 +0100

    src/ifo_print.c: Fix a couple of fprintf format strings
    
    In ifoPrint_TT_SRPT() there are a couple fprintf()'s that take an
    unsigned int but %d was used for the format specifier.
    
    Signed-off-by: Andrew Clayton <andrew@digital-domain.net>
    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>

commit f5986d6b4c2f97ab3986e341c58a61e20593dc41
Author: Andrew Clayton <andrew@digital-domain.net>
Date:   Fri Oct 24 15:21:32 2014 +0100

    src/dvd_udf.c: Reduce the scope of some variables
    
    Signed-off-by: Andrew Clayton <andrew@digital-domain.net>
    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>

commit 13ec957c49ac3914786b5961f3615364c5022399
Author: Andrew Clayton <andrew@digital-domain.net>
Date:   Fri Oct 24 15:21:31 2014 +0100

    src/dvd_reader.c: Reduce the scope of some variables
    
    Signed-off-by: Andrew Clayton <andrew@digital-domain.net>
    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>

commit 5cdc819bedc1b050c81d81c3b063d37fe54080b8
Author: Andrew Clayton <andrew@digital-domain.net>
Date:   Fri Oct 24 15:21:30 2014 +0100

    src/dvd_reader.c: Fix a couple of fprintf format strings
    
    In DVDReadBlocksPath() there are a couple of fprintf()'s displaying an
    offset value, this value is an unsigned int but the format strings had
    %d rather than %u.
    
    Signed-off-by: Andrew Clayton <andrew@digital-domain.net>
    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>

commit c6bd4ebab126e5ac0fc027d3d16d0acb1c784d88
Author: Andrew Clayton <andrew@digital-domain.net>
Date:   Fri Oct 24 15:21:29 2014 +0100

    src/dvd_input.c: Reduce the scope of 'ret' in file_read
    
    The ret variable is only used wihin the while loop.
    
    Signed-off-by: Andrew Clayton <andrew@digital-domain.net>
    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>

commit 71180022f3f6c55faf0bbe9ed9f7c4dc3be08ba3
Author: Lawrence D'Oliveiro <ldo@geek-central.gen.nz>
Date:   Thu Oct 2 04:50:52 2014 +0000

    dvd_reader.c: fix a little memory leak
    
    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>

commit ab474a079bd9da3bc9637019c279752124ebf978
Author: Jean-Baptiste Kempf <jb@videolan.org>
Date:   Wed Oct 1 14:54:14 2014 +0200

    Fix typo

commit 654d4221884dd0ef03f04b9e2afd90ec4f3c743f
Author: Thomas Klausner <wiz@NetBSD.org>
Date:   Wed Oct 1 14:39:00 2014 +0200

    Add DragonFly BSD support for bswap*().
    
    Signed-off-by: Thomas Klausner <wiz@NetBSD.org>
    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>

commit cb1ae8743e07e55311f48ea17e3c8c611b4bc35d
Author: Jean-Baptiste Kempf <jb@videolan.org>
Date:   Mon Sep 1 03:32:58 2014 +0200

    On the road to 5.0.1

commit 70d25decc685acfb072964ed8cf3de94bba6cbef
Author: Jean-Baptiste Kempf <jb@videolan.org>
Date:   Sat Aug 30 23:26:35 2014 +0200

    free(NULL) is a no-op

commit 874873d654fc523a2fa45af2abe2cf69599412af
Author: Jean-Baptiste Kempf <jb@videolan.org>
Date:   Thu Aug 28 08:50:29 2014 +0200

    Force gcc-style packing

commit 87f369dc49d639028b71ebb043f8fd8cc7b87c60
Author: John Stebbins <jstebbins@jetheaddev.com>
Date:   Fri Aug 22 10:43:58 2014 -0700

    build: Allow building outside git tree
    
    Fixes failure to build if ChangeLog does not exist

commit 620e5464f16dc110d850a207769d512b573f000d
Author: Jean-Baptiste Kempf <jb@videolan.org>
Date:   Mon Aug 4 23:07:18 2014 +0200

    Win32: kill warnings about redefinition of fstat|wstat

commit 849f6e58cc8812838be47045959eca400a80ef7d
Author: Jean-Baptiste Kempf <jb@videolan.org>
Date:   Mon Aug 4 19:44:40 2014 +0200

    Warn when lseek is incomplete in file_read

commit 8999b92630c46435f96bbaad564a2aaf211b2ce9
Author: Jean-Baptiste Kempf <jb@videolan.org>
Date:   Thu Jul 31 03:44:30 2014 +0200

    Do not hardcode Tag Identifier

commit 64dfc537f4c2a5f46d1673299c92d95e7f49257b
Author: Diego Biurrun <diego@biurrun.de>
Date:   Thu Jul 31 23:39:12 2014 +0200

    build: Remove ChangeLog only on maintainer-clean, not distclean
    
    The file is automatically generated with Git, so in a distribution
    tarball without Git metadata it cannot be regenerated once deleted.

commit 4018b958d1d88c5ad486aca95b0fe1804eadbb98
Author: Diego Biurrun <diego@biurrun.de>
Date:   Thu Jul 31 23:37:59 2014 +0200

    Ignore generated 'compile' Automake helper program and release tarballs

commit 839feb210301366fced3be9afa3fde4703339bc1
Author: Jean-Baptiste Kempf <jb@videolan.org>
Date:   Wed Jul 30 22:27:51 2014 +0200

    Increase the version in the dvd_reader.h header
    
    See Debian #532438

commit f64e1aedae8f746b97037e41f4adc7c78bda9fa5
Author: Jean-Baptiste Kempf <jb@videolan.org>
Date:   Sun Jul 27 01:27:28 2014 +0200

    Add -Wextra compilation flags

commit a3a050adae15fe6585d4d2b9a5213e31d360081f
Author: Jean-Baptiste Kempf <jb@videolan.org>
Date:   Sun Jul 13 03:42:38 2014 +0200

    On the road to 5.0.0

commit a7cedb037147234e3dec1d75add729fdf98f84bb
Author: Jean-Baptiste Kempf <jb@videolan.org>
Date:   Sun Jul 13 01:54:08 2014 +0200

    Update NEWS for 5.0.0

commit 7c6206accb4f039d9171765f239afc48557e455f
Author: Dominik 'Rathann' Mierzejewski <dominik@greysector.net>
Date:   Wed Jun 11 12:16:26 2014 +0200

    put changes present in 4.2.1 release in the NEWS file

commit 59332a29770e0bbc4a8b02dfb0b9304fb50551a4
Author: Jean-Baptiste Kempf <jb@videolan.org>
Date:   Thu Jun 5 20:28:14 2014 +0200

    Support Android
    
    I will not comment more on the stupidity of bionic...

commit 75f8601ee3b19d8914528860f7e1d2906df4a411
Author: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date:   Sat May 17 10:26:00 2014 +0200

    configure: fix build on NIOS II platform
    
    NIOS II is a CPU architecture from Altera, which uses 'nios2' as the
    architecture part of the tuple. Unfortunately, 'nios2' matches the
    current '*os2*' test done by libdvdread's configure script to detect
    the OS/2 operating system. This leads to build issues as the build
    process of libdvdread then tries to use OS/2 specific compiler
    options, that do not exist in the gcc used for Linux/NIOS2.
    
    To fix this, this patch makes the test for OS/2 a little bit more
    specific: in the case of the OS/2 operating system, the OS part of the
    tuple contains just 'os2' (confirmed by looking at config.guess and
    config.sub in the gnuconfig project). So using '*-os2-*' will properly
    match the OS/2 operating system but not the NIOS II architecture.
    
    Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>

commit 6733be216f17c75af74e61f0e4e1083492684796
Author: Steve Dibb <beandog@gentoo.org>
Date:   Thu May 15 19:20:59 2014 -0600

    Clean up order of variables, display of output.
    
    Remove redundant check for video_attr.
    
    Rearrange checks for attributes to match same order as declarations.
    
    Move video unknown string to last displayed, similar to audio output, and use same naming scheme.
    
    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>

commit d59e891d05c0acda388061645cc033837a92a586
Author: Steve Dibb <beandog@gentoo.org>
Date:   Thu May 15 11:58:08 2014 -0600

    Remain consistent with earlier code in function
    
    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>

commit 15a8100907c0172b6c4f5b47a8264a6bc94432fe
Author: Steve Dibb <beandog@gentoo.org>
Date:   Tue May 13 09:46:52 2014 -0600

    Remove unused 'level' parameter
    
    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>

commit cff267d99196c719017ab4d229eecea35e3e0cd1
Author: Steve Dibb <beandog@gentoo.org>
Date:   Tue May 13 09:46:51 2014 -0600

    An IFO without a VTS TMAP is very common, remove warning
    
    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>

commit c3f1a56caa4f876ed3753935d95d93292cfd5ed7
Author: Steve Dibb <beandog@gentoo.org>
Date:   Wed May 7 13:09:15 2014 -0600

    libdvdread: src/ifo_read.c Fix off-by-one error on displaying IFO filename
    
    Fixes incorrect warning:
    
    libdvdread: Invalid IFO for title 2 (VTS_02_0.BU).
    
    to:
    
    libdvdread: Invalid IFO for title 2 (VTS_02_0.BUP).
    
    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>

commit 0cd997af4474b5026308195ecfb33a6016a9e7fb
Author: Steve Dibb <beandog@gentoo.org>
Date:   Thu Apr 24 16:42:21 2014 +0200

    Fix crash in ifoRead_VTS_PTT_SRPT()
    
    In ifoRead_VTS_PTT_SRPT(), there's a lot of places where the
    function will exit on a 'goto fail' call if the IFO is invalid.
    
    However, the check for the PGN value is only done later.
    
    This fixes it so that it fails earlier -- when the PGN is
    originally set, and doesn't go through the other checks as well, trying to set
    invalid data that will be referenced later.
    
    See VLC trac #10459

commit 0538a5dbecc917c409c7ec62a7ff32b02ba1eb73
Author: Steve Dibb <beandog@gentoo.org>
Date:   Tue Apr 15 13:28:33 2014 -0600

    libdvdread: remove unused variables; cleanup return syntax
    
    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>

commit d65889e7ba84799c3155006a7be7ee6a218288fc
Author: KO Myung-Hun <komh78@gmail.com>
Date:   Thu Apr 10 22:57:04 2014 +0900

    src/dvd_read.c: fix a compilation warning on OS/2
    
    -----
    src/dvd_reader.c: In function `DVDOpen':
    src/dvd_reader.c:561: warning: implicit declaration of function `isalpha'
    -----
    
    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>

commit 9818650809d02ed9603686232ade3537234e74e8
Author: KO Myung-Hun <komh78@gmail.com>
Date:   Thu Apr 10 22:57:03 2014 +0900

    configure: add additional flags to LDFLAGS on OS/2
    
    This allows to build a DLL and to open files in binary mode.
    
    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>

commit 7ab8ba341f9c5c9182413d4727f11c18319ee76c
Author: Jean-Baptiste Kempf <jb@videolan.org>
Date:   Wed Apr 9 18:04:39 2014 +0200

    Update NEWS for 4.9.9

commit ecb9d1a94b10ec7177901ee4d2f667e2e95b5fac
Author: Jean-Baptiste Kempf <jb@videolan.org>
Date:   Wed Apr 9 17:55:24 2014 +0200

    Preparing 4.9.9 release

commit dab3e8c5556c15e05c67df5a307453dc95104d47
Author: Jean-Baptiste Kempf <jb@videolan.org>
Date:   Wed Apr 9 16:04:36 2014 +0200

    Do not use an assert on ifo_print

commit c8df1333414c3fb4608e071abd3ab008f9468ac6
Author: Jean-Baptiste Kempf <jb@videolan.org>
Date:   Wed Apr 9 16:00:00 2014 +0200

    Better debug messages

commit da3eee4113b31723aa9867820003e6268861b3e7
Author: Jean-Baptiste Kempf <jb@videolan.org>
Date:   Wed Apr 9 15:58:43 2014 +0200

    Do not assert on broken DVDs

commit 02d9e36e4be243c4c523a5b2b94045ea25c5cfd6
Author: Jean-Baptiste Kempf <jb@videolan.org>
Date:   Wed Apr 9 15:42:30 2014 +0200

    Use NULL instead of 0 for pointers

commit 595b47f662a99bd8bb21536f2ee55aa1873d9f2e
Author: Jean-Baptiste Kempf <jb@videolan.org>
Date:   Wed Apr 9 15:41:39 2014 +0200

    More const on DVDReadBlocks* parameters :)

commit d7d7c83c8baeed4eb71fe21856fbdcf061dfd373
Author: Jean-Baptiste Kempf <jb@videolan.org>
Date:   Wed Apr 9 14:04:05 2014 +0200

    Do not dereference NULL on DVDCloseFile

commit 86166870a6091554d693f8ae787939e3fea3526c
Author: Timothy Gu <timothygu99@gmail.com>
Date:   Sat Mar 29 14:46:57 2014 -0700

    build: Fix --disable-apidoc configure option
    
    Signed-off-by: Timothy Gu <timothygu99@gmail.com>
    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>

commit 7c743650d038ee280f990cfb7d5f867842ee7369
Author: Richard Hulme <peper03@yahoo.com>
Date:   Sun Jan 26 17:13:03 2014 +0100

    Initialize dvd_reader_t struct in DVDOpenImageFile
    
    This ensures that the dvd_reader_t struct is initialized (e.g. the css_state
    field is currently undefined if 'have_css' is false).
    
    The patch is part of a bigger MythTV-specific change by Chris Pinkham:
    https://github.com/MythTV/mythtv/commit/3af3489
    
    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>

commit 563c79a604ea96ecf48dcbd0da618bfdf7d6fb90
Author: Marcel Mol <marcel@mesa.nl>
Date:   Fri Feb 28 22:59:17 2014 +0100

    Include config.h for all .c files
    
    As many compile time defines are now in config.h it should be
    included in all .c files at the top.
    (this allows support for large DVDs (>2GB) again.)
    
    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>

commit d8279964c809b2b253f13bd1fd8f0fc7bfcbc28b
Author: Marcel Mol <marcel@mesa.nl>
Date:   Sun Feb 23 11:50:38 2014 +0100

    Fix .so version order
    
    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>

commit 2a5060baf127b76decf1a6f88e3b340c219bbfa1
Author: Diego Elio Pettenò <flameeyes@flameeyes.eu>
Date:   Thu Feb 20 11:44:56 2014 -0800

    build: provide -Im4 to ACLOCAL_AMFLAGS.
    
    Without adding m4 to the list of included directories, attributes.m4 is not found and will fail to expand the CC_* macros.

commit c820067e14e097fb6a4fee0929bea2937d7cb473
Author: Steve Dibb <steve.dibb@gmail.com>
Date:   Mon Feb 17 00:14:04 2014 +0000

    Fix DVDDiscID from reading non-existent IFO files
    
    In dvd_reader.c, the DVDDiscID function gets the MD5 from the total contents
    of the IFO files on the disc.  However, it gets it by looping through the
    the first ten IFO files, whether they exist or not.
    
    This results in spewage, where a disc has less than ten.  In this case,
    Dragonheart only has two:
    
    libdvdnav:DVDOpenFileUDF:UDFFindFile /VIDEO_TS/VTS_03_0.IFO failed
    libdvdnav:DVDOpenFileUDF:UDFFindFile /VIDEO_TS/VTS_04_0.IFO failed
    libdvdnav:DVDOpenFileUDF:UDFFindFile /VIDEO_TS/VTS_05_0.IFO failed
    libdvdnav:DVDOpenFileUDF:UDFFindFile /VIDEO_TS/VTS_06_0.IFO failed
    libdvdnav:DVDOpenFileUDF:UDFFindFile /VIDEO_TS/VTS_07_0.IFO failed
    libdvdnav:DVDOpenFileUDF:UDFFindFile /VIDEO_TS/VTS_08_0.IFO failed
    libdvdnav:DVDOpenFileUDF:UDFFindFile /VIDEO_TS/VTS_09_0.IFO failed
    
    Instead of using a set limit of 10 IFOs, this patch counts the number of
    VTSes existing on the DVD, and will use that number instead if it is less
    than 10.
    
    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>

commit a2f211a6143d6db857a2cbcd10019f8a40fc1eb3
Author: Jean-Baptiste Kempf <jb@videolan.org>
Date:   Thu Jan 9 12:06:24 2014 +0100

    This is libdvdread, not libdvdnav

commit e601338843ba3d98c1df474446a2ffcbae5e7812
Author: Jean-Baptiste Kempf <jb@videolan.org>
Date:   Thu Jan 9 12:05:10 2014 +0100

    dvd_reader: check malloc return

commit dd43096558dc747b423979f8e42d3fe29853d76e
Author: Jean-Baptiste Kempf <jb@videolan.org>
Date:   Thu Jan 9 12:04:54 2014 +0100

    dvd_reader: comment includes

commit 450559f4bd426e6b0e85afe6399bc14a40332e7b
Author: Jean-Baptiste Kempf <jb@videolan.org>
Date:   Thu Jan 9 11:41:52 2014 +0100

    dvd_input.c: comment includes and indent

commit c8fb7d7308477e27592d602b9237366140e7c015
Author: Jean-Baptiste Kempf <jb@videolan.org>
Date:   Thu Jan 9 11:32:24 2014 +0100

    Return NULL instead of 0 for methods returning a pointer

commit d2b625a00b4f97b37bf790da314535b825a74e61
Author: Diego Biurrun <diego@biurrun.de>
Date:   Thu Jan 2 22:27:12 2014 +0100

    nav_print: Remove printing bogus value for vobu_uop_ctl
    
    navPrint_PCI_GI() prints the values of a pci_gi_t struct, but for the embedded
    user_ops_t substruct it just prints the first 32 bytes by pointer type punning.
    Given that the latter is a large struct with members of system-dependent sizes
    the result of this operation is often enough just a random value, so drop
    printing the value altogether.
    
    src/nav_print.c:39:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

commit 8aa3eb851fd7158fbea378a9a17f60ef612f9b1e
Author: Diego Biurrun <diego@biurrun.de>
Date:   Thu Jan 2 23:56:36 2014 +0100

    Remove svn-specific version.sh script.

commit 0ef9c54cca7454f26ef79f3f65e964653b8b0952
Author: Diego Biurrun <diego@biurrun.de>
Date:   Thu Jan 2 22:44:09 2014 +0100

    ifo_read: Mark literals as unsigned to avoid a comparison sign warning
    
    src/ifo_read.c:1402:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]

commit 2033823209688d781bac986509b552acbeb8b0b3
Author: Diego Biurrun <diego@biurrun.de>
Date:   Sun Dec 1 22:42:44 2013 -0500

    dvd_reader: Adjust variable type to avoid warning
    
    src/dvd_reader.c:1384:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]

commit 38857cc93c79d0d5a5e791f1ffe3f80a9f1225a8
Author: Diego Biurrun <diego@biurrun.de>
Date:   Sat Nov 30 08:34:22 2013 -0500

    ifo_read: Use correct printf length modifier
    
    src/ifo_read.c:1078:13: warning: format '%ld' expects argument of type 'long int', but argument 3 has type 'size_t' [-Wformat=]

commit 22a6253aed121c4c54613ca8293c9e6f2ca18c16
Author: Diego Biurrun <diego@biurrun.de>
Date:   Sun Dec 1 22:46:39 2013 -0500

    ifo_read: Do not compare integer variable against NULL
    
    src/ifo_read.c:1303:34: warning: comparison between pointer and integer [enabled by default]

commit 2ab8c9fa65e293668103985398adb809cd88a5d9
Author: Jean-Baptiste Kempf <jb@videolan.org>
Date:   Thu Jan 2 16:43:04 2014 +0100

    We need to check for dvdcss/dvdcss.h
    
    Else, we will not get the HAVE_DVDCSS_DVDCSS_H define and the code will
    not work when statically compiled.
    
    It might be clever to remove that in the future, but one would need to
    fix the code for that.

commit ee24a03767f4b332b6a3943806a4398937d71a2f
Author: Jean-Baptiste Kempf <jb@videolan.org>
Date:   Sun Dec 29 19:23:29 2013 +0100

    ifo_read: use info_length as size_t
    
    And kill a warning

commit af599d51be9f568610fb59362c373fe0918173f5
Author: Jean-Baptiste Kempf <jb@videolan.org>
Date:   Sun Dec 29 19:13:27 2013 +0100

    ifo_read: use info_length as a size_t
    
    This makes sense since it is used as a malloc' size.
    And add a check in case it would have been negative

commit f0bcc87c48a919106eeb1d26aeb2431090ad8e51
Author: Mike Gorchak <mike.gorchak.qnx@gmail.com>
Date:   Tue Feb 19 15:20:17 2013 -0800

    Make libdvdread compile under QNX
    
    Signed-off-by: Erik Hovland <erik@hovland.org>
    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>

commit 7431b74772663e050da78f97096aebc358561050
Author: Paul Menzel <paulepanter@users.sourceforge.net>
Date:   Wed Dec 4 22:44:23 2013 +0000

    Use 0 instead of NULL in integer comparison
    
    Both GCC 4.8.2 and Clang 3.4 warn about a format mismatch in a
    comparison.
    
            libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -mno-ms-bitfields -O3 -Wall -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOUR
    CE -MT ifo_read.lo -MD -MP -MF .deps/ifo_read.Tpo -c ifo_read.c  -fPIC -DPIC -o .libs/ifo_read.o
            […]
            ifo_read.c: In function 'ifoRead_PTL_MAIT':
            ifo_read.c:1313:34: warning: comparison between pointer and integer [enabled by default]
               if(ifofile->vmgi_mat->ptl_mait == NULL)
    
            libtool: compile:  clang -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -O3 -Wall -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -MT ifo_read.
    lo -MD -MP -MF .deps/ifo_read.Tpo -c ifo_read.c  -fPIC -DPIC -o .libs/ifo_read.o
            […]
            ifo_read.c:1313:34: warning: comparison between pointer and integer ('uint32_t' (aka 'unsigned int') and 'void *')
              if(ifofile->vmgi_mat->ptl_mait == NULL)
                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~
    
    Fix this by using the integer 0 instead of `NULL`.

commit ec45ee7029c273f8b50afc6bc114ed819fd08b80
Author: Paul Menzel <paulepanter@users.sourceforge.net>
Date:   Wed Dec 4 22:40:17 2013 +0000

    Abort when PTT search table has zero entries
    
    The static analyzer from LLVM/Clang 1:3.4~svn194079-1 reports a possible
    allocation of size 0 in `libdvdread/src/ifo_read.c`.
    
            $ scan-build -o scan-build make
            $ scan-view scan-build/2013-11-18-155601-16168-1
    
    When `vts_ptt_srpt->nr_of_srpts` is zero the allocation size is zero.
    
            vts_ptt_srpt->title = malloc(vts_ptt_srpt->nr_of_srpts * sizeof(ttu_t));
    
    The manual of the function `malloc` writes the following.
    
            If size is 0, then malloc() returns either NULL, or a unique
            pointer value that can later be successfully passed to free().
    
    So check for 0 and, if it is, abort by going to the label `fail`.

commit 4c2728ff2cdb73ffe7656135d546c1f8f4da87ff
Author: Paul Menzel <paulepanter@users.sourceforge.net>
Date:   Mon Nov 18 23:43:16 2013 +0000

    Free `cached_dir_base` to fix memory leak
    
    The static analyzer from LLVM/Clang 1:3.4~svn194079-1 reports a memory
    leak in `libdvdread/src/dvd_udf.c`.
    
            $ scan-build -o scan-build make
            $ scan-view scan-build/2013-11-18-155601-16168-1
    
    The memory is allocated in
    
           	if((cached_dir_base = malloc(dir_lba * DVD_VIDEO_LB_LEN + 2048)) == NULL)
    
    and has to be freed before returning from the function.
    
    Signed-off-by: Paul Menzel <paulepanter@users.sourceforge.net>

commit 7e74c39cbb1b67f35e2a37786fd7f711272a2b11
Author: Paul Menzel <paulepanter@users.sourceforge.net>
Date:   Tue Nov 12 00:10:38 2013 +0000

    Document warnings generated by DVDs made with the VDR-to-DVD device LG RC590M.

commit bc43469ad4c3ab62ca7b57ae148e563cb1f1e6ee
Author: Jean-Baptiste Kempf <jb@videolan.org>
Date:   Sun Dec 29 16:45:52 2013 +0100

    Next version will be 5.0.0

commit 94e9d32d52f3828260f81a9e8a0fb2e84de5403e
Author: Jean-Baptiste Kempf <jb@videolan.org>
Date:   Sun Dec 29 16:37:09 2013 +0100

    Remove outdated libdvdread.spec.in

commit e8657e1348b4e6ee0cf2273dc9cd4245834d1d2a
Author: Diego Biurrun <diego@biurrun.de>
Date:   Fri Nov 29 13:02:12 2013 -0500

