[DVDnav-discuss] Remove unused REMAP feature

Jean-Baptiste Kempf git at videolan.org
Tue Mar 25 10:41:31 CET 2014


libdvdnav | branch: master | Jean-Baptiste Kempf <jb at videolan.org> | Sun Mar  2 12:23:06 2014 +0100| [f7ab2a77ecb7246fbe9a2947e27d1cc2cc1e452c] | committer: Jean-Baptiste Kempf

Remove unused REMAP feature

> http://git.videolan.org/gitweb.cgi/libdvdnav.git/?a=commit;h=f7ab2a77ecb7246fbe9a2947e27d1cc2cc1e452c
---

 ChangeLog          |    1 +
 Makefile.am        |    2 -
 src/FELLOWSHIP.map |  163 ------------------------------
 src/README.MAP     |  105 --------------------
 src/dvdnav.c       |    9 --
 src/remap.c        |  278 ----------------------------------------------------
 src/remap.h        |   31 ------
 src/vm/vm.c        |    2 -
 src/vm/vm.h        |    3 -
 9 files changed, 1 insertion(+), 593 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 3ed89a0..ae215bb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -8,6 +8,7 @@ libdvdnav (5.0.0)
  * fixed numerous crashes, assertions and corruptions
  * rewrite of the build-system
  * clean code, simplify and remove warnings
+ * removal of remap .MAP files unused feature
 
 libdvdnav (4.2.0)
   * OS/2 support
diff --git a/Makefile.am b/Makefile.am
index 0f5abeb..fece58e 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -22,10 +22,8 @@ libdvdnav_la_SOURCES = \
 	src/highlight.c \
 	src/searching.c \
 	src/settings.c \
-	src/remap.c \
 	src/dvdnav_internal.h \
 	src/read_cache.h \
-	src/remap.h \
 	src/vm/decoder.c \
 	src/vm/decoder.h \
 	src/vm/vm.c \
diff --git a/src/FELLOWSHIP.map b/src/FELLOWSHIP.map
deleted file mode 100644
index 5666ffc..0000000
--- a/src/FELLOWSHIP.map
+++ /dev/null
@@ -1,163 +0,0 @@
-# The Lord of the Rings: Fellowship of the Ring (Widescreen Theatrical Release)
-domain 8, title 1, program 1, start 0x0000, end 0x1f0a   # Introduction
-
-# history of middle earth
-#domain 2, title 1, program 1, start 0x9cba, end 0xcea4   # violence/war
-#domain 2, title 1, program 1, start 0xf018, end 0x1272c  # violence/war
-domain 2, title 1, program 1, start 0x11ff3, end 0x1272c # gore
-#domain 2, title 1, program 1, start 0x173f1, end 0x185d6 # violence/death
-
-# hobbiton
-domain 2, title 1, program 2, start 0x30373, end 0x31946 # vices/smoking
-domain 2, title 1, program 2, start 0x32942, end 0x34426 # vices/smoking
-domain 2, title 1, program 2, start 0x34895, end 0x34ad1 # vices/smoking
-domain 2, title 1, program 2, start 0x3965c, end 0x39d7c # vices/smoking
-
-# bag end
-domain 2, title 1, program 3, start 0x40288, end 0x412de # vices/drinking/talk
-domain 2, title 1, program 3, start 0x4cfbe, end 0x4f955 # vices/smoking
-
-# party
-domain 2, title 1, program 4, start 0x53ee0, end 0x54396 # vices/drinking
-domain 2, title 1, program 4, start 0x58851, end 0x5ae3d # imitative/theft
-domain 2, title 1, program 4, start 0x5cd0a, end 0x5e216 # jump
-
-# gandalf departs
-domain 2, title 1, program 6, start 0x7f05d, end 0x7f1b3 # jump
-domain 2, title 1, program 6, start 0x7f51a, end 0x834a7 # vices/smoking
-
-# research
-domain 2, title 1, program 7, start 0x8e6e8, end 0x8e9d7 # vices/smoking
-
-# hobbiton
-domain 2, title 1, program 8, start 0x98f49, end 0x990ba # jump
-domain 2, title 1, program 8, start 0xa0ad1, end 0xa17ac # jump
-domain 2, title 1, program 8, start 0xa9e32, end 0xaaa70 # violence/torture
-domain 2, title 1, program 8, start 0xabc6c, end 0xabd92 # violence
-
-# orthanc
-domain 2, title 1, program 9, start 0xd50b7, end 0xd87f9 # violence
-domain 2, title 1, program 9, start 0xd8e49, end 0xda611 # violence
-
-# farmer maggot
-domain 2, title 1, program 10, start 0xde856, end 0xdeb07 # jump
-domain 2, title 1, program 10, start 0xe4cfe, end 0xe50b3 # gore/excrement
-domain 2, title 1, program 10, start 0xebba3, end 0xebf93 # gore/blood
-domain 2, title 1, program 10, start 0xed222, end 0xeda7e # gore/insects
-
-# buckleberry ferry
-domain 2, title 1, program 11, start 0xf6d77, end 0xf83f8 # jump
-
-# prancing pony in bree
-domain 2, title 1, program 12, start 0x10945e, end 0x10a2f2 # vices/drinking/rolemodel
-domain 2, title 1, program 12, start 0x10c103, end 0x10c417 # vices/smoking
-domain 2, title 1, program 12, start 0x10c934, end 0x10cb44 # vices/smoking
-# 10c934
-# 10c9b4
-# 10ca3c
-# 10cad6
-# 10cb44
-# 10cbb4
-domain 2, title 1, program 12, start 0x10ddab, end 0x10e0f2 # vices/smoking
-domain 2, title 1, program 12, start 0x10e1df, end 0x10e411 # vices/drinking
-
-# ring wraiths in bree
-domain 2, title 1, program 13, start 0x117853, end 0x117f6e # violence
-domain 2, title 1, program 13, start 0x117853, end 0x117f6e # gore/crushing
-domain 2, title 1, program 13, start 0x11b2b3, end 0x11bffc # violence
-
-# weathertop
-#domain 2, title 1, program 15, start 0x13b85b, end 0x141b38 # violence
-domain 2, title 1, program 15, start 0x14093a, end 0x141063 # gore/stabbing
-domain 2, title 1, program 15, start 0x142555, end 0x1466e9 # violence
-
-# isengard
-domain 2, title 1, program 16, start 0x152a28, end 0x1549fb # violence
-domain 2, title 1, program 16, start 0x152a28, end 0x1549fb # gore
-
-# the ford
-domain 2, title 1, program 17, start 0x173dbe, end 0x1748a6 # violence
-
-# rivendell
-domain 2, title 1, program 18, start 0x179793, end 0x17a667 # vices/smoking
-domain 2, title 1, program 18, start 0x17c452, end 0x17eab6 # violence
-
-# rivendell
-domain 2, title 1, program 20, start 0x19caaf, end 0x19db12 # violence
-
-# tomb of isildur
-domain 2, title 1, program 21, start 0x1a69ae, end 0x1a6a3d # gore/blood
-
-# rivendell
-domain 2, title 1, program 22, start 0x1b298b, end 0x1b2bae # kiss
-
-# rivendell
-domain 2, title 1, program 24, start 0x1d8253, end 0x1d8f5d # horror/posession
-
-# on the road south
-domain 2, title 1, program 25, start 0x1e2fc2, end 0x1e31b8 # vices/smoking
-
-# at the entrance to moria
-domain 2, title 1, program 27, start 0x214bdd, end 0x214fcc # gore/skeletons
-domain 2, title 1, program 27, start 0x2157d9, end 0x216731 # gore/skeletons
-domain 2, title 1, program 27, start 0x217ba6, end 0x21cdb4 # violence
-
-# moria
-#domain 2, title 1, program 28, start 0x22173d, end 0x221e58 # gore/skeletons
-#domain 2, title 1, program 28, start 0x222e0b, end 0x223345 # gore/skeletons
-domain 2, title 1, program 28, start 0x22173d, end 0x223345 # gore/skeletons
-domain 2, title 1, program 28, start 0x2239e2, end 0x223e8c # gore/skeletons
-domain 2, title 1, program 28, start 0x22589f, end 0x2259bf # vices/smoking
-
-# balin's tomb
-domain 2, title 1, program 29, start 0x234abb, end 0x234dd0 # gore/skeletons
-domain 2, title 1, program 29, start 0x2352ed, end 0x2361d7 # gore/skeletons
-domain 2, title 1, program 29, start 0x23898b, end 0x23955c # gore/skeletons
-domain 2, title 1, program 29, start 0x23b467, end 0x23db2b # gore/skeletons
-#domain 2, title 1, program 29, start 0x247360, end 0x25e24b # violence
-domain 2, title 1, program 29, start 0x2483b6, end 0x248b62 # gore/impalement
-domain 2, title 1, program 29, start 0x24a606, end 0x24a9f3 # gore/headshot
-domain 2, title 1, program 29, start 0x24acd8, end 0x24ae7e # gore/decapitation
-domain 2, title 1, program 29, start 0x24d708, end 0x24d88f # gore/bashing
-domain 2, title 1, program 29, start 0x25013a, end 0x250501 # gore/impalement
-domain 2, title 1, program 29, start 0x2540a0, end 0x254507 # jump
-domain 2, title 1, program 29, start 0x2560b3, end 0x256423 # gore/impalement
-domain 2, title 1, program 29, start 0x258152, end 0x258459 # gore/impalement
-domain 2, title 1, program 29, start 0x258152, end 0x258459 # gore/impalement
-
-# the bridge
-#domain 2, title 1, program 30, start 0x274235, end 0x275e59 # violence
-domain 2, title 1, program 30, start 0x2744c6, end 0x274a5e # gore/headshot
-domain 2, title 1, program 30, start 0x275661, end 0x275e59 # violence/death
-domain 2, title 1, program 30, start 0x289d2a, end 0x28a066 # gore/falling
-
-# lothlorien
-domain 2, title 1, program 32, start 0x2be304, end 0x2beb1d # violence
-domain 2, title 1, program 32, start 0x2c5d59, end 0x2c9a40 # horror/posession
-#domain 2, title 1, program 32, start 0x2c5d59, end 0x2c9e41 # horror/posession
-
-# parth galen
-domain 2, title 1, program 36, start 0x2fa317, end 0x2fb0b0 # violence
-
-# parth galen w/ orcs
-domain 2, title 1, program 37, start 0x30c8cb, end 0x313054 # violence
-domain 2, title 1, program 37, start 0x310428, end 0x313054 # gore/impalement
-#domain 2, title 1, program 37, start 0x317f45, end 0x332a52 # violence
-domain 2, title 1, program 37, start 0x322d8b, end 0x328f4d # gore/impalement
-domain 2, title 1, program 37, start 0x32f2a4, end 0x330731 # gore/impalement
-domain 2, title 1, program 37, start 0x330b3b, end 0x330c4d # gore/blood
-domain 2, title 1, program 37, start 0x331c4e, end 0x332a52 # gore/dismemberment
-domain 2, title 1, program 37, start 0x331c4e, end 0x332a52 # gore/decapitation
-
-# death of boromir
-domain 2, title 1, program 38, start 0x33322f, end 0x33c10c # gore/bodies
-domain 2, title 1, program 38, start 0x33b558, end 0x33c10c # horror/death
-
-# to the eastern shore
-domain 2, title 1, program 39, start 0x34a25b, end 0x34c1e3 # horror/drowning
-
-
-
-
-
-
diff --git a/src/README.MAP b/src/README.MAP
deleted file mode 100644
index 77a669d..0000000
--- a/src/README.MAP
+++ /dev/null
@@ -1,105 +0,0 @@
-Contents
-
-WHAT ARE MAP FILES
-HOWTO
-FINDING MAP FILES
-WHOM TO BLAME
-
-WHAT ARE MAP FILES
-==================
-
-Map files are an experimental feature that lets you customize the way
-you watch DVDs.  If you are opposed to violence, are sickened by gore,
-or would rather your two year old didn't ask you just yet why that
-woman in the movie was naked, you might want to create a map file.
-
-Map files identify sections of the movie that will be skipped during
-playback.  You can skip any section you like with the only restriction
-(right now) that the movie player must play at least the last VOBU
-(about a fifth of a second) of each chapter in the movie in order
-to detect chapter changes correctly.
-
-Included with this patch is an example map file that describes most
-of the potentially objectionable content in the new "The Lord of the
-Rings" DVD.  I've added a comment after each block that identifies
-what content it contains so that you can customize the file to your
-preferences.  The map file looks something like this:
-
- # The Lord of the Rings: Fellowship of the Ring
- # (Widescreen Theatrical Release)
- debug
- domain 8, title 1, program 1, start 0x0000, end 0x1f0a   # Introduction
-
- # history of middle earth
- #domain 2, title 1, program 1, start 0x9cba, end 0xcea4   # violence/war
- #domain 2, title 1, program 1, start 0xf018, end 0x1272c  # violence/war
- domain 2, title 1, program 1, start 0x11ff3, end 0x1272c # gore
- #domain 2, title 1, program 1, start 0x173f1, end 0x185d6 # violence/death
-
-Place the map file in your .xine directory to enable the selected
-cuts as follows:
-
-    cp FELLOWSHIP.map ~/.xine
-
-The debug command tells the map code that you would like to see the
-VOBU numbers as the movie is playing.  Comment out this line to hide
-this output.  The remaining lines are all either comments or blocks.
-Each block has a start and an end, and whenever Xine tries to load
-a VOBU between the start and end, it will be redirected to the end
-block instead.
-
-
-HOWTO
-=====
-
-To create your own map files you would create a new map file using the
-title of the disk as the filename, and add the debug line to it.  The
-map file should be placed in your '.xine' directory and have a '.map'
-extension added.  For example "The Lord Of The Rings" map must be stored
-in the file ~/.xine/FELLOWSHIP.map
-
-After you create the file with the DEBUG line you will see output that
-looks like this in window where you started Xine:
-
-   FELLOWSHIP: domain 8, title 1, program 1, start 2205, next 22a8
-   FELLOWSHIP: domain 8, title 1, program 1, start 22a8, next 234b
-   FELLOWSHIP: domain 8, title 1, program 1, start 234b, next 23eb
-   FELLOWSHIP: domain 8, title 1, program 1, start 23eb, next 248a
-
-Each line represents one VOBU, and the start and end addresses match
-the start and end addresses that you should place in the map file
-if you want to skip that block.  If you want to skip multiple blocks
-you would just add one line with the start address of the first block
-to skip, and the end address of the last block to skip.  For example
-to skip these four blocks you would add the following line to your
-map file:
-
-   domain 8, title 1, program 1, start 0x2205, end 0x248a # 4 blocks
-
-Xine uses a buffered input chain so that if you pause the viewer you
-won't find the same VOBU being displayed on the terminal as is
-currently on the screen.  In my testing the correct VOBU to use if
-you pause exactly on the section you want to cut will be about five
-or six lines above the last one printed to the screen.  Replay the
-scene with the deletion to see if you caught the correct blocks.
-
-
-WHERE TO FIND MAP FILES
-=======================
-
-If you create a map file for a new movie, please send it to me.  If
-there is widespread interest I'll put up a site where map files can
-be located and downloaded.
-
-
-WHOM TO BLAME
-=============
-
-If the patch doesn't work for you (and you want it to) you can contact
-me at 'kevin_smathers at hp.com'.
-
-If the patch works for you and you don't want it to, remember that
-not everyone in the world has the same needs.  The freedom to censor
-movies in our own homes is quite different from the government
-interfering into libraries and other public forums to censor movies
-for us.
diff --git a/src/dvdnav.c b/src/dvdnav.c
index 85a82f6..bd579dc 100644
--- a/src/dvdnav.c
+++ b/src/dvdnav.c
@@ -813,15 +813,6 @@ dvdnav_status_t dvdnav_get_next_cache_block(dvdnav_t *this, uint8_t **buf,
       return DVDNAV_STATUS_OK;
     }
 
-    /* Perform remapping jump if necessary (this is always a
-     * VOBU boundary). */
-    if (this->vm->map) {
-      this->vobu.vobu_next = remap_block( this->vm->map,
-        this->vm->state.domain, this->vm->state.TTN_REG,
-        this->vm->state.pgN,
-        this->vobu.vobu_start, this->vobu.vobu_next);
-    }
-
     /* at the start of the next VOBU -> expecting NAV packet */
     result = dvdnav_read_cache_block(this->cache, this->vobu.vobu_start + this->vobu.vobu_next, 1, buf);
 
diff --git a/src/remap.c b/src/remap.c
deleted file mode 100644
index a9e2fe3..0000000
--- a/src/remap.c
+++ /dev/null
@@ -1,278 +0,0 @@
-/*
- * This file is part of libdvdnav, a DVD navigation library.
- *
- * libdvdnav is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * libdvdnav is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with libdvdnav; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <stdlib.h>
-#include <string.h>
-#include <strings.h>
-#include <stdio.h>
-
-#ifndef _MSC_VER
-#include <sys/param.h>
-#include <fcntl.h>
-#else
-#ifndef MAXPATHLEN
-#define MAXPATHLEN 255
-#endif
-#endif /* _MSC_VER */
-
-#include <inttypes.h>
-#include <limits.h>
-#include <sys/time.h>
-#include "dvdnav/dvdnav.h"
-#include <dvdread/nav_types.h>
-#include <dvdread/ifo_types.h>
-#include "vm/decoder.h"
-#include "vm/vm.h"
-#include "dvdnav_internal.h"
-
-struct block_s {
-    int domain;
-    int title;
-    int program;
-    unsigned long start_block;
-    unsigned long end_block;
-};
-
-struct remap_s {
-    char *title;
-    int maxblocks;
-    int nblocks;
-    int debug;
-    struct block_s *blocks;
-};
-
-static remap_t* remap_new( char *title) {
-    remap_t *map = malloc( sizeof(remap_t));
-    if (map == NULL)
-        return NULL;
-
-    map->title = strdup(title);
-    map->maxblocks = 0;
-    map->nblocks = 0;
-    map->blocks = NULL;
-    map->debug = 0;
-    return map;
-}
-
-static int compare_block( block_t *a, block_t *b) {
-    /* returns -1 if a precedes b, 1 if a follows b, and 0 if a and b overlap */
-    if (a->domain < b->domain) {
-        return -1;
-    } else if (a->domain > b->domain) {
-        return 1;
-    }
-
-    if (a->title < b->title) {
-        return -1;
-    } else if (a->title > b->title) {
-        return 1;
-    }
-
-    if (a->program < b->program) {
-        return -1;
-    } else if (a->program > b->program) {
-        return 1;
-    }
-
-    if (a->end_block < b->start_block) {
-        return -1;
-    } else if (a->start_block > b->end_block) {
-        /*
-         * if a->start_block == b->end_block then the two regions
-         * aren't strictly overlapping, but they should be merged
-         * anyway since there are zero blocks between them
-         */
-        return 1;
-    }
-
-    return 0;
-}
-
-static block_t *findblock( remap_t *map, block_t *key) {
-    int lb = 0;
-    int ub = map->nblocks - 1;
-    int mid;
-    int res;
-
-    while (lb <= ub) {
-        mid = lb + (ub - lb)/2;
-        res = compare_block( key, &map->blocks[mid]);
-        if (res < 0) {
-            ub = mid-1;
-        } else if (res > 0) {
-            lb = mid+1;
-        } else {
-            return &map->blocks[mid];
-        }
-    }
-    return NULL;
-}
-
-static void mergeblock( block_t *b, block_t tmp) {
-    if (tmp.start_block < b->start_block) b->start_block = tmp.start_block;
-    if (tmp.end_block > b->end_block) b->end_block = tmp.end_block;
-}
-
-static void remap_add_node( remap_t *map, block_t block) {
-    block_t *b;
-    int n;
-    b = findblock( map, &block);
-    if (b) {
-        /* overlaps an existing block */
-        mergeblock( b, block);
-    } else {
-        /* new block */
-        if (map->nblocks >= map->maxblocks) {
-            if ((map->blocks = realloc( map->blocks, sizeof( block_t)*( map->maxblocks + 20))) == NULL)
-                return;
-
-            map->maxblocks += 20;
-        }
-        n = map->nblocks++;
-        while (n > 0 && compare_block( &block, &map->blocks[ n-1]) < 0) {
-            map->blocks[ n] = map->blocks[ n-1];
-            n--;
-        }
-        map->blocks[ n] = block;
-    }
-}
-
-static int parseblock(char *buf, int *dom, int *tt, int *pg,
-                      unsigned long *start, unsigned long *end) {
-    long tmp;
-    char *tok;
-    char *epos = NULL;
-    char *marker[]={"domain", "title", "program", "start", "end"};
-    int st = 0;
-    if ((tok = strtok( buf, " ")) == NULL)
-        return st;
-
-    while (st < 5) {
-        if (strcmp(tok, marker[st])) return -st-1000;
-        tok = strtok( NULL, " ");
-        if (!tok) return -st-2000;
-        tmp = strtol( tok, &epos, 0);
-        if (*epos != 0 && *epos != ',') return -st-3000;
-        switch (st) {
-            case 0:
-                *dom = (int)tmp;
-                break;
-            case 1:
-                *tt = (int)tmp;
-                break;
-            case 2:
-                *pg = (int)tmp;
-                break;
-            case 3:
-                *start = tmp;
-                break;
-            case 4:
-                *end = tmp;
-                break;
-        }
-        st++;
-        if (!(tok = strtok( NULL, " "))) return -st-2000;
-    }
-    return st;
-}
-
-remap_t* remap_loadmap( char *title) {
-    char buf[160];
-    char fname[MAXPATHLEN];
-    char *home;
-    int res;
-    FILE *fp;
-    block_t tmp;
-    remap_t *map;
-
-    memset(&tmp, 0, sizeof(tmp));
-    /* Build the map filename */
-    home = getenv("HOME");
-    if(!home) {
-        fprintf(MSG_OUT, "libdvdnav: Unable to find home directory" );
-        return NULL;
-    }
-    snprintf(fname, sizeof(fname), "%s/.dvdnav/%s.map", home, title);
-
-    /* Open the map file */
-    fp = fopen( fname, "r");
-    if (!fp) {
-        fprintf(MSG_OUT, "libdvdnav: Unable to find map file '%s'\n", fname);
-        return NULL;
-    }
-
-    /* Load the map file */
-    if ((map = remap_new( title)) == NULL) {
-        fprintf(MSG_OUT, "libdvdnav: Unable to load map '%s'\n", title);
-        fclose(fp);
-        return NULL;
-    }
-
-    while (fgets( buf, sizeof(buf), fp) != NULL) {
-        if (buf[0] == '\n' || buf[0] == '#' || buf[0] == 0) continue;
-        if (strncasecmp( buf, "debug", 5) == 0) {
-            map->debug = 1;
-        } else {
-            res = parseblock( buf,
-                &tmp.domain, &tmp.title, &tmp.program, &tmp.start_block, &tmp.end_block);
-            if (res != 5) {
-                fprintf(MSG_OUT, "libdvdnav: Ignoring map line (%d): %s\n", res, buf);
-                continue;
-            }
-            remap_add_node( map, tmp);
-        }
-    }
-    fclose(fp);
-
-    if (map->nblocks == 0 && map->debug == 0) {
-        free(map);
-        return NULL;
-    }
-    return map;
-}
-
-unsigned long remap_block(
-        remap_t *map, int domain, int title, int program,
-        unsigned long cblock, unsigned long offset)
-{
-    block_t key;
-    block_t *b;
-
-    if (map->debug) {
-        fprintf(MSG_OUT, "libdvdnav: %s: domain %d, title %d, program %d, start %lx, next %lx\n",
-            map->title, domain, title, program, cblock, cblock+offset);
-    }
-
-    key.domain = domain;
-    key.title = title;
-    key.program = program;
-    key.start_block = key.end_block = cblock + offset;
-    b = findblock( map, &key);
-
-    if (b) {
-       if (map->debug) {
-           fprintf(MSG_OUT, "libdvdnav: Redirected to %lx\n", b->end_block);
-       }
-       return b->end_block - cblock;
-    }
-    return offset;
-}
diff --git a/src/remap.h b/src/remap.h
deleted file mode 100644
index bb4a92d..0000000
--- a/src/remap.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * This file is part of libdvdnav, a DVD navigation library.
- *
- * libdvdnav is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * libdvdnav is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with libdvdnav; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef LIBDVDNAV_REMAP_H
-#define LIBDVDNAV_REMAP_H
-typedef struct block_s block_t;
-
-typedef struct remap_s remap_t;
-
-remap_t* remap_loadmap( char *title);
-
-unsigned long remap_block(
-        remap_t *map, int domain, int title, int program,
-        unsigned long cblock, unsigned long offset);
-
-#endif /* LIBDVDNAV_REMAP_H */
diff --git a/src/vm/vm.c b/src/vm/vm.c
index f50e561..0de93e3 100644
--- a/src/vm/vm.c
+++ b/src/vm/vm.c
@@ -400,8 +400,6 @@ int vm_reset(vm_t *vm, const char *dvdroot) {
       /* return 0; Not really used for now.. */
     }
     /* ifoRead_TXTDT_MGI(vmgi); Not implemented yet */
-    if (dvd_read_name(vm->dvd_name, vm->dvd_serial, dvdroot) == 1)
-      vm->map  = remap_loadmap(vm->dvd_name);
   }
   if (vm->vmgi) {
     int i, mask;
diff --git a/src/vm/vm.h b/src/vm/vm.h
index 5fb1284..57498d2 100644
--- a/src/vm/vm.h
+++ b/src/vm/vm.h
@@ -23,8 +23,6 @@
 #ifndef LIBDVDNAV_VM_H
 #define LIBDVDNAV_VM_H
 
-#include "remap.h"
-
 /**
  * State: SPRM, GPRM, Domain, pgc, pgN, cellN, ?
  */
@@ -76,7 +74,6 @@ typedef struct {
   int32_t       hop_channel;
   char          dvd_name[50];
   char          dvd_serial[15];
-  remap_t      *map;
   int           stopped;
 } vm_t;
 



More information about the DVDnav-discuss mailing list