Commit 9eb3e68f authored by Gildas Bazin's avatar Gildas Bazin

* configure.ac, modules/access/dvd, modules/access/dvdplay:

  + removed dvdplay module which was deprecated in favor of the dvdnav one.
  + removed dvd module which is going to be replace with a new dvdread one.
parent 41b93de1
...@@ -1211,74 +1211,6 @@ if test "${enable_livedotcom}" = "yes"; then ...@@ -1211,74 +1211,6 @@ if test "${enable_livedotcom}" = "yes"; then
fi fi
fi fi
dnl dnl
dnl dnl DVD module: optionally check for installed libdvdcss
dnl dnl
dnl AC_ARG_ENABLE(dvd,
dnl [ --enable-dvd DVD input module (default enabled)])
dnl if test "${enable_dvd}" != "no"
dnl then
dnl AC_ARG_WITH(dvdcss,
dnl [ --with-dvdcss=PATH libdvdcss headers and libraries])
dnl AC_ARG_WITH(dvdcss-tree,
dnl [ --with-dvdcss-tree=PATH libdvdcss tree for static linking])
dnl case "${with_dvdcss}" in
dnl ""|yes)
dnl if test -z "${with_dvdcss_tree}"
dnl then
dnl AC_CHECK_HEADERS(dvdcss/dvdcss.h,
dnl [ AX_ADD_PLUGINS([dvd])
dnl AX_ADD_LDFLAGS([dvd dvdcss],[-ldvdcss])],
dnl [ AC_MSG_WARN([libdvdcss is no longer provided with vlc; please get libdvdcss from http://www.videolan.org/libdvdcss/ and build it. Then either use --with-dvdcss=<path/where/libdvdcss/was/installed> for dynamic linking (recommended under Unix) or --with-dvdcss-tree=<path/where/libdvdcss/was/built> for static linking (recommended under BeOS, Windows, MacOS X). Alternatively you can use --disable-dvd to disable the DVD plugin.])
dnl AC_MSG_ERROR([cannot find libdvdcss headers]) ])
dnl else
dnl AC_MSG_CHECKING(for libdvdcss.a in ${with_dvdcss_tree})
dnl real_dvdcss_tree="`cd ${with_dvdcss_tree} 2>/dev/null && pwd`"
dnl if test -z "${real_dvdcss_tree}"
dnl then
dnl dnl The given directory can't be found
dnl AC_MSG_RESULT(no)
dnl AC_MSG_ERROR([cannot cd to ${with_dvdcss_tree}])
dnl fi
dnl if test -f "${real_dvdcss_tree}/src/.libs/libdvdcss.a"
dnl then
dnl dnl Use a custom libdvdcss
dnl AC_MSG_RESULT(${real_dvdcss_tree}/src/.libs/libdvdcss.a)
dnl AX_ADD_BUILTINS([dvd])
dnl AX_ADD_LDFLAGS([dvd dvdcss],[-L${real_dvdcss_tree}/src/.libs -ldvdcss])
dnl AX_ADD_CPPFLAGS([dvd],[-I${real_dvdcss_tree}/src])
dnl else
dnl dnl The given libdvdcss wasn't built
dnl AC_MSG_RESULT(no)
dnl AC_MSG_ERROR([cannot find ${real_dvdcss_tree}/src/.libs/libdvdcss.a, make sure you compiled libdvdcss in ${with_dvdcss_tree}])
dnl fi
dnl fi
dnl ;;
dnl no)
dnl dnl Compile without dvdcss (dlopen version, works only under Linux)
dnl AX_ADD_PLUGINS([dvd])
dnl AX_ADD_CPPFLAGS([dvd],[-DGOD_DAMN_DMCA])
dnl AX_ADD_LDFLAGS([dvd],[-ldl])
dnl ;;
dnl *)
dnl AC_MSG_CHECKING(for dvdcss headers in ${with_dvdcss})
dnl if test -f ${with_dvdcss}/include/dvdcss/dvdcss.h
dnl then
dnl dnl Use ${with_dvdcss}/include/dvdcss/dvdcss.h
dnl AC_MSG_RESULT(yes)
dnl AX_ADD_PLUGINS([dvd])
dnl AX_ADD_LDFLAGS([dvd dvdcss],[-L${with_dvdcss}/lib -ldvdcss])
dnl AX_ADD_CPPFLAGS([dvd],[-I${with_dvdcss}/include])
dnl else
dnl dnl No libdvdcss could be found, sorry
dnl AC_MSG_RESULT(no)
dnl AC_MSG_ERROR([cannot find ${with_dvdcss}/include/dvdcss/dvdcss.h])
dnl fi
dnl ;;
dnl esac
dnl fi
dnl dnl
dnl dnl dnl dnl
dnl dnl dvdread module: check for libdvdread dnl dnl dvdread module: check for libdvdread
...@@ -1344,70 +1276,6 @@ dnl fi ...@@ -1344,70 +1276,6 @@ dnl fi
dnl fi dnl fi
dnl fi dnl fi
dnl dnl
dnl dnl
dnl dnl dvdplay module: check for libdvdplay
dnl dnl
dnl AC_ARG_ENABLE(dvdplay,
dnl [ --enable-dvdplay dvdplay input module (default enabled)])
dnl if test "${enable_dvdplay}" != "no"
dnl then
dnl AC_ARG_WITH(dvdplay,
dnl [ --with-dvdplay=PATH libdvdplay headers and libraries])
dnl AC_ARG_WITH(dvdplay-tree,
dnl [ --with-dvdplay-tree=PATH libdvdplay tree for static linking])
dnl if test -z "${with_dvdplay}"
dnl then
dnl if test -z "${with_dvdplay_tree}"
dnl then
dnl AC_CHECK_HEADERS(dvdplay/dvdplay.h,[
dnl AX_ADD_PLUGINS([dvdplay])
dnl AX_ADD_LDFLAGS([dvdplay],[-ldvdplay ${LDFLAGS_dvdread} ${LDFLAGS_dvdcss}])
dnl AX_ADD_CPPFLAGS([dvdplay],[${CPPFLAGS_dvdread}])
dnl ],[
dnl if test -n "${enable_dvdplay}"
dnl then
dnl AC_MSG_WARN([Please get libdvdplay from http://www.videolan.org/.])
dnl AC_MSG_ERROR([cannot find libdvdplay headers])
dnl fi
dnl ])
dnl else
dnl AC_MSG_CHECKING(for libdvdplay.a in ${with_dvdplay_tree})
dnl real_dvdplay_tree="`cd ${with_dvdplay_tree} 2>/dev/null && pwd`"
dnl if test -z "${real_dvdplay_tree}"
dnl then
dnl dnl The given directory can't be found
dnl AC_MSG_RESULT(no)
dnl AC_MSG_ERROR([cannot cd to ${with_dvdplay_tree}])
dnl fi
dnl if test -f "${real_dvdplay_tree}/src/.libs/libdvdplay.a"
dnl then
dnl dnl Use a custom libdvdplay
dnl AC_MSG_RESULT(${real_dvdplay_tree}/src/.libs/libdvdplay.a)
dnl AX_ADD_BUILTINS([dvdplay])
dnl AX_ADD_LDFLAGS([dvdplay],[-L${real_dvdplay_tree}/src/.libs -ldvdplay ${LDFLAGS_dvdread} ${LDFLAGS_dvdcss}])
dnl AX_ADD_CPPFLAGS([dvdplay],[${CPPFLAGS_dvdread} -I${real_dvdplay_tree}/src])
dnl else
dnl dnl The given libdvdplay wasn't built
dnl AC_MSG_RESULT(no)
dnl AC_MSG_ERROR([cannot find ${real_dvdplay_tree}/src/.libs/libdvdplay.a, make sure you compiled libdvdplay in ${with_dvdplay_tree}])
dnl fi
dnl fi
dnl else
dnl AC_MSG_CHECKING(for dvdplay headers in ${with_dvdplay})
dnl if test -f "${with_dvdplay}/include/dvdplay/dvdplay.h"
dnl then
dnl dnl Use ${with_dvdplay}/include/dvdplay/dvdplay.h
dnl AC_MSG_RESULT(yes)
dnl AX_ADD_PLUGINS([dvdplay])
dnl AX_ADD_LDFLAGS([dvdplay],[-L${with_dvdplay}/lib -ldvdplay ${LDFLAGS_dvdread} ${LDFLAGS_dvdcss}])
dnl AX_ADD_CPPFLAGS([dvdplay],[${CPPFLAGS_dvdread} -I${with_dvdplay}/include])
dnl else
dnl dnl No libdvdplay could be found, sorry
dnl AC_MSG_RESULT(no)
dnl AC_MSG_ERROR([cannot find ${with_dvdplay}/include/dvdplay/dvdplay.h])
dnl fi
dnl fi
dnl fi
dnl dnl
dnl libdvdnav plugin dnl libdvdnav plugin
...@@ -3904,8 +3772,6 @@ AC_CONFIG_FILES([ ...@@ -3904,8 +3772,6 @@ AC_CONFIG_FILES([
modules/access/Makefile modules/access/Makefile
modules/access/dshow/Makefile modules/access/dshow/Makefile
modules/access/dvb/Makefile modules/access/dvb/Makefile
modules/access/dvd/Makefile
modules/access/dvdplay/Makefile
modules/access/dvdread/Makefile modules/access/dvdread/Makefile
modules/access/mms/Makefile modules/access/mms/Makefile
modules/access/pvr/Makefile modules/access/pvr/Makefile
......
SOURCES_dvd = \
dvd.c \
dvd.h \
access.c \
demux.c \
seek.c \
seek.h \
es.c \
es.h \
ifo.c \
ifo.h \
udf.c \
udf.h \
summary.c \
summary.h \
dvdcss.h \
$(NULL)
This diff is collapsed.
/* demux.c: DVD demux functions.
*****************************************************************************
* Copyright (C) 1998-2001 VideoLAN
* $Id: demux.c,v 1.4 2004/03/03 20:39:51 gbazin Exp $
*
* Author: Stphane Borel <stef@via.ecp.fr>
*
* This program 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.
*
* This program 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 this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*****************************************************************************/
/*****************************************************************************
* Preamble
*****************************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <vlc/vlc.h>
#include <vlc/input.h>
#include "../../demux/mpeg/system.h"
#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif
#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <string.h>
#include <errno.h>
#ifdef STRNCASECMP_IN_STRINGS_H
# include <strings.h>
#endif
/* how many packets DVDDemux will read in each loop */
#define DVD_READ_ONCE 64
/*****************************************************************************
* Private structure
*****************************************************************************/
struct demux_sys_t
{
module_t * p_module;
mpeg_demux_t mpeg;
};
/*****************************************************************************
* Local prototypes
*****************************************************************************/
static int DVDDemux ( input_thread_t * );
void DVDLaunchDecoders( input_thread_t * );
/*****************************************************************************
* DVDInit: initialize DVD structures
*****************************************************************************/
int E_(DVDInit) ( vlc_object_t *p_this )
{
input_thread_t *p_input = (input_thread_t *)p_this;
demux_sys_t * p_demux;
if( p_input->stream.i_method != INPUT_METHOD_DVD )
{
return -1;
}
p_demux = p_input->p_demux_data = malloc( sizeof(demux_sys_t ) );
if( p_demux == NULL )
{
return -1;
}
p_input->p_private = (void*)&p_demux->mpeg;
p_demux->p_module = module_Need( p_input, "mpeg-system", NULL, 0 );
if( p_demux->p_module == NULL )
{
free( p_input->p_demux_data );
return -1;
}
p_input->pf_demux = DVDDemux;
p_input->pf_demux_control = demux_vaControlDefault;
p_input->pf_rewind = NULL;
vlc_mutex_lock( &p_input->stream.stream_lock );
DVDLaunchDecoders( p_input );
vlc_mutex_unlock( &p_input->stream.stream_lock );
return 0;
}
/*****************************************************************************
* DVDEnd: free DVD structures
*****************************************************************************/
void E_(DVDEnd) ( vlc_object_t *p_this )
{
input_thread_t *p_input = (input_thread_t *)p_this;
module_Unneed( p_input, p_input->p_demux_data->p_module );
free( p_input->p_demux_data );
}
/*****************************************************************************
* DVDDemux
*****************************************************************************/
static int DVDDemux( input_thread_t * p_input )
{
data_packet_t * p_data;
ssize_t i_result;
int i;
/* Read headers to compute payload length */
for( i = 0 ; i < DVD_READ_ONCE ; i++ )
{
i_result = p_input->p_demux_data->mpeg.pf_read_ps( p_input, &p_data );
if( i_result < 0 )
{
return i_result;
}
else if( i_result == 0 )
{
return i;
}
p_input->p_demux_data->mpeg.pf_demux_ps( p_input, p_data );
}
return i;
}
This diff is collapsed.
/*****************************************************************************
* dvd.h: thread structure of the DVD plugin
*****************************************************************************
* Copyright (C) 1999-2001 VideoLAN
* $Id: dvd.h,v 1.2 2002/12/06 16:34:04 sam Exp $
*
* Author: Stéphane Borel <stef@via.ecp.fr>
*
* This program 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.
*
* This program 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 this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*****************************************************************************/
/*****************************************************************************
* Preamble
*****************************************************************************/
/* Logical block size for DVD-VIDEO */
#define DVD_LB_SIZE 2048
#define LB2OFF(x) ((off_t)(x) * (off_t)(DVD_LB_SIZE))
#define OFF2LB(x) ((x) >> 11)
/*****************************************************************************
* thread_dvd_data_t: extension of input_thread_t for DVD specificity.
*****************************************************************************/
typedef struct thread_dvd_data_s
{
dvdcss_handle dvdhandle; /* libdvdcss handle */
unsigned int i_audio_nb;
unsigned int i_spu_nb;
/* Navigation information */
unsigned int i_title;
unsigned int i_title_id;
unsigned int i_chapter_nb;
unsigned int i_chapter;
vlc_bool_t b_new_chapter;
unsigned int i_angle_nb;
unsigned int i_angle;
unsigned int i_map_cell; /* cell index in adress map */
unsigned int i_prg_cell; /* cell index in program map */
unsigned int i_angle_cell; /* cell index in the current angle */
unsigned int i_vts_start; /* offset to beginning of vts */
unsigned int i_vts_lb; /* sector in vts */
unsigned int i_last_lb; /* last sector of current cell */
/* Structure that contains all information of the DVD */
struct ifo_s * p_ifo;
} thread_dvd_data_t;
/*****************************************************************************
* dvdcss.h: Dummy libdvdcss header.
*****************************************************************************
* Copyright (C) 2001 VideoLAN
* $Id: dvdcss.h,v 1.1 2002/08/04 17:23:41 sam Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
*
* This program 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.
*
* This program 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 this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*****************************************************************************/
/*****************************************************************************
* The libdvdcss structure
*****************************************************************************/
typedef struct dvdcss_s* dvdcss_handle;
/*****************************************************************************
* Defines and flags
*****************************************************************************/
#define DVDCSS_BLOCK_SIZE 2048
#define DVDCSS_NOFLAGS 0
#define DVDCSS_READ_DECRYPT (1 << 0)
#define DVDCSS_SEEK_MPEG (1 << 0)
#define DVDCSS_SEEK_KEY (1 << 1)
/*****************************************************************************
* Exported prototypes
*****************************************************************************/
dvdcss_handle dummy_dvdcss_open ( char * );
int dummy_dvdcss_close ( dvdcss_handle );
int dummy_dvdcss_title ( dvdcss_handle, int );
int dummy_dvdcss_seek ( dvdcss_handle, int, int );
int dummy_dvdcss_read ( dvdcss_handle, void *, int, int );
int dummy_dvdcss_readv ( dvdcss_handle, void *, int, int );
char * dummy_dvdcss_error ( dvdcss_handle );
/*****************************************************************************
* Pointers which will be filled either with dummy_dvdcss functions or
* with the dlopen()ed ones.
*****************************************************************************/
#define ____dvdcss_open dvdcss_open
#define ____dvdcss_close dvdcss_close
#define ____dvdcss_title dvdcss_title
#define ____dvdcss_seek dvdcss_seek
#define ____dvdcss_read dvdcss_read
#define ____dvdcss_readv dvdcss_readv
#define ____dvdcss_error dvdcss_error
dvdcss_handle (* ____dvdcss_open ) ( char * );
int (* ____dvdcss_close ) ( dvdcss_handle );
int (* ____dvdcss_title ) ( dvdcss_handle, int );
int (* ____dvdcss_seek ) ( dvdcss_handle, int, int );
int (* ____dvdcss_read ) ( dvdcss_handle, void *, int, int );
int (* ____dvdcss_readv ) ( dvdcss_handle, void *, int, int );
char * (* ____dvdcss_error ) ( dvdcss_handle );
This diff is collapsed.
/* dvd_es.h: functions to find and select ES
*****************************************************************************
* Copyright (C) 1998-2001 VideoLAN
* $Id: es.h,v 1.1 2002/08/04 17:23:41 sam Exp $
*
* Author: Stéphane Borel <stef@via.ecp.fr>
*
* This program 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.
*
* This program 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 this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*****************************************************************************/
void DVDLaunchDecoders ( input_thread_t * );
void DVDReadVideo ( input_thread_t * );
void DVDReadAudio ( input_thread_t * );
void DVDReadSPU ( input_thread_t * );
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
/* dvd_seek.h: DVD access plugin.
*****************************************************************************
* Copyright (C) 1998-2001 VideoLAN
* $Id: seek.h,v 1.2 2002/12/06 16:34:04 sam Exp $
*
* Author: Stphane Borel <stef@via.ecp.fr>
*
* This program 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.
*
* This program 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 this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*****************************************************************************/
int CellIsInterleaved( thread_dvd_data_t * );
int CellAngleOffset ( thread_dvd_data_t *, int );
int CellPrg2Map ( thread_dvd_data_t * );
int CellFirstSector ( thread_dvd_data_t * );
int CellLastSector ( thread_dvd_data_t * );
int NextCellPrg ( thread_dvd_data_t * );
int Lb2CellPrg ( thread_dvd_data_t * );
int Lb2CellMap ( thread_dvd_data_t * );
int LbMaxOnce ( thread_dvd_data_t * );
int CellPrg2Chapter ( thread_dvd_data_t * );
int NextChapter ( thread_dvd_data_t * );
int DVDSetChapter ( thread_dvd_data_t *, unsigned int );
/*****************************************************************************
* summary.c: set of functions to print options of selected title
* found in .ifo.
*****************************************************************************
* Copyright (C) 1998-2001 VideoLAN
* $Id: summary.c,v 1.2 2002/08/08 00:35:10 sam Exp $
*
* Author: Stphane Borel <stef@via.ecp.fr>
*
* This program 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.
*
* This program 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 this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*****************************************************************************/
/*****************************************************************************
* Preamble
*****************************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <vlc/vlc.h>
#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif
#if !defined( WIN32 )
# include <netinet/in.h>
#endif
#include <fcntl.h>
#include <sys/types.h>
#include <string.h>
#ifdef STRNCASECMP_IN_STRINGS_H
# include <strings.h>
#endif
#include <errno.h>
#ifdef GOD_DAMN_DMCA
# include "dvdcss.h"
#else
# include <dvdcss/dvdcss.h>
#endif
#include "dvd.h"
#include "ifo.h"
#include "iso_lang.h"
/*
* Local tools to decode some data in ifo
*/
/****************************************************************************
* IfoPrintTitle
****************************************************************************/
void IfoPrintTitle( thread_dvd_data_t * p_dvd )
{
#if 0
intf_WarnMsg( 5, "dvd info: title %d, %d chapter%s, %d angle%s",
p_dvd->i_title, p_dvd->i_chapter_nb,
(p_dvd->i_chapter_nb == 1) ? "" : "s",
p_dvd->i_angle_nb,
(p_dvd->i_angle_nb == 1) ? "" : "s" );
#endif
}
/****************************************************************************
* IfoPrintVideo
****************************************************************************/
#define video p_dvd->p_ifo->vts.manager_inf.video_attr
void IfoPrintVideo( thread_dvd_data_t * p_dvd )
{
#if 0
char* psz_perm_displ[4] =
{
"pan-scan & letterboxed",
"pan-scan",
"letterboxed",
"not specified"
};
char* psz_source_res[4] =
{
"720x480 ntsc or 720x576 pal",
"704x480 ntsc or 704x576 pal",
"352x480 ntsc or 352x576 pal",
"352x240 ntsc or 352x288 pal"
};
intf_WarnMsg( 5, "dvd info: MPEG-%d video, %sHz, aspect ratio %s",
video.i_compression + 1,
video.i_system ? "pal 625 @50" : "ntsc 525 @60",
video.i_ratio ? (video.i_ratio == 3) ? "16:9"
: "unknown"
: "4:3" );
intf_WarnMsg( 5, "dvd info: display mode %s, %s, %s",
psz_perm_displ[video.i_perm_displ],
video.i_line21_1 ? "line21-1 data in GOP"
: "no line21-1 data",
video.i_line21_2 ? "line21-2 data in GOP"
: "no line21-2 data" );
intf_WarnMsg( 5, "dvd info: source is %s, %sletterboxed, %s mode",
psz_source_res[video.i_source_res],
video.i_letterboxed ? "" : "not ",
video.i_mode ? "film (625/50 only)" : "camera" );
#endif
}
#undef video
/****************************************************************************
* IfoPrintAudio
****************************************************************************/
#define audio p_dvd->p_ifo->vts.manager_inf.p_audio_attr[i-1]
#define audio_status \
p_dvd->p_ifo->vts.title_unit.p_title[p_dvd->i_title_id-1].title.pi_audio_status[i-1]
void IfoPrintAudio( thread_dvd_data_t * p_dvd, int i )
{
if( audio_status.i_available )
{
#if 0
char* ppsz_mode[8] =
{ "A52", "unknown", "MPEG", "MPEG-2", "LPCM", "SDDS", "DTS", "" };
char* ppsz_appl_mode[4] =
{ "no application specified", "karaoke", "surround sound", "" };
char* ppsz_quant[4] =
{ "16 bits", "20 bits", "24 bits", "drc" };
intf_WarnMsg( 5, "dvd info: audio %d (%s) is %s, "
"%d%s channel%s, %dHz, %s", i,
DecodeLanguage( audio.i_lang_code ),
ppsz_mode[audio.i_coding_mode & 0x7],
audio.i_num_channels + 1,
audio.i_multichannel_extension ? " ext." : "",
audio.i_num_channels ? "s" : "",
audio.i_sample_freq ? 96000 : 48000,
ppsz_appl_mode[audio.i_appl_mode & 0x3] );
intf_WarnMsg( 5, "dvd info: %s, quantization %s, status %x",
(audio.i_caption == 1) ? "normal caption"
: (audio.i_caption == 3) ? "directors comments"
: "unknown caption",
ppsz_quant[audio.i_quantization & 0x3],
audio_status.i_position );
#endif
}
}
#undef audio_status
#undef audio
/****************************************************************************
* IfoPrintSpu
****************************************************************************/
#define spu p_dvd->p_ifo->vts.manager_inf.p_spu_attr[i-1]
#define spu_status \
p_dvd->p_ifo->vts.title_unit.p_title[p_dvd->i_title_id-1].title.pi_spu_status[i-1]
void IfoPrintSpu( thread_dvd_data_t * p_dvd, int i )
{
if( spu_status.i_available )
{
#if 0
intf_WarnMsg( 5, "dvd info: spu %d (%s), caption %d "
"prefix %x, modes [%s%s%s%s ]", i,
DecodeLanguage( spu.i_lang_code ),
spu.i_caption, spu.i_prefix,
spu_status.i_position_43 ? " 4:3" : "",
spu_status.i_position_wide ? " wide" : "",
spu_status.i_position_letter ? " letter" : "",
spu_status.i_position_pan ? " pan" : "" );
#endif
}
}
#undef spu_status
#undef spu
/*****************************************************************************
* dvd_summary.h: prototype of functions that print out current options.
*****************************************************************************
* Copyright (C) 1999-2001 VideoLAN
* $Id: summary.h,v 1.1 2002/08/04 17:23:41 sam Exp $
*
* Author: Stéphane Borel <stef@via.ecp.fr>
*
* This program 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.
*
* This program 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 this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*****************************************************************************/
struct thread_dvd_data_s;
void IfoPrintTitle( struct thread_dvd_data_s * );
void IfoPrintVideo( struct thread_dvd_data_s * );
void IfoPrintAudio( struct thread_dvd_data_s *, int );
void IfoPrintSpu ( struct thread_dvd_data_s *, int );
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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