[SCM] libbluray/master: Imported Upstream version 0.6.2

sramacher at users.alioth.debian.org sramacher at users.alioth.debian.org
Thu Sep 4 15:49:57 UTC 2014


The following commit has been merged in the master branch:
commit d7eb9fe9fd0f09a7260911290bc7bb204581e4f1
Author: Sebastian Ramacher <sramacher at debian.org>
Date:   Thu Sep 4 16:49:51 2014 +0200

    Imported Upstream version 0.6.2

diff --git a/ChangeLog b/ChangeLog
index e1073e4..ef01a51 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2014-09-03: Version 0.6.2
+- Fix possible subtitle corruption after seek.
+- Fix some main path embedded HDMV menus.
+- Fix reading outside of source image in BD-J drawImage().
+- Fix missing BD_EVENT_ERROR when BD-J is not supported.
+- Several stability and code quality fixes.
+
 2014-08-03: Version 0.6.1
 - Fix stream position when seamless angle change point is at clip boundary.
 - Fix Mac OS X jni compilation
diff --git a/configure b/configure
index 56ae49b..060ba03 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for libbluray 0.6.1.
+# Generated by GNU Autoconf 2.69 for libbluray 0.6.2.
 #
 # Report bugs to <http://www.videolan.org/developers/libbluray.html>.
 #
@@ -590,8 +590,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='libbluray'
 PACKAGE_TARNAME='libbluray'
-PACKAGE_VERSION='0.6.1'
-PACKAGE_STRING='libbluray 0.6.1'
+PACKAGE_VERSION='0.6.2'
+PACKAGE_STRING='libbluray 0.6.2'
 PACKAGE_BUGREPORT='http://www.videolan.org/developers/libbluray.html'
 PACKAGE_URL=''
 
@@ -1409,7 +1409,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures libbluray 0.6.1 to adapt to many kinds of systems.
+\`configure' configures libbluray 0.6.2 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1479,7 +1479,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of libbluray 0.6.1:";;
+     short | recursive ) echo "Configuration of libbluray 0.6.2:";;
    esac
   cat <<\_ACEOF
 
@@ -1625,7 +1625,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-libbluray configure 0.6.1
+libbluray configure 0.6.2
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2051,7 +2051,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by libbluray $as_me 0.6.1, which was
+It was created by libbluray $as_me 0.6.2, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2986,7 +2986,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='libbluray'
- VERSION='0.6.1'
+ VERSION='0.6.2'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -15162,10 +15162,10 @@ BLURAY_VERSION_MAJOR=0
 
 BLURAY_VERSION_MINOR=6
 
-BLURAY_VERSION_MICRO=1
+BLURAY_VERSION_MICRO=2
 
 
-LT_VERSION_INFO="7:1:6"
+LT_VERSION_INFO="7:2:6"
 
 
 
@@ -15805,7 +15805,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by libbluray $as_me 0.6.1, which was
+This file was extended by libbluray $as_me 0.6.2, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -15871,7 +15871,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-libbluray config.status 0.6.1
+libbluray config.status 0.6.2
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff --git a/configure.ac b/configure.ac
index a2b255e..8eed043 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,7 +1,7 @@
 dnl library version number
 m4_define([bluray_major], 0)
 m4_define([bluray_minor], 6)
-m4_define([bluray_micro], 1)
+m4_define([bluray_micro], 2)
 m4_define([bluray_version],[bluray_major.bluray_minor.bluray_micro])
 
 dnl shared library version (.so version)
@@ -13,7 +13,7 @@ dnl
 dnl Library file name will be libbluray.so.(current-age).age.revision
 dnl
 m4_define([lt_current],  7)
-m4_define([lt_revision], 1)
+m4_define([lt_revision], 2)
 m4_define([lt_age],      6)
 
 dnl initilization
diff --git a/src/Makefile.am b/src/Makefile.am
index 6fbec00..a51f41a 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -51,6 +51,7 @@ libbluray_la_SOURCES = \
 	libbluray/decoders/ig.h \
 	libbluray/decoders/ig_decode.h \
 	libbluray/decoders/ig_decode.c \
+	libbluray/decoders/hdmv_pids.h \
 	libbluray/decoders/rle.h \
 	libbluray/decoders/rle.c \
 	libbluray/decoders/textst.h \
diff --git a/src/Makefile.in b/src/Makefile.in
index 49ff434..0594aba 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -210,8 +210,9 @@ am__libbluray_la_SOURCES_DIST = libbluray/bluray.h libbluray/bluray.c \
 	libbluray/decoders/pg.h libbluray/decoders/pg_decode.h \
 	libbluray/decoders/pg_decode.c libbluray/decoders/ig.h \
 	libbluray/decoders/ig_decode.h libbluray/decoders/ig_decode.c \
-	libbluray/decoders/rle.h libbluray/decoders/rle.c \
-	libbluray/decoders/textst.h libbluray/decoders/textst_decode.h \
+	libbluray/decoders/hdmv_pids.h libbluray/decoders/rle.h \
+	libbluray/decoders/rle.c libbluray/decoders/textst.h \
+	libbluray/decoders/textst_decode.h \
 	libbluray/decoders/textst_decode.c \
 	libbluray/decoders/textst_render.h \
 	libbluray/decoders/textst_render.c \
@@ -640,8 +641,9 @@ libbluray_la_SOURCES = libbluray/bluray.h libbluray/bluray.c \
 	libbluray/decoders/pg.h libbluray/decoders/pg_decode.h \
 	libbluray/decoders/pg_decode.c libbluray/decoders/ig.h \
 	libbluray/decoders/ig_decode.h libbluray/decoders/ig_decode.c \
-	libbluray/decoders/rle.h libbluray/decoders/rle.c \
-	libbluray/decoders/textst.h libbluray/decoders/textst_decode.h \
+	libbluray/decoders/hdmv_pids.h libbluray/decoders/rle.h \
+	libbluray/decoders/rle.c libbluray/decoders/textst.h \
+	libbluray/decoders/textst_decode.h \
 	libbluray/decoders/textst_decode.c \
 	libbluray/decoders/textst_render.h \
 	libbluray/decoders/textst_render.c \
diff --git a/src/examples/mpls_dump.c b/src/examples/mpls_dump.c
index 5064830..a97ee33 100644
--- a/src/examples/mpls_dump.c
+++ b/src/examples/mpls_dump.c
@@ -127,6 +127,12 @@ const VALUE_MAP playback_type_map[] = {
   {0, NULL}
 };
 
+const VALUE_MAP connection_type_map[] = {
+  {0, "Non-seamless"},
+  {1, "Seamless"},
+  {0, NULL}
+};
+
 static const char*
 _lookup_str(const VALUE_MAP *map, int val)
 {
@@ -223,8 +229,9 @@ _show_details(MPLS_PL *pl, int level)
         pi = &pl->play_item[ii];
         indent_printf(level, "Clip Id %s", pi->clip[0].clip_id);
         indent_printf(level+1, "Stc Id: %02x", pi->clip[0].stc_id);
-        indent_printf(level+1, "Connection Condition: %02x", 
-                        pi->connection_condition);
+        indent_printf(level+1, "Connection Condition: %s (%02x)",
+                      _lookup_str(connection_type_map, pi->connection_condition),
+                      pi->connection_condition);
         indent_printf(level+1, "In-Time: %d", pi->in_time);
         indent_printf(level+1, "Out-Time: %d", pi->out_time);
         if (pi->still_mode == 1) {
@@ -369,7 +376,9 @@ _show_sub_path(MPLS_SUB *sub, int level)
             indent_printf(level+2, "Clip Id %s", pi->clip[0].clip_id);
             indent_printf(level+2, "Multi clip: %d", pi->is_multi_clip);
             indent_printf(level+2, "Clip count: %d", pi->clip_count);
-            indent_printf(level+2, "Connection Condition: %02x", pi->connection_condition);
+            indent_printf(level+2, "Connection Condition: %s (%02x)",
+                          _lookup_str(connection_type_map, pi->connection_condition),
+                          pi->connection_condition);
             indent_printf(level+2, "In-Time: %d", pi->in_time);
             indent_printf(level+2, "Out-Time: %d", pi->out_time);
             indent_printf(level+2, "Sync playitem Id: %d", pi->sync_play_item_id);
@@ -728,9 +737,7 @@ main(int argc, char *argv[])
             struct dirent *ent;
             int jj = 0;
             for (ent = readdir(dir); ent != NULL; ent = readdir(dir)) {
-                if (ent->d_name != NULL) {
                     dirlist[jj++] = str_dup(ent->d_name);
-                }
             }
             qsort(dirlist, jj, sizeof(char*), _qsort_str_cmp);
             for (jj = 0; dirlist[jj] != NULL; jj++) {
@@ -750,7 +757,7 @@ main(int argc, char *argv[])
                 if (pl != NULL) {
                     pl_list[pl_ii++] = pl;
                 }
-            } while (ent != NULL);
+            }
             free(dirlist);
             free(path);
         } else {
diff --git a/src/file/dir_posix.c b/src/file/dir_posix.c
index 973f8dc..1114838 100644
--- a/src/file/dir_posix.c
+++ b/src/file/dir_posix.c
@@ -54,7 +54,8 @@ static int _dir_read_posix(BD_DIR_H *dir, BD_DIRENT *entry)
     } else if (p_e == NULL) {
         return 1;
     }
-    strncpy(entry->d_name, e.d_name, 256);
+    strncpy(entry->d_name, e.d_name, sizeof(entry->d_name));
+    entry->d_name[sizeof(entry->d_name) - 1] = 0;
 
     return 0;
 }
diff --git a/src/file/libaacs.c b/src/file/libaacs.c
index 3dc36c9..d539d41 100644
--- a/src/file/libaacs.c
+++ b/src/file/libaacs.c
@@ -275,7 +275,7 @@ BD_PRIVATE const uint8_t *libaacs_get_aacs_data(BD_AACS *p, int type)
 
     switch (type) {
         case BD_AACS_DISC_ID:
-            return p ? p->disc_id : NULL;
+            return p->disc_id;
 
         case BD_AACS_MEDIA_VID:
             return _get_vid(p);
diff --git a/src/libbluray/bdj/java-j2se/java/awt/image/BufferedImage.java b/src/libbluray/bdj/java-j2se/java/awt/image/BufferedImage.java
index afabe91..eed32cf 100644
--- a/src/libbluray/bdj/java-j2se/java/awt/image/BufferedImage.java
+++ b/src/libbluray/bdj/java-j2se/java/awt/image/BufferedImage.java
@@ -96,7 +96,7 @@ public class BufferedImage extends java.awt.Image
         return peer.getWidth(observer);
     }
 
-    public synchronized void setRGB(int x, int y, int rgb) {
+    public void setRGB(int x, int y, int rgb) {
         peer.setRGB(x, y, rgb);
     }
 
diff --git a/src/libbluray/bdj/java-j2se/org/dvb/ui/FontFactory.java b/src/libbluray/bdj/java-j2se/org/dvb/ui/FontFactory.java
index eeb6eb9..567e970 100644
--- a/src/libbluray/bdj/java-j2se/org/dvb/ui/FontFactory.java
+++ b/src/libbluray/bdj/java-j2se/org/dvb/ui/FontFactory.java
@@ -50,19 +50,35 @@ public class FontFactory {
         fonts = new HashMap(fontIndexData.length);
         for (int i = 0; i < fontIndexData.length; i++) {
             FontIndexData data = fontIndexData[i];
-            FileInputStream inStream = new FileInputStream(BDJUtil.discRootToFilesystem("/BDMV/AUXDATA/" + data.getFileName()));
+            FileInputStream inStream = null;
 
-            Font font = Font.createFont(Font.TRUETYPE_FONT, inStream);
-            font = font.deriveFont(data.getStyle(), data.getMaxSize());
+            try {
+                inStream = new FileInputStream(BDJUtil.discRootToFilesystem("/BDMV/AUXDATA/" + data.getFileName()));
+                Font font = Font.createFont(Font.TRUETYPE_FONT, inStream);
+                font = font.deriveFont(data.getStyle(), data.getMaxSize());
 
-            fonts.put(data.getName(), font);
+                fonts.put(data.getName(), font);
+
+            } finally {
+                if (inStream != null) {
+                    inStream.close();
+                }
+            }
         }
     }
 
     public FontFactory(URL u) throws IOException, FontFormatException {
-        FileInputStream inStream = new FileInputStream(u.getPath());
+        FileInputStream inStream = null;
+
+        try {
+            inStream = new FileInputStream(u.getPath());
+            urlFont = Font.createFont(Font.TRUETYPE_FONT, inStream);
 
-        urlFont = Font.createFont(Font.TRUETYPE_FONT, inStream);
+        } finally {
+            if (inStream != null) {
+                inStream.close();
+            }
+        }
     }
 
     public Font createFont(String name, int style, int size)
diff --git a/src/libbluray/bdj/java/com/aacsla/bluray/online/ContentAttribute.java b/src/libbluray/bdj/java/com/aacsla/bluray/online/ContentAttribute.java
index 9a57eb7..de13511 100644
--- a/src/libbluray/bdj/java/com/aacsla/bluray/online/ContentAttribute.java
+++ b/src/libbluray/bdj/java/com/aacsla/bluray/online/ContentAttribute.java
@@ -27,17 +27,27 @@ public class ContentAttribute {
     }
 
     public byte[] getContentCertID() {
+        FileInputStream is = null;
         try {
-            FileInputStream is = new FileInputStream(
+            is = new FileInputStream(
                 System.getProperty("bluray.vfs.root") + File.separator + "AACS/Content000.cer");
-            is.skip(14);
+            if (is.skip(14) != 14)
+                return null;
             byte[] bytes = new byte[6];
-            is.read(bytes, 0, 6);
-            is.close();
+            if (is.read(bytes, 0, 6) != 6)
+                return null;
             return bytes;
         } catch (Throwable e) {
             e.printStackTrace();
             return null;
+        } finally {
+            if (is != null) {
+                try {
+                    is.close();
+                } catch (Throwable e) {
+                    e.printStackTrace();
+                }
+            }
         }
     }
 }
diff --git a/src/libbluray/bdj/java/java/awt/BDFontMetrics.java b/src/libbluray/bdj/java/java/awt/BDFontMetrics.java
index d0b63a9..847562f 100644
--- a/src/libbluray/bdj/java/java/awt/BDFontMetrics.java
+++ b/src/libbluray/bdj/java/java/awt/BDFontMetrics.java
@@ -139,7 +139,7 @@ public class BDFontMetrics extends FontMetrics {
         return (String[])fontNames.toArray(new String[fontNames.size()]);
     }
 
-    public static void registerFont(String name, int style, String path) {
+    public synchronized static void registerFont(String name, int style, String path) {
         File f = new File(path);
         path = f.getAbsolutePath();
         if (path != null) {
diff --git a/src/libbluray/bdj/java/java/awt/BDGraphicsBase.java b/src/libbluray/bdj/java/java/awt/BDGraphicsBase.java
index e8ddb7b..deddfe0 100644
--- a/src/libbluray/bdj/java/java/awt/BDGraphicsBase.java
+++ b/src/libbluray/bdj/java/java/awt/BDGraphicsBase.java
@@ -336,6 +336,14 @@ abstract class BDGraphicsBase extends Graphics2D implements ConstrainableGraphic
 
     private void drawSpanN(int x, int y, int length, int src[], int srcOffset, boolean flipX) {
 
+        /* avoid overreading source */
+        if (srcOffset + length > src.length) {
+            length -= srcOffset + length - src.length;
+        }
+        if (length <= 0) {
+            return;
+        }
+
         Rectangle rect = new Rectangle(x, y, length, 1);
         rect = actualClip.intersection(rect);
 
diff --git a/src/libbluray/bdj/java/java/awt/BDImageBase.java b/src/libbluray/bdj/java/java/awt/BDImageBase.java
index e41580e..0cf7b7f 100644
--- a/src/libbluray/bdj/java/java/awt/BDImageBase.java
+++ b/src/libbluray/bdj/java/java/awt/BDImageBase.java
@@ -218,7 +218,7 @@ class BDImageBase extends Image {
         return rgbArray;
     }
 
-    public synchronized void setRGB(int x, int y, int rgb) {
+    public void setRGB(int x, int y, int rgb) {
         backBuffer[y * width + x] = rgb;
 
         dirty.add(x, y);
diff --git a/src/libbluray/bdj/java/java/awt/BDJHelper.java b/src/libbluray/bdj/java/java/awt/BDJHelper.java
index 8bb2edd..f5a165b 100644
--- a/src/libbluray/bdj/java/java/awt/BDJHelper.java
+++ b/src/libbluray/bdj/java/java/awt/BDJHelper.java
@@ -78,8 +78,12 @@ public class BDJHelper {
                     event = new KeyEvent(focusOwner, id, when, modifiers, KeyEvent.VK_UNDEFINED, (char)keyCode);
                 else
                     event = new KeyEvent(focusOwner, id, when, modifiers, keyCode, KeyEvent.CHAR_UNDEFINED);
-                BDToolkit.getEventQueue(focusOwner).postEvent(event);
-                return true;
+
+                EventQueue eq = BDToolkit.getEventQueue(focusOwner);
+                if (eq != null) {
+                    eq.postEvent(event);
+                    return true;
+                }
             } catch (Throwable e) {
                 org.videolan.Logger.getLogger("BDJHelper").error("postKeyEvent failed: " + e);
             }
diff --git a/src/libbluray/bdj/java/java/awt/BDRootWindow.java b/src/libbluray/bdj/java/java/awt/BDRootWindow.java
index 8caf35b..2d8c60b 100644
--- a/src/libbluray/bdj/java/java/awt/BDRootWindow.java
+++ b/src/libbluray/bdj/java/java/awt/BDRootWindow.java
@@ -140,11 +140,13 @@ public class BDRootWindow extends Frame {
 
     /* called when new title starts (window is "created" again) */
     public void clearOverlay() {
-        if (overlay_open) {
-            logger.error("clearOverlay() ignored (overlay is visible)");
-        } else {
-            Arrays.fill(backBuffer, 0);
-            dirty.clear();
+        synchronized (this) {
+            if (overlay_open) {
+                logger.error("clearOverlay() ignored (overlay is visible)");
+            } else {
+                Arrays.fill(backBuffer, 0);
+                dirty.clear();
+            }
         }
     }
 
diff --git a/src/libbluray/bdj/java/java/awt/PolyEdge.java b/src/libbluray/bdj/java/java/awt/PolyEdge.java
index 1b7533e..d432996 100644
--- a/src/libbluray/bdj/java/java/awt/PolyEdge.java
+++ b/src/libbluray/bdj/java/java/awt/PolyEdge.java
@@ -23,7 +23,7 @@ class PolyEdge {
 
     private int x1;
     private int y1;
-    private int x2;
+    //private int x2;
     private int y2;
     private float m;
     private float c;
@@ -40,7 +40,7 @@ class PolyEdge {
 
         this.x1 = x1;
         this.y1 = y1;
-        this.x2 = x2;
+        //this.x2 = x2;
         this.y2 = y2;
 
         if (x1 == x2) {
diff --git a/src/libbluray/bdj/java/java/io/FileInputStream.java b/src/libbluray/bdj/java/java/io/FileInputStream.java
index aa74257..464e42c 100644
--- a/src/libbluray/bdj/java/java/io/FileInputStream.java
+++ b/src/libbluray/bdj/java/java/io/FileInputStream.java
@@ -177,14 +177,16 @@ public class FileInputStream extends InputStream
 
         available = 0;
 
-        if (fd != null && fd.slave != null) {
-            fd.slave.close();
-            return;
-        }
+        if (fd != null) {
+            if (fd.slave != null) {
+                fd.slave.close();
+                return;
+            }
 
-        int n = fd.decrementAndGetUseCount();
-        if (n > 0 && !force) {
-            return;
+            int n = fd.decrementAndGetUseCount();
+            if (n > 0 && !force) {
+                return;
+            }
         }
 
         close0();
diff --git a/src/libbluray/bdj/java/org/bluray/ti/TitleImpl.java b/src/libbluray/bdj/java/org/bluray/ti/TitleImpl.java
index eaebe1b..5322e13 100644
--- a/src/libbluray/bdj/java/org/bluray/ti/TitleImpl.java
+++ b/src/libbluray/bdj/java/org/bluray/ti/TitleImpl.java
@@ -65,7 +65,7 @@ public class TitleImpl implements Title {
         case TitleInfo.BDJ_PLAYBACK_TYPE_INTERACTIVE:
             return TitleType.BDJ_INTERACTIVE;
         }
-        return null;
+        return TitleType.UNKNOWN;
     }
 
     public boolean hasMultipleInstances() {
diff --git a/src/libbluray/bdj/java/org/dvb/dsmcc/AsynchronousLoadingEvent.java b/src/libbluray/bdj/java/org/dvb/dsmcc/AsynchronousLoadingEvent.java
index 9189f53..5b091ba 100644
--- a/src/libbluray/bdj/java/org/dvb/dsmcc/AsynchronousLoadingEvent.java
+++ b/src/libbluray/bdj/java/org/dvb/dsmcc/AsynchronousLoadingEvent.java
@@ -29,9 +29,8 @@ public abstract class AsynchronousLoadingEvent extends EventObject {
 
     public Object getSource()
     {
-        return source;
+        return super.getSource();
     }
 
-    private DSMCCObject source;
     private static final long serialVersionUID = -688613909871281279L;
 }
diff --git a/src/libbluray/bdj/java/org/dvb/event/UserEventAvailableEvent.java b/src/libbluray/bdj/java/org/dvb/event/UserEventAvailableEvent.java
index 5ad0061..e5b7335 100644
--- a/src/libbluray/bdj/java/org/dvb/event/UserEventAvailableEvent.java
+++ b/src/libbluray/bdj/java/org/dvb/event/UserEventAvailableEvent.java
@@ -29,9 +29,8 @@ public class UserEventAvailableEvent extends ResourceStatusEvent {
 
     public Object getSource()
     {
-        return source;
+        return super.getSource();
     }
 
-    private Object source;
     private static final long serialVersionUID = 1747902573730814730L;
 }
diff --git a/src/libbluray/bdj/java/org/havi/ui/HScene.java b/src/libbluray/bdj/java/org/havi/ui/HScene.java
index 372ad05..52888b6 100644
--- a/src/libbluray/bdj/java/org/havi/ui/HScene.java
+++ b/src/libbluray/bdj/java/org/havi/ui/HScene.java
@@ -181,15 +181,11 @@ public class HScene extends Container implements HComponentOrdering {
     }
 
     public void addWindowListener(WindowListener listener) {
-        synchronized (windowListener) {
-            windowListener = HEventMulticaster.add(windowListener, listener);
-        }
+        windowListener = HEventMulticaster.add(windowListener, listener);
     }
 
     public void removeWindowListener(WindowListener listener) {
-        synchronized (windowListener) {
-            windowListener = HEventMulticaster.remove(windowListener, listener);
-        }
+        windowListener = HEventMulticaster.remove(windowListener, listener);
     }
 
     protected void processWindowEvent(WindowEvent event) {
diff --git a/src/libbluray/bdj/java/org/havi/ui/event/HEventGroup.java b/src/libbluray/bdj/java/org/havi/ui/event/HEventGroup.java
index 1d127d3..24c381e 100644
--- a/src/libbluray/bdj/java/org/havi/ui/event/HEventGroup.java
+++ b/src/libbluray/bdj/java/org/havi/ui/event/HEventGroup.java
@@ -96,5 +96,5 @@ public class HEventGroup {
         return arr;
     }
 
-    private LinkedList keys;
+    private LinkedList keys = new LinkedList();
 }
diff --git a/src/libbluray/bdj/java/org/videolan/BDJThreadGroup.java b/src/libbluray/bdj/java/org/videolan/BDJThreadGroup.java
index 41f7aa6..f4bc1dc 100644
--- a/src/libbluray/bdj/java/org/videolan/BDJThreadGroup.java
+++ b/src/libbluray/bdj/java/org/videolan/BDJThreadGroup.java
@@ -30,10 +30,12 @@ public class BDJThreadGroup extends ThreadGroup {
     public void uncaughtException(Thread t, Throwable e) {
 
         String stack = "";
-        StackTraceElement elems[] = e.getStackTrace();
         if (e != null) {
-            for (int i = 0; i < elems.length; i++)
-                stack += "\n\t" + elems[i].toString();
+            StackTraceElement elems[] = e.getStackTrace();
+            if (elems != null) {
+                for (int i = 0; i < elems.length; i++)
+                    stack += "\n\t" + elems[i].toString();
+            }
         }
 
         if (e instanceof ThreadDeath) {
diff --git a/src/libbluray/bdj/java/org/videolan/FontIndex.java b/src/libbluray/bdj/java/org/videolan/FontIndex.java
index 84beb00..9eb856f 100644
--- a/src/libbluray/bdj/java/org/videolan/FontIndex.java
+++ b/src/libbluray/bdj/java/org/videolan/FontIndex.java
@@ -36,8 +36,9 @@ public class FontIndex extends DefaultHandler {
     }
 
     private FontIndex(String path) {
+        FileInputStream stream = null;
         try {
-            FileInputStream stream = new FileInputStream(path);
+            stream = new FileInputStream(path);
             SAXParser parser = SAXParserFactory.newInstance().newSAXParser();
             parser.parse(stream, this);
         } catch (FileNotFoundException e) {
@@ -46,6 +47,12 @@ public class FontIndex extends DefaultHandler {
             e.printStackTrace();
         } finally {
             fontData = null;
+            if (stream != null) {
+                try {
+                    stream.close();
+                } catch (Exception e) {
+                }
+            }
         }
     }
 
diff --git a/src/libbluray/bdj/java/org/videolan/Libbluray.java b/src/libbluray/bdj/java/org/videolan/Libbluray.java
index 183d5d5..0031b89 100644
--- a/src/libbluray/bdj/java/org/videolan/Libbluray.java
+++ b/src/libbluray/bdj/java/org/videolan/Libbluray.java
@@ -372,6 +372,7 @@ public class Libbluray {
             if (rate < 0.01f) rate = 0.0f;
             if (rate > 0.99f && rate < 1.01f) rate = 1.0f;
             PlayerManager.getInstance().onRateChange(rate);
+            break;
         case BDJ_EVENT_END_OF_PLAYLIST:
             PlayerManager.getInstance().onPlaylistEnd(param);
             break;
diff --git a/src/libbluray/bdj/java/org/videolan/media/content/playlist/VideoControl.java b/src/libbluray/bdj/java/org/videolan/media/content/playlist/VideoControl.java
index ea6a618..9a11b48 100644
--- a/src/libbluray/bdj/java/org/videolan/media/content/playlist/VideoControl.java
+++ b/src/libbluray/bdj/java/org/videolan/media/content/playlist/VideoControl.java
@@ -37,10 +37,10 @@ public abstract class VideoControl extends StreamControl implements VideoPresent
     protected HScreenRectangle getNormalizedRectangle(Dimension dimension, Rectangle rectangle) {
         if ((dimension.width == 0) || (dimension.height == 0))
             return new HScreenRectangle(0, 0, 0, 0);
-        float x = rectangle.x / dimension.width;
-        float y = rectangle.y / dimension.height;
-        float w = rectangle.width / dimension.width;
-        float h = rectangle.height / dimension.height;
+        float x = (float)rectangle.x / dimension.width;
+        float y = (float)rectangle.y / dimension.height;
+        float w = (float)rectangle.width / dimension.width;
+        float h = (float)rectangle.height / dimension.height;
         return new HScreenRectangle(x, y, w, h);
     }
 
diff --git a/src/libbluray/bdj/native/org_videolan_Libbluray.c b/src/libbluray/bdj/native/org_videolan_Libbluray.c
index b842382..052f02e 100644
--- a/src/libbluray/bdj/native/org_videolan_Libbluray.c
+++ b/src/libbluray/bdj/native/org_videolan_Libbluray.c
@@ -358,6 +358,9 @@ JNIEXPORT jlong JNICALL Java_org_videolan_Libbluray_tellTimeN(JNIEnv * env,
 JNIEXPORT jint JNICALL Java_org_videolan_Libbluray_selectRateN(JNIEnv * env,
         jclass cls, jlong np, jfloat rate, jint reason) {
     BDJAVA* bdj = (BDJAVA*)(intptr_t)np;
+
+    BD_DEBUG(DBG_JNI, "selectRateN(%1.1f, %d)\n", (float)rate, (int)reason);
+
     bd_select_rate(bdj->bd, (float)rate, reason);
     return 1;
 }
diff --git a/src/libbluray/bdnav/.deps/.dirstamp b/src/libbluray/bdnav/.deps/.dirstamp
deleted file mode 100644
index e69de29..0000000
diff --git a/src/libbluray/bdnav/.deps/bdid_parse.Plo b/src/libbluray/bdnav/.deps/bdid_parse.Plo
index 594ba6a..9ce06a8 100644
--- a/src/libbluray/bdnav/.deps/bdid_parse.Plo
+++ b/src/libbluray/bdnav/.deps/bdid_parse.Plo
@@ -1,121 +1 @@
-libbluray/bdnav/bdid_parse.lo: libbluray/bdnav/bdid_parse.c \
- /usr/include/stdc-predef.h file/file.h file/filesystem.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stdint.h /usr/include/stdint.h \
- /usr/include/features.h /usr/include/i386-linux-gnu/sys/cdefs.h \
- /usr/include/i386-linux-gnu/bits/wordsize.h \
- /usr/include/i386-linux-gnu/gnu/stubs.h \
- /usr/include/i386-linux-gnu/gnu/stubs-32.h \
- /usr/include/i386-linux-gnu/bits/wchar.h util/attributes.h util/bits.h \
- /usr/include/unistd.h /usr/include/i386-linux-gnu/bits/posix_opt.h \
- /usr/include/i386-linux-gnu/bits/environments.h \
- /usr/include/i386-linux-gnu/bits/types.h \
- /usr/include/i386-linux-gnu/bits/typesizes.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stddef.h \
- /usr/include/i386-linux-gnu/bits/confname.h /usr/include/getopt.h \
- /usr/include/i386-linux-gnu/bits/unistd.h /usr/include/stdio.h \
- /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stdarg.h \
- /usr/include/i386-linux-gnu/bits/stdio_lim.h \
- /usr/include/i386-linux-gnu/bits/sys_errlist.h \
- /usr/include/i386-linux-gnu/bits/stdio.h \
- /usr/include/i386-linux-gnu/bits/stdio2.h util/logging.h \
- util/log_control.h util/attributes.h util/macro.h /usr/include/stdlib.h \
- /usr/include/i386-linux-gnu/bits/stdlib-bsearch.h \
- /usr/include/i386-linux-gnu/bits/stdlib-float.h \
- /usr/include/i386-linux-gnu/bits/stdlib.h libbluray/bdnav/bdid_parse.h \
- /usr/include/string.h /usr/include/i386-linux-gnu/bits/string.h \
- /usr/include/i386-linux-gnu/bits/string2.h /usr/include/endian.h \
- /usr/include/i386-linux-gnu/bits/endian.h \
- /usr/include/i386-linux-gnu/bits/string3.h
-
-/usr/include/stdc-predef.h:
-
-file/file.h:
-
-file/filesystem.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stdint.h:
-
-/usr/include/stdint.h:
-
-/usr/include/features.h:
-
-/usr/include/i386-linux-gnu/sys/cdefs.h:
-
-/usr/include/i386-linux-gnu/bits/wordsize.h:
-
-/usr/include/i386-linux-gnu/gnu/stubs.h:
-
-/usr/include/i386-linux-gnu/gnu/stubs-32.h:
-
-/usr/include/i386-linux-gnu/bits/wchar.h:
-
-util/attributes.h:
-
-util/bits.h:
-
-/usr/include/unistd.h:
-
-/usr/include/i386-linux-gnu/bits/posix_opt.h:
-
-/usr/include/i386-linux-gnu/bits/environments.h:
-
-/usr/include/i386-linux-gnu/bits/types.h:
-
-/usr/include/i386-linux-gnu/bits/typesizes.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stddef.h:
-
-/usr/include/i386-linux-gnu/bits/confname.h:
-
-/usr/include/getopt.h:
-
-/usr/include/i386-linux-gnu/bits/unistd.h:
-
-/usr/include/stdio.h:
-
-/usr/include/libio.h:
-
-/usr/include/_G_config.h:
-
-/usr/include/wchar.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stdarg.h:
-
-/usr/include/i386-linux-gnu/bits/stdio_lim.h:
-
-/usr/include/i386-linux-gnu/bits/sys_errlist.h:
-
-/usr/include/i386-linux-gnu/bits/stdio.h:
-
-/usr/include/i386-linux-gnu/bits/stdio2.h:
-
-util/logging.h:
-
-util/log_control.h:
-
-util/attributes.h:
-
-util/macro.h:
-
-/usr/include/stdlib.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib-bsearch.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib-float.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib.h:
-
-libbluray/bdnav/bdid_parse.h:
-
-/usr/include/string.h:
-
-/usr/include/i386-linux-gnu/bits/string.h:
-
-/usr/include/i386-linux-gnu/bits/string2.h:
-
-/usr/include/endian.h:
-
-/usr/include/i386-linux-gnu/bits/endian.h:
-
-/usr/include/i386-linux-gnu/bits/string3.h:
+# dummy
diff --git a/src/libbluray/bdnav/.deps/clpi_parse.Plo b/src/libbluray/bdnav/.deps/clpi_parse.Plo
index aa7890c..9ce06a8 100644
--- a/src/libbluray/bdnav/.deps/clpi_parse.Plo
+++ b/src/libbluray/bdnav/.deps/clpi_parse.Plo
@@ -1,128 +1 @@
-libbluray/bdnav/clpi_parse.lo: libbluray/bdnav/clpi_parse.c \
- /usr/include/stdc-predef.h libbluray/bdnav/clpi_parse.h \
- libbluray/bdnav/clpi_data.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stdint.h /usr/include/stdint.h \
- /usr/include/features.h /usr/include/i386-linux-gnu/sys/cdefs.h \
- /usr/include/i386-linux-gnu/bits/wordsize.h \
- /usr/include/i386-linux-gnu/gnu/stubs.h \
- /usr/include/i386-linux-gnu/gnu/stubs-32.h \
- /usr/include/i386-linux-gnu/bits/wchar.h util/attributes.h \
- libbluray/bdnav/extdata_parse.h util/bits.h file/file.h \
- file/filesystem.h /usr/include/unistd.h \
- /usr/include/i386-linux-gnu/bits/posix_opt.h \
- /usr/include/i386-linux-gnu/bits/environments.h \
- /usr/include/i386-linux-gnu/bits/types.h \
- /usr/include/i386-linux-gnu/bits/typesizes.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stddef.h \
- /usr/include/i386-linux-gnu/bits/confname.h /usr/include/getopt.h \
- /usr/include/i386-linux-gnu/bits/unistd.h /usr/include/stdio.h \
- /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stdarg.h \
- /usr/include/i386-linux-gnu/bits/stdio_lim.h \
- /usr/include/i386-linux-gnu/bits/sys_errlist.h \
- /usr/include/i386-linux-gnu/bits/stdio.h \
- /usr/include/i386-linux-gnu/bits/stdio2.h util/macro.h \
- /usr/include/stdlib.h /usr/include/i386-linux-gnu/bits/stdlib-bsearch.h \
- /usr/include/i386-linux-gnu/bits/stdlib-float.h \
- /usr/include/i386-linux-gnu/bits/stdlib.h util/logging.h \
- util/log_control.h util/attributes.h /usr/include/string.h \
- /usr/include/i386-linux-gnu/bits/string.h \
- /usr/include/i386-linux-gnu/bits/string2.h /usr/include/endian.h \
- /usr/include/i386-linux-gnu/bits/endian.h \
- /usr/include/i386-linux-gnu/bits/string3.h
-
-/usr/include/stdc-predef.h:
-
-libbluray/bdnav/clpi_parse.h:
-
-libbluray/bdnav/clpi_data.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stdint.h:
-
-/usr/include/stdint.h:
-
-/usr/include/features.h:
-
-/usr/include/i386-linux-gnu/sys/cdefs.h:
-
-/usr/include/i386-linux-gnu/bits/wordsize.h:
-
-/usr/include/i386-linux-gnu/gnu/stubs.h:
-
-/usr/include/i386-linux-gnu/gnu/stubs-32.h:
-
-/usr/include/i386-linux-gnu/bits/wchar.h:
-
-util/attributes.h:
-
-libbluray/bdnav/extdata_parse.h:
-
-util/bits.h:
-
-file/file.h:
-
-file/filesystem.h:
-
-/usr/include/unistd.h:
-
-/usr/include/i386-linux-gnu/bits/posix_opt.h:
-
-/usr/include/i386-linux-gnu/bits/environments.h:
-
-/usr/include/i386-linux-gnu/bits/types.h:
-
-/usr/include/i386-linux-gnu/bits/typesizes.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stddef.h:
-
-/usr/include/i386-linux-gnu/bits/confname.h:
-
-/usr/include/getopt.h:
-
-/usr/include/i386-linux-gnu/bits/unistd.h:
-
-/usr/include/stdio.h:
-
-/usr/include/libio.h:
-
-/usr/include/_G_config.h:
-
-/usr/include/wchar.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stdarg.h:
-
-/usr/include/i386-linux-gnu/bits/stdio_lim.h:
-
-/usr/include/i386-linux-gnu/bits/sys_errlist.h:
-
-/usr/include/i386-linux-gnu/bits/stdio.h:
-
-/usr/include/i386-linux-gnu/bits/stdio2.h:
-
-util/macro.h:
-
-/usr/include/stdlib.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib-bsearch.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib-float.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib.h:
-
-util/logging.h:
-
-util/log_control.h:
-
-util/attributes.h:
-
-/usr/include/string.h:
-
-/usr/include/i386-linux-gnu/bits/string.h:
-
-/usr/include/i386-linux-gnu/bits/string2.h:
-
-/usr/include/endian.h:
-
-/usr/include/i386-linux-gnu/bits/endian.h:
-
-/usr/include/i386-linux-gnu/bits/string3.h:
+# dummy
diff --git a/src/libbluray/bdnav/.deps/extdata_parse.Plo b/src/libbluray/bdnav/.deps/extdata_parse.Plo
index 08ab167..9ce06a8 100644
--- a/src/libbluray/bdnav/.deps/extdata_parse.Plo
+++ b/src/libbluray/bdnav/.deps/extdata_parse.Plo
@@ -1,86 +1 @@
-libbluray/bdnav/extdata_parse.lo: libbluray/bdnav/extdata_parse.c \
- /usr/include/stdc-predef.h util/bits.h file/file.h file/filesystem.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stdint.h /usr/include/stdint.h \
- /usr/include/features.h /usr/include/i386-linux-gnu/sys/cdefs.h \
- /usr/include/i386-linux-gnu/bits/wordsize.h \
- /usr/include/i386-linux-gnu/gnu/stubs.h \
- /usr/include/i386-linux-gnu/gnu/stubs-32.h \
- /usr/include/i386-linux-gnu/bits/wchar.h util/attributes.h \
- /usr/include/unistd.h /usr/include/i386-linux-gnu/bits/posix_opt.h \
- /usr/include/i386-linux-gnu/bits/environments.h \
- /usr/include/i386-linux-gnu/bits/types.h \
- /usr/include/i386-linux-gnu/bits/typesizes.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stddef.h \
- /usr/include/i386-linux-gnu/bits/confname.h /usr/include/getopt.h \
- /usr/include/i386-linux-gnu/bits/unistd.h /usr/include/stdio.h \
- /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stdarg.h \
- /usr/include/i386-linux-gnu/bits/stdio_lim.h \
- /usr/include/i386-linux-gnu/bits/sys_errlist.h \
- /usr/include/i386-linux-gnu/bits/stdio.h \
- /usr/include/i386-linux-gnu/bits/stdio2.h \
- libbluray/bdnav/extdata_parse.h
-
-/usr/include/stdc-predef.h:
-
-util/bits.h:
-
-file/file.h:
-
-file/filesystem.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stdint.h:
-
-/usr/include/stdint.h:
-
-/usr/include/features.h:
-
-/usr/include/i386-linux-gnu/sys/cdefs.h:
-
-/usr/include/i386-linux-gnu/bits/wordsize.h:
-
-/usr/include/i386-linux-gnu/gnu/stubs.h:
-
-/usr/include/i386-linux-gnu/gnu/stubs-32.h:
-
-/usr/include/i386-linux-gnu/bits/wchar.h:
-
-util/attributes.h:
-
-/usr/include/unistd.h:
-
-/usr/include/i386-linux-gnu/bits/posix_opt.h:
-
-/usr/include/i386-linux-gnu/bits/environments.h:
-
-/usr/include/i386-linux-gnu/bits/types.h:
-
-/usr/include/i386-linux-gnu/bits/typesizes.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stddef.h:
-
-/usr/include/i386-linux-gnu/bits/confname.h:
-
-/usr/include/getopt.h:
-
-/usr/include/i386-linux-gnu/bits/unistd.h:
-
-/usr/include/stdio.h:
-
-/usr/include/libio.h:
-
-/usr/include/_G_config.h:
-
-/usr/include/wchar.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stdarg.h:
-
-/usr/include/i386-linux-gnu/bits/stdio_lim.h:
-
-/usr/include/i386-linux-gnu/bits/sys_errlist.h:
-
-/usr/include/i386-linux-gnu/bits/stdio.h:
-
-/usr/include/i386-linux-gnu/bits/stdio2.h:
-
-libbluray/bdnav/extdata_parse.h:
+# dummy
diff --git a/src/libbluray/bdnav/.deps/index_parse.Plo b/src/libbluray/bdnav/.deps/index_parse.Plo
index 9ea7791..9ce06a8 100644
--- a/src/libbluray/bdnav/.deps/index_parse.Plo
+++ b/src/libbluray/bdnav/.deps/index_parse.Plo
@@ -1,140 +1 @@
-libbluray/bdnav/index_parse.lo: libbluray/bdnav/index_parse.c \
- /usr/include/stdc-predef.h libbluray/bdnav/index_parse.h \
- util/attributes.h /usr/lib/gcc/i686-linux-gnu/4.8/include/stdint.h \
- /usr/include/stdint.h /usr/include/features.h \
- /usr/include/i386-linux-gnu/sys/cdefs.h \
- /usr/include/i386-linux-gnu/bits/wordsize.h \
- /usr/include/i386-linux-gnu/gnu/stubs.h \
- /usr/include/i386-linux-gnu/gnu/stubs-32.h \
- /usr/include/i386-linux-gnu/bits/wchar.h file/file.h file/filesystem.h \
- util/bits.h /usr/include/unistd.h \
- /usr/include/i386-linux-gnu/bits/posix_opt.h \
- /usr/include/i386-linux-gnu/bits/environments.h \
- /usr/include/i386-linux-gnu/bits/types.h \
- /usr/include/i386-linux-gnu/bits/typesizes.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stddef.h \
- /usr/include/i386-linux-gnu/bits/confname.h /usr/include/getopt.h \
- /usr/include/i386-linux-gnu/bits/unistd.h /usr/include/stdio.h \
- /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stdarg.h \
- /usr/include/i386-linux-gnu/bits/stdio_lim.h \
- /usr/include/i386-linux-gnu/bits/sys_errlist.h \
- /usr/include/i386-linux-gnu/bits/stdio.h \
- /usr/include/i386-linux-gnu/bits/stdio2.h util/logging.h \
- util/log_control.h util/attributes.h util/macro.h /usr/include/stdlib.h \
- /usr/include/i386-linux-gnu/bits/stdlib-bsearch.h \
- /usr/include/i386-linux-gnu/bits/stdlib-float.h \
- /usr/include/i386-linux-gnu/bits/stdlib.h util/strutl.h \
- /usr/include/string.h /usr/include/i386-linux-gnu/bits/string.h \
- /usr/include/i386-linux-gnu/bits/string2.h /usr/include/endian.h \
- /usr/include/i386-linux-gnu/bits/endian.h \
- /usr/include/i386-linux-gnu/bits/string3.h /usr/include/errno.h \
- /usr/include/i386-linux-gnu/bits/errno.h /usr/include/linux/errno.h \
- /usr/include/i386-linux-gnu/asm/errno.h /usr/include/asm-generic/errno.h \
- /usr/include/asm-generic/errno-base.h
-
-/usr/include/stdc-predef.h:
-
-libbluray/bdnav/index_parse.h:
-
-util/attributes.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stdint.h:
-
-/usr/include/stdint.h:
-
-/usr/include/features.h:
-
-/usr/include/i386-linux-gnu/sys/cdefs.h:
-
-/usr/include/i386-linux-gnu/bits/wordsize.h:
-
-/usr/include/i386-linux-gnu/gnu/stubs.h:
-
-/usr/include/i386-linux-gnu/gnu/stubs-32.h:
-
-/usr/include/i386-linux-gnu/bits/wchar.h:
-
-file/file.h:
-
-file/filesystem.h:
-
-util/bits.h:
-
-/usr/include/unistd.h:
-
-/usr/include/i386-linux-gnu/bits/posix_opt.h:
-
-/usr/include/i386-linux-gnu/bits/environments.h:
-
-/usr/include/i386-linux-gnu/bits/types.h:
-
-/usr/include/i386-linux-gnu/bits/typesizes.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stddef.h:
-
-/usr/include/i386-linux-gnu/bits/confname.h:
-
-/usr/include/getopt.h:
-
-/usr/include/i386-linux-gnu/bits/unistd.h:
-
-/usr/include/stdio.h:
-
-/usr/include/libio.h:
-
-/usr/include/_G_config.h:
-
-/usr/include/wchar.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stdarg.h:
-
-/usr/include/i386-linux-gnu/bits/stdio_lim.h:
-
-/usr/include/i386-linux-gnu/bits/sys_errlist.h:
-
-/usr/include/i386-linux-gnu/bits/stdio.h:
-
-/usr/include/i386-linux-gnu/bits/stdio2.h:
-
-util/logging.h:
-
-util/log_control.h:
-
-util/attributes.h:
-
-util/macro.h:
-
-/usr/include/stdlib.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib-bsearch.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib-float.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib.h:
-
-util/strutl.h:
-
-/usr/include/string.h:
-
-/usr/include/i386-linux-gnu/bits/string.h:
-
-/usr/include/i386-linux-gnu/bits/string2.h:
-
-/usr/include/endian.h:
-
-/usr/include/i386-linux-gnu/bits/endian.h:
-
-/usr/include/i386-linux-gnu/bits/string3.h:
-
-/usr/include/errno.h:
-
-/usr/include/i386-linux-gnu/bits/errno.h:
-
-/usr/include/linux/errno.h:
-
-/usr/include/i386-linux-gnu/asm/errno.h:
-
-/usr/include/asm-generic/errno.h:
-
-/usr/include/asm-generic/errno-base.h:
+# dummy
diff --git a/src/libbluray/bdnav/.deps/meta_parse.Plo b/src/libbluray/bdnav/.deps/meta_parse.Plo
index 3e4dc8e..9ce06a8 100644
--- a/src/libbluray/bdnav/.deps/meta_parse.Plo
+++ b/src/libbluray/bdnav/.deps/meta_parse.Plo
@@ -1,229 +1 @@
-libbluray/bdnav/meta_parse.lo: libbluray/bdnav/meta_parse.c \
- /usr/include/stdc-predef.h ../config.h file/file.h file/filesystem.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stdint.h /usr/include/stdint.h \
- /usr/include/features.h /usr/include/i386-linux-gnu/sys/cdefs.h \
- /usr/include/i386-linux-gnu/bits/wordsize.h \
- /usr/include/i386-linux-gnu/gnu/stubs.h \
- /usr/include/i386-linux-gnu/gnu/stubs-32.h \
- /usr/include/i386-linux-gnu/bits/wchar.h util/attributes.h util/bits.h \
- /usr/include/unistd.h /usr/include/i386-linux-gnu/bits/posix_opt.h \
- /usr/include/i386-linux-gnu/bits/environments.h \
- /usr/include/i386-linux-gnu/bits/types.h \
- /usr/include/i386-linux-gnu/bits/typesizes.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stddef.h \
- /usr/include/i386-linux-gnu/bits/confname.h /usr/include/getopt.h \
- /usr/include/i386-linux-gnu/bits/unistd.h /usr/include/stdio.h \
- /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stdarg.h \
- /usr/include/i386-linux-gnu/bits/stdio_lim.h \
- /usr/include/i386-linux-gnu/bits/sys_errlist.h \
- /usr/include/i386-linux-gnu/bits/stdio.h \
- /usr/include/i386-linux-gnu/bits/stdio2.h util/logging.h \
- util/log_control.h util/attributes.h util/macro.h /usr/include/stdlib.h \
- /usr/include/i386-linux-gnu/bits/stdlib-bsearch.h \
- /usr/include/i386-linux-gnu/bits/stdlib-float.h \
- /usr/include/i386-linux-gnu/bits/stdlib.h util/strutl.h \
- libbluray/bdnav/meta_parse.h libbluray/bdnav/meta_data.h \
- libbluray/register.h /usr/include/string.h \
- /usr/include/i386-linux-gnu/bits/string.h \
- /usr/include/i386-linux-gnu/bits/string2.h /usr/include/endian.h \
- /usr/include/i386-linux-gnu/bits/endian.h \
- /usr/include/i386-linux-gnu/bits/string3.h /usr/include/errno.h \
- /usr/include/i386-linux-gnu/bits/errno.h /usr/include/linux/errno.h \
- /usr/include/i386-linux-gnu/asm/errno.h /usr/include/asm-generic/errno.h \
- /usr/include/asm-generic/errno-base.h /usr/include/strings.h \
- /usr/include/libxml2/libxml/parser.h \
- /usr/include/libxml2/libxml/xmlversion.h \
- /usr/include/libxml2/libxml/xmlexports.h \
- /usr/include/libxml2/libxml/tree.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include-fixed/limits.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include-fixed/syslimits.h \
- /usr/include/limits.h /usr/include/i386-linux-gnu/bits/posix1_lim.h \
- /usr/include/i386-linux-gnu/bits/local_lim.h /usr/include/linux/limits.h \
- /usr/include/i386-linux-gnu/bits/posix2_lim.h \
- /usr/include/libxml2/libxml/xmlstring.h \
- /usr/include/libxml2/libxml/xmlregexp.h \
- /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \
- /usr/include/libxml2/libxml/valid.h \
- /usr/include/libxml2/libxml/xmlerror.h \
- /usr/include/libxml2/libxml/list.h \
- /usr/include/libxml2/libxml/xmlautomata.h \
- /usr/include/libxml2/libxml/entities.h \
- /usr/include/libxml2/libxml/encoding.h /usr/include/iconv.h \
- /usr/include/libxml2/libxml/xmlIO.h \
- /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \
- /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
- /usr/include/libxml2/libxml/xmlmemory.h \
- /usr/include/libxml2/libxml/threads.h
-
-/usr/include/stdc-predef.h:
-
-../config.h:
-
-file/file.h:
-
-file/filesystem.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stdint.h:
-
-/usr/include/stdint.h:
-
-/usr/include/features.h:
-
-/usr/include/i386-linux-gnu/sys/cdefs.h:
-
-/usr/include/i386-linux-gnu/bits/wordsize.h:
-
-/usr/include/i386-linux-gnu/gnu/stubs.h:
-
-/usr/include/i386-linux-gnu/gnu/stubs-32.h:
-
-/usr/include/i386-linux-gnu/bits/wchar.h:
-
-util/attributes.h:
-
-util/bits.h:
-
-/usr/include/unistd.h:
-
-/usr/include/i386-linux-gnu/bits/posix_opt.h:
-
-/usr/include/i386-linux-gnu/bits/environments.h:
-
-/usr/include/i386-linux-gnu/bits/types.h:
-
-/usr/include/i386-linux-gnu/bits/typesizes.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stddef.h:
-
-/usr/include/i386-linux-gnu/bits/confname.h:
-
-/usr/include/getopt.h:
-
-/usr/include/i386-linux-gnu/bits/unistd.h:
-
-/usr/include/stdio.h:
-
-/usr/include/libio.h:
-
-/usr/include/_G_config.h:
-
-/usr/include/wchar.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stdarg.h:
-
-/usr/include/i386-linux-gnu/bits/stdio_lim.h:
-
-/usr/include/i386-linux-gnu/bits/sys_errlist.h:
-
-/usr/include/i386-linux-gnu/bits/stdio.h:
-
-/usr/include/i386-linux-gnu/bits/stdio2.h:
-
-util/logging.h:
-
-util/log_control.h:
-
-util/attributes.h:
-
-util/macro.h:
-
-/usr/include/stdlib.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib-bsearch.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib-float.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib.h:
-
-util/strutl.h:
-
-libbluray/bdnav/meta_parse.h:
-
-libbluray/bdnav/meta_data.h:
-
-libbluray/register.h:
-
-/usr/include/string.h:
-
-/usr/include/i386-linux-gnu/bits/string.h:
-
-/usr/include/i386-linux-gnu/bits/string2.h:
-
-/usr/include/endian.h:
-
-/usr/include/i386-linux-gnu/bits/endian.h:
-
-/usr/include/i386-linux-gnu/bits/string3.h:
-
-/usr/include/errno.h:
-
-/usr/include/i386-linux-gnu/bits/errno.h:
-
-/usr/include/linux/errno.h:
-
-/usr/include/i386-linux-gnu/asm/errno.h:
-
-/usr/include/asm-generic/errno.h:
-
-/usr/include/asm-generic/errno-base.h:
-
-/usr/include/strings.h:
-
-/usr/include/libxml2/libxml/parser.h:
-
-/usr/include/libxml2/libxml/xmlversion.h:
-
-/usr/include/libxml2/libxml/xmlexports.h:
-
-/usr/include/libxml2/libxml/tree.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include-fixed/limits.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include-fixed/syslimits.h:
-
-/usr/include/limits.h:
-
-/usr/include/i386-linux-gnu/bits/posix1_lim.h:
-
-/usr/include/i386-linux-gnu/bits/local_lim.h:
-
-/usr/include/linux/limits.h:
-
-/usr/include/i386-linux-gnu/bits/posix2_lim.h:
-
-/usr/include/libxml2/libxml/xmlstring.h:
-
-/usr/include/libxml2/libxml/xmlregexp.h:
-
-/usr/include/libxml2/libxml/dict.h:
-
-/usr/include/libxml2/libxml/hash.h:
-
-/usr/include/libxml2/libxml/valid.h:
-
-/usr/include/libxml2/libxml/xmlerror.h:
-
-/usr/include/libxml2/libxml/list.h:
-
-/usr/include/libxml2/libxml/xmlautomata.h:
-
-/usr/include/libxml2/libxml/entities.h:
-
-/usr/include/libxml2/libxml/encoding.h:
-
-/usr/include/iconv.h:
-
-/usr/include/libxml2/libxml/xmlIO.h:
-
-/usr/include/libxml2/libxml/globals.h:
-
-/usr/include/libxml2/libxml/SAX.h:
-
-/usr/include/libxml2/libxml/xlink.h:
-
-/usr/include/libxml2/libxml/SAX2.h:
-
-/usr/include/libxml2/libxml/xmlmemory.h:
-
-/usr/include/libxml2/libxml/threads.h:
+# dummy
diff --git a/src/libbluray/bdnav/.deps/mpls_parse.Plo b/src/libbluray/bdnav/.deps/mpls_parse.Plo
index 3b544f9..9ce06a8 100644
--- a/src/libbluray/bdnav/.deps/mpls_parse.Plo
+++ b/src/libbluray/bdnav/.deps/mpls_parse.Plo
@@ -1,128 +1 @@
-libbluray/bdnav/mpls_parse.lo: libbluray/bdnav/mpls_parse.c \
- /usr/include/stdc-predef.h libbluray/bdnav/mpls_parse.h \
- libbluray/bdnav/uo_mask_table.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stdint.h /usr/include/stdint.h \
- /usr/include/features.h /usr/include/i386-linux-gnu/sys/cdefs.h \
- /usr/include/i386-linux-gnu/bits/wordsize.h \
- /usr/include/i386-linux-gnu/gnu/stubs.h \
- /usr/include/i386-linux-gnu/gnu/stubs-32.h \
- /usr/include/i386-linux-gnu/bits/wchar.h util/attributes.h \
- libbluray/bdnav/extdata_parse.h util/bits.h file/file.h \
- file/filesystem.h /usr/include/unistd.h \
- /usr/include/i386-linux-gnu/bits/posix_opt.h \
- /usr/include/i386-linux-gnu/bits/environments.h \
- /usr/include/i386-linux-gnu/bits/types.h \
- /usr/include/i386-linux-gnu/bits/typesizes.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stddef.h \
- /usr/include/i386-linux-gnu/bits/confname.h /usr/include/getopt.h \
- /usr/include/i386-linux-gnu/bits/unistd.h /usr/include/stdio.h \
- /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stdarg.h \
- /usr/include/i386-linux-gnu/bits/stdio_lim.h \
- /usr/include/i386-linux-gnu/bits/sys_errlist.h \
- /usr/include/i386-linux-gnu/bits/stdio.h \
- /usr/include/i386-linux-gnu/bits/stdio2.h util/logging.h \
- util/log_control.h util/attributes.h util/macro.h /usr/include/stdlib.h \
- /usr/include/i386-linux-gnu/bits/stdlib-bsearch.h \
- /usr/include/i386-linux-gnu/bits/stdlib-float.h \
- /usr/include/i386-linux-gnu/bits/stdlib.h /usr/include/string.h \
- /usr/include/i386-linux-gnu/bits/string.h \
- /usr/include/i386-linux-gnu/bits/string2.h /usr/include/endian.h \
- /usr/include/i386-linux-gnu/bits/endian.h \
- /usr/include/i386-linux-gnu/bits/string3.h
-
-/usr/include/stdc-predef.h:
-
-libbluray/bdnav/mpls_parse.h:
-
-libbluray/bdnav/uo_mask_table.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stdint.h:
-
-/usr/include/stdint.h:
-
-/usr/include/features.h:
-
-/usr/include/i386-linux-gnu/sys/cdefs.h:
-
-/usr/include/i386-linux-gnu/bits/wordsize.h:
-
-/usr/include/i386-linux-gnu/gnu/stubs.h:
-
-/usr/include/i386-linux-gnu/gnu/stubs-32.h:
-
-/usr/include/i386-linux-gnu/bits/wchar.h:
-
-util/attributes.h:
-
-libbluray/bdnav/extdata_parse.h:
-
-util/bits.h:
-
-file/file.h:
-
-file/filesystem.h:
-
-/usr/include/unistd.h:
-
-/usr/include/i386-linux-gnu/bits/posix_opt.h:
-
-/usr/include/i386-linux-gnu/bits/environments.h:
-
-/usr/include/i386-linux-gnu/bits/types.h:
-
-/usr/include/i386-linux-gnu/bits/typesizes.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stddef.h:
-
-/usr/include/i386-linux-gnu/bits/confname.h:
-
-/usr/include/getopt.h:
-
-/usr/include/i386-linux-gnu/bits/unistd.h:
-
-/usr/include/stdio.h:
-
-/usr/include/libio.h:
-
-/usr/include/_G_config.h:
-
-/usr/include/wchar.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stdarg.h:
-
-/usr/include/i386-linux-gnu/bits/stdio_lim.h:
-
-/usr/include/i386-linux-gnu/bits/sys_errlist.h:
-
-/usr/include/i386-linux-gnu/bits/stdio.h:
-
-/usr/include/i386-linux-gnu/bits/stdio2.h:
-
-util/logging.h:
-
-util/log_control.h:
-
-util/attributes.h:
-
-util/macro.h:
-
-/usr/include/stdlib.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib-bsearch.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib-float.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib.h:
-
-/usr/include/string.h:
-
-/usr/include/i386-linux-gnu/bits/string.h:
-
-/usr/include/i386-linux-gnu/bits/string2.h:
-
-/usr/include/endian.h:
-
-/usr/include/i386-linux-gnu/bits/endian.h:
-
-/usr/include/i386-linux-gnu/bits/string3.h:
+# dummy
diff --git a/src/libbluray/bdnav/.deps/navigation.Plo b/src/libbluray/bdnav/.deps/navigation.Plo
index 7f89f06..9ce06a8 100644
--- a/src/libbluray/bdnav/.deps/navigation.Plo
+++ b/src/libbluray/bdnav/.deps/navigation.Plo
@@ -1,120 +1 @@
-libbluray/bdnav/navigation.lo: libbluray/bdnav/navigation.c \
- /usr/include/stdc-predef.h ../config.h util/macro.h /usr/include/stdio.h \
- /usr/include/features.h /usr/include/i386-linux-gnu/sys/cdefs.h \
- /usr/include/i386-linux-gnu/bits/wordsize.h \
- /usr/include/i386-linux-gnu/gnu/stubs.h \
- /usr/include/i386-linux-gnu/gnu/stubs-32.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stddef.h \
- /usr/include/i386-linux-gnu/bits/types.h \
- /usr/include/i386-linux-gnu/bits/typesizes.h /usr/include/libio.h \
- /usr/include/_G_config.h /usr/include/wchar.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stdarg.h \
- /usr/include/i386-linux-gnu/bits/stdio_lim.h \
- /usr/include/i386-linux-gnu/bits/sys_errlist.h \
- /usr/include/i386-linux-gnu/bits/stdio.h \
- /usr/include/i386-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \
- /usr/include/i386-linux-gnu/bits/stdlib-bsearch.h \
- /usr/include/i386-linux-gnu/bits/stdlib-float.h \
- /usr/include/i386-linux-gnu/bits/stdlib.h util/logging.h \
- util/log_control.h /usr/lib/gcc/i686-linux-gnu/4.8/include/stdint.h \
- /usr/include/stdint.h /usr/include/i386-linux-gnu/bits/wchar.h \
- util/attributes.h util/strutl.h file/file.h file/filesystem.h \
- util/attributes.h libbluray/bluray.h libbluray/bdnav/mpls_parse.h \
- libbluray/bdnav/uo_mask_table.h libbluray/bdnav/navigation.h \
- libbluray/bdnav/clpi_parse.h libbluray/bdnav/clpi_data.h \
- /usr/include/string.h /usr/include/i386-linux-gnu/bits/string.h \
- /usr/include/i386-linux-gnu/bits/string2.h /usr/include/endian.h \
- /usr/include/i386-linux-gnu/bits/endian.h \
- /usr/include/i386-linux-gnu/bits/string3.h
-
-/usr/include/stdc-predef.h:
-
-../config.h:
-
-util/macro.h:
-
-/usr/include/stdio.h:
-
-/usr/include/features.h:
-
-/usr/include/i386-linux-gnu/sys/cdefs.h:
-
-/usr/include/i386-linux-gnu/bits/wordsize.h:
-
-/usr/include/i386-linux-gnu/gnu/stubs.h:
-
-/usr/include/i386-linux-gnu/gnu/stubs-32.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stddef.h:
-
-/usr/include/i386-linux-gnu/bits/types.h:
-
-/usr/include/i386-linux-gnu/bits/typesizes.h:
-
-/usr/include/libio.h:
-
-/usr/include/_G_config.h:
-
-/usr/include/wchar.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stdarg.h:
-
-/usr/include/i386-linux-gnu/bits/stdio_lim.h:
-
-/usr/include/i386-linux-gnu/bits/sys_errlist.h:
-
-/usr/include/i386-linux-gnu/bits/stdio.h:
-
-/usr/include/i386-linux-gnu/bits/stdio2.h:
-
-/usr/include/stdlib.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib-bsearch.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib-float.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib.h:
-
-util/logging.h:
-
-util/log_control.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stdint.h:
-
-/usr/include/stdint.h:
-
-/usr/include/i386-linux-gnu/bits/wchar.h:
-
-util/attributes.h:
-
-util/strutl.h:
-
-file/file.h:
-
-file/filesystem.h:
-
-util/attributes.h:
-
-libbluray/bluray.h:
-
-libbluray/bdnav/mpls_parse.h:
-
-libbluray/bdnav/uo_mask_table.h:
-
-libbluray/bdnav/navigation.h:
-
-libbluray/bdnav/clpi_parse.h:
-
-libbluray/bdnav/clpi_data.h:
-
-/usr/include/string.h:
-
-/usr/include/i386-linux-gnu/bits/string.h:
-
-/usr/include/i386-linux-gnu/bits/string2.h:
-
-/usr/include/endian.h:
-
-/usr/include/i386-linux-gnu/bits/endian.h:
-
-/usr/include/i386-linux-gnu/bits/string3.h:
+# dummy
diff --git a/src/libbluray/bdnav/.deps/sound_parse.Plo b/src/libbluray/bdnav/.deps/sound_parse.Plo
index 6ffef6c..9ce06a8 100644
--- a/src/libbluray/bdnav/.deps/sound_parse.Plo
+++ b/src/libbluray/bdnav/.deps/sound_parse.Plo
@@ -1,105 +1 @@
-libbluray/bdnav/sound_parse.lo: libbluray/bdnav/sound_parse.c \
- /usr/include/stdc-predef.h file/file.h file/filesystem.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stdint.h /usr/include/stdint.h \
- /usr/include/features.h /usr/include/i386-linux-gnu/sys/cdefs.h \
- /usr/include/i386-linux-gnu/bits/wordsize.h \
- /usr/include/i386-linux-gnu/gnu/stubs.h \
- /usr/include/i386-linux-gnu/gnu/stubs-32.h \
- /usr/include/i386-linux-gnu/bits/wchar.h util/attributes.h util/bits.h \
- /usr/include/unistd.h /usr/include/i386-linux-gnu/bits/posix_opt.h \
- /usr/include/i386-linux-gnu/bits/environments.h \
- /usr/include/i386-linux-gnu/bits/types.h \
- /usr/include/i386-linux-gnu/bits/typesizes.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stddef.h \
- /usr/include/i386-linux-gnu/bits/confname.h /usr/include/getopt.h \
- /usr/include/i386-linux-gnu/bits/unistd.h /usr/include/stdio.h \
- /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stdarg.h \
- /usr/include/i386-linux-gnu/bits/stdio_lim.h \
- /usr/include/i386-linux-gnu/bits/sys_errlist.h \
- /usr/include/i386-linux-gnu/bits/stdio.h \
- /usr/include/i386-linux-gnu/bits/stdio2.h util/logging.h \
- util/log_control.h util/attributes.h util/macro.h /usr/include/stdlib.h \
- /usr/include/i386-linux-gnu/bits/stdlib-bsearch.h \
- /usr/include/i386-linux-gnu/bits/stdlib-float.h \
- /usr/include/i386-linux-gnu/bits/stdlib.h libbluray/bdnav/sound_parse.h
-
-/usr/include/stdc-predef.h:
-
-file/file.h:
-
-file/filesystem.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stdint.h:
-
-/usr/include/stdint.h:
-
-/usr/include/features.h:
-
-/usr/include/i386-linux-gnu/sys/cdefs.h:
-
-/usr/include/i386-linux-gnu/bits/wordsize.h:
-
-/usr/include/i386-linux-gnu/gnu/stubs.h:
-
-/usr/include/i386-linux-gnu/gnu/stubs-32.h:
-
-/usr/include/i386-linux-gnu/bits/wchar.h:
-
-util/attributes.h:
-
-util/bits.h:
-
-/usr/include/unistd.h:
-
-/usr/include/i386-linux-gnu/bits/posix_opt.h:
-
-/usr/include/i386-linux-gnu/bits/environments.h:
-
-/usr/include/i386-linux-gnu/bits/types.h:
-
-/usr/include/i386-linux-gnu/bits/typesizes.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stddef.h:
-
-/usr/include/i386-linux-gnu/bits/confname.h:
-
-/usr/include/getopt.h:
-
-/usr/include/i386-linux-gnu/bits/unistd.h:
-
-/usr/include/stdio.h:
-
-/usr/include/libio.h:
-
-/usr/include/_G_config.h:
-
-/usr/include/wchar.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stdarg.h:
-
-/usr/include/i386-linux-gnu/bits/stdio_lim.h:
-
-/usr/include/i386-linux-gnu/bits/sys_errlist.h:
-
-/usr/include/i386-linux-gnu/bits/stdio.h:
-
-/usr/include/i386-linux-gnu/bits/stdio2.h:
-
-util/logging.h:
-
-util/log_control.h:
-
-util/attributes.h:
-
-util/macro.h:
-
-/usr/include/stdlib.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib-bsearch.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib-float.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib.h:
-
-libbluray/bdnav/sound_parse.h:
+# dummy
diff --git a/src/libbluray/bdnav/.dirstamp b/src/libbluray/bdnav/.dirstamp
deleted file mode 100644
index e69de29..0000000
diff --git a/src/libbluray/bdnav/meta_parse.c b/src/libbluray/bdnav/meta_parse.c
index b36ccc9..3cd9abd 100644
--- a/src/libbluray/bdnav/meta_parse.c
+++ b/src/libbluray/bdnav/meta_parse.c
@@ -121,7 +121,7 @@ static void _findMetaXMLfiles(META_ROOT *meta, const char *device_path)
     for (res = dir_read(dir, &ent); !res; res = dir_read(dir, &ent)) {
         if (ent.d_name[0] == '.')
             continue;
-        else if (ent.d_name != NULL && strncasecmp(ent.d_name, "bdmt_", 5) == 0) {
+        else if (strncasecmp(ent.d_name, "bdmt_", 5) == 0) {
             uint8_t i = meta->dl_count;
             meta->dl_count++;
             meta->dl_entries = realloc(meta->dl_entries, (meta->dl_count*sizeof(META_DL)));
diff --git a/src/libbluray/bdnav/navigation.c b/src/libbluray/bdnav/navigation.c
index f6371c2..a0b9c23 100644
--- a/src/libbluray/bdnav/navigation.c
+++ b/src/libbluray/bdnav/navigation.c
@@ -639,6 +639,7 @@ NAV_CLIP* nav_packet_search(NAV_TITLE *title, uint32_t pkt, uint32_t *clip_pkt,
     NAV_CLIP *clip;
     unsigned ii;
 
+    *out_time = 0;
     pos = 0;
     for (ii = 0; ii < title->pl->list_count; ii++) {
         clip = &title->clip_list.clip[ii];
diff --git a/src/libbluray/bluray-version.h b/src/libbluray/bluray-version.h
index e271bd9..33281ce 100644
--- a/src/libbluray/bluray-version.h
+++ b/src/libbluray/bluray-version.h
@@ -27,9 +27,9 @@
 
 #define BLURAY_VERSION_MAJOR 0
 #define BLURAY_VERSION_MINOR 6
-#define BLURAY_VERSION_MICRO 1
+#define BLURAY_VERSION_MICRO 2
 
-#define BLURAY_VERSION_STRING "0.6.1"
+#define BLURAY_VERSION_STRING "0.6.2"
 
 #define BLURAY_VERSION \
     BLURAY_VERSION_CODE(BLURAY_VERSION_MAJOR, BLURAY_VERSION_MINOR, BLURAY_VERSION_MICRO)
diff --git a/src/libbluray/bluray.c b/src/libbluray/bluray.c
index 92481f1..4fbea45 100644
--- a/src/libbluray/bluray.c
+++ b/src/libbluray/bluray.c
@@ -504,7 +504,7 @@ static void _update_textst_timer(BLURAY *bd)
                 uint32_t spn = clpi_lookup_spn(clip->cl, cmds.wakeup_time, /*before=*/1,
                                                bd->title->pl->play_item[clip->ref].clip[clip->angle].stc_id);
                 if (spn) {
-                    bd->gc_wakeup_pos = spn * 192;
+                    bd->gc_wakeup_pos = (uint64_t)spn * 192L;
                 }
             }
         }
@@ -580,7 +580,8 @@ static int _open_m2ts(BLURAY *bd, BD_STREAM *st)
 
                 st->m2ts_filter = m2ts_filter_init((int64_t)st->clip->in_time << 1,
                                                    (int64_t)st->clip->out_time << 1,
-                                                   stn->num_video, stn->num_audio);
+                                                   stn->num_video, stn->num_audio,
+                                                   stn->num_ig, stn->num_pg);
 
                 _update_clip_psrs(bd, st->clip);
 
@@ -786,7 +787,11 @@ static int _run_gc(BLURAY *bd, gc_ctrl_e msg, uint32_t param)
 {
     int result = -1;
 
-    if (bd && bd->graphics_controller && bd->hdmv_vm) {
+    if (!bd) {
+        return -1;
+    }
+
+    if (bd->graphics_controller && bd->hdmv_vm) {
         GC_NAV_CMDS cmds = {-1, NULL, -1, 0, 0, EMPTY_UO_MASK};
 
         result = gc_run(bd->graphics_controller, msg, param, &cmds);
@@ -1544,9 +1549,13 @@ uint64_t bd_tell_time(BLURAY *bd)
     uint32_t clip_pkt = 0, out_pkt = 0, out_time = 0;
     NAV_CLIP *clip;
 
+    if (!bd) {
+        return 0;
+    }
+
     bd_mutex_lock(&bd->mutex);
 
-    if (bd && bd->title) {
+    if (bd->title) {
         clip = nav_packet_search(bd->title, SPN(bd->s_pos), &clip_pkt, &out_pkt, &out_time);
         if (clip) {
             out_time += clip->title_time;
@@ -1701,9 +1710,13 @@ uint64_t bd_get_title_size(BLURAY *bd)
 {
     uint64_t ret = 0;
 
+    if (!bd) {
+        return 0;
+    }
+
     bd_mutex_lock(&bd->mutex);
 
-    if (bd && bd->title) {
+    if (bd->title) {
         ret = (uint64_t)bd->title->packets * 192;
     }
 
@@ -1716,11 +1729,13 @@ uint64_t bd_tell(BLURAY *bd)
 {
     uint64_t ret = 0;
 
+    if (!bd) {
+        return 0;
+    }
+
     bd_mutex_lock(&bd->mutex);
 
-    if (bd) {
-        ret = bd->s_pos;
-    }
+    ret = bd->s_pos;
 
     bd_mutex_unlock(&bd->mutex);
 
@@ -1768,7 +1783,7 @@ static int _bd_read(BLURAY *bd, unsigned char *buf, int len)
                         if (!_open_m2ts(bd, st)) {
                             return -1;
                         }
-                        bd->s_pos = st->clip->title_pkt * 192;
+                        bd->s_pos = (uint64_t)st->clip->title_pkt * 192L;
                     } else {
                         _change_angle(bd);
                         _clip_seek_time(bd, bd->angle_change_time);
@@ -1777,7 +1792,7 @@ static int _bd_read(BLURAY *bd, unsigned char *buf, int len)
                 } else {
                     uint64_t angle_pos;
 
-                    angle_pos = bd->angle_change_pkt * 192;
+                    angle_pos = (uint64_t)bd->angle_change_pkt * 192L;
                     if (angle_pos - st->clip_pos < size)
                     {
                         size = angle_pos - st->clip_pos;
@@ -2406,11 +2421,11 @@ static BLURAY_TITLE_INFO* _fill_title_info(NAV_TITLE* title, uint32_t title_idx,
     title_info->marks = calloc(title_info->mark_count, sizeof(BLURAY_TITLE_MARK));
     for (ii = 0; ii < title_info->mark_count; ii++) {
         title_info->marks[ii].idx = ii;
-		title_info->marks[ii].type = title->mark_list.mark[ii].mark_type;
+        title_info->marks[ii].type = title->mark_list.mark[ii].mark_type;
         title_info->marks[ii].start = (uint64_t)title->mark_list.mark[ii].title_time * 2;
         title_info->marks[ii].duration = (uint64_t)title->mark_list.mark[ii].duration * 2;
         title_info->marks[ii].offset = (uint64_t)title->mark_list.mark[ii].title_pkt * 192L;
-		title_info->marks[ii].clip_ref = title->mark_list.mark[ii].clip_ref;
+        title_info->marks[ii].clip_ref = title->mark_list.mark[ii].clip_ref;
     }
     title_info->clip_count = title->clip_list.count;
     title_info->clips = calloc(title_info->clip_count, sizeof(BLURAY_CLIP_INFO));
@@ -2846,17 +2861,13 @@ static void _queue_initial_psr_events(BLURAY *bd)
 
 static int _play_bdj(BLURAY *bd, unsigned title)
 {
-    if (!bd->disc_info.bdj_handled) {
-        BD_DEBUG(DBG_BLURAY | DBG_CRIT, "Can't play BD-J title %d\n", title);
-        return 0;
-    }
-
     int result;
 
     bd->title_type = title_bdj;
 
     result = _start_bdj(bd, title);
     if (result <= 0) {
+        BD_DEBUG(DBG_BLURAY | DBG_CRIT, "Can't play BD-J title %d\n", title);
         bd->title_type = title_undef;
         _queue_event(bd, BD_EVENT_ERROR, BD_ERROR_BDJ);
     }
diff --git a/src/libbluray/decoders/.deps/.dirstamp b/src/libbluray/decoders/.deps/.dirstamp
deleted file mode 100644
index e69de29..0000000
diff --git a/src/libbluray/decoders/.deps/graphics_controller.Plo b/src/libbluray/decoders/.deps/graphics_controller.Plo
index 5f2b9d6..9ce06a8 100644
--- a/src/libbluray/decoders/.deps/graphics_controller.Plo
+++ b/src/libbluray/decoders/.deps/graphics_controller.Plo
@@ -1,201 +1 @@
-libbluray/decoders/graphics_controller.lo: \
- libbluray/decoders/graphics_controller.c /usr/include/stdc-predef.h \
- libbluray/decoders/graphics_controller.h util/attributes.h \
- libbluray/bdnav/uo_mask_table.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stdint.h /usr/include/stdint.h \
- /usr/include/features.h /usr/include/i386-linux-gnu/sys/cdefs.h \
- /usr/include/i386-linux-gnu/bits/wordsize.h \
- /usr/include/i386-linux-gnu/gnu/stubs.h \
- /usr/include/i386-linux-gnu/gnu/stubs-32.h \
- /usr/include/i386-linux-gnu/bits/wchar.h \
- libbluray/decoders/graphics_processor.h libbluray/decoders/pg.h \
- libbluray/decoders/overlay.h libbluray/decoders/ig.h \
- libbluray/decoders/../bdnav/uo_mask_table.h libbluray/decoders/textst.h \
- libbluray/decoders/textst_render.h util/bits.h file/file.h \
- file/filesystem.h /usr/include/unistd.h \
- /usr/include/i386-linux-gnu/bits/posix_opt.h \
- /usr/include/i386-linux-gnu/bits/environments.h \
- /usr/include/i386-linux-gnu/bits/types.h \
- /usr/include/i386-linux-gnu/bits/typesizes.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stddef.h \
- /usr/include/i386-linux-gnu/bits/confname.h /usr/include/getopt.h \
- /usr/include/i386-linux-gnu/bits/unistd.h /usr/include/stdio.h \
- /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stdarg.h \
- /usr/include/i386-linux-gnu/bits/stdio_lim.h \
- /usr/include/i386-linux-gnu/bits/sys_errlist.h \
- /usr/include/i386-linux-gnu/bits/stdio.h \
- /usr/include/i386-linux-gnu/bits/stdio2.h libbluray/decoders/rle.h \
- util/refcnt.h util/attributes.h util/macro.h /usr/include/stdlib.h \
- /usr/include/i386-linux-gnu/bits/stdlib-bsearch.h \
- /usr/include/i386-linux-gnu/bits/stdlib-float.h \
- /usr/include/i386-linux-gnu/bits/stdlib.h util/logging.h \
- util/log_control.h util/mutex.h ../config.h /usr/include/pthread.h \
- /usr/include/endian.h /usr/include/i386-linux-gnu/bits/endian.h \
- /usr/include/sched.h /usr/include/time.h \
- /usr/include/i386-linux-gnu/bits/sched.h \
- /usr/include/i386-linux-gnu/bits/time.h \
- /usr/include/i386-linux-gnu/bits/pthreadtypes.h \
- /usr/include/i386-linux-gnu/bits/setjmp.h util/logging.h util/macro.h \
- util/time.h /usr/include/i386-linux-gnu/sys/time.h \
- /usr/include/i386-linux-gnu/sys/select.h \
- /usr/include/i386-linux-gnu/bits/select.h \
- /usr/include/i386-linux-gnu/bits/sigset.h \
- /usr/include/i386-linux-gnu/bits/select2.h \
- libbluray/decoders/../register.h libbluray/decoders/../keys.h \
- /usr/include/inttypes.h /usr/include/string.h \
- /usr/include/i386-linux-gnu/bits/string.h \
- /usr/include/i386-linux-gnu/bits/string2.h \
- /usr/include/i386-linux-gnu/bits/string3.h
-
-/usr/include/stdc-predef.h:
-
-libbluray/decoders/graphics_controller.h:
-
-util/attributes.h:
-
-libbluray/bdnav/uo_mask_table.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stdint.h:
-
-/usr/include/stdint.h:
-
-/usr/include/features.h:
-
-/usr/include/i386-linux-gnu/sys/cdefs.h:
-
-/usr/include/i386-linux-gnu/bits/wordsize.h:
-
-/usr/include/i386-linux-gnu/gnu/stubs.h:
-
-/usr/include/i386-linux-gnu/gnu/stubs-32.h:
-
-/usr/include/i386-linux-gnu/bits/wchar.h:
-
-libbluray/decoders/graphics_processor.h:
-
-libbluray/decoders/pg.h:
-
-libbluray/decoders/overlay.h:
-
-libbluray/decoders/ig.h:
-
-libbluray/decoders/../bdnav/uo_mask_table.h:
-
-libbluray/decoders/textst.h:
-
-libbluray/decoders/textst_render.h:
-
-util/bits.h:
-
-file/file.h:
-
-file/filesystem.h:
-
-/usr/include/unistd.h:
-
-/usr/include/i386-linux-gnu/bits/posix_opt.h:
-
-/usr/include/i386-linux-gnu/bits/environments.h:
-
-/usr/include/i386-linux-gnu/bits/types.h:
-
-/usr/include/i386-linux-gnu/bits/typesizes.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stddef.h:
-
-/usr/include/i386-linux-gnu/bits/confname.h:
-
-/usr/include/getopt.h:
-
-/usr/include/i386-linux-gnu/bits/unistd.h:
-
-/usr/include/stdio.h:
-
-/usr/include/libio.h:
-
-/usr/include/_G_config.h:
-
-/usr/include/wchar.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stdarg.h:
-
-/usr/include/i386-linux-gnu/bits/stdio_lim.h:
-
-/usr/include/i386-linux-gnu/bits/sys_errlist.h:
-
-/usr/include/i386-linux-gnu/bits/stdio.h:
-
-/usr/include/i386-linux-gnu/bits/stdio2.h:
-
-libbluray/decoders/rle.h:
-
-util/refcnt.h:
-
-util/attributes.h:
-
-util/macro.h:
-
-/usr/include/stdlib.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib-bsearch.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib-float.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib.h:
-
-util/logging.h:
-
-util/log_control.h:
-
-util/mutex.h:
-
-../config.h:
-
-/usr/include/pthread.h:
-
-/usr/include/endian.h:
-
-/usr/include/i386-linux-gnu/bits/endian.h:
-
-/usr/include/sched.h:
-
-/usr/include/time.h:
-
-/usr/include/i386-linux-gnu/bits/sched.h:
-
-/usr/include/i386-linux-gnu/bits/time.h:
-
-/usr/include/i386-linux-gnu/bits/pthreadtypes.h:
-
-/usr/include/i386-linux-gnu/bits/setjmp.h:
-
-util/logging.h:
-
-util/macro.h:
-
-util/time.h:
-
-/usr/include/i386-linux-gnu/sys/time.h:
-
-/usr/include/i386-linux-gnu/sys/select.h:
-
-/usr/include/i386-linux-gnu/bits/select.h:
-
-/usr/include/i386-linux-gnu/bits/sigset.h:
-
-/usr/include/i386-linux-gnu/bits/select2.h:
-
-libbluray/decoders/../register.h:
-
-libbluray/decoders/../keys.h:
-
-/usr/include/inttypes.h:
-
-/usr/include/string.h:
-
-/usr/include/i386-linux-gnu/bits/string.h:
-
-/usr/include/i386-linux-gnu/bits/string2.h:
-
-/usr/include/i386-linux-gnu/bits/string3.h:
+# dummy
diff --git a/src/libbluray/decoders/.deps/graphics_processor.Plo b/src/libbluray/decoders/.deps/graphics_processor.Plo
index 964cbd6..9ce06a8 100644
--- a/src/libbluray/decoders/.deps/graphics_processor.Plo
+++ b/src/libbluray/decoders/.deps/graphics_processor.Plo
@@ -1,150 +1 @@
-libbluray/decoders/graphics_processor.lo: \
- libbluray/decoders/graphics_processor.c /usr/include/stdc-predef.h \
- libbluray/decoders/graphics_processor.h libbluray/decoders/pg.h \
- libbluray/decoders/overlay.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stdint.h /usr/include/stdint.h \
- /usr/include/features.h /usr/include/i386-linux-gnu/sys/cdefs.h \
- /usr/include/i386-linux-gnu/bits/wordsize.h \
- /usr/include/i386-linux-gnu/gnu/stubs.h \
- /usr/include/i386-linux-gnu/gnu/stubs-32.h \
- /usr/include/i386-linux-gnu/bits/wchar.h libbluray/decoders/ig.h \
- libbluray/decoders/../bdnav/uo_mask_table.h libbluray/decoders/textst.h \
- util/attributes.h libbluray/decoders/ig_decode.h util/bits.h file/file.h \
- file/filesystem.h /usr/include/unistd.h \
- /usr/include/i386-linux-gnu/bits/posix_opt.h \
- /usr/include/i386-linux-gnu/bits/environments.h \
- /usr/include/i386-linux-gnu/bits/types.h \
- /usr/include/i386-linux-gnu/bits/typesizes.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stddef.h \
- /usr/include/i386-linux-gnu/bits/confname.h /usr/include/getopt.h \
- /usr/include/i386-linux-gnu/bits/unistd.h /usr/include/stdio.h \
- /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stdarg.h \
- /usr/include/i386-linux-gnu/bits/stdio_lim.h \
- /usr/include/i386-linux-gnu/bits/sys_errlist.h \
- /usr/include/i386-linux-gnu/bits/stdio.h \
- /usr/include/i386-linux-gnu/bits/stdio2.h libbluray/decoders/pg_decode.h \
- libbluray/decoders/textst_decode.h libbluray/decoders/pes_buffer.h \
- libbluray/decoders/m2ts_demux.h util/macro.h /usr/include/stdlib.h \
- /usr/include/i386-linux-gnu/bits/stdlib-bsearch.h \
- /usr/include/i386-linux-gnu/bits/stdlib-float.h \
- /usr/include/i386-linux-gnu/bits/stdlib.h util/logging.h \
- util/log_control.h util/attributes.h /usr/include/string.h \
- /usr/include/i386-linux-gnu/bits/string.h \
- /usr/include/i386-linux-gnu/bits/string2.h /usr/include/endian.h \
- /usr/include/i386-linux-gnu/bits/endian.h \
- /usr/include/i386-linux-gnu/bits/string3.h /usr/include/inttypes.h
-
-/usr/include/stdc-predef.h:
-
-libbluray/decoders/graphics_processor.h:
-
-libbluray/decoders/pg.h:
-
-libbluray/decoders/overlay.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stdint.h:
-
-/usr/include/stdint.h:
-
-/usr/include/features.h:
-
-/usr/include/i386-linux-gnu/sys/cdefs.h:
-
-/usr/include/i386-linux-gnu/bits/wordsize.h:
-
-/usr/include/i386-linux-gnu/gnu/stubs.h:
-
-/usr/include/i386-linux-gnu/gnu/stubs-32.h:
-
-/usr/include/i386-linux-gnu/bits/wchar.h:
-
-libbluray/decoders/ig.h:
-
-libbluray/decoders/../bdnav/uo_mask_table.h:
-
-libbluray/decoders/textst.h:
-
-util/attributes.h:
-
-libbluray/decoders/ig_decode.h:
-
-util/bits.h:
-
-file/file.h:
-
-file/filesystem.h:
-
-/usr/include/unistd.h:
-
-/usr/include/i386-linux-gnu/bits/posix_opt.h:
-
-/usr/include/i386-linux-gnu/bits/environments.h:
-
-/usr/include/i386-linux-gnu/bits/types.h:
-
-/usr/include/i386-linux-gnu/bits/typesizes.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stddef.h:
-
-/usr/include/i386-linux-gnu/bits/confname.h:
-
-/usr/include/getopt.h:
-
-/usr/include/i386-linux-gnu/bits/unistd.h:
-
-/usr/include/stdio.h:
-
-/usr/include/libio.h:
-
-/usr/include/_G_config.h:
-
-/usr/include/wchar.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stdarg.h:
-
-/usr/include/i386-linux-gnu/bits/stdio_lim.h:
-
-/usr/include/i386-linux-gnu/bits/sys_errlist.h:
-
-/usr/include/i386-linux-gnu/bits/stdio.h:
-
-/usr/include/i386-linux-gnu/bits/stdio2.h:
-
-libbluray/decoders/pg_decode.h:
-
-libbluray/decoders/textst_decode.h:
-
-libbluray/decoders/pes_buffer.h:
-
-libbluray/decoders/m2ts_demux.h:
-
-util/macro.h:
-
-/usr/include/stdlib.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib-bsearch.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib-float.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib.h:
-
-util/logging.h:
-
-util/log_control.h:
-
-util/attributes.h:
-
-/usr/include/string.h:
-
-/usr/include/i386-linux-gnu/bits/string.h:
-
-/usr/include/i386-linux-gnu/bits/string2.h:
-
-/usr/include/endian.h:
-
-/usr/include/i386-linux-gnu/bits/endian.h:
-
-/usr/include/i386-linux-gnu/bits/string3.h:
-
-/usr/include/inttypes.h:
+# dummy
diff --git a/src/libbluray/decoders/.deps/ig_decode.Plo b/src/libbluray/decoders/.deps/ig_decode.Plo
index 0eeeb99..9ce06a8 100644
--- a/src/libbluray/decoders/.deps/ig_decode.Plo
+++ b/src/libbluray/decoders/.deps/ig_decode.Plo
@@ -1,144 +1 @@
-libbluray/decoders/ig_decode.lo: libbluray/decoders/ig_decode.c \
- /usr/include/stdc-predef.h libbluray/decoders/ig_decode.h \
- libbluray/decoders/ig.h libbluray/decoders/pg.h \
- libbluray/decoders/overlay.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stdint.h /usr/include/stdint.h \
- /usr/include/features.h /usr/include/i386-linux-gnu/sys/cdefs.h \
- /usr/include/i386-linux-gnu/bits/wordsize.h \
- /usr/include/i386-linux-gnu/gnu/stubs.h \
- /usr/include/i386-linux-gnu/gnu/stubs-32.h \
- /usr/include/i386-linux-gnu/bits/wchar.h \
- libbluray/decoders/../bdnav/uo_mask_table.h util/attributes.h \
- util/bits.h file/file.h file/filesystem.h /usr/include/unistd.h \
- /usr/include/i386-linux-gnu/bits/posix_opt.h \
- /usr/include/i386-linux-gnu/bits/environments.h \
- /usr/include/i386-linux-gnu/bits/types.h \
- /usr/include/i386-linux-gnu/bits/typesizes.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stddef.h \
- /usr/include/i386-linux-gnu/bits/confname.h /usr/include/getopt.h \
- /usr/include/i386-linux-gnu/bits/unistd.h /usr/include/stdio.h \
- /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stdarg.h \
- /usr/include/i386-linux-gnu/bits/stdio_lim.h \
- /usr/include/i386-linux-gnu/bits/sys_errlist.h \
- /usr/include/i386-linux-gnu/bits/stdio.h \
- /usr/include/i386-linux-gnu/bits/stdio2.h libbluray/decoders/pg_decode.h \
- libbluray/decoders/../hdmv/mobj_parse.h \
- libbluray/decoders/../bdnav/mpls_parse.h \
- libbluray/decoders/../bdnav/uo_mask_table.h util/macro.h \
- /usr/include/stdlib.h /usr/include/i386-linux-gnu/bits/stdlib-bsearch.h \
- /usr/include/i386-linux-gnu/bits/stdlib-float.h \
- /usr/include/i386-linux-gnu/bits/stdlib.h util/logging.h \
- util/log_control.h util/attributes.h /usr/include/string.h \
- /usr/include/i386-linux-gnu/bits/string.h \
- /usr/include/i386-linux-gnu/bits/string2.h /usr/include/endian.h \
- /usr/include/i386-linux-gnu/bits/endian.h \
- /usr/include/i386-linux-gnu/bits/string3.h
-
-/usr/include/stdc-predef.h:
-
-libbluray/decoders/ig_decode.h:
-
-libbluray/decoders/ig.h:
-
-libbluray/decoders/pg.h:
-
-libbluray/decoders/overlay.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stdint.h:
-
-/usr/include/stdint.h:
-
-/usr/include/features.h:
-
-/usr/include/i386-linux-gnu/sys/cdefs.h:
-
-/usr/include/i386-linux-gnu/bits/wordsize.h:
-
-/usr/include/i386-linux-gnu/gnu/stubs.h:
-
-/usr/include/i386-linux-gnu/gnu/stubs-32.h:
-
-/usr/include/i386-linux-gnu/bits/wchar.h:
-
-libbluray/decoders/../bdnav/uo_mask_table.h:
-
-util/attributes.h:
-
-util/bits.h:
-
-file/file.h:
-
-file/filesystem.h:
-
-/usr/include/unistd.h:
-
-/usr/include/i386-linux-gnu/bits/posix_opt.h:
-
-/usr/include/i386-linux-gnu/bits/environments.h:
-
-/usr/include/i386-linux-gnu/bits/types.h:
-
-/usr/include/i386-linux-gnu/bits/typesizes.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stddef.h:
-
-/usr/include/i386-linux-gnu/bits/confname.h:
-
-/usr/include/getopt.h:
-
-/usr/include/i386-linux-gnu/bits/unistd.h:
-
-/usr/include/stdio.h:
-
-/usr/include/libio.h:
-
-/usr/include/_G_config.h:
-
-/usr/include/wchar.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stdarg.h:
-
-/usr/include/i386-linux-gnu/bits/stdio_lim.h:
-
-/usr/include/i386-linux-gnu/bits/sys_errlist.h:
-
-/usr/include/i386-linux-gnu/bits/stdio.h:
-
-/usr/include/i386-linux-gnu/bits/stdio2.h:
-
-libbluray/decoders/pg_decode.h:
-
-libbluray/decoders/../hdmv/mobj_parse.h:
-
-libbluray/decoders/../bdnav/mpls_parse.h:
-
-libbluray/decoders/../bdnav/uo_mask_table.h:
-
-util/macro.h:
-
-/usr/include/stdlib.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib-bsearch.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib-float.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib.h:
-
-util/logging.h:
-
-util/log_control.h:
-
-util/attributes.h:
-
-/usr/include/string.h:
-
-/usr/include/i386-linux-gnu/bits/string.h:
-
-/usr/include/i386-linux-gnu/bits/string2.h:
-
-/usr/include/endian.h:
-
-/usr/include/i386-linux-gnu/bits/endian.h:
-
-/usr/include/i386-linux-gnu/bits/string3.h:
+# dummy
diff --git a/src/libbluray/decoders/.deps/m2ts_demux.Plo b/src/libbluray/decoders/.deps/m2ts_demux.Plo
index bd63733..9ce06a8 100644
--- a/src/libbluray/decoders/.deps/m2ts_demux.Plo
+++ b/src/libbluray/decoders/.deps/m2ts_demux.Plo
@@ -1,102 +1 @@
-libbluray/decoders/m2ts_demux.lo: libbluray/decoders/m2ts_demux.c \
- /usr/include/stdc-predef.h libbluray/decoders/m2ts_demux.h \
- util/attributes.h /usr/lib/gcc/i686-linux-gnu/4.8/include/stdint.h \
- /usr/include/stdint.h /usr/include/features.h \
- /usr/include/i386-linux-gnu/sys/cdefs.h \
- /usr/include/i386-linux-gnu/bits/wordsize.h \
- /usr/include/i386-linux-gnu/gnu/stubs.h \
- /usr/include/i386-linux-gnu/gnu/stubs-32.h \
- /usr/include/i386-linux-gnu/bits/wchar.h libbluray/decoders/pes_buffer.h \
- util/logging.h util/log_control.h util/attributes.h util/macro.h \
- /usr/include/stdio.h /usr/lib/gcc/i686-linux-gnu/4.8/include/stddef.h \
- /usr/include/i386-linux-gnu/bits/types.h \
- /usr/include/i386-linux-gnu/bits/typesizes.h /usr/include/libio.h \
- /usr/include/_G_config.h /usr/include/wchar.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stdarg.h \
- /usr/include/i386-linux-gnu/bits/stdio_lim.h \
- /usr/include/i386-linux-gnu/bits/sys_errlist.h \
- /usr/include/i386-linux-gnu/bits/stdio.h \
- /usr/include/i386-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \
- /usr/include/i386-linux-gnu/bits/stdlib-bsearch.h \
- /usr/include/i386-linux-gnu/bits/stdlib-float.h \
- /usr/include/i386-linux-gnu/bits/stdlib.h /usr/include/string.h \
- /usr/include/i386-linux-gnu/bits/string.h \
- /usr/include/i386-linux-gnu/bits/string2.h /usr/include/endian.h \
- /usr/include/i386-linux-gnu/bits/endian.h \
- /usr/include/i386-linux-gnu/bits/string3.h
-
-/usr/include/stdc-predef.h:
-
-libbluray/decoders/m2ts_demux.h:
-
-util/attributes.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stdint.h:
-
-/usr/include/stdint.h:
-
-/usr/include/features.h:
-
-/usr/include/i386-linux-gnu/sys/cdefs.h:
-
-/usr/include/i386-linux-gnu/bits/wordsize.h:
-
-/usr/include/i386-linux-gnu/gnu/stubs.h:
-
-/usr/include/i386-linux-gnu/gnu/stubs-32.h:
-
-/usr/include/i386-linux-gnu/bits/wchar.h:
-
-libbluray/decoders/pes_buffer.h:
-
-util/logging.h:
-
-util/log_control.h:
-
-util/attributes.h:
-
-util/macro.h:
-
-/usr/include/stdio.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stddef.h:
-
-/usr/include/i386-linux-gnu/bits/types.h:
-
-/usr/include/i386-linux-gnu/bits/typesizes.h:
-
-/usr/include/libio.h:
-
-/usr/include/_G_config.h:
-
-/usr/include/wchar.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stdarg.h:
-
-/usr/include/i386-linux-gnu/bits/stdio_lim.h:
-
-/usr/include/i386-linux-gnu/bits/sys_errlist.h:
-
-/usr/include/i386-linux-gnu/bits/stdio.h:
-
-/usr/include/i386-linux-gnu/bits/stdio2.h:
-
-/usr/include/stdlib.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib-bsearch.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib-float.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib.h:
-
-/usr/include/string.h:
-
-/usr/include/i386-linux-gnu/bits/string.h:
-
-/usr/include/i386-linux-gnu/bits/string2.h:
-
-/usr/include/endian.h:
-
-/usr/include/i386-linux-gnu/bits/endian.h:
-
-/usr/include/i386-linux-gnu/bits/string3.h:
+# dummy
diff --git a/src/libbluray/decoders/.deps/m2ts_filter.Plo b/src/libbluray/decoders/.deps/m2ts_filter.Plo
index 1da6ae3..9ce06a8 100644
--- a/src/libbluray/decoders/.deps/m2ts_filter.Plo
+++ b/src/libbluray/decoders/.deps/m2ts_filter.Plo
@@ -1,104 +1 @@
-libbluray/decoders/m2ts_filter.lo: libbluray/decoders/m2ts_filter.c \
- /usr/include/stdc-predef.h ../config.h libbluray/decoders/m2ts_filter.h \
- util/attributes.h /usr/lib/gcc/i686-linux-gnu/4.8/include/stdint.h \
- /usr/include/stdint.h /usr/include/features.h \
- /usr/include/i386-linux-gnu/sys/cdefs.h \
- /usr/include/i386-linux-gnu/bits/wordsize.h \
- /usr/include/i386-linux-gnu/gnu/stubs.h \
- /usr/include/i386-linux-gnu/gnu/stubs-32.h \
- /usr/include/i386-linux-gnu/bits/wchar.h util/logging.h \
- util/log_control.h util/attributes.h util/macro.h /usr/include/stdio.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stddef.h \
- /usr/include/i386-linux-gnu/bits/types.h \
- /usr/include/i386-linux-gnu/bits/typesizes.h /usr/include/libio.h \
- /usr/include/_G_config.h /usr/include/wchar.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stdarg.h \
- /usr/include/i386-linux-gnu/bits/stdio_lim.h \
- /usr/include/i386-linux-gnu/bits/sys_errlist.h \
- /usr/include/i386-linux-gnu/bits/stdio.h \
- /usr/include/i386-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \
- /usr/include/i386-linux-gnu/bits/stdlib-bsearch.h \
- /usr/include/i386-linux-gnu/bits/stdlib-float.h \
- /usr/include/i386-linux-gnu/bits/stdlib.h /usr/include/inttypes.h \
- /usr/include/string.h /usr/include/i386-linux-gnu/bits/string.h \
- /usr/include/i386-linux-gnu/bits/string2.h /usr/include/endian.h \
- /usr/include/i386-linux-gnu/bits/endian.h \
- /usr/include/i386-linux-gnu/bits/string3.h
-
-/usr/include/stdc-predef.h:
-
-../config.h:
-
-libbluray/decoders/m2ts_filter.h:
-
-util/attributes.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stdint.h:
-
-/usr/include/stdint.h:
-
-/usr/include/features.h:
-
-/usr/include/i386-linux-gnu/sys/cdefs.h:
-
-/usr/include/i386-linux-gnu/bits/wordsize.h:
-
-/usr/include/i386-linux-gnu/gnu/stubs.h:
-
-/usr/include/i386-linux-gnu/gnu/stubs-32.h:
-
-/usr/include/i386-linux-gnu/bits/wchar.h:
-
-util/logging.h:
-
-util/log_control.h:
-
-util/attributes.h:
-
-util/macro.h:
-
-/usr/include/stdio.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stddef.h:
-
-/usr/include/i386-linux-gnu/bits/types.h:
-
-/usr/include/i386-linux-gnu/bits/typesizes.h:
-
-/usr/include/libio.h:
-
-/usr/include/_G_config.h:
-
-/usr/include/wchar.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stdarg.h:
-
-/usr/include/i386-linux-gnu/bits/stdio_lim.h:
-
-/usr/include/i386-linux-gnu/bits/sys_errlist.h:
-
-/usr/include/i386-linux-gnu/bits/stdio.h:
-
-/usr/include/i386-linux-gnu/bits/stdio2.h:
-
-/usr/include/stdlib.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib-bsearch.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib-float.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib.h:
-
-/usr/include/inttypes.h:
-
-/usr/include/string.h:
-
-/usr/include/i386-linux-gnu/bits/string.h:
-
-/usr/include/i386-linux-gnu/bits/string2.h:
-
-/usr/include/endian.h:
-
-/usr/include/i386-linux-gnu/bits/endian.h:
-
-/usr/include/i386-linux-gnu/bits/string3.h:
+# dummy
diff --git a/src/libbluray/decoders/.deps/pes_buffer.Plo b/src/libbluray/decoders/.deps/pes_buffer.Plo
index 239fbbc..9ce06a8 100644
--- a/src/libbluray/decoders/.deps/pes_buffer.Plo
+++ b/src/libbluray/decoders/.deps/pes_buffer.Plo
@@ -1,93 +1 @@
-libbluray/decoders/pes_buffer.lo: libbluray/decoders/pes_buffer.c \
- /usr/include/stdc-predef.h libbluray/decoders/pes_buffer.h \
- util/attributes.h /usr/lib/gcc/i686-linux-gnu/4.8/include/stdint.h \
- /usr/include/stdint.h /usr/include/features.h \
- /usr/include/i386-linux-gnu/sys/cdefs.h \
- /usr/include/i386-linux-gnu/bits/wordsize.h \
- /usr/include/i386-linux-gnu/gnu/stubs.h \
- /usr/include/i386-linux-gnu/gnu/stubs-32.h \
- /usr/include/i386-linux-gnu/bits/wchar.h util/macro.h \
- /usr/include/stdio.h /usr/lib/gcc/i686-linux-gnu/4.8/include/stddef.h \
- /usr/include/i386-linux-gnu/bits/types.h \
- /usr/include/i386-linux-gnu/bits/typesizes.h /usr/include/libio.h \
- /usr/include/_G_config.h /usr/include/wchar.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stdarg.h \
- /usr/include/i386-linux-gnu/bits/stdio_lim.h \
- /usr/include/i386-linux-gnu/bits/sys_errlist.h \
- /usr/include/i386-linux-gnu/bits/stdio.h \
- /usr/include/i386-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \
- /usr/include/i386-linux-gnu/bits/stdlib-bsearch.h \
- /usr/include/i386-linux-gnu/bits/stdlib-float.h \
- /usr/include/i386-linux-gnu/bits/stdlib.h /usr/include/string.h \
- /usr/include/i386-linux-gnu/bits/string.h \
- /usr/include/i386-linux-gnu/bits/string2.h /usr/include/endian.h \
- /usr/include/i386-linux-gnu/bits/endian.h \
- /usr/include/i386-linux-gnu/bits/string3.h
-
-/usr/include/stdc-predef.h:
-
-libbluray/decoders/pes_buffer.h:
-
-util/attributes.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stdint.h:
-
-/usr/include/stdint.h:
-
-/usr/include/features.h:
-
-/usr/include/i386-linux-gnu/sys/cdefs.h:
-
-/usr/include/i386-linux-gnu/bits/wordsize.h:
-
-/usr/include/i386-linux-gnu/gnu/stubs.h:
-
-/usr/include/i386-linux-gnu/gnu/stubs-32.h:
-
-/usr/include/i386-linux-gnu/bits/wchar.h:
-
-util/macro.h:
-
-/usr/include/stdio.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stddef.h:
-
-/usr/include/i386-linux-gnu/bits/types.h:
-
-/usr/include/i386-linux-gnu/bits/typesizes.h:
-
-/usr/include/libio.h:
-
-/usr/include/_G_config.h:
-
-/usr/include/wchar.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stdarg.h:
-
-/usr/include/i386-linux-gnu/bits/stdio_lim.h:
-
-/usr/include/i386-linux-gnu/bits/sys_errlist.h:
-
-/usr/include/i386-linux-gnu/bits/stdio.h:
-
-/usr/include/i386-linux-gnu/bits/stdio2.h:
-
-/usr/include/stdlib.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib-bsearch.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib-float.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib.h:
-
-/usr/include/string.h:
-
-/usr/include/i386-linux-gnu/bits/string.h:
-
-/usr/include/i386-linux-gnu/bits/string2.h:
-
-/usr/include/endian.h:
-
-/usr/include/i386-linux-gnu/bits/endian.h:
-
-/usr/include/i386-linux-gnu/bits/string3.h:
+# dummy
diff --git a/src/libbluray/decoders/.deps/pg_decode.Plo b/src/libbluray/decoders/.deps/pg_decode.Plo
index 1d2c217..9ce06a8 100644
--- a/src/libbluray/decoders/.deps/pg_decode.Plo
+++ b/src/libbluray/decoders/.deps/pg_decode.Plo
@@ -1,130 +1 @@
-libbluray/decoders/pg_decode.lo: libbluray/decoders/pg_decode.c \
- /usr/include/stdc-predef.h libbluray/decoders/pg_decode.h \
- libbluray/decoders/pg.h libbluray/decoders/overlay.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stdint.h /usr/include/stdint.h \
- /usr/include/features.h /usr/include/i386-linux-gnu/sys/cdefs.h \
- /usr/include/i386-linux-gnu/bits/wordsize.h \
- /usr/include/i386-linux-gnu/gnu/stubs.h \
- /usr/include/i386-linux-gnu/gnu/stubs-32.h \
- /usr/include/i386-linux-gnu/bits/wchar.h util/attributes.h util/bits.h \
- file/file.h file/filesystem.h /usr/include/unistd.h \
- /usr/include/i386-linux-gnu/bits/posix_opt.h \
- /usr/include/i386-linux-gnu/bits/environments.h \
- /usr/include/i386-linux-gnu/bits/types.h \
- /usr/include/i386-linux-gnu/bits/typesizes.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stddef.h \
- /usr/include/i386-linux-gnu/bits/confname.h /usr/include/getopt.h \
- /usr/include/i386-linux-gnu/bits/unistd.h /usr/include/stdio.h \
- /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stdarg.h \
- /usr/include/i386-linux-gnu/bits/stdio_lim.h \
- /usr/include/i386-linux-gnu/bits/sys_errlist.h \
- /usr/include/i386-linux-gnu/bits/stdio.h \
- /usr/include/i386-linux-gnu/bits/stdio2.h util/refcnt.h \
- util/attributes.h util/macro.h /usr/include/stdlib.h \
- /usr/include/i386-linux-gnu/bits/stdlib-bsearch.h \
- /usr/include/i386-linux-gnu/bits/stdlib-float.h \
- /usr/include/i386-linux-gnu/bits/stdlib.h util/logging.h \
- util/log_control.h /usr/include/string.h \
- /usr/include/i386-linux-gnu/bits/string.h \
- /usr/include/i386-linux-gnu/bits/string2.h /usr/include/endian.h \
- /usr/include/i386-linux-gnu/bits/endian.h \
- /usr/include/i386-linux-gnu/bits/string3.h
-
-/usr/include/stdc-predef.h:
-
-libbluray/decoders/pg_decode.h:
-
-libbluray/decoders/pg.h:
-
-libbluray/decoders/overlay.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stdint.h:
-
-/usr/include/stdint.h:
-
-/usr/include/features.h:
-
-/usr/include/i386-linux-gnu/sys/cdefs.h:
-
-/usr/include/i386-linux-gnu/bits/wordsize.h:
-
-/usr/include/i386-linux-gnu/gnu/stubs.h:
-
-/usr/include/i386-linux-gnu/gnu/stubs-32.h:
-
-/usr/include/i386-linux-gnu/bits/wchar.h:
-
-util/attributes.h:
-
-util/bits.h:
-
-file/file.h:
-
-file/filesystem.h:
-
-/usr/include/unistd.h:
-
-/usr/include/i386-linux-gnu/bits/posix_opt.h:
-
-/usr/include/i386-linux-gnu/bits/environments.h:
-
-/usr/include/i386-linux-gnu/bits/types.h:
-
-/usr/include/i386-linux-gnu/bits/typesizes.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stddef.h:
-
-/usr/include/i386-linux-gnu/bits/confname.h:
-
-/usr/include/getopt.h:
-
-/usr/include/i386-linux-gnu/bits/unistd.h:
-
-/usr/include/stdio.h:
-
-/usr/include/libio.h:
-
-/usr/include/_G_config.h:
-
-/usr/include/wchar.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stdarg.h:
-
-/usr/include/i386-linux-gnu/bits/stdio_lim.h:
-
-/usr/include/i386-linux-gnu/bits/sys_errlist.h:
-
-/usr/include/i386-linux-gnu/bits/stdio.h:
-
-/usr/include/i386-linux-gnu/bits/stdio2.h:
-
-util/refcnt.h:
-
-util/attributes.h:
-
-util/macro.h:
-
-/usr/include/stdlib.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib-bsearch.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib-float.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib.h:
-
-util/logging.h:
-
-util/log_control.h:
-
-/usr/include/string.h:
-
-/usr/include/i386-linux-gnu/bits/string.h:
-
-/usr/include/i386-linux-gnu/bits/string2.h:
-
-/usr/include/endian.h:
-
-/usr/include/i386-linux-gnu/bits/endian.h:
-
-/usr/include/i386-linux-gnu/bits/string3.h:
+# dummy
diff --git a/src/libbluray/decoders/.deps/rle.Plo b/src/libbluray/decoders/.deps/rle.Plo
index 991642a..9ce06a8 100644
--- a/src/libbluray/decoders/.deps/rle.Plo
+++ b/src/libbluray/decoders/.deps/rle.Plo
@@ -1,89 +1 @@
-libbluray/decoders/rle.lo: libbluray/decoders/rle.c \
- /usr/include/stdc-predef.h libbluray/decoders/rle.h \
- libbluray/decoders/overlay.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stdint.h /usr/include/stdint.h \
- /usr/include/features.h /usr/include/i386-linux-gnu/sys/cdefs.h \
- /usr/include/i386-linux-gnu/bits/wordsize.h \
- /usr/include/i386-linux-gnu/gnu/stubs.h \
- /usr/include/i386-linux-gnu/gnu/stubs-32.h \
- /usr/include/i386-linux-gnu/bits/wchar.h util/attributes.h util/refcnt.h \
- util/attributes.h /usr/lib/gcc/i686-linux-gnu/4.8/include/stddef.h \
- util/macro.h /usr/include/stdio.h \
- /usr/include/i386-linux-gnu/bits/types.h \
- /usr/include/i386-linux-gnu/bits/typesizes.h /usr/include/libio.h \
- /usr/include/_G_config.h /usr/include/wchar.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stdarg.h \
- /usr/include/i386-linux-gnu/bits/stdio_lim.h \
- /usr/include/i386-linux-gnu/bits/sys_errlist.h \
- /usr/include/i386-linux-gnu/bits/stdio.h \
- /usr/include/i386-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \
- /usr/include/i386-linux-gnu/bits/stdlib-bsearch.h \
- /usr/include/i386-linux-gnu/bits/stdlib-float.h \
- /usr/include/i386-linux-gnu/bits/stdlib.h util/logging.h \
- util/log_control.h
-
-/usr/include/stdc-predef.h:
-
-libbluray/decoders/rle.h:
-
-libbluray/decoders/overlay.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stdint.h:
-
-/usr/include/stdint.h:
-
-/usr/include/features.h:
-
-/usr/include/i386-linux-gnu/sys/cdefs.h:
-
-/usr/include/i386-linux-gnu/bits/wordsize.h:
-
-/usr/include/i386-linux-gnu/gnu/stubs.h:
-
-/usr/include/i386-linux-gnu/gnu/stubs-32.h:
-
-/usr/include/i386-linux-gnu/bits/wchar.h:
-
-util/attributes.h:
-
-util/refcnt.h:
-
-util/attributes.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stddef.h:
-
-util/macro.h:
-
-/usr/include/stdio.h:
-
-/usr/include/i386-linux-gnu/bits/types.h:
-
-/usr/include/i386-linux-gnu/bits/typesizes.h:
-
-/usr/include/libio.h:
-
-/usr/include/_G_config.h:
-
-/usr/include/wchar.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stdarg.h:
-
-/usr/include/i386-linux-gnu/bits/stdio_lim.h:
-
-/usr/include/i386-linux-gnu/bits/sys_errlist.h:
-
-/usr/include/i386-linux-gnu/bits/stdio.h:
-
-/usr/include/i386-linux-gnu/bits/stdio2.h:
-
-/usr/include/stdlib.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib-bsearch.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib-float.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib.h:
-
-util/logging.h:
-
-util/log_control.h:
+# dummy
diff --git a/src/libbluray/decoders/.deps/textst_decode.Plo b/src/libbluray/decoders/.deps/textst_decode.Plo
index 42d6c77..9ce06a8 100644
--- a/src/libbluray/decoders/.deps/textst_decode.Plo
+++ b/src/libbluray/decoders/.deps/textst_decode.Plo
@@ -1,133 +1 @@
-libbluray/decoders/textst_decode.lo: libbluray/decoders/textst_decode.c \
- /usr/include/stdc-predef.h libbluray/decoders/textst_decode.h \
- libbluray/decoders/textst.h libbluray/decoders/pg.h \
- libbluray/decoders/overlay.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stdint.h /usr/include/stdint.h \
- /usr/include/features.h /usr/include/i386-linux-gnu/sys/cdefs.h \
- /usr/include/i386-linux-gnu/bits/wordsize.h \
- /usr/include/i386-linux-gnu/gnu/stubs.h \
- /usr/include/i386-linux-gnu/gnu/stubs-32.h \
- /usr/include/i386-linux-gnu/bits/wchar.h util/attributes.h util/bits.h \
- file/file.h file/filesystem.h /usr/include/unistd.h \
- /usr/include/i386-linux-gnu/bits/posix_opt.h \
- /usr/include/i386-linux-gnu/bits/environments.h \
- /usr/include/i386-linux-gnu/bits/types.h \
- /usr/include/i386-linux-gnu/bits/typesizes.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stddef.h \
- /usr/include/i386-linux-gnu/bits/confname.h /usr/include/getopt.h \
- /usr/include/i386-linux-gnu/bits/unistd.h /usr/include/stdio.h \
- /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stdarg.h \
- /usr/include/i386-linux-gnu/bits/stdio_lim.h \
- /usr/include/i386-linux-gnu/bits/sys_errlist.h \
- /usr/include/i386-linux-gnu/bits/stdio.h \
- /usr/include/i386-linux-gnu/bits/stdio2.h libbluray/decoders/pg_decode.h \
- util/macro.h /usr/include/stdlib.h \
- /usr/include/i386-linux-gnu/bits/stdlib-bsearch.h \
- /usr/include/i386-linux-gnu/bits/stdlib-float.h \
- /usr/include/i386-linux-gnu/bits/stdlib.h util/logging.h \
- util/log_control.h util/attributes.h /usr/include/string.h \
- /usr/include/i386-linux-gnu/bits/string.h \
- /usr/include/i386-linux-gnu/bits/string2.h /usr/include/endian.h \
- /usr/include/i386-linux-gnu/bits/endian.h \
- /usr/include/i386-linux-gnu/bits/string3.h
-
-/usr/include/stdc-predef.h:
-
-libbluray/decoders/textst_decode.h:
-
-libbluray/decoders/textst.h:
-
-libbluray/decoders/pg.h:
-
-libbluray/decoders/overlay.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stdint.h:
-
-/usr/include/stdint.h:
-
-/usr/include/features.h:
-
-/usr/include/i386-linux-gnu/sys/cdefs.h:
-
-/usr/include/i386-linux-gnu/bits/wordsize.h:
-
-/usr/include/i386-linux-gnu/gnu/stubs.h:
-
-/usr/include/i386-linux-gnu/gnu/stubs-32.h:
-
-/usr/include/i386-linux-gnu/bits/wchar.h:
-
-util/attributes.h:
-
-util/bits.h:
-
-file/file.h:
-
-file/filesystem.h:
-
-/usr/include/unistd.h:
-
-/usr/include/i386-linux-gnu/bits/posix_opt.h:
-
-/usr/include/i386-linux-gnu/bits/environments.h:
-
-/usr/include/i386-linux-gnu/bits/types.h:
-
-/usr/include/i386-linux-gnu/bits/typesizes.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stddef.h:
-
-/usr/include/i386-linux-gnu/bits/confname.h:
-
-/usr/include/getopt.h:
-
-/usr/include/i386-linux-gnu/bits/unistd.h:
-
-/usr/include/stdio.h:
-
-/usr/include/libio.h:
-
-/usr/include/_G_config.h:
-
-/usr/include/wchar.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stdarg.h:
-
-/usr/include/i386-linux-gnu/bits/stdio_lim.h:
-
-/usr/include/i386-linux-gnu/bits/sys_errlist.h:
-
-/usr/include/i386-linux-gnu/bits/stdio.h:
-
-/usr/include/i386-linux-gnu/bits/stdio2.h:
-
-libbluray/decoders/pg_decode.h:
-
-util/macro.h:
-
-/usr/include/stdlib.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib-bsearch.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib-float.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib.h:
-
-util/logging.h:
-
-util/log_control.h:
-
-util/attributes.h:
-
-/usr/include/string.h:
-
-/usr/include/i386-linux-gnu/bits/string.h:
-
-/usr/include/i386-linux-gnu/bits/string2.h:
-
-/usr/include/endian.h:
-
-/usr/include/i386-linux-gnu/bits/endian.h:
-
-/usr/include/i386-linux-gnu/bits/string3.h:
+# dummy
diff --git a/src/libbluray/decoders/.deps/textst_render.Plo b/src/libbluray/decoders/.deps/textst_render.Plo
index aa84082..9ce06a8 100644
--- a/src/libbluray/decoders/.deps/textst_render.Plo
+++ b/src/libbluray/decoders/.deps/textst_render.Plo
@@ -1,199 +1 @@
-libbluray/decoders/textst_render.lo: libbluray/decoders/textst_render.c \
- /usr/include/stdc-predef.h ../config.h util/macro.h /usr/include/stdio.h \
- /usr/include/features.h /usr/include/i386-linux-gnu/sys/cdefs.h \
- /usr/include/i386-linux-gnu/bits/wordsize.h \
- /usr/include/i386-linux-gnu/gnu/stubs.h \
- /usr/include/i386-linux-gnu/gnu/stubs-32.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stddef.h \
- /usr/include/i386-linux-gnu/bits/types.h \
- /usr/include/i386-linux-gnu/bits/typesizes.h /usr/include/libio.h \
- /usr/include/_G_config.h /usr/include/wchar.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stdarg.h \
- /usr/include/i386-linux-gnu/bits/stdio_lim.h \
- /usr/include/i386-linux-gnu/bits/sys_errlist.h \
- /usr/include/i386-linux-gnu/bits/stdio.h \
- /usr/include/i386-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \
- /usr/include/i386-linux-gnu/bits/stdlib-bsearch.h \
- /usr/include/i386-linux-gnu/bits/stdlib-float.h \
- /usr/include/i386-linux-gnu/bits/stdlib.h util/logging.h \
- util/log_control.h /usr/lib/gcc/i686-linux-gnu/4.8/include/stdint.h \
- /usr/include/stdint.h /usr/include/i386-linux-gnu/bits/wchar.h \
- util/attributes.h libbluray/bluray.h /usr/include/freetype2/ft2build.h \
- /usr/include/freetype2/config/ftheader.h \
- /usr/include/freetype2/freetype.h \
- /usr/include/freetype2/config/ftconfig.h \
- /usr/include/freetype2/config/ftoption.h \
- /usr/include/freetype2/config/ftstdlib.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include-fixed/limits.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include-fixed/syslimits.h \
- /usr/include/limits.h /usr/include/i386-linux-gnu/bits/posix1_lim.h \
- /usr/include/i386-linux-gnu/bits/local_lim.h /usr/include/linux/limits.h \
- /usr/include/i386-linux-gnu/bits/posix2_lim.h /usr/include/string.h \
- /usr/include/i386-linux-gnu/bits/string.h \
- /usr/include/i386-linux-gnu/bits/string2.h /usr/include/endian.h \
- /usr/include/i386-linux-gnu/bits/endian.h \
- /usr/include/i386-linux-gnu/bits/string3.h /usr/include/setjmp.h \
- /usr/include/i386-linux-gnu/bits/setjmp.h \
- /usr/include/i386-linux-gnu/bits/sigset.h \
- /usr/include/i386-linux-gnu/bits/setjmp2.h \
- /usr/include/freetype2/fttypes.h /usr/include/freetype2/ftsystem.h \
- /usr/include/freetype2/ftimage.h /usr/include/freetype2/fterrors.h \
- /usr/include/freetype2/ftmoderr.h /usr/include/freetype2/fterrdef.h \
- /usr/include/freetype2/ftsynth.h libbluray/decoders/textst_render.h \
- libbluray/decoders/textst.h libbluray/decoders/pg.h \
- libbluray/decoders/overlay.h util/attributes.h util/bits.h file/file.h \
- file/filesystem.h /usr/include/unistd.h \
- /usr/include/i386-linux-gnu/bits/posix_opt.h \
- /usr/include/i386-linux-gnu/bits/environments.h \
- /usr/include/i386-linux-gnu/bits/confname.h /usr/include/getopt.h \
- /usr/include/i386-linux-gnu/bits/unistd.h
-
-/usr/include/stdc-predef.h:
-
-../config.h:
-
-util/macro.h:
-
-/usr/include/stdio.h:
-
-/usr/include/features.h:
-
-/usr/include/i386-linux-gnu/sys/cdefs.h:
-
-/usr/include/i386-linux-gnu/bits/wordsize.h:
-
-/usr/include/i386-linux-gnu/gnu/stubs.h:
-
-/usr/include/i386-linux-gnu/gnu/stubs-32.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stddef.h:
-
-/usr/include/i386-linux-gnu/bits/types.h:
-
-/usr/include/i386-linux-gnu/bits/typesizes.h:
-
-/usr/include/libio.h:
-
-/usr/include/_G_config.h:
-
-/usr/include/wchar.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stdarg.h:
-
-/usr/include/i386-linux-gnu/bits/stdio_lim.h:
-
-/usr/include/i386-linux-gnu/bits/sys_errlist.h:
-
-/usr/include/i386-linux-gnu/bits/stdio.h:
-
-/usr/include/i386-linux-gnu/bits/stdio2.h:
-
-/usr/include/stdlib.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib-bsearch.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib-float.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib.h:
-
-util/logging.h:
-
-util/log_control.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stdint.h:
-
-/usr/include/stdint.h:
-
-/usr/include/i386-linux-gnu/bits/wchar.h:
-
-util/attributes.h:
-
-libbluray/bluray.h:
-
-/usr/include/freetype2/ft2build.h:
-
-/usr/include/freetype2/config/ftheader.h:
-
-/usr/include/freetype2/freetype.h:
-
-/usr/include/freetype2/config/ftconfig.h:
-
-/usr/include/freetype2/config/ftoption.h:
-
-/usr/include/freetype2/config/ftstdlib.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include-fixed/limits.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include-fixed/syslimits.h:
-
-/usr/include/limits.h:
-
-/usr/include/i386-linux-gnu/bits/posix1_lim.h:
-
-/usr/include/i386-linux-gnu/bits/local_lim.h:
-
-/usr/include/linux/limits.h:
-
-/usr/include/i386-linux-gnu/bits/posix2_lim.h:
-
-/usr/include/string.h:
-
-/usr/include/i386-linux-gnu/bits/string.h:
-
-/usr/include/i386-linux-gnu/bits/string2.h:
-
-/usr/include/endian.h:
-
-/usr/include/i386-linux-gnu/bits/endian.h:
-
-/usr/include/i386-linux-gnu/bits/string3.h:
-
-/usr/include/setjmp.h:
-
-/usr/include/i386-linux-gnu/bits/setjmp.h:
-
-/usr/include/i386-linux-gnu/bits/sigset.h:
-
-/usr/include/i386-linux-gnu/bits/setjmp2.h:
-
-/usr/include/freetype2/fttypes.h:
-
-/usr/include/freetype2/ftsystem.h:
-
-/usr/include/freetype2/ftimage.h:
-
-/usr/include/freetype2/fterrors.h:
-
-/usr/include/freetype2/ftmoderr.h:
-
-/usr/include/freetype2/fterrdef.h:
-
-/usr/include/freetype2/ftsynth.h:
-
-libbluray/decoders/textst_render.h:
-
-libbluray/decoders/textst.h:
-
-libbluray/decoders/pg.h:
-
-libbluray/decoders/overlay.h:
-
-util/attributes.h:
-
-util/bits.h:
-
-file/file.h:
-
-file/filesystem.h:
-
-/usr/include/unistd.h:
-
-/usr/include/i386-linux-gnu/bits/posix_opt.h:
-
-/usr/include/i386-linux-gnu/bits/environments.h:
-
-/usr/include/i386-linux-gnu/bits/confname.h:
-
-/usr/include/getopt.h:
-
-/usr/include/i386-linux-gnu/bits/unistd.h:
+# dummy
diff --git a/src/libbluray/decoders/.dirstamp b/src/libbluray/decoders/.dirstamp
deleted file mode 100644
index e69de29..0000000
diff --git a/src/libbluray/decoders/graphics_controller.c b/src/libbluray/decoders/graphics_controller.c
index 8625f3a..85acd23 100644
--- a/src/libbluray/decoders/graphics_controller.c
+++ b/src/libbluray/decoders/graphics_controller.c
@@ -20,6 +20,7 @@
 #include "graphics_controller.h"
 
 #include "graphics_processor.h"
+#include "hdmv_pids.h"
 #include "ig.h"
 #include "overlay.h"
 #include "textst_render.h"
@@ -831,7 +832,7 @@ int gc_decode_ts(GRAPHICS_CONTROLLER *gc, uint16_t pid, uint8_t *block, unsigned
         return -1;
     }
 
-    if (pid >= 0x1400 && pid < 0x1500) {
+    if (IS_HDMV_PID_IG(pid)) {
         /* IG stream */
 
         if (!gc->igp) {
@@ -875,7 +876,7 @@ int gc_decode_ts(GRAPHICS_CONTROLLER *gc, uint16_t pid, uint8_t *block, unsigned
         return 1;
     }
 
-    else if (pid >= 0x1200 && pid < 0x1300) {
+    else if (IS_HDMV_PID_PG(pid)) {
         /* PG stream */
         if (!gc->pgp) {
             gc->pgp = graphics_processor_init();
@@ -894,7 +895,7 @@ int gc_decode_ts(GRAPHICS_CONTROLLER *gc, uint16_t pid, uint8_t *block, unsigned
         return 1;
     }
 
-    else if (pid == 0x1800) {
+    else if (IS_HDMV_PID_TEXTST(pid)) {
         /* TextST stream */
         if (!gc->tgp) {
             gc->tgp = graphics_processor_init();
@@ -1004,9 +1005,11 @@ static int _render_textst(GRAPHICS_CONTROLLER *p, uint32_t stc, GC_NAV_CMDS *cmd
 
         /* next dialog too far in future ? */
         if (now < 1 || dialog[ii].start_pts >= now + 90000) {
-            cmds->wakeup_time = dialog[ii].start_pts / 2;
             GC_TRACE("_render_textst(): next event #%d in %"PRId64" seconds (pts %"PRId64")\n",
                      ii, (dialog[ii].start_pts - now)/90000, dialog[ii].start_pts);
+            if (cmds) {
+                cmds->wakeup_time = dialog[ii].start_pts / 2;
+            }
             return 1;
         }
 
@@ -1066,9 +1069,9 @@ static int _render_textst(GRAPHICS_CONTROLLER *p, uint32_t stc, GC_NAV_CMDS *cmd
             }
 
             TEXTST_BITMAP bmp = {NULL, style->text_box.width, style->text_box.height, style->text_box.width, 0};
-            bmp.mem = malloc(bmp.width * bmp.height);
+            bmp.mem = malloc((size_t)bmp.width * bmp.height);
             if (bmp.mem) {
-                memset(bmp.mem, style->region_info.background_color, bmp.width * bmp.height);
+                memset(bmp.mem, style->region_info.background_color, (size_t)bmp.width * bmp.height);
 
                 textst_render(p->textst_render, &bmp, style, region);
 
@@ -1457,11 +1460,13 @@ static int _render_page(GRAPHICS_CONTROLLER *gc,
         /* do not trigger auto action before single-loop animations have been terminated */
         if (gc->button_effect_running) {
             GC_TRACE("   auto-activate #%d not triggered (ANIMATING)\n", auto_activate_button->id);
-        } else {
+        } else if (cmds) {
             cmds->num_nav_cmds = auto_activate_button->num_nav_cmds;
             cmds->nav_cmds     = auto_activate_button->nav_cmds;
 
             gc->auto_action_triggered = 1;
+        } else {
+            GC_ERROR("_render_page(): auto-activate ignored (missing result buffer)\n");
         }
     }
 
@@ -1564,9 +1569,13 @@ static int _user_input(GRAPHICS_CONTROLLER *gc, uint32_t key, GC_NAV_CMDS *cmds)
                     case BD_VK_ENTER:
                         activated_btn_id = cur_btn_id;
 
-                        cmds->num_nav_cmds = button->num_nav_cmds;
-                        cmds->nav_cmds     = button->nav_cmds;
-                        cmds->sound_id_ref = button->activated_sound_id_ref;
+                        if (cmds) {
+                            cmds->num_nav_cmds = button->num_nav_cmds;
+                            cmds->nav_cmds     = button->nav_cmds;
+                            cmds->sound_id_ref = button->activated_sound_id_ref;
+                        } else {
+                            GC_ERROR("_user_input(): VD_VK_ENTER action ignored (missing result buffer)\n");
+                        }
                         break;
                     default:;
                 }
@@ -1574,7 +1583,7 @@ static int _user_input(GRAPHICS_CONTROLLER *gc, uint32_t key, GC_NAV_CMDS *cmds)
 
             if (new_btn_id != cur_btn_id) {
                 BD_IG_BUTTON *new_button = _find_button_page(page, new_btn_id, NULL);
-                if (new_button) {
+                if (new_button && cmds) {
                     cmds->sound_id_ref = new_button->selected_sound_id_ref;
                 }
             }
diff --git a/src/libbluray/decoders/graphics_processor.c b/src/libbluray/decoders/graphics_processor.c
index ea1ca3a..479ccaa 100644
--- a/src/libbluray/decoders/graphics_processor.c
+++ b/src/libbluray/decoders/graphics_processor.c
@@ -129,7 +129,7 @@ static void _join_fragments(PES_BUFFER *p1, PES_BUFFER *p2, int data_pos)
 /* return 1 if segment is ready for decoding, 0 if more data is needed */
 static int _join_segment_fragments(struct pes_buffer_s *p)
 {
-    uint8_t type = p->buf[0];
+    uint8_t type;
     unsigned id_pos = 0, id_len = 3, sd_pos = 6, data_pos = 0;
 
     if (p->len < 3) {
@@ -138,6 +138,7 @@ static int _join_segment_fragments(struct pes_buffer_s *p)
 
     /* check segment type */
 
+    type = p->buf[0];
     if (type == PGS_OBJECT) {
         id_pos = 3;
         sd_pos = 6;
@@ -200,6 +201,11 @@ static int _decode_wds(PG_DISPLAY_SET *s, BITBUFFER *bb, PES_BUFFER *p)
 
     (void)p;
 
+    if (!s->decoding) {
+        BD_DEBUG(DBG_DECODE, "skipping orphan window definition segment\n");
+        return 0;
+    }
+
     s->num_window = 0;
 
     if (pg_decode_windows(bb, &w)) {
@@ -216,6 +222,11 @@ static int _decode_wds(PG_DISPLAY_SET *s, BITBUFFER *bb, PES_BUFFER *p)
 
 static int _decode_ods(PG_DISPLAY_SET *s, BITBUFFER *bb, PES_BUFFER *p)
 {
+    if (!s->decoding) {
+        BD_DEBUG(DBG_DECODE, "skipping orphan object definition segment\n");
+        return 0;
+    }
+
     /* search for object to be updated */
 
     if (s->object) {
@@ -258,6 +269,11 @@ static int _decode_ods(PG_DISPLAY_SET *s, BITBUFFER *bb, PES_BUFFER *p)
 
 static int _decode_pds(PG_DISPLAY_SET *s, BITBUFFER *bb, PES_BUFFER *p)
 {
+    if (!s->decoding) {
+        BD_DEBUG(DBG_DECODE, "skipping orphan palette definition segment\n");
+        return 0;
+    }
+
     /* search for palette to be updated */
 
     if (s->palette) {
@@ -327,6 +343,11 @@ static void _check_epoch_start(PG_DISPLAY_SET *s)
 
 static int _decode_pcs(PG_DISPLAY_SET *s, BITBUFFER *bb, PES_BUFFER *p)
 {
+    if (s->complete) {
+        BD_DEBUG(DBG_DECODE | DBG_CRIT, "ERROR: updating complete (non-consumed) PG composition\n");
+        s->complete = 0;
+    }
+
     pg_free_composition(&s->pcs);
     s->pcs = calloc(1, sizeof(*s->pcs));
     if (!s->pcs) {
@@ -344,11 +365,18 @@ static int _decode_pcs(PG_DISPLAY_SET *s, BITBUFFER *bb, PES_BUFFER *p)
 
     _check_epoch_start(s);
 
+    s->decoding = 1;
+
     return 1;
 }
 
 static int _decode_ics(PG_DISPLAY_SET *s, BITBUFFER *bb, PES_BUFFER *p)
 {
+    if (s->complete) {
+        BD_DEBUG(DBG_DECODE | DBG_CRIT, "ERROR: updating complete (non-consumed) IG composition\n");
+        s->complete = 0;
+    }
+
     ig_free_interactive(&s->ics);
     s->ics = calloc(1, sizeof(*s->ics));
     if (!s->ics) {
@@ -366,6 +394,8 @@ static int _decode_ics(PG_DISPLAY_SET *s, BITBUFFER *bb, PES_BUFFER *p)
 
     _check_epoch_start(s);
 
+    s->decoding = 1;
+
     return 1;
 }
 
@@ -373,6 +403,8 @@ static int _decode_dialog_style(PG_DISPLAY_SET *s, BITBUFFER *bb)
 {
     _free_dialogs(s);
 
+    s->complete = 0;
+
     s->style = calloc(1, sizeof(*s->style));
     if (!s->style) {
         BD_DEBUG(DBG_DECODE | DBG_CRIT, "out of memory\n");
@@ -457,7 +489,13 @@ static int _decode_segment(PG_DISPLAY_SET *s, PES_BUFFER *p)
             return _decode_ics(s, &bb, p);
 
         case PGS_END_OF_DISPLAY:
+            if (!s->decoding) {
+                /* avoid duplicate initialization / presenataton */
+                BD_DEBUG(DBG_DECODE, "skipping orphan end of display segment\n");
+                return 0;
+            }
             s->complete = 1;
+            s->decoding = 0;
             return 1;
 
         case TGS_DIALOG_STYLE:
@@ -523,8 +561,6 @@ static int graphics_processor_decode_pes(PG_DISPLAY_SET **s, PES_BUFFER **p, int
         GP_TRACE("Decoding segment, dts %010"PRId64" pts %010"PRId64" len %d\n",
                  (*p)->dts, (*p)->pts, (*p)->len);
 
-        (*s)->complete = 0;
-
         _decode_segment(*s, *p);
 
         pes_buffer_remove(p, *p);
diff --git a/src/libbluray/decoders/graphics_processor.h b/src/libbluray/decoders/graphics_processor.h
index de61b81..f1d7690 100644
--- a/src/libbluray/decoders/graphics_processor.h
+++ b/src/libbluray/decoders/graphics_processor.h
@@ -56,6 +56,8 @@ typedef struct {
     BD_PG_COMPOSITION   *pcs;
     BD_TEXTST_DIALOG_STYLE *style;
 
+    uint8_t decoding; /* internal flag: PCS/ICS decoded, but no end of presentation seen yet */
+
 } PG_DISPLAY_SET;
 
 BD_PRIVATE void pg_display_set_free(PG_DISPLAY_SET **s);
diff --git a/src/libbluray/decoders/hdmv_pids.h b/src/libbluray/decoders/hdmv_pids.h
new file mode 100644
index 0000000..ac5bc6a
--- /dev/null
+++ b/src/libbluray/decoders/hdmv_pids.h
@@ -0,0 +1,65 @@
+/*
+ * This file is part of libbluray
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see
+ * <http://www.gnu.org/licenses/>.
+ */
+
+#if !defined(_HDMV_PIDS_H_)
+#define _HDMV_PIDS_H_
+
+/*
+ * HDMV transport stream PIDs
+ */
+
+#define HDMV_PID_PAT              0
+#define HDMV_PID_PMT              0x0100
+#define HDMV_PID_PCR              0x1001
+
+/* primary streams */
+
+#define HDMV_PID_VIDEO            0x1011
+#define HDMV_PID_VIDEO_SS         0x1012
+
+#define HDMV_PID_AUDIO_FIRST      0x1100
+#define HDMV_PID_AUDIO_LAST       0x111f
+
+/* graphics streams */
+
+#define HDMV_PID_PG_FIRST         0x1200
+#define HDMV_PID_PG_LAST          0x121f
+
+#define HDMV_PID_IG_FIRST         0x1400
+#define HDMV_PID_IG_LAST          0x141f
+
+#define HDMV_PID_TEXTST           0x1800
+
+/* secondary streams */
+
+#define HDMV_PID_SEC_AUDIO_FIRST  0x1a00
+#define HDMV_PID_SEC_AUDIO_LAST   0x1a1f
+
+#define HDMV_PID_SEC_VIDEO_FIRST  0x1b00
+#define HDMV_PID_SEC_VIDEO_LAST   0x1b1f
+
+/*
+ *
+ */
+
+#define IS_HDMV_PID_PG(pid)     ((pid) >= HDMV_PID_PG_FIRST && (pid) <= HDMV_PID_PG_LAST)
+#define IS_HDMV_PID_IG(pid)     ((pid) >= HDMV_PID_IG_FIRST && (pid) <= HDMV_PID_IG_LAST)
+#define IS_HDMV_PID_TEXTST(pid) ((pid) == HDMV_PID_TEXTST)
+
+
+#endif // _HDMV_PIDS_H_
diff --git a/src/libbluray/decoders/m2ts_filter.c b/src/libbluray/decoders/m2ts_filter.c
index 59be42c..a95299d 100644
--- a/src/libbluray/decoders/m2ts_filter.c
+++ b/src/libbluray/decoders/m2ts_filter.c
@@ -23,6 +23,8 @@
 
 #include "m2ts_filter.h"
 
+#include "hdmv_pids.h"
+
 #include "util/logging.h"
 #include "util/macro.h"
 
@@ -49,7 +51,8 @@ struct m2ts_filter_s
 };
 
 M2TS_FILTER *m2ts_filter_init(int64_t in_pts, int64_t out_pts,
-                              unsigned num_video, unsigned num_audio)
+                              unsigned num_video, unsigned num_audio,
+                              unsigned num_ig, unsigned num_pg)
 {
     M2TS_FILTER *p = calloc(1, sizeof(*p));
 
@@ -59,8 +62,8 @@ M2TS_FILTER *m2ts_filter_init(int64_t in_pts, int64_t out_pts,
 
         p->in_pts   = in_pts;
         p->out_pts  = out_pts;
-        p->wipe_pid = calloc(num_audio + num_video + 1, sizeof(uint16_t));
-        p->pass_pid = calloc(num_audio + num_video + 1, sizeof(uint16_t));
+        p->wipe_pid = calloc(num_audio + num_video + num_ig + num_pg + 1, sizeof(uint16_t));
+        p->pass_pid = calloc(num_audio + num_video + num_ig + num_pg + 1, sizeof(uint16_t));
         if (!p->pass_pid || !p->wipe_pid) {
             m2ts_filter_close(&p);
             return NULL;
@@ -69,10 +72,16 @@ M2TS_FILTER *m2ts_filter_init(int64_t in_pts, int64_t out_pts,
         pid = (in_pts >= 0) ? p->wipe_pid : p->pass_pid;
 
         for (ii = 0, npid = 0; ii < num_video; ii++) {
-            pid[npid++] = 0x1011 + ii;
+            pid[npid++] = HDMV_PID_VIDEO + ii;
         }
         for (ii = 0; ii < num_audio; ii++) {
-            pid[npid++] = 0x1100 + ii;
+            pid[npid++] = HDMV_PID_AUDIO_FIRST + ii;
+        }
+        for (ii = 0; ii < num_ig; ii++) {
+            pid[npid++] = HDMV_PID_IG_FIRST + ii;
+        }
+        for (ii = 0; ii < num_pg; ii++) {
+            pid[npid++] = HDMV_PID_PG_FIRST + ii;
         }
     }
 
@@ -218,14 +227,25 @@ static int _filter_es_pts(M2TS_FILTER *p, const uint8_t *buf, uint16_t pid)
         }
     }
     if (p->out_pts >= 0) {
-
+        /*
+         * Note: we can't compare against in_pts here (after passing it once):
+         * PG / IG streams can have timestamps before in_time (except for composition segments), and those are valid.
+         */
         if (_pid_in_list(p->pass_pid, pid)) {
 
             int64_t pts = _es_timestamp(buf + 4 + payload_offset, 188 - payload_offset);
-            if (pts > p->out_pts) {
+            if (pts >= p->out_pts) {
+                /*
+                 * audio/video streams are cutted after out_time (unit with pts==out_time is included in the clip).
+                 * PG/IG streams are cutted before out_time (unit with pts==out_time is dropped out).
+                 */
+                if (pts > p->out_pts ||
+                    IS_HDMV_PID_PG(pid) ||
+                    IS_HDMV_PID_IG(pid)) {
                 M2TS_TRACE("Pid 0x%04x passed OUT timestamp %"PRId64" (pts %"PRId64") -> start wiping\n", pid, p->out_pts, pts);
                 _remove_pid(p->pass_pid, pid);
                 _add_pid(p->wipe_pid, pid);
+                }
             }
         }
     }
@@ -248,7 +268,7 @@ int m2ts_filter(M2TS_FILTER *p, uint8_t *buf)
     for (; buf < end; buf += 192) {
 
         uint16_t pid = ((buf[4+1] & 0x1f) << 8) | buf[4+2];
-        if (!pid) {
+        if (pid == HDMV_PID_PAT) {
             p->pat_seen = 1;
             p->pat_packets = 0;
             continue;
@@ -262,7 +282,8 @@ int m2ts_filter(M2TS_FILTER *p, uint8_t *buf)
             }
             M2TS_TRACE("NOT Wiping pid 0x%04x (inside seek buffer, PAT seen)\n", pid);
         }
-        if (pid < 0x1011) {
+        if (pid < HDMV_PID_VIDEO) {
+            /* pass PMT, PCR, SIT */
             /*M2TS_TRACE("NOT Wiping pid 0x%04x (< 0x1011)\n", pid);*/
             continue;
         }
diff --git a/src/libbluray/decoders/m2ts_filter.h b/src/libbluray/decoders/m2ts_filter.h
index 924c2b9..d84e352 100644
--- a/src/libbluray/decoders/m2ts_filter.h
+++ b/src/libbluray/decoders/m2ts_filter.h
@@ -32,7 +32,8 @@
 typedef struct m2ts_filter_s M2TS_FILTER;
 
 BD_PRIVATE M2TS_FILTER *m2ts_filter_init(int64_t in_pts, int64_t out_pts,
-                                         unsigned num_video, unsigned num_audio);
+                                         unsigned num_video, unsigned num_audio,
+                                         unsigned num_ig, unsigned num_pg);
 BD_PRIVATE void         m2ts_filter_close(M2TS_FILTER **);
 
 /*
diff --git a/src/libbluray/hdmv/.deps/.dirstamp b/src/libbluray/hdmv/.deps/.dirstamp
deleted file mode 100644
index e69de29..0000000
diff --git a/src/libbluray/hdmv/.deps/hdmv_vm.Plo b/src/libbluray/hdmv/.deps/hdmv_vm.Plo
index 50394d6..9ce06a8 100644
--- a/src/libbluray/hdmv/.deps/hdmv_vm.Plo
+++ b/src/libbluray/hdmv/.deps/hdmv_vm.Plo
@@ -1,133 +1 @@
-libbluray/hdmv/hdmv_vm.lo: libbluray/hdmv/hdmv_vm.c \
- /usr/include/stdc-predef.h libbluray/hdmv/hdmv_vm.h util/attributes.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stdint.h /usr/include/stdint.h \
- /usr/include/features.h /usr/include/i386-linux-gnu/sys/cdefs.h \
- /usr/include/i386-linux-gnu/bits/wordsize.h \
- /usr/include/i386-linux-gnu/gnu/stubs.h \
- /usr/include/i386-linux-gnu/gnu/stubs-32.h \
- /usr/include/i386-linux-gnu/bits/wchar.h libbluray/hdmv/mobj_parse.h \
- libbluray/hdmv/hdmv_insn.h libbluray/hdmv/../register.h util/macro.h \
- /usr/include/stdio.h /usr/lib/gcc/i686-linux-gnu/4.8/include/stddef.h \
- /usr/include/i386-linux-gnu/bits/types.h \
- /usr/include/i386-linux-gnu/bits/typesizes.h /usr/include/libio.h \
- /usr/include/_G_config.h /usr/include/wchar.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stdarg.h \
- /usr/include/i386-linux-gnu/bits/stdio_lim.h \
- /usr/include/i386-linux-gnu/bits/sys_errlist.h \
- /usr/include/i386-linux-gnu/bits/stdio.h \
- /usr/include/i386-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \
- /usr/include/i386-linux-gnu/bits/stdlib-bsearch.h \
- /usr/include/i386-linux-gnu/bits/stdlib-float.h \
- /usr/include/i386-linux-gnu/bits/stdlib.h util/logging.h \
- util/log_control.h util/attributes.h util/mutex.h ../config.h \
- /usr/include/pthread.h /usr/include/endian.h \
- /usr/include/i386-linux-gnu/bits/endian.h /usr/include/sched.h \
- /usr/include/time.h /usr/include/i386-linux-gnu/bits/sched.h \
- /usr/include/i386-linux-gnu/bits/time.h \
- /usr/include/i386-linux-gnu/bits/pthreadtypes.h \
- /usr/include/i386-linux-gnu/bits/setjmp.h util/logging.h util/macro.h \
- /usr/include/string.h /usr/include/i386-linux-gnu/bits/string.h \
- /usr/include/i386-linux-gnu/bits/string2.h \
- /usr/include/i386-linux-gnu/bits/string3.h
-
-/usr/include/stdc-predef.h:
-
-libbluray/hdmv/hdmv_vm.h:
-
-util/attributes.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stdint.h:
-
-/usr/include/stdint.h:
-
-/usr/include/features.h:
-
-/usr/include/i386-linux-gnu/sys/cdefs.h:
-
-/usr/include/i386-linux-gnu/bits/wordsize.h:
-
-/usr/include/i386-linux-gnu/gnu/stubs.h:
-
-/usr/include/i386-linux-gnu/gnu/stubs-32.h:
-
-/usr/include/i386-linux-gnu/bits/wchar.h:
-
-libbluray/hdmv/mobj_parse.h:
-
-libbluray/hdmv/hdmv_insn.h:
-
-libbluray/hdmv/../register.h:
-
-util/macro.h:
-
-/usr/include/stdio.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stddef.h:
-
-/usr/include/i386-linux-gnu/bits/types.h:
-
-/usr/include/i386-linux-gnu/bits/typesizes.h:
-
-/usr/include/libio.h:
-
-/usr/include/_G_config.h:
-
-/usr/include/wchar.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stdarg.h:
-
-/usr/include/i386-linux-gnu/bits/stdio_lim.h:
-
-/usr/include/i386-linux-gnu/bits/sys_errlist.h:
-
-/usr/include/i386-linux-gnu/bits/stdio.h:
-
-/usr/include/i386-linux-gnu/bits/stdio2.h:
-
-/usr/include/stdlib.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib-bsearch.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib-float.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib.h:
-
-util/logging.h:
-
-util/log_control.h:
-
-util/attributes.h:
-
-util/mutex.h:
-
-../config.h:
-
-/usr/include/pthread.h:
-
-/usr/include/endian.h:
-
-/usr/include/i386-linux-gnu/bits/endian.h:
-
-/usr/include/sched.h:
-
-/usr/include/time.h:
-
-/usr/include/i386-linux-gnu/bits/sched.h:
-
-/usr/include/i386-linux-gnu/bits/time.h:
-
-/usr/include/i386-linux-gnu/bits/pthreadtypes.h:
-
-/usr/include/i386-linux-gnu/bits/setjmp.h:
-
-util/logging.h:
-
-util/macro.h:
-
-/usr/include/string.h:
-
-/usr/include/i386-linux-gnu/bits/string.h:
-
-/usr/include/i386-linux-gnu/bits/string2.h:
-
-/usr/include/i386-linux-gnu/bits/string3.h:
+# dummy
diff --git a/src/libbluray/hdmv/.deps/mobj_dump-mobj_parse.Po b/src/libbluray/hdmv/.deps/mobj_dump-mobj_parse.Po
index c48bcd6..9ce06a8 100644
--- a/src/libbluray/hdmv/.deps/mobj_dump-mobj_parse.Po
+++ b/src/libbluray/hdmv/.deps/mobj_dump-mobj_parse.Po
@@ -1,124 +1 @@
-libbluray/hdmv/mobj_dump-mobj_parse.o: libbluray/hdmv/mobj_parse.c \
- /usr/include/stdc-predef.h libbluray/hdmv/mobj_parse.h util/attributes.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stdint.h /usr/include/stdint.h \
- /usr/include/features.h /usr/include/i386-linux-gnu/sys/cdefs.h \
- /usr/include/i386-linux-gnu/bits/wordsize.h \
- /usr/include/i386-linux-gnu/gnu/stubs.h \
- /usr/include/i386-linux-gnu/gnu/stubs-32.h \
- /usr/include/i386-linux-gnu/bits/wchar.h file/file.h file/filesystem.h \
- util/bits.h /usr/include/unistd.h \
- /usr/include/i386-linux-gnu/bits/posix_opt.h \
- /usr/include/i386-linux-gnu/bits/environments.h \
- /usr/include/i386-linux-gnu/bits/types.h \
- /usr/include/i386-linux-gnu/bits/typesizes.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stddef.h \
- /usr/include/i386-linux-gnu/bits/confname.h /usr/include/getopt.h \
- /usr/include/i386-linux-gnu/bits/unistd.h /usr/include/stdio.h \
- /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stdarg.h \
- /usr/include/i386-linux-gnu/bits/stdio_lim.h \
- /usr/include/i386-linux-gnu/bits/sys_errlist.h \
- /usr/include/i386-linux-gnu/bits/stdio.h \
- /usr/include/i386-linux-gnu/bits/stdio2.h util/logging.h \
- util/log_control.h util/attributes.h util/macro.h /usr/include/stdlib.h \
- /usr/include/i386-linux-gnu/bits/stdlib-bsearch.h \
- /usr/include/i386-linux-gnu/bits/stdlib-float.h \
- /usr/include/i386-linux-gnu/bits/stdlib.h util/strutl.h \
- /usr/include/string.h /usr/include/i386-linux-gnu/bits/string.h \
- /usr/include/i386-linux-gnu/bits/string2.h /usr/include/endian.h \
- /usr/include/i386-linux-gnu/bits/endian.h \
- /usr/include/i386-linux-gnu/bits/string3.h
-
-/usr/include/stdc-predef.h:
-
-libbluray/hdmv/mobj_parse.h:
-
-util/attributes.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stdint.h:
-
-/usr/include/stdint.h:
-
-/usr/include/features.h:
-
-/usr/include/i386-linux-gnu/sys/cdefs.h:
-
-/usr/include/i386-linux-gnu/bits/wordsize.h:
-
-/usr/include/i386-linux-gnu/gnu/stubs.h:
-
-/usr/include/i386-linux-gnu/gnu/stubs-32.h:
-
-/usr/include/i386-linux-gnu/bits/wchar.h:
-
-file/file.h:
-
-file/filesystem.h:
-
-util/bits.h:
-
-/usr/include/unistd.h:
-
-/usr/include/i386-linux-gnu/bits/posix_opt.h:
-
-/usr/include/i386-linux-gnu/bits/environments.h:
-
-/usr/include/i386-linux-gnu/bits/types.h:
-
-/usr/include/i386-linux-gnu/bits/typesizes.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stddef.h:
-
-/usr/include/i386-linux-gnu/bits/confname.h:
-
-/usr/include/getopt.h:
-
-/usr/include/i386-linux-gnu/bits/unistd.h:
-
-/usr/include/stdio.h:
-
-/usr/include/libio.h:
-
-/usr/include/_G_config.h:
-
-/usr/include/wchar.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stdarg.h:
-
-/usr/include/i386-linux-gnu/bits/stdio_lim.h:
-
-/usr/include/i386-linux-gnu/bits/sys_errlist.h:
-
-/usr/include/i386-linux-gnu/bits/stdio.h:
-
-/usr/include/i386-linux-gnu/bits/stdio2.h:
-
-util/logging.h:
-
-util/log_control.h:
-
-util/attributes.h:
-
-util/macro.h:
-
-/usr/include/stdlib.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib-bsearch.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib-float.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib.h:
-
-util/strutl.h:
-
-/usr/include/string.h:
-
-/usr/include/i386-linux-gnu/bits/string.h:
-
-/usr/include/i386-linux-gnu/bits/string2.h:
-
-/usr/include/endian.h:
-
-/usr/include/i386-linux-gnu/bits/endian.h:
-
-/usr/include/i386-linux-gnu/bits/string3.h:
+# dummy
diff --git a/src/libbluray/hdmv/.deps/mobj_dump-mobj_print.Po b/src/libbluray/hdmv/.deps/mobj_dump-mobj_print.Po
index dafa839..9ce06a8 100644
--- a/src/libbluray/hdmv/.deps/mobj_dump-mobj_print.Po
+++ b/src/libbluray/hdmv/.deps/mobj_dump-mobj_print.Po
@@ -1,79 +1 @@
-libbluray/hdmv/mobj_dump-mobj_print.o: libbluray/hdmv/mobj_print.c \
- /usr/include/stdc-predef.h util/macro.h /usr/include/stdio.h \
- /usr/include/features.h /usr/include/i386-linux-gnu/sys/cdefs.h \
- /usr/include/i386-linux-gnu/bits/wordsize.h \
- /usr/include/i386-linux-gnu/gnu/stubs.h \
- /usr/include/i386-linux-gnu/gnu/stubs-32.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stddef.h \
- /usr/include/i386-linux-gnu/bits/types.h \
- /usr/include/i386-linux-gnu/bits/typesizes.h /usr/include/libio.h \
- /usr/include/_G_config.h /usr/include/wchar.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stdarg.h \
- /usr/include/i386-linux-gnu/bits/stdio_lim.h \
- /usr/include/i386-linux-gnu/bits/sys_errlist.h \
- /usr/include/i386-linux-gnu/bits/stdio.h \
- /usr/include/i386-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \
- /usr/include/i386-linux-gnu/bits/stdlib-bsearch.h \
- /usr/include/i386-linux-gnu/bits/stdlib-float.h \
- /usr/include/i386-linux-gnu/bits/stdlib.h libbluray/hdmv/mobj_parse.h \
- util/attributes.h /usr/lib/gcc/i686-linux-gnu/4.8/include/stdint.h \
- /usr/include/stdint.h /usr/include/i386-linux-gnu/bits/wchar.h \
- libbluray/hdmv/hdmv_insn.h
-
-/usr/include/stdc-predef.h:
-
-util/macro.h:
-
-/usr/include/stdio.h:
-
-/usr/include/features.h:
-
-/usr/include/i386-linux-gnu/sys/cdefs.h:
-
-/usr/include/i386-linux-gnu/bits/wordsize.h:
-
-/usr/include/i386-linux-gnu/gnu/stubs.h:
-
-/usr/include/i386-linux-gnu/gnu/stubs-32.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stddef.h:
-
-/usr/include/i386-linux-gnu/bits/types.h:
-
-/usr/include/i386-linux-gnu/bits/typesizes.h:
-
-/usr/include/libio.h:
-
-/usr/include/_G_config.h:
-
-/usr/include/wchar.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stdarg.h:
-
-/usr/include/i386-linux-gnu/bits/stdio_lim.h:
-
-/usr/include/i386-linux-gnu/bits/sys_errlist.h:
-
-/usr/include/i386-linux-gnu/bits/stdio.h:
-
-/usr/include/i386-linux-gnu/bits/stdio2.h:
-
-/usr/include/stdlib.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib-bsearch.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib-float.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib.h:
-
-libbluray/hdmv/mobj_parse.h:
-
-util/attributes.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stdint.h:
-
-/usr/include/stdint.h:
-
-/usr/include/i386-linux-gnu/bits/wchar.h:
-
-libbluray/hdmv/hdmv_insn.h:
+# dummy
diff --git a/src/libbluray/hdmv/.deps/mobj_parse.Plo b/src/libbluray/hdmv/.deps/mobj_parse.Plo
index cbdebac..9ce06a8 100644
--- a/src/libbluray/hdmv/.deps/mobj_parse.Plo
+++ b/src/libbluray/hdmv/.deps/mobj_parse.Plo
@@ -1,124 +1 @@
-libbluray/hdmv/mobj_parse.lo: libbluray/hdmv/mobj_parse.c \
- /usr/include/stdc-predef.h libbluray/hdmv/mobj_parse.h util/attributes.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stdint.h /usr/include/stdint.h \
- /usr/include/features.h /usr/include/i386-linux-gnu/sys/cdefs.h \
- /usr/include/i386-linux-gnu/bits/wordsize.h \
- /usr/include/i386-linux-gnu/gnu/stubs.h \
- /usr/include/i386-linux-gnu/gnu/stubs-32.h \
- /usr/include/i386-linux-gnu/bits/wchar.h file/file.h file/filesystem.h \
- util/bits.h /usr/include/unistd.h \
- /usr/include/i386-linux-gnu/bits/posix_opt.h \
- /usr/include/i386-linux-gnu/bits/environments.h \
- /usr/include/i386-linux-gnu/bits/types.h \
- /usr/include/i386-linux-gnu/bits/typesizes.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stddef.h \
- /usr/include/i386-linux-gnu/bits/confname.h /usr/include/getopt.h \
- /usr/include/i386-linux-gnu/bits/unistd.h /usr/include/stdio.h \
- /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stdarg.h \
- /usr/include/i386-linux-gnu/bits/stdio_lim.h \
- /usr/include/i386-linux-gnu/bits/sys_errlist.h \
- /usr/include/i386-linux-gnu/bits/stdio.h \
- /usr/include/i386-linux-gnu/bits/stdio2.h util/logging.h \
- util/log_control.h util/attributes.h util/macro.h /usr/include/stdlib.h \
- /usr/include/i386-linux-gnu/bits/stdlib-bsearch.h \
- /usr/include/i386-linux-gnu/bits/stdlib-float.h \
- /usr/include/i386-linux-gnu/bits/stdlib.h util/strutl.h \
- /usr/include/string.h /usr/include/i386-linux-gnu/bits/string.h \
- /usr/include/i386-linux-gnu/bits/string2.h /usr/include/endian.h \
- /usr/include/i386-linux-gnu/bits/endian.h \
- /usr/include/i386-linux-gnu/bits/string3.h
-
-/usr/include/stdc-predef.h:
-
-libbluray/hdmv/mobj_parse.h:
-
-util/attributes.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stdint.h:
-
-/usr/include/stdint.h:
-
-/usr/include/features.h:
-
-/usr/include/i386-linux-gnu/sys/cdefs.h:
-
-/usr/include/i386-linux-gnu/bits/wordsize.h:
-
-/usr/include/i386-linux-gnu/gnu/stubs.h:
-
-/usr/include/i386-linux-gnu/gnu/stubs-32.h:
-
-/usr/include/i386-linux-gnu/bits/wchar.h:
-
-file/file.h:
-
-file/filesystem.h:
-
-util/bits.h:
-
-/usr/include/unistd.h:
-
-/usr/include/i386-linux-gnu/bits/posix_opt.h:
-
-/usr/include/i386-linux-gnu/bits/environments.h:
-
-/usr/include/i386-linux-gnu/bits/types.h:
-
-/usr/include/i386-linux-gnu/bits/typesizes.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stddef.h:
-
-/usr/include/i386-linux-gnu/bits/confname.h:
-
-/usr/include/getopt.h:
-
-/usr/include/i386-linux-gnu/bits/unistd.h:
-
-/usr/include/stdio.h:
-
-/usr/include/libio.h:
-
-/usr/include/_G_config.h:
-
-/usr/include/wchar.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stdarg.h:
-
-/usr/include/i386-linux-gnu/bits/stdio_lim.h:
-
-/usr/include/i386-linux-gnu/bits/sys_errlist.h:
-
-/usr/include/i386-linux-gnu/bits/stdio.h:
-
-/usr/include/i386-linux-gnu/bits/stdio2.h:
-
-util/logging.h:
-
-util/log_control.h:
-
-util/attributes.h:
-
-util/macro.h:
-
-/usr/include/stdlib.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib-bsearch.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib-float.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib.h:
-
-util/strutl.h:
-
-/usr/include/string.h:
-
-/usr/include/i386-linux-gnu/bits/string.h:
-
-/usr/include/i386-linux-gnu/bits/string2.h:
-
-/usr/include/endian.h:
-
-/usr/include/i386-linux-gnu/bits/endian.h:
-
-/usr/include/i386-linux-gnu/bits/string3.h:
+# dummy
diff --git a/src/libbluray/hdmv/.deps/mobj_print.Plo b/src/libbluray/hdmv/.deps/mobj_print.Plo
index 532e13b..9ce06a8 100644
--- a/src/libbluray/hdmv/.deps/mobj_print.Plo
+++ b/src/libbluray/hdmv/.deps/mobj_print.Plo
@@ -1,79 +1 @@
-libbluray/hdmv/mobj_print.lo: libbluray/hdmv/mobj_print.c \
- /usr/include/stdc-predef.h util/macro.h /usr/include/stdio.h \
- /usr/include/features.h /usr/include/i386-linux-gnu/sys/cdefs.h \
- /usr/include/i386-linux-gnu/bits/wordsize.h \
- /usr/include/i386-linux-gnu/gnu/stubs.h \
- /usr/include/i386-linux-gnu/gnu/stubs-32.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stddef.h \
- /usr/include/i386-linux-gnu/bits/types.h \
- /usr/include/i386-linux-gnu/bits/typesizes.h /usr/include/libio.h \
- /usr/include/_G_config.h /usr/include/wchar.h \
- /usr/lib/gcc/i686-linux-gnu/4.8/include/stdarg.h \
- /usr/include/i386-linux-gnu/bits/stdio_lim.h \
- /usr/include/i386-linux-gnu/bits/sys_errlist.h \
- /usr/include/i386-linux-gnu/bits/stdio.h \
- /usr/include/i386-linux-gnu/bits/stdio2.h /usr/include/stdlib.h \
- /usr/include/i386-linux-gnu/bits/stdlib-bsearch.h \
- /usr/include/i386-linux-gnu/bits/stdlib-float.h \
- /usr/include/i386-linux-gnu/bits/stdlib.h libbluray/hdmv/mobj_parse.h \
- util/attributes.h /usr/lib/gcc/i686-linux-gnu/4.8/include/stdint.h \
- /usr/include/stdint.h /usr/include/i386-linux-gnu/bits/wchar.h \
- libbluray/hdmv/hdmv_insn.h
-
-/usr/include/stdc-predef.h:
-
-util/macro.h:
-
-/usr/include/stdio.h:
-
-/usr/include/features.h:
-
-/usr/include/i386-linux-gnu/sys/cdefs.h:
-
-/usr/include/i386-linux-gnu/bits/wordsize.h:
-
-/usr/include/i386-linux-gnu/gnu/stubs.h:
-
-/usr/include/i386-linux-gnu/gnu/stubs-32.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stddef.h:
-
-/usr/include/i386-linux-gnu/bits/types.h:
-
-/usr/include/i386-linux-gnu/bits/typesizes.h:
-
-/usr/include/libio.h:
-
-/usr/include/_G_config.h:
-
-/usr/include/wchar.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stdarg.h:
-
-/usr/include/i386-linux-gnu/bits/stdio_lim.h:
-
-/usr/include/i386-linux-gnu/bits/sys_errlist.h:
-
-/usr/include/i386-linux-gnu/bits/stdio.h:
-
-/usr/include/i386-linux-gnu/bits/stdio2.h:
-
-/usr/include/stdlib.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib-bsearch.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib-float.h:
-
-/usr/include/i386-linux-gnu/bits/stdlib.h:
-
-libbluray/hdmv/mobj_parse.h:
-
-util/attributes.h:
-
-/usr/lib/gcc/i686-linux-gnu/4.8/include/stdint.h:
-
-/usr/include/stdint.h:
-
-/usr/include/i386-linux-gnu/bits/wchar.h:
-
-libbluray/hdmv/hdmv_insn.h:
+# dummy
diff --git a/src/libbluray/hdmv/.dirstamp b/src/libbluray/hdmv/.dirstamp
deleted file mode 100644
index e69de29..0000000
diff --git a/src/libbluray/hdmv/hdmv_vm.c b/src/libbluray/hdmv/hdmv_vm.c
index ee11870..1d9bf76 100644
--- a/src/libbluray/hdmv/hdmv_vm.c
+++ b/src/libbluray/hdmv/hdmv_vm.c
@@ -44,7 +44,7 @@ struct hdmv_vm_s {
     /* state */
     uint32_t       pc;            /* program counter */
     BD_REGISTERS  *regs;          /* player registers */
-    MOBJ_OBJECT   *object;        /* currently running object code */
+    const MOBJ_OBJECT *object;    /* currently running object code */
 
     HDMV_EVENT     event[5];      /* pending events to return */
 
@@ -55,11 +55,11 @@ struct hdmv_vm_s {
     MOBJ_OBJECT   *ig_object;     /* current object from IG stream */
 
     /* object currently playing playlist */
-    MOBJ_OBJECT *playing_object;
+    const MOBJ_OBJECT *playing_object;
     uint32_t     playing_pc;
 
     /* suspended object */
-    MOBJ_OBJECT *suspended_object;
+    const MOBJ_OBJECT *suspended_object;
     uint32_t     suspended_pc;
 
     /* Available titles. Used to validate CALL_TITLE/JUMP_TITLE. */
@@ -411,7 +411,7 @@ static int _resume_object(HDMV_VM *p, int psr_restore)
     p->suspended_object = NULL;
 
     BD_DEBUG(DBG_HDMV, "resuming object %ld at %d\n",
-             (long)((p->movie_objects->objects - p->object) / sizeof(p->movie_objects->objects[0])),
+             (long)(p->object - p->movie_objects->objects),
              p->pc);
 
     _queue_event(p, HDMV_EVENT_PLAY_STOP, 0);
@@ -852,7 +852,7 @@ static void _hdmv_trace_cmd(int pc, MOBJ_CMD *cmd)
 
         dst += sprintf(dst, "%04d:  ", pc);
 
-        dst += mobj_sprint_cmd(dst, cmd);
+        /*dst +=*/ mobj_sprint_cmd(dst, cmd);
 
         BD_DEBUG(DBG_HDMV, "%s\n", buf);
     }
@@ -872,7 +872,7 @@ static void _hdmv_trace_res(uint32_t new_src, uint32_t new_dst, uint32_t orig_sr
             if (new_src != orig_src) {
                 dst += sprintf(dst, " src 0x%x <== 0x%x ", orig_src, new_src);
             }
-            dst += sprintf(dst, "]");
+            /*dst +=*/ sprintf(dst, "]");
 
             BD_DEBUG(DBG_HDMV, "%s\n", buf);
         }
@@ -1177,7 +1177,7 @@ int hdmv_vm_running(HDMV_VM *p)
 uint32_t hdmv_vm_get_uo_mask(HDMV_VM *p)
 {
     uint32_t     mask = 0;
-    MOBJ_OBJECT *o    = NULL;
+    const MOBJ_OBJECT *o = NULL;
 
     if (!p) {
         return 0;
diff --git a/src/util/array.h b/src/util/array.h
index caab19b..dbb41aa 100644
--- a/src/util/array.h
+++ b/src/util/array.h
@@ -35,7 +35,7 @@
  * @return     array of n pointers, each pointing to memory block of size sz.
  *
  */
-BD_PRIVATE void *array_alloc(size_t n, size_t sz);
+BD_PRIVATE void *array_alloc(size_t n, size_t sz) BD_ATTR_MALLOC;
 
 /*
  * array_free()

-- 
libbluray packaging



More information about the pkg-multimedia-commits mailing list