view vm/vmcmd.h @ 417:af0b6a8bf7e9 src

Always attempt to move forward on a seek From John Stebbins original post (with pathc, Thanks!): libdvdnav has a problem in that it is difficult to gracefully recover from a read error and continue on to subsequent blocks on the disc. An application would like to seek forward past the current block after getting a read error in order to attempt to get past the bad block(s). But dvdnav_sector_search() does not guarantee that a requested forward seek will actually move the current position forward. It truncates down to the nearest VOBU which will almost always cause a forward seek request by a single block (or a small number of blocks) to move the current position backward. This behaviour puts the application into a loop of: read failure, attempted forward seek (which results in backward seek), read failure ...
author erik
date Fri, 07 Oct 2011 17:06:24 +0000
parents 0a5a6f03b029
children
line wrap: on
line source

/*
 * Copyright (C) 2000, 2001 Martin Norbäck, Håkan Hjort
 *
 * This file is part of libdvdnav, a DVD navigation library. It is modified
 * from a file originally part of the Ogle DVD player.
 *
 * 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_VMCMD_H
#define LIBDVDNAV_VMCMD_H

void vm_print_mnemonic(vm_cmd_t *command);
void vm_print_cmd(int row, vm_cmd_t *command);

#endif /* LIBDVDNAV_VMCMD_H */