Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-1.1
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc-1.1
Commits
acbd88f2
Commit
acbd88f2
authored
Jun 14, 2000
by
Sam Hocevar
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
. input fichier en ligne de commande (le reste a du p�ter, c'est pas
possible autrement)
parent
fe175c11
Changes
12
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
298 additions
and
96 deletions
+298
-96
AUTHORS
AUTHORS
+2
-0
Makefile.in
Makefile.in
+3
-2
debian/vlc.1
debian/vlc.1
+21
-2
include/config.h.in
include/config.h.in
+4
-0
include/input.h
include/input.h
+3
-3
include/interface.h
include/interface.h
+4
-0
src/input/input.c
src/input/input.c
+3
-3
src/input/input_file.c
src/input/input_file.c
+178
-77
src/input/input_network.c
src/input/input_network.c
+3
-3
src/interface/interface.c
src/interface/interface.c
+5
-1
src/interface/intf_ctrl.c
src/interface/intf_ctrl.c
+5
-3
src/interface/main.c
src/interface/main.c
+67
-2
No files found.
AUTHORS
View file @
acbd88f2
...
...
@@ -20,3 +20,5 @@
Renaud Dartus <reno@via.ecp.fr>
Henri Fallon <henri@via.ecp.fr>
Contributors include Aaron Holtzman for his ac3dec decoder, and the
LiViD team for a few lines of code we borrowed here and there.
Makefile.in
View file @
acbd88f2
...
...
@@ -281,14 +281,15 @@ clean:
rm
-f
$(C_OBJ)
$(CPP_OBJ)
$(ASM_OBJ)
$(PLUGIN_OBJ)
distclean
:
clean
rm
-f
*
*
/
*
.o
*
*
/
*
.so
**
/
*
~
*
.log
rm
-f
*
/
*
/
*
.o plugins/
*
/
*
.so
**
/
*
~
*
.log
rm
-f
Makefile include/defs.h include/config.h
rm
-f
config.status config.cache config.log
rm
-f
vlc gmon.out core
rm
-f
vlc g
vlc g
mon.out core
rm
-rf
.dep
install
:
$(INSTALL)
vlc
$(prefix)
/bin
$(INSTALL)
gvlc
$(prefix)
/bin
mkdir
-p
$(prefix)
/lib/videolan/vlc
$(INSTALL)
$(PLUGIN_OBJ)
$(prefix)
/lib/videolan/vlc
$(INSTALL)
share/
*
.psf
$(prefix)
/share/videolan/vlc
...
...
debian/vlc.1
View file @
acbd88f2
...
...
@@ -19,8 +19,9 @@
vlc \- The VideoLAN Client
.SH SYNOPSIS
.B vlc
.RI [ options ]
.RI [ parameters ]
.RI [ OPTIONS ]
.RI [ PARAMETERS ]
.RI [ FILE ]...
.SH DESCRIPTION
This manual page documents briefly the
.B vlc
...
...
@@ -58,6 +59,19 @@ Grayscale output.
.B \-\-color
Color output.
.TP
.B \-a, \-\-dvdaudio [ ac3 | lpcm | mpeg | off ]
Choose the audio channel type. Most DVDs have AC3 audio channels, but
you can also have Linear PCM or MPEG layer 2 sound. Also, one might decide
not to activate the audio channel.
.TP
.B \-c, \-\-dvdchannel [ 0\-15 ]
Select the audio channel. Most DVDs only have one or two audio channels,
but some of them have a great number of available languages. Note that the
audio channel will also depend on the channel type.
.TP
.B \-s, \-\-dvdsubtitle [ 0\-31 ]
Select the subtitle channel, if there is one in the stream.
.TP
.B \-\-novlans
Disable VLANs support.
.TP
...
...
@@ -94,6 +108,11 @@ also accepts a lot of parameters to customize its behaviour.
vlc_fb_dev=<filename> framebuffer device path
vlc_grayscale={1|0} grayscale or color output
.TP
.B DVD parameters:
vlc_dvd_audio={ac3|lpcm|mpeg|off} audio type
vlc_dvd_channel=[0-15] audio channel
vlc_dvd_subtitle=[0-31] subtitle channel
.TP
.B Input parameters:
vlc_server=<hostname> video server
vlc_server_port=<port> video server port
...
...
include/config.h.in
View file @
acbd88f2
...
...
@@ -227,6 +227,10 @@
* mark it to be presented */
#define INPUT_PTS_DELAY (2*CLOCK_FREQ)
#define INPUT_DVD_AUDIO_VAR "vlc_dvd_audio"
#define INPUT_DVD_CHANNEL_VAR "vlc_dvd_channel"
#define INPUT_DVD_SUBTITLE_VAR "vlc_dvd_subtitle"
/*****************************************************************************
* Audio configuration
*****************************************************************************/
...
...
include/input.h
View file @
acbd88f2
...
...
@@ -328,8 +328,8 @@ typedef struct input_thread_s
/* Input method description */
int
i_method
;
/* input method */
int
i_handle
;
/* file/socket descriptor */
char
*
p
sz_source
;
/* source */
int
i_port
;
/* port number */
char
*
p
_source
;
/* source */
int
i_port
;
/* port number */
int
i_vlan
;
/* id for vlan method */
input_open_t
*
p_Open
;
/* opener of the method */
input_read_t
*
p_Read
;
/* reading function */
...
...
@@ -371,7 +371,7 @@ typedef struct input_thread_s
/*****************************************************************************
* Prototypes
*****************************************************************************/
input_thread_t
*
input_CreateThread
(
int
i_method
,
char
*
psz
_source
,
int
i_port
,
input_thread_t
*
input_CreateThread
(
int
i_method
,
void
*
p
_source
,
int
i_port
,
int
i_vlan
,
p_vout_thread_t
p_vout
,
p_aout_thread_t
p_aout
,
int
*
pi_status
);
void
input_DestroyThread
(
input_thread_t
*
p_input
,
int
*
pi_status
);
...
...
include/interface.h
View file @
acbd88f2
...
...
@@ -64,6 +64,10 @@ typedef struct intf_thread_s
/* XXX: Channels array - new API */
//p_intf_channel_t * p_channel[INTF_MAX_CHANNELS];/* channel descriptions */
/* file list - quick hack */
char
**
p_playlist
;
int
i_list_index
;
/* Channels array - NULL if not used */
p_intf_channel_t
p_channel
;
/* description of channels */
...
...
src/input/input.c
View file @
acbd88f2
...
...
@@ -108,7 +108,7 @@ static __inline__ void input_DemuxPSI( input_thread_t *p_input,
* If pi_status is NULL, then the function will block until the thread is ready.
* If not, it will be updated using one of the THREAD_* constants.
*****************************************************************************/
input_thread_t
*
input_CreateThread
(
int
i_method
,
char
*
psz
_source
,
int
i_port
,
int
i_vlan
,
input_thread_t
*
input_CreateThread
(
int
i_method
,
void
*
p
_source
,
int
i_port
,
int
i_vlan
,
p_vout_thread_t
p_vout
,
p_aout_thread_t
p_aout
,
int
*
pi_status
)
{
input_thread_t
*
p_input
;
/* thread descriptor */
...
...
@@ -132,7 +132,7 @@ input_thread_t *input_CreateThread ( int i_method, char *psz_source, int i_port,
/* Initialize input method description */
p_input
->
i_method
=
i_method
;
p_input
->
p
sz_source
=
psz
_source
;
p_input
->
p
_source
=
p
_source
;
p_input
->
i_port
=
i_port
;
p_input
->
i_vlan
=
i_vlan
;
switch
(
i_method
)
...
...
@@ -208,7 +208,7 @@ input_thread_t *input_CreateThread ( int i_method, char *psz_source, int i_port,
}
intf_DbgMsg
(
"configuration: method=%d, source=%s, port=%d, vlan=%d
\n
"
,
i_method
,
p
sz
_source
,
i_port
,
i_vlan
);
i_method
,
p_source
,
i_port
,
i_vlan
);
/* Let the appropriate method open the socket. */
if
(
p_input
->
p_Open
(
p_input
)
)
...
...
src/input/input_file.c
View file @
acbd88f2
This diff is collapsed.
Click to expand it.
src/input/input_network.c
View file @
acbd88f2
...
...
@@ -186,12 +186,12 @@ int input_NetworkOpen( input_thread_t *p_input )
*/
/* Use default host if not specified */
if
(
p_input
->
p
sz
_source
==
NULL
)
if
(
p_input
->
p_source
==
NULL
)
{
p_input
->
p
sz
_source
=
main_GetPszVariable
(
INPUT_SERVER_VAR
,
INPUT_SERVER_DEFAULT
);
p_input
->
p_source
=
main_GetPszVariable
(
INPUT_SERVER_VAR
,
INPUT_SERVER_DEFAULT
);
}
if
(
BuildInetAddr
(
&
sa_in
,
p_input
->
p
sz
_source
,
htons
(
0
)
)
==
(
-
1
)
)
if
(
BuildInetAddr
(
&
sa_in
,
p_input
->
p_source
,
htons
(
0
)
)
==
(
-
1
)
)
{
close
(
p_input
->
i_handle
);
return
(
-
1
);
...
...
src/interface/interface.c
View file @
acbd88f2
...
...
@@ -157,9 +157,13 @@ intf_thread_t* intf_Create( void )
*****************************************************************************/
void
intf_Run
(
intf_thread_t
*
p_intf
)
{
if
(
p_intf
->
p_playlist
)
{
p_intf
->
p_input
=
input_CreateThread
(
INPUT_METHOD_TS_FILE
,
(
void
*
)
p_intf
->
p_playlist
,
p_intf
->
i_list_index
,
0
,
p_main
->
p_intf
->
p_vout
,
p_main
->
p_aout
,
NULL
);
}
/* Execute the initialization script - if a positive number is returned,
* the script could be executed but failed */
if
(
intf_ExecScript
(
main_GetPszVariable
(
INTF_INIT_SCRIPT_VAR
,
INTF_INIT_SCRIPT_DEFAULT
)
)
>
0
)
else
if
(
intf_ExecScript
(
main_GetPszVariable
(
INTF_INIT_SCRIPT_VAR
,
INTF_INIT_SCRIPT_DEFAULT
)
)
>
0
)
{
intf_ErrMsg
(
"warning: error(s) during startup script
\n
"
);
}
...
...
src/interface/intf_ctrl.c
View file @
acbd88f2
...
...
@@ -459,10 +459,12 @@ static int SpawnInput( int i_argc, intf_arg_t *p_argv )
{
int
i_arg
;
int
i_method
=
0
;
/* method parameter */
char
*
p
sz_source
=
NULL
;
/* source parameter */
char
*
p
_source
=
NULL
;
/* source parameter */
int
i_port
=
0
;
/* port parameter */
int
i_vlan
=
0
;
/* vlan parameter */
fprintf
(
stderr
,
"spawn input
\n
"
);
/* Parse parameters - see command list above */
for
(
i_arg
=
1
;
i_arg
<
i_argc
;
i_arg
++
)
{
...
...
@@ -474,7 +476,7 @@ static int SpawnInput( int i_argc, intf_arg_t *p_argv )
case
1
:
/* filename, hostname, ip */
case
2
:
case
3
:
p
sz
_source
=
p_argv
[
i_arg
].
psz_str
;
p_source
=
p_argv
[
i_arg
].
psz_str
;
break
;
case
4
:
/* port */
i_port
=
p_argv
[
i_arg
].
i_num
;
...
...
@@ -491,7 +493,7 @@ static int SpawnInput( int i_argc, intf_arg_t *p_argv )
input_DestroyThread
(
p_main
->
p_intf
->
p_input
,
NULL
);
}
p_main
->
p_intf
->
p_input
=
input_CreateThread
(
i_method
,
p
sz
_source
,
i_port
,
i_vlan
,
p_main
->
p_intf
->
p_input
=
input_CreateThread
(
i_method
,
p_source
,
i_port
,
i_vlan
,
p_main
->
p_intf
->
p_vout
,
p_main
->
p_aout
,
NULL
);
return
(
INTF_NO_ERROR
);
...
...
src/interface/main.c
View file @
acbd88f2
...
...
@@ -41,6 +41,7 @@
#include "mtime.h"
#include "plugins.h"
#include "input_vlan.h"
#include "input_file.h"
#include "intf_msg.h"
#include "interface.h"
...
...
@@ -106,6 +107,11 @@ static const struct option longopts[] =
{
"grayscale"
,
0
,
0
,
'g'
},
{
"color"
,
0
,
0
,
OPT_COLOR
},
/* DVD options */
{
"dvdaudio"
,
1
,
0
,
'a'
},
{
"dvdchannel"
,
1
,
0
,
'c'
},
{
"dvdsubtitle"
,
1
,
0
,
's'
},
/* Input options */
{
"novlans"
,
0
,
0
,
OPT_NOVLANS
},
{
"server"
,
1
,
0
,
OPT_SERVER
},
...
...
@@ -115,7 +121,7 @@ static const struct option longopts[] =
};
/* Short options */
static
const
char
*
psz_shortopts
=
"hHvg"
;
static
const
char
*
psz_shortopts
=
"hHvg
a:s:c:
"
;
/*****************************************************************************
* Global variable program_data - this is the one and only, see main.h
...
...
@@ -149,6 +155,9 @@ static int TestMMX ( void );
int
main
(
int
i_argc
,
char
*
ppsz_argv
[],
char
*
ppsz_env
[]
)
{
main_t
main_data
;
/* root of all data - see main.h */
char
**
p_playlist
;
int
i_list_index
;
p_main
=
&
main_data
;
/* set up the global variable */
/*
...
...
@@ -180,6 +189,29 @@ int main( int i_argc, char *ppsz_argv[], char *ppsz_env[] )
intf_MsgDestroy
();
return
(
errno
);
}
/* get command line files */
i_list_index
=
0
;
if
(
optind
<
i_argc
)
{
int
i_index
=
0
;
p_playlist
=
malloc
(
(
i_list_index
=
i_argc
-
optind
)
*
sizeof
(
int
)
);
while
(
i_argc
-
i_index
>
optind
)
{
p_playlist
[
i_index
]
=
ppsz_argv
[
i_argc
-
i_index
-
1
];
i_index
++
;
}
}
else
{
p_playlist
=
malloc
(
sizeof
(
int
)
);
p_playlist
[
0
]
=
"-"
;
i_list_index
=
1
;
}
intf_MsgImm
(
COPYRIGHT_MESSAGE
"
\n
"
);
/* print welcome message */
/*
...
...
@@ -212,7 +244,11 @@ int main( int i_argc, char *ppsz_argv[], char *ppsz_env[] )
main_data
.
p_intf
=
intf_Create
();
if
(
main_data
.
p_intf
!=
NULL
)
{
main_data
.
p_intf
->
p_playlist
=
p_playlist
;
main_data
.
p_intf
->
i_list_index
=
i_list_index
;
InitSignalHandler
();
/* prepare signals for interception */
intf_Run
(
main_data
.
p_intf
);
intf_Destroy
(
main_data
.
p_intf
);
}
...
...
@@ -426,6 +462,24 @@ static int GetConfiguration( int i_argc, char *ppsz_argv[], char *ppsz_env[] )
main_PutIntVariable
(
VOUT_GRAYSCALE_VAR
,
0
);
break
;
/* DVD options */
case
'a'
:
if
(
!
strcmp
(
optarg
,
"mpeg"
)
)
main_PutIntVariable
(
INPUT_DVD_AUDIO_VAR
,
REQUESTED_MPEG
);
else
if
(
!
strcmp
(
optarg
,
"lpcm"
)
)
main_PutIntVariable
(
INPUT_DVD_AUDIO_VAR
,
REQUESTED_LPCM
);
else
if
(
!
strcmp
(
optarg
,
"off"
)
)
main_PutIntVariable
(
INPUT_DVD_AUDIO_VAR
,
REQUESTED_NOAUDIO
);
else
main_PutIntVariable
(
INPUT_DVD_AUDIO_VAR
,
REQUESTED_AC3
);
break
;
case
'c'
:
main_PutIntVariable
(
INPUT_DVD_CHANNEL_VAR
,
atoi
(
optarg
)
);
break
;
case
's'
:
main_PutIntVariable
(
INPUT_DVD_SUBTITLE_VAR
,
atoi
(
optarg
)
);
break
;
/* Input options */
case
OPT_NOVLANS
:
/* --novlans */
p_main
->
b_vlans
=
0
;
...
...
@@ -487,6 +541,10 @@ static void Usage( int i_fashion )
" -g, --grayscale
\t
grayscale output
\n
"
" --color
\t
color output
\n
"
"
\n
"
" -a, --dvdaudio
\t
choose DVD audio type
\n
"
" -c, --dvdchannel
\t
choose DVD audio channel
\n
"
" -s, --dvdsubtitle
\t
choose DVD subtitle channel
\n
"
"
\n
"
" --novlans
\t
disable vlans
\n
"
" --server <host>
\t
video server address
\n
"
" --port <port>
\t
video server port
\n
"
...
...
@@ -522,6 +580,13 @@ static void Usage( int i_fashion )
" "
VOUT_FB_DEV_VAR
"=<filename>
\t
framebuffer device path
\n
"
" "
VOUT_GRAYSCALE_VAR
"={1|0}
\t
grayscale or color output
\n
"
);
/* DVD parameters */
intf_Msg
(
"
\n
"
"DVD parameters:
\n
"
" "
INPUT_DVD_AUDIO_VAR
"={ac3|lpcm|mpeg|off}
\t
audio type
\n
"
" "
INPUT_DVD_CHANNEL_VAR
"=[0-15]
\t
audio channel
\n
"
" "
INPUT_DVD_SUBTITLE_VAR
"=[0-31]
\t
subtitle channel
\n
"
);
/* Input parameters */
intf_Msg
(
"
\n
"
"Input parameters:
\n
"
...
...
@@ -544,7 +609,7 @@ static void Version( void )
"You may redistribute it under the terms of the GNU General Public License;
\n
"
"see the file named COPYING for details.
\n
"
"Written by the VideoLAN team at Ecole Centrale, Paris.
\n
"
);
}
/*****************************************************************************
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment