Commit 05010656 authored by Stéphane Borel's avatar Stéphane Borel

-Change in the code to detect beginning of movie. It is much better now

but still fails with some DVD for which the movie is not the first
Program.

As a consequence some DVD that worked before don't work anymore.

-Beginning of ideas to handle chapters and ES selection
parent c3b1800a
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* control the pace of reading. * control the pace of reading.
***************************************************************************** *****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN * Copyright (C) 1999, 2000 VideoLAN
* $Id: input_ext-intf.h,v 1.20 2001/02/16 06:37:09 sam Exp $ * $Id: input_ext-intf.h,v 1.21 2001/02/19 03:12:26 stef Exp $
* *
* Authors: Christophe Massiot <massiot@via.ecp.fr> * Authors: Christophe Massiot <massiot@via.ecp.fr>
* *
...@@ -154,6 +154,16 @@ typedef struct stream_descriptor_s ...@@ -154,6 +154,16 @@ typedef struct stream_descriptor_s
off_t i_seek; /* next requested location (changed off_t i_seek; /* next requested location (changed
* by the interface thread */ * by the interface thread */
/* For DVD streams: */
int i_title_nb;
int * pi_chapter; /* Number of chapter for each title */
char ** ppsz_audio; /* Audio language names */
char ** ppsz_spu; /* Sub-pictures names */
int i_title; /* selected title */
int i_chapter; /* selected chapter */
int i_audio; /* selected audio stream */
int i_spu; /* selected spu */
/* New status and rate requested by the interface */ /* New status and rate requested by the interface */
int i_new_status, i_new_rate; int i_new_status, i_new_rate;
vlc_cond_t stream_wait; /* interface -> input in case of a vlc_cond_t stream_wait; /* interface -> input in case of a
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* dvd_ifo.c: Functions for ifo parsing * dvd_ifo.c: Functions for ifo parsing
***************************************************************************** *****************************************************************************
* Copyright (C) 1999-2001 VideoLAN * Copyright (C) 1999-2001 VideoLAN
* $Id: dvd_ifo.c,v 1.9 2001/02/18 01:42:05 stef Exp $ * $Id: dvd_ifo.c,v 1.10 2001/02/19 03:12:26 stef Exp $
* *
* Author: Stphane Borel <stef@via.ecp.fr> * Author: Stphane Borel <stef@via.ecp.fr>
* *
...@@ -345,7 +345,7 @@ static pgc_t ReadPGC( ifo_t* p_ifo ) ...@@ -345,7 +345,7 @@ static pgc_t ReadPGC( ifo_t* p_ifo )
p_ifo->i_pos = lseek( p_ifo->i_fd, i_start p_ifo->i_pos = lseek( p_ifo->i_fd, i_start
+ pgc.i_cell_pos_inf_sbyte, SEEK_SET ); + pgc.i_cell_pos_inf_sbyte, SEEK_SET );
pgc.p_cell_pos_inf = malloc( pgc.i_cell_nb *sizeof(cell_pos_inf_t) ); pgc.p_cell_pos_inf = malloc( pgc.i_cell_nb *sizeof(cell_pos_inf_t) );
if( pgc.p_cell_play_inf == NULL ) if( pgc.p_cell_pos_inf == NULL )
{ {
intf_ErrMsg( "Out of memory" ); intf_ErrMsg( "Out of memory" );
p_ifo->b_error = 1; p_ifo->b_error = 1;
......
This diff is collapsed.
...@@ -34,7 +34,6 @@ typedef struct thread_dvd_data_s ...@@ -34,7 +34,6 @@ typedef struct thread_dvd_data_s
int i_fd; // File descriptor of device int i_fd; // File descriptor of device
boolean_t b_encrypted; // CSS encryption boolean_t b_encrypted; // CSS encryption
int i_read_once; // NB of bytes read by DVDRead int i_read_once; // NB of bytes read by DVDRead
int i_title; // Current Title
int i_start_byte; int i_start_byte;
int i_start_cell; int i_start_cell;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment