Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-2-2
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-2-2
Commits
46e872e4
Commit
46e872e4
authored
Nov 27, 2003
by
Laurent Aimar
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* all: implement more es_out_* control, audio-channel and spu-channel are
implemented.
parent
fc1221c1
Changes
8
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
338 additions
and
124 deletions
+338
-124
include/ninput.h
include/ninput.h
+25
-10
modules/demux/avi/avi.c
modules/demux/avi/avi.c
+3
-3
modules/demux/mkv.cpp
modules/demux/mkv.cpp
+2
-2
modules/demux/ogg.c
modules/demux/ogg.c
+2
-2
modules/demux/rawdv.c
modules/demux/rawdv.c
+3
-3
modules/demux/util/sub.c
modules/demux/util/sub.c
+2
-2
src/input/es_out.c
src/input/es_out.c
+294
-100
src/input/input.c
src/input/input.c
+7
-2
No files found.
include/ninput.h
View file @
46e872e4
...
...
@@ -2,7 +2,7 @@
* ninput.h
*****************************************************************************
* Copyright (C) 1999-2001 VideoLAN
* $Id: ninput.h,v 1.1
8 2003/11/21 00:38:01 gbazin
Exp $
* $Id: ninput.h,v 1.1
9 2003/11/27 04:11:40 fenrir
Exp $
*
* Authors: Laurent Aimar <fenrir@via.ecp.fr>
*
...
...
@@ -26,17 +26,36 @@
#include "vlc_es.h"
enum
es_out_mode_e
{
ES_OUT_MODE_NONE
,
/* don't select anything */
ES_OUT_MODE_ALL
,
/* eg for stream output */
ES_OUT_MODE_AUTO
/* best audio/video or for input follow audio-channel, spu-channel */
};
enum
es_out_query_e
{
ES_OUT_SET_SELECT
,
/* arg1= es_out_id_t* arg2=vlc_bool_t */
ES_OUT_GET_SELECT
/* arg1= es_out_id_t* arg2=vlc_bool_t* */
/* activate apply of mode */
ES_OUT_SET_ACTIVE
,
/* arg1= vlc_bool_t */
/* see if mode is currently aplied or not */
ES_OUT_GET_ACTIVE
,
/* arg1= vlc_bool_t* */
/* set/get mode */
ES_OUT_SET_MODE
,
/* arg1= int */
ES_OUT_GET_MODE
,
/* arg2= int* */
/* set es selected for the es category(audio/video/spu) */
ES_OUT_SET_ES
,
/* arg1= es_out_id_t* */
/* force selection/unselection of the ES (bypass current mode)*/
ES_OUT_SET_ES_STATE
,
/* arg1= es_out_id_t* arg2=vlc_bool_t */
ES_OUT_GET_ES_STATE
,
/* arg1= es_out_id_t* arg2=vlc_bool_t* */
};
struct
es_out_t
{
es_out_id_t
*
(
*
pf_add
)
(
es_out_t
*
,
es_format_t
*
);
int
(
*
pf_send
)
(
es_out_t
*
,
es_out_id_t
*
,
block_t
*
);
int
(
*
pf_send_pes
)(
es_out_t
*
,
es_out_id_t
*
,
pes_packet_t
*
);
void
(
*
pf_del
)
(
es_out_t
*
,
es_out_id_t
*
);
int
(
*
pf_control
)(
es_out_t
*
,
int
i_query
,
va_list
);
...
...
@@ -52,15 +71,11 @@ static inline void es_out_Del( es_out_t *out, es_out_id_t *id )
out
->
pf_del
(
out
,
id
);
}
static
inline
int
es_out_Send
(
es_out_t
*
out
,
es_out_id_t
*
id
,
block_t
*
p_block
)
block_t
*
p_block
)
{
return
out
->
pf_send
(
out
,
id
,
p_block
);
}
static
inline
int
es_out_SendPES
(
es_out_t
*
out
,
es_out_id_t
*
id
,
pes_packet_t
*
p_pes
)
{
return
out
->
pf_send_pes
(
out
,
id
,
p_pes
);
}
static
inline
int
es_out_vaControl
(
es_out_t
*
out
,
int
i_query
,
va_list
args
)
{
return
out
->
pf_control
(
out
,
i_query
,
args
);
...
...
modules/demux/avi/avi.c
View file @
46e872e4
...
...
@@ -2,7 +2,7 @@
* avi.c : AVI file Stream input module for vlc
*****************************************************************************
* Copyright (C) 2001 VideoLAN
* $Id: avi.c,v 1.7
7 2003/11/26 08:18:09 gbazin
Exp $
* $Id: avi.c,v 1.7
8 2003/11/27 04:11:40 fenrir
Exp $
* Authors: Laurent Aimar <fenrir@via.ecp.fr>
*
* This program is free software; you can redistribute it and/or modify
...
...
@@ -469,7 +469,7 @@ static int Demux_Seekable( input_thread_t *p_input )
avi_track_t
*
tk
=
p_sys
->
track
[
i_track
];
vlc_bool_t
b
;
es_out_Control
(
p_input
->
p_es_out
,
ES_OUT_GET_
SELECT
,
tk
->
p_es
,
&
b
);
es_out_Control
(
p_input
->
p_es_out
,
ES_OUT_GET_
ES_STATE
,
tk
->
p_es
,
&
b
);
if
(
b
&&
!
tk
->
b_activated
)
{
if
(
p_sys
->
b_seekable
)
...
...
@@ -794,7 +794,7 @@ static int Demux_UnSeekable( input_thread_t *p_input )
avi_track_t
*
tk
=
p_sys
->
track
[
i_stream
];
vlc_bool_t
b
;
es_out_Control
(
p_input
->
p_es_out
,
ES_OUT_GET_
SELECT
,
tk
->
p_es
,
&
b
);
es_out_Control
(
p_input
->
p_es_out
,
ES_OUT_GET_
ES_STATE
,
tk
->
p_es
,
&
b
);
if
(
b
&&
tk
->
i_cat
==
VIDEO_ES
)
{
...
...
modules/demux/mkv.cpp
View file @
46e872e4
...
...
@@ -2,7 +2,7 @@
* mkv.cpp : matroska demuxer
*****************************************************************************
* Copyright (C) 2001 VideoLAN
* $Id: mkv.cpp,v 1.4
4 2003/11/23 13:15:27 gbazin
Exp $
* $Id: mkv.cpp,v 1.4
5 2003/11/27 04:11:40 fenrir
Exp $
*
* Authors: Laurent Aimar <fenrir@via.ecp.fr>
*
...
...
@@ -1401,7 +1401,7 @@ static void BlockDecode( input_thread_t *p_input, KaxBlock *block, mtime_t i_pts
return
;
}
es_out_Control
(
p_input
->
p_es_out
,
ES_OUT_GET_
SELECT
,
tk
.
p_es
,
&
b
);
es_out_Control
(
p_input
->
p_es_out
,
ES_OUT_GET_
ES_STATE
,
tk
.
p_es
,
&
b
);
if
(
!
b
)
{
tk
.
b_inited
=
VLC_FALSE
;
...
...
modules/demux/ogg.c
View file @
46e872e4
...
...
@@ -2,7 +2,7 @@
* ogg.c : ogg stream input module for vlc
*****************************************************************************
* Copyright (C) 2001-2003 VideoLAN
* $Id: ogg.c,v 1.4
7 2003/11/26 08:18:09 gbazin
Exp $
* $Id: ogg.c,v 1.4
8 2003/11/27 04:11:40 fenrir
Exp $
*
* Authors: Gildas Bazin <gbazin@netcourrier.com>
*
...
...
@@ -359,7 +359,7 @@ static void Ogg_DecodePacket( input_thread_t *p_input,
}
/* Check the ES is selected */
es_out_Control
(
p_input
->
p_es_out
,
ES_OUT_GET_
SELECT
,
es_out_Control
(
p_input
->
p_es_out
,
ES_OUT_GET_
ES_STATE
,
p_stream
->
p_es
,
&
b_selected
);
if
(
b_selected
&&
!
p_stream
->
b_activated
)
...
...
modules/demux/rawdv.c
View file @
46e872e4
...
...
@@ -2,7 +2,7 @@
* rawdv.c : raw dv input module for vlc
*****************************************************************************
* Copyright (C) 2001 VideoLAN
* $Id: rawdv.c,v 1.1
2 2003/11/24 19:19:02
fenrir Exp $
* $Id: rawdv.c,v 1.1
3 2003/11/27 04:11:40
fenrir Exp $
*
* Authors: Gildas Bazin <gbazin@netcourrier.com>
*
...
...
@@ -297,9 +297,9 @@ static int Demux( input_thread_t * p_input )
return
0
;
}
es_out_Control
(
p_input
->
p_es_out
,
ES_OUT_GET_
SELECT
,
es_out_Control
(
p_input
->
p_es_out
,
ES_OUT_GET_
ES_STATE
,
p_sys
->
p_es_audio
,
&
b_audio
);
es_out_Control
(
p_input
->
p_es_out
,
ES_OUT_GET_
SELECT
,
es_out_Control
(
p_input
->
p_es_out
,
ES_OUT_GET_
ES_STATE
,
p_sys
->
p_es_video
,
&
b_video
);
p_block
->
i_dts
=
...
...
modules/demux/util/sub.c
View file @
46e872e4
...
...
@@ -2,7 +2,7 @@
* sub.c
*****************************************************************************
* Copyright (C) 1999-2003 VideoLAN
* $Id: sub.c,v 1.3
8 2003/11/21 00:38:01 gbazin
Exp $
* $Id: sub.c,v 1.3
9 2003/11/27 04:11:40 fenrir
Exp $
*
* Authors: Laurent Aimar <fenrir@via.ecp.fr>
*
...
...
@@ -502,7 +502,7 @@ static int sub_demux( subtitle_demux_t *p_sub, mtime_t i_maxdate )
input_thread_t
*
p_input
=
p_sub
->
p_input
;
vlc_bool_t
b
;
es_out_Control
(
p_input
->
p_es_out
,
ES_OUT_GET_
SELECT
,
p_sub
->
p_es
,
&
b
);
es_out_Control
(
p_input
->
p_es_out
,
ES_OUT_GET_
ES_STATE
,
p_sub
->
p_es
,
&
b
);
if
(
b
&&
!
p_sub
->
i_previously_selected
)
{
p_sub
->
i_previously_selected
=
1
;
...
...
src/input/es_out.c
View file @
46e872e4
This diff is collapsed.
Click to expand it.
src/input/input.c
View file @
46e872e4
...
...
@@ -4,7 +4,7 @@
* decoders.
*****************************************************************************
* Copyright (C) 1998-2002 VideoLAN
* $Id: input.c,v 1.26
4 2003/11/26 18:48:24 gbazin
Exp $
* $Id: input.c,v 1.26
5 2003/11/27 04:11:40 fenrir
Exp $
*
* Authors: Christophe Massiot <massiot@via.ecp.fr>
*
...
...
@@ -622,6 +622,8 @@ static int InitThread( input_thread_t * p_input )
}
p_input
->
p_es_out
=
input_EsOutNew
(
p_input
);
es_out_Control
(
p_input
->
p_es_out
,
ES_OUT_SET_ACTIVE
,
VLC_FALSE
);
es_out_Control
(
p_input
->
p_es_out
,
ES_OUT_SET_MODE
,
ES_OUT_MODE_NONE
);
/* Find and open appropriate access module */
p_input
->
p_access
=
module_Need
(
p_input
,
"access"
,
...
...
@@ -744,7 +746,7 @@ static int InitThread( input_thread_t * p_input )
if
(
(
p_sub
=
subtitle_New
(
p_input
,
strdup
(
val
.
psz_string
),
i_microsecondperframe
,
0
)
)
)
{
/* Select this ES by default */
es_out_Control
(
p_input
->
p_es_out
,
ES_OUT_SET_
SELECT
,
p_sub
->
p_es
,
VLC_TRUE
);
es_out_Control
(
p_input
->
p_es_out
,
ES_OUT_SET_
ES_STATE
,
p_sub
->
p_es
,
VLC_TRUE
);
TAB_APPEND
(
p_input
->
p_sys
->
i_sub
,
p_input
->
p_sys
->
sub
,
p_sub
);
}
...
...
@@ -767,6 +769,9 @@ static int InitThread( input_thread_t * p_input )
free
(
tmp
);
}
es_out_Control
(
p_input
->
p_es_out
,
ES_OUT_SET_ACTIVE
,
VLC_TRUE
);
es_out_Control
(
p_input
->
p_es_out
,
ES_OUT_SET_MODE
,
ES_OUT_MODE_AUTO
);
return
VLC_SUCCESS
;
}
...
...
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