Commit b4bed8b6 authored by Damien Lucas's avatar Damien Lucas

. specific compilation flags for modules (especially for dvbinput)

. corrected the SendMethod kludge (default value is 0)

. Updated version number for the release

. Updated ChangeLog

. Changed default debug mode to disable
   (run ./configure --enable-debug to enable it)

. Fixed DVB-T and multiples streams thanks to Peter Martin and
   Andrew de Quincey
parent 87098f0e
......@@ -2,6 +2,24 @@
# ChangeLog for vls #
#===================#
0.4.5
* Makefile configure configure.in: Fixed 'make dist'
* ALL: Fixed compile issues on OpenBSD.
* ALL: Added a command line launching solution for easy configuration
* application.cpp parsers.cpp: stream type audectection when using command line
* /cvs/videolan/vls/src/modules/dvbinput/: new dvbinput working with the new
linuxtv drivers and the libdvb (also prodvide by linuxtv.org)
* src/extras/: added GNU getopt functions for command line compilation under
Windows and MacOS X
* /cvs/videolan/vls/doc/: Update of the VLS documentation
* configure.in: Changed configure.in in order to be able to specify the path for
dvb source files
* src/modules/filechannel/fileoutput.cpp: Added the patch by Michael Muller
and Chen Xiaodong about the windows fileoutput bug opening in 'wb+' mode
under windows instead of 'w+'
* src/core/application.cpp: Fixed the --ttl option
0.4.0
Sun, 13 Oct 2002 02:27:09 +0200
......
......@@ -2,7 +2,7 @@
# vls (VideoLAN Server) main Makefile
#-------------------------------------------------------------------------------
# (c)1999-2001 VideoLAN
# $Id: Makefile,v 1.101 2002/12/08 14:50:43 massiot Exp $
# $Id: Makefile,v 1.102 2002/12/08 15:55:29 nitrox Exp $
################################################################################
......@@ -196,7 +196,7 @@ vls: Makefile.opts $(OBJ) $(C_OBJ) $(BUILTINS)
@test -f bin/vlsd || ln -s $@ bin/$@d
chmod 755 bin/$@
dep/server/vls.d: src/server/vls_builtins.cpp
dep/server/vls.dpp: src/server/vls_builtins.cpp
src/server/vls_builtins.cpp: Makefile.opts
rm -f $@
......
......@@ -71,13 +71,13 @@ $(PLUGIN_OBJ): obj/%.o: dep/%.d
$(PLUGIN_OBJ): obj/%.o: %.cpp
@test -d obj/$(dir $*) || mkdir -p obj/$(dir $*)
@echo "Compiling $<..."
$(CXX) $(CCFLAGS) -D__PLUGIN__ $(INCLUDE) -fPIC -o $@ -c $<
$(CXX) $(CCFLAGS) $(MODULE_CCFLAGS) -D__PLUGIN__ $(INCLUDE) -fPIC -o $@ -c $<
$(BUILTIN_OBJ): obj/BUILTIN_%.o: dep/%.d
$(BUILTIN_OBJ): obj/BUILTIN_%.o: %.cpp
@test -d obj/$(dir $*) || mkdir -p obj/$(dir $*)
@echo "Compiling $<..."
$(CXX) $(CCFLAGS) -D__BUILTIN__ $(INCLUDE) -fPIC -o $@ -c $<
$(CXX) $(CCFLAGS) $(MODULE_CCFLAGS) -D__BUILTIN__ $(INCLUDE) -fPIC -o $@ -c $<
$(MODULE_DEP): ../../../Makefile.module FORCE
$(MODULE_DEP): dep/%.d: %.cpp
......
......@@ -2,7 +2,7 @@
# vls (VideoLAN Server) input's dependencies makefile
#-------------------------------------------------------------------------------
# (c)1999-2001 VideoLAN
# $Id: Makefile.module.dep,v 1.2 2001/11/29 16:11:42 bozo Exp $
# $Id: Makefile.module.dep,v 1.3 2002/12/08 15:55:29 nitrox Exp $
################################################################################
......@@ -49,7 +49,7 @@ default:
$(MODULE_DEP): dep/%.d: %.cpp
@test -d dep/$(dir $*) || mkdir -p dep/$(dir $*)
@echo "Generating dependancies for $<..."
@$(SHELL) -ec '$(CXX) $(DCFLAGS) $(INCLUDE) $< \
@$(SHELL) -ec '$(CXX) $(DCFLAGS) $(MODULE_DCFLAGS) $(INCLUDE) $< \
| sed '\''s/$(subst .,\.,$(notdir $*))\.o[ :]*/$(subst /,\/,$*).o \
dep\/$(subst /,\/,$*).d : /g'\'' > $@; \
[ -s $@ ] || rm -f $@'
......
......@@ -89,6 +89,9 @@ MODULE_LCFLAGS = @MODULE_LCFLAGS@
DVDREADER_LIB = @DVDREADER_LIB@
DVBINPUT_LIB = @DVBINPUT_LIB@
DVBINPUT_CCFLAGS = @DVBINPUT_CCFLAGS@
DVBINPUT_DCFLAGS = @DVBINPUT_DCFLAGS@
DVBINPUT_LCFLAGS = @DVBINPUT_LCFLAGS@
BUILTINS_LIB = $(patsubst %,$$%_LIB,$(shell echo ${BUILTINS} | tr '[a-z]' '[A-Z]'))
VLS_LIB += $(BUILTINS_LIB)
......
This diff is collapsed.
......@@ -5,7 +5,7 @@ AC_CONFIG_HEADER(src/core/defs.h)
AC_CANONICAL_SYSTEM
VLS_VERSION=0.5.0
VLS_VERSION=0.4.5
AC_SUBST(VLS_VERSION)
dnl Main sources default
......@@ -245,10 +245,10 @@ BUILTINS="${BUILTINS} filechannel netchannel filereader ts2ts ps2ts localinput v
dnl
dnl Debugging mode
dnl
DEBUG=1
DEBUG=0
AC_ARG_ENABLE(debug,
AC_HELP_STRING(--disable-debug, Disable debug mode (default enabled)),
[ if test x$enableval = xno; then DEBUG=0; fi ])
AC_HELP_STRING(--enable-debug, Enable debug mode (default disabled)),
[ if test x$enableval = xno; then DEBUG=0; else DEBUG=1; fi ])
dnl
dnl Profiling mode
......@@ -341,8 +341,10 @@ then
save_CPPFLAGS=$CPPFLAGS
CPPFLAGS="$save_CPPFLAGS $test_CFLAGS"
AC_CHECK_HEADERS([linux/dvb/frontend.h],
[CCFLAGS="${CCFLAGS} ${test_CFLAGS}" DCFLAGS="${DCFLAGS} ${test_CFLAGS}"],
[DVBINPUT_CCFLAGS="${DVBINPUT_CCFLAGS} ${test_CFLAGS}"
DVBINPUT_DCFLAGS="${DVBINPUT_DCFLAGS} ${test_CFLAGS}"],
[AC_MSG_ERROR([Could not find dvbdriver on your system: you may get it from http://www.linuxtv.org/])])
CPPFLAGS="$save_CPPFLAGS"
dnl Test for the libdvb library (depends on driver header)
AC_MSG_CHECKING(for libdvb headers in ${with_dvb}/libdvb)
......@@ -351,9 +353,9 @@ then
test_CFLAGS="-I${with_dvb}/libdvb"
fi
save_CPPFLAGS=$CPPFLAGS
CPPFLAGS="$save_CPPFLAGS $test_CFLAGS"
CPPFLAGS="$save_CPPFLAGS $test_CFLAGS $DVBINPUT_CCFLAGS"
AC_CHECK_HEADERS([DVB.hh],[
CCFLAGS="${CCFLAGS} ${test_CFLAGS}"
DVBINPUT_CCFLAGS="${DVBINPUT_CCFLAGS} ${test_CFLAGS}"
],[
AC_MSG_ERROR([Could not find libdvb headers on your system: you may get it from http://www.linuxtv.org/])
])
......@@ -362,9 +364,9 @@ then
dnl Test for the lib existence
if test -f "${with_dvb}/libdvb/libdvb.a"
then
VLS_LIB="${VLS_LIB} -ldvb"
DCFLAGS="${DCFLAGS} -I${with_dvb}/libdvb"
LCFLAGS="${LCFLAGS} -L${with_dvb}/libdvb"
DVBINPUT_LIB="${DVBINPUT_LIB} -ldvb"
DVBINPUT_DCFLAGS="${DVBINPUT_DCFLAGS} -I${with_dvb}/libdvb"
DVBINPUT_LCFLAGS="${DVBINPUT_LCFLAGS} -L${with_dvb}/libdvb"
PLUGINS="${PLUGINS} dvbinput dvbreader"
else
AC_MSG_ERROR([cannot find ${with_dvb}/libdvb/libdvb.a, make sure you compiled libdvbpsi in ${with_dvb}/libdvb])
......@@ -467,6 +469,9 @@ AC_SUBST(MODULE_LCFLAGS)
AC_SUBST(DVDREADER_LIB)
AC_SUBST(DVBINPUT_LIB)
AC_SUBST(DVBINPUT_CCFLAGS)
AC_SUBST(DVBINPUT_DCFLAGS)
AC_SUBST(DVBINPUT_LCFLAGS)
AC_SUBST(VLS_LCFLAGS)
AC_SUBST(VLS_LIB)
......
......@@ -8,7 +8,7 @@
url="mailto:asmax@via.ecp.fr" name="&lt;asmax@via.ecp.fr&gt;">
<date>
$Id: vls-guide.sgml,v 1.24 2002/12/02 22:35:47 zorglub Exp $
$Id: vls-guide.sgml,v 1.25 2002/12/08 15:55:29 nitrox Exp $
</date>
<abstract>
This document describes how to install, configure, and run the VideoLAN Server
......@@ -603,16 +603,19 @@ To configure a dvb input, add a section in the following format:
<verb>
BEGIN "DvbInputName"
DeviceNumber = "devicenumber"
SendMethod = 0
END
</verb>
<tscreen>
"DvbInputName" is the name of the dvb input you want to configure.
Set "SendMethod" to 0 if you to stream the complete DVB stream and set
it to 1 if you only want to stream the MPEG audio and video streams
(default is 0).
"devicenumber" is the number of the DVB device you want to read from
(read from /dev/ost/dvr&lt;devicenumber&gt;, default is "").
The dvb configuration file is defined by the driver. You can find it in
$HOME/.dvbrc for /dev/dvb/adapter0 or in $HOME/.dvbrc.x for
/dev/dvb/adapterx.
</tscreen>
</tscreen>
......
......@@ -2,7 +2,7 @@
* application.cpp: Application class
*-------------------------------------------------------------------------------
* (c)1999-2001 VideoLAN
* $Id: application.cpp,v 1.16 2002/12/03 23:32:17 nitrox Exp $
* $Id: application.cpp,v 1.17 2002/12/08 15:55:29 nitrox Exp $
*
* Authors: Benoit Steiner <benny@via.ecp.fr>
*
......@@ -27,7 +27,7 @@
*******************************************************************************/
#define COPYRIGHT \
"VideoLAN Server - version 0.4.0 - (c)1996-2002 VideoLAN\n"
"VideoLAN Server - version 0.4.5 - (c)1996-2002 VideoLAN\n"
#define VERSION \
COPYRIGHT \
......
......@@ -2,7 +2,7 @@
* parsers.cpp: Command line and configuration files parsers
*-------------------------------------------------------------------------------
* (c)1999-2001 VideoLAN
* $Id: parsers.cpp,v 1.9 2002/11/30 16:00:24 nitrox Exp $
* $Id: parsers.cpp,v 1.10 2002/12/08 15:55:29 nitrox Exp $
*
* Authors: Benoit Steiner <benny@via.ecp.fr>
* Arnaud de Bossoreille de Ribou <bozo@via.ecp.fr>
......@@ -390,6 +390,7 @@ void C_CfgFileParser::AddCmdLineTarget(C_String sTarget, C_String sTags)
{
m_pCallBack->OnStartSection("input1");
m_pCallBack->OnProperty("DeviceNumber", sOptions.ToInt());
m_pCallBack->OnProperty("SendMethod", 0);
sProgramLaunch = sFile;
sProgramLaunch.Replace(' ', '_');
m_pCallBack->OnEndSection("input1");
......
......@@ -2,7 +2,7 @@
# "dvb" input Makefile
#-------------------------------------------------------------------------------
# (c)1999-2002 VideoLAN
# $Id: Makefile,v 1.2 2002/11/11 09:51:01 nitrox Exp $
# $Id: Makefile,v 1.3 2002/12/08 15:55:29 nitrox Exp $
################################################################################
......@@ -31,6 +31,12 @@ MODULE_SRC=dvbinput.cpp \
MODULE_LIB+=$(DVBINPUT_LIB)
MODULE_DCFLAGS+=$(DVBINPUT_DCFLAGS)
MODULE_LCFLAGS+=$(DVBINPUT_LCFLAGS)
MODULE_CCFLAGS+=$(DVBINPUT_CCFLAGS)
################################################################################
# Makefile skeleton
################################################################################
......
......@@ -2,7 +2,7 @@
* dvbinput.cpp: DVB streams
*-------------------------------------------------------------------------------
* (c)1999-2002 VideoLAN
* $Id: dvbinput.cpp,v 1.20 2002/12/03 23:32:17 nitrox Exp $
* $Id: dvbinput.cpp,v 1.21 2002/12/08 15:55:29 nitrox Exp $
*
* Authors: Arnaud de Bossoreille de Ribou <bozo@via.ecp.fr>
* Damien Lucas <nitrox@videolan.org>
......@@ -114,6 +114,8 @@ C_DvbInput::C_DvbInput(C_Module* pModule,
m_cCurrentPat(0, 0, true)
{
dvb = new DVB;
m_iGotPat = 0; // Did not get the first PAT yet
m_iGotTpid = 0; // Did not set the transponder yet
m_pConverter = NULL;
for(int i =0; i < 512; i++)
m_iDemuxes[i] = -1;
......@@ -292,9 +294,6 @@ void C_DvbInput::OnSelectPid(u16 iPid, u8 iType)
// Thx to Marian Durkovic
// but we may want to have private datas like subtitles
//KLUDGE
m_iSendMethod =0;
if((m_iSendMethod == 0) || (iType < TS_TYPE_MPEG2_PRIVATE))
{
......@@ -328,7 +327,6 @@ void C_DvbInput::OnSelectPid(u16 iPid, u8 iType)
break;
case TS_TYPE_MPEG1_AUDIO:
case TS_TYPE_MPEG2_AUDIO:
printf("audio\n");
pesFilterParams.pes_type = DMX_PES_AUDIO;
break;
default:
......@@ -451,22 +449,18 @@ void C_DvbInput::OnDvbPsiPatEvent(int iEvent)
p_program = p_program->p_next;
}
printf("Right 1?\n");
m_cLock.Lock();
m_cCurrentPat = *m_pCurrentPat;
m_cLock.UnLock();
printf("Right 2?\n");
// Kludge: signal the first PAT arrival.
m_cEndInit.Protect();
printf("Right 3?\n");
m_iGotPat = 1;
m_cEndInit.Signal();
m_cEndInit.Release();
}
}
//------------------------------------------------------------------------------
// Start the reception of the given program
//------------------------------------------------------------------------------
......@@ -477,18 +471,31 @@ void C_DvbInput::OnStartStreaming(C_Broadcast* pBroadcast)
int iIndex=m_vProgramNames.Find(pBroadcast->GetProgram()->GetName());
LogDbg(m_hLog, "DVB Channel found: "+dvb->chans[iIndex].name);
// Check that if we have already got one broadcast going that this
// new one is on the same mux (transponder)
if(m_iGotPat && m_iGotTpid != dvb->chans[iIndex].tpid)
{
LogDbg(m_hLog, "Attempting to start reception from different transponder." \
"Existing transponder is " + m_iGotTpid + " asked transponder is " +
dvb->chans[iIndex].tpid);
return;
}
if (!m_iGotPat)
{
// Set the frontend up
dvb->SetTP(dvb->chans[iIndex].tpid, dvb->chans[iIndex].satid);
dvb->set_front();
// Set the frontend up
dvb->SetTP(dvb->chans[iIndex].tpid, dvb->chans[iIndex].satid);
dvb->set_front();
// Put a filter on PAT
SelectPid(&m_cPatDecoder, 0x0000, TS_TYPE_NULL);
// Put a filter on PAT
SelectPid(&m_cPatDecoder, 0x0000, TS_TYPE_NULL);
// Wait for the first PAT
m_cEndInit.Wait();
m_cEndInit.Release();
// Wait for the first PAT
m_cEndInit.Wait();
m_cEndInit.Release();
m_iGotTpid = dvb->chans[iIndex].tpid; // Remember the transponder
}
// Get the program
dvbpsi_pat_program_t *pProgram =
m_cCurrentPat.GetProgram(dvb->chans[iIndex].pnr);
......
......@@ -2,7 +2,7 @@
* dvbinput.h: DVB Input class definition
*-------------------------------------------------------------------------------
* (c)1999-2002 VideoLAN
* $Id: dvbinput.h,v 1.11 2002/11/19 14:08:07 nitrox Exp $
* $Id: dvbinput.h,v 1.12 2002/12/08 15:55:29 nitrox Exp $
*
* Authors: Arnaud de Bossoreille de Ribou <bozo@via.ecp.fr>
*
......@@ -87,6 +87,8 @@ private:
int m_iSendMethod;
// Kludge: signal the first PAT arrival.
int m_iGotPat;
int m_iGotTpid;
C_Condition m_cEndInit;
// Demuxes' file descriptors
......
......@@ -2,7 +2,7 @@
* vls.cpp: vls main file
*-------------------------------------------------------------------------------
* (c)1999-2001 VideoLAN
* $Id: vls.cpp,v 1.10 2002/11/05 02:10:53 nitrox Exp $
* $Id: vls.cpp,v 1.11 2002/12/08 15:55:29 nitrox Exp $
*
* Authors: Benoit Steiner <benny@via.ecp.fr>
*
......@@ -89,7 +89,7 @@ C_Vls::~C_Vls()
int C_Vls::OnAppInit()
{
// Startup message
Log(m_hLog, LOG_NOTE, PGRM_INFO);
fprintf(stderr, PGRM_INFO);
// Check environnement
int iRc = CheckEnvir();
......
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