summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMichael Roitzsch <mroi@users.sourceforge.net>2004-10-08 20:44:34 +0000
committerMichael Roitzsch <mroi@users.sourceforge.net>2004-10-08 20:44:34 +0000
commitab9faee8cb2f4f732ed371a0e28228d3659e5aae (patch)
tree1b4aaaf238ee79afa66642fb1e8a1ce7aff0bdac /src
parentcfc01156e5851256eb337ffd4b734f7bc0d272a1 (diff)
downloadxine-lib-ab9faee8cb2f4f732ed371a0e28228d3659e5aae.tar.gz
xine-lib-ab9faee8cb2f4f732ed371a0e28228d3659e5aae.tar.bz2
sync to current CVS of libdvdnav
* fixes wrong subtitle appearing in the trailer of "Girl, Interrupted" RC2 * fixes "NAV packet expected, but none found" error when toggling between menu and feature with the Escape key CVS patchset: 7022 CVS date: 2004/10/08 20:44:34
Diffstat (limited to 'src')
-rw-r--r--src/input/libdvdnav/Makefile.am4
-rw-r--r--src/input/libdvdnav/diff_against_cvs.patch10
-rw-r--r--src/input/libdvdnav/dvdnav.c14
-rw-r--r--src/input/libdvdnav/vm.c13
4 files changed, 18 insertions, 23 deletions
diff --git a/src/input/libdvdnav/Makefile.am b/src/input/libdvdnav/Makefile.am
index 07b29091f..070a16f28 100644
--- a/src/input/libdvdnav/Makefile.am
+++ b/src/input/libdvdnav/Makefile.am
@@ -22,8 +22,8 @@ libdvdnav_la_SOURCES = \
dvd_reader.c \
dvd_input.c \
dvd_udf.c
-
-libdvdnav_la_LDFLAGS = $(THREAD_LIBS) -avoid-version -module
+libdvdnav_la_LIBADD = $(THREAD_LIBS)
+libdvdnav_la_LDFLAGS = -avoid-version -module
noinst_HEADERS = \
decoder.h \
diff --git a/src/input/libdvdnav/diff_against_cvs.patch b/src/input/libdvdnav/diff_against_cvs.patch
index 137c14478..39d3de466 100644
--- a/src/input/libdvdnav/diff_against_cvs.patch
+++ b/src/input/libdvdnav/diff_against_cvs.patch
@@ -11,7 +11,7 @@
this = (dvdnav_t*)malloc(sizeof(dvdnav_t));
--- src/input/libdvdnav/dvd_reader.c
+++ src/input/libdvdnav/dvd_reader.c
-@@ -60,6 +60,7 @@
+@@ -61,6 +61,7 @@
#include <mntent.h>
#endif
@@ -19,7 +19,7 @@
#include "dvd_udf.h"
#include "dvd_input.h"
#include "dvd_reader.h"
-@@ -408,7 +409,7 @@
+@@ -409,7 +410,7 @@
if( cdir >= 0 ) {
chdir( path_copy );
@@ -28,7 +28,7 @@
fchdir( cdir );
close( cdir );
if( new_path ) {
-@@ -594,7 +595,7 @@
+@@ -595,7 +596,7 @@
static int findDVDFile( dvd_reader_t *dvd, const char *file, char *filename )
{
@@ -37,7 +37,7 @@
const char *nodirfile;
int ret;
-@@ -628,7 +629,7 @@
+@@ -629,7 +630,7 @@
*/
static dvd_file_t *DVDOpenFilePath( dvd_reader_t *dvd, char *filename )
{
@@ -46,7 +46,7 @@
dvd_file_t *dvd_file;
struct stat fileinfo;
dvd_input_t dev;
-@@ -721,7 +722,7 @@
+@@ -722,7 +723,7 @@
static dvd_file_t *DVDOpenVOBPath( dvd_reader_t *dvd, int title, int menu )
{
char filename[ MAX_UDF_FILE_NAME_LEN ];
diff --git a/src/input/libdvdnav/dvdnav.c b/src/input/libdvdnav/dvdnav.c
index 98b88f826..3a005a185 100644
--- a/src/input/libdvdnav/dvdnav.c
+++ b/src/input/libdvdnav/dvdnav.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: dvdnav.c,v 1.31 2004/10/05 19:07:09 hadess Exp $
+ * $Id: dvdnav.c,v 1.32 2004/10/08 20:44:34 mroi Exp $
*
*/
@@ -668,16 +668,10 @@ dvdnav_status_t dvdnav_get_next_cache_block(dvdnav_t *this, uint8_t **buf,
fprintf(MSG_OUT, "libdvdnav: SPU_STREAM_CHANGE stream_id_wide=%d\n",stream_change->physical_wide);
fprintf(MSG_OUT, "libdvdnav: SPU_STREAM_CHANGE stream_id_letterbox=%d\n",stream_change->physical_letterbox);
fprintf(MSG_OUT, "libdvdnav: SPU_STREAM_CHANGE stream_id_pan_scan=%d\n",stream_change->physical_pan_scan);
+ fprintf(MSG_OUT, "libdvdnav: SPU_STREAM_CHANGE returning DVDNAV_STATUS_OK\n");
#endif
- if (stream_change->physical_wide != -1 &&
- stream_change->physical_letterbox != -1 &&
- stream_change->physical_pan_scan != -1) {
-#ifdef LOG_DEBUG
- fprintf(MSG_OUT, "libdvdnav: SPU_STREAM_CHANGE returning DVDNAV_STATUS_OK\n");
-#endif
- pthread_mutex_unlock(&this->vm_lock);
- return DVDNAV_STATUS_OK;
- }
+ pthread_mutex_unlock(&this->vm_lock);
+ return DVDNAV_STATUS_OK;
}
/* has the audio channel changed? */
diff --git a/src/input/libdvdnav/vm.c b/src/input/libdvdnav/vm.c
index e065d33b6..a2402bd9b 100644
--- a/src/input/libdvdnav/vm.c
+++ b/src/input/libdvdnav/vm.c
@@ -20,7 +20,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: vm.c,v 1.30 2004/10/05 19:07:09 hadess Exp $
+ * $Id: vm.c,v 1.31 2004/10/08 20:44:34 mroi Exp $
*
*/
@@ -714,8 +714,8 @@ int vm_get_subp_stream(vm_t *vm, int subpN, int mode) {
}
}
- if((vm->state).domain != VTS_DOMAIN && streamN == -1)
- streamN = 0;
+ if((vm->state).domain != VTS_DOMAIN && streamN == -1)
+ streamN = 0;
/* FIXME: Should also check in vtsi/vmgi status what kind of stream it is. */
return streamN;
@@ -1345,10 +1345,11 @@ static int process_command(vm_t *vm, link_t link_values) {
(vm->state).pgN = 1;
link_values = play_PG(vm);
} else {
- /* (vm->state).pgN = ?? this gets the righ value in set_PGN() below */
+ /* (vm->state).pgN = ?? this gets the right value in set_PGN() below */
(vm->state).cellN = (vm->state).rsm_cellN;
link_values.command = PlayThis;
- link_values.data1 = (vm->state).rsm_blockN;
+ link_values.data1 = (vm->state).rsm_blockN & 0xffff;
+ link_values.data2 = (vm->state).rsm_blockN >> 16;
if(!set_PGN(vm)) {
/* Were at the end of the PGC, should not happen for a RSM */
assert(0);
@@ -1551,7 +1552,7 @@ static int process_command(vm_t *vm, link_t link_values) {
#endif
}
- (vm->state).blockN = link_values.data1;
+ (vm->state).blockN = link_values.data1 | (link_values.data2 << 16);
return 1;
}