Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc
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
Commits
6e8939e4
Commit
6e8939e4
authored
May 10, 2010
by
Laurent Aimar
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Made SPU commands go through vout.
parent
a3988310
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
35 additions
and
16 deletions
+35
-16
include/vlc_vout.h
include/vlc_vout.h
+5
-0
modules/control/hotkeys.c
modules/control/hotkeys.c
+3
-4
modules/misc/lua/libs/osd.c
modules/misc/lua/libs/osd.c
+2
-2
src/input/decoder.c
src/input/decoder.c
+4
-5
src/input/resource.c
src/input/resource.c
+1
-1
src/libvlccore.sym
src/libvlccore.sym
+3
-0
src/video_output/video_epg.c
src/video_output/video_epg.c
+1
-1
src/video_output/video_output.c
src/video_output/video_output.c
+13
-0
src/video_output/video_text.c
src/video_output/video_text.c
+1
-1
src/video_output/video_widgets.c
src/video_output/video_widgets.c
+1
-1
src/video_output/vout_intf.c
src/video_output/vout_intf.c
+1
-1
No files found.
include/vlc_vout.h
View file @
6e8939e4
...
...
@@ -163,6 +163,11 @@ VLC_EXPORT( void, vout_PutPicture, ( vout_thread_t *, picture_t *
VLC_EXPORT
(
void
,
vout_HoldPicture
,
(
vout_thread_t
*
,
picture_t
*
)
);
VLC_EXPORT
(
void
,
vout_ReleasePicture
,
(
vout_thread_t
*
,
picture_t
*
)
);
/* */
VLC_EXPORT
(
void
,
vout_PutSubpicture
,
(
vout_thread_t
*
,
subpicture_t
*
)
);
VLC_EXPORT
(
int
,
vout_RegisterSubpictureChannel
,
(
vout_thread_t
*
)
);
VLC_EXPORT
(
void
,
vout_FlushSubpictureChannel
,
(
vout_thread_t
*
,
int
)
);
/**
* Return the spu_t object associated to a vout_thread_t.
*
...
...
modules/control/hotkeys.c
View file @
6e8939e4
...
...
@@ -170,7 +170,7 @@ static int PutAction( intf_thread_t *p_intf, int i_action )
* Alternatively, we should keep a reference to the vout thread. */
if
(
p_vout
&&
p_vout
!=
p_sys
->
p_last_vout
)
for
(
unsigned
i
=
0
;
i
<
CHANNELS_NUMBER
;
i
++
)
p_intf
->
p_sys
->
p_channels
[
i
]
=
spu_RegisterChannel
(
vout_GetSpu
(
p_vout
)
);
p_intf
->
p_sys
->
p_channels
[
i
]
=
vout_RegisterSubpictureChannel
(
p_vout
);
p_sys
->
p_last_vout
=
p_vout
;
/* Quit */
...
...
@@ -1073,9 +1073,8 @@ static void ClearChannels( intf_thread_t *p_intf, vout_thread_t *p_vout )
{
if
(
p_vout
)
{
spu_t
*
p_spu
=
vout_GetSpu
(
p_vout
);
spu_ClearChannel
(
p_spu
,
SPU_DEFAULT_CHANNEL
);
vout_FlushSubpictureChannel
(
p_vout
,
SPU_DEFAULT_CHANNEL
);
for
(
int
i
=
0
;
i
<
CHANNELS_NUMBER
;
i
++
)
spu_ClearChannel
(
p_spu
,
p_intf
->
p_sys
->
p_channels
[
i
]
);
vout_FlushSubpictureChannel
(
p_vout
,
p_intf
->
p_sys
->
p_channels
[
i
]
);
}
}
modules/misc/lua/libs/osd.c
View file @
6e8939e4
...
...
@@ -152,7 +152,7 @@ static int vlclua_spu_channel_register( lua_State *L )
if
(
!
p_vout
)
return
luaL_error
(
L
,
"Unable to find vout."
);
i_chan
=
spu_RegisterChannel
(
vout_GetSpu
(
p_vout
)
);
i_chan
=
vout_RegisterSubpictureChannel
(
p_vout
);
vlc_object_release
(
p_vout
);
lua_pushinteger
(
L
,
i_chan
);
return
1
;
...
...
@@ -167,7 +167,7 @@ static int vlclua_spu_channel_clear( lua_State *L )
if
(
!
p_vout
)
return
luaL_error
(
L
,
"Unable to find vout."
);
spu_ClearChannel
(
vout_GetSpu
(
p_vout
)
,
i_chan
);
vout_ClearSubpitureChannel
(
p_vout
,
i_chan
);
vlc_object_release
(
p_vout
);
return
0
;
}
...
...
src/input/decoder.c
View file @
6e8939e4
...
...
@@ -1593,7 +1593,7 @@ static void DecoderPlaySpu( decoder_t *p_dec, subpicture_t *p_subpic,
p_subpic
->
i_start
-
SPU_MAX_PREPARE_TIME
);
if
(
!
b_reject
)
spu_DisplaySubpicture
(
vout_GetSpu
(
p_vout
)
,
p_subpic
);
vout_PutSubpicture
(
p_vout
,
p_subpic
);
else
subpicture_Delete
(
p_subpic
);
...
...
@@ -1935,8 +1935,7 @@ static void DecoderProcessSpu( decoder_t *p_dec, block_t *p_block, bool b_flush
p_vout
=
input_resource_HoldVout
(
p_input
->
p
->
p_resource
);
if
(
p_vout
&&
p_owner
->
p_spu_vout
==
p_vout
)
spu_ClearChannel
(
vout_GetSpu
(
p_vout
),
p_owner
->
i_spu_channel
);
vout_FlushSubpictureChannel
(
p_vout
,
p_owner
->
i_spu_channel
);
if
(
p_vout
)
vlc_object_release
(
p_vout
);
...
...
@@ -2098,7 +2097,7 @@ static void DeleteDecoder( decoder_t * p_dec )
if
(
p_vout
)
{
if
(
p_owner
->
p_spu_vout
==
p_vout
)
spu_ClearChannel
(
vout_GetSpu
(
p_vout
)
,
p_owner
->
i_spu_channel
);
vout_FlushSubpictureChannel
(
p_vout
,
p_owner
->
i_spu_channel
);
vlc_object_release
(
p_vout
);
}
}
...
...
@@ -2427,7 +2426,7 @@ static subpicture_t *spu_new_buffer( decoder_t *p_dec,
vlc_mutex_unlock
(
&
p_owner
->
lock
);
p_owner
->
i_spu_channel
=
spu_RegisterChannel
(
vout_GetSpu
(
p_vout
)
);
p_owner
->
i_spu_channel
=
vout_RegisterSubpictureChannel
(
p_vout
);
p_owner
->
i_spu_order
=
0
;
p_owner
->
p_spu_vout
=
p_vout
;
}
...
...
src/input/resource.c
View file @
6e8939e4
...
...
@@ -273,7 +273,7 @@ static vout_thread_t *RequestVout( input_resource_t *p_resource,
{
msg_Dbg
(
p_resource
->
p_input
,
"saving a free vout"
);
vout_Flush
(
p_vout
,
1
);
spu_ClearChannel
(
vout_GetSpu
(
p_vout
)
,
-
1
);
vout_FlushSubpictureChannel
(
p_vout
,
-
1
);
p_resource
->
p_vout_free
=
p_vout
;
}
...
...
src/libvlccore.sym
View file @
6e8939e4
...
...
@@ -614,6 +614,9 @@ vout_GetPicture
vout_PutPicture
vout_HoldPicture
vout_ReleasePicture
vout_PutSubpicture
vout_RegisterSubpictureChannel
vout_FlushSubpictureChannel
vout_EnableFilter
vout_GetSnapshot
vout_GetSpu
...
...
src/video_output/video_epg.c
View file @
6e8939e4
...
...
@@ -315,7 +315,7 @@ int vout_OSDEpg( vout_thread_t *p_vout, input_item_t *p_input )
p_spu
->
b_absolute
=
true
;
p_spu
->
b_fade
=
true
;
spu_DisplaySubpicture
(
vout_GetSpu
(
p_vout
)
,
p_spu
);
vout_PutSubpicture
(
p_vout
,
p_spu
);
return
VLC_SUCCESS
;
}
src/video_output/video_output.c
View file @
6e8939e4
...
...
@@ -506,6 +506,19 @@ void vout_DisplayTitle(vout_thread_t *vout, const char *title)
vout_control_PushString
(
&
vout
->
p
->
control
,
VOUT_CONTROL_OSD_TITLE
,
title
);
}
void
vout_PutSubpicture
(
vout_thread_t
*
vout
,
subpicture_t
*
subpic
)
{
spu_DisplaySubpicture
(
vout
->
p
->
p_spu
,
subpic
);
}
int
vout_RegisterSubpictureChannel
(
vout_thread_t
*
vout
)
{
return
spu_RegisterChannel
(
vout
->
p
->
p_spu
);
}
void
vout_FlushSubpictureChannel
(
vout_thread_t
*
vout
,
int
channel
)
{
spu_ClearChannel
(
vout
->
p
->
p_spu
,
channel
);
}
spu_t
*
vout_GetSpu
(
vout_thread_t
*
p_vout
)
{
return
p_vout
->
p
->
p_spu
;
...
...
src/video_output/video_text.c
View file @
6e8939e4
...
...
@@ -118,7 +118,7 @@ void vout_OSDText(vout_thread_t *vout, int channel,
subpic
->
b_absolute
=
false
;
subpic
->
b_fade
=
true
;
spu_DisplaySubpicture
(
vout_GetSpu
(
vout
)
,
subpic
);
vout_PutSubpicture
(
vout
,
subpic
);
}
void
vout_OSDMessage
(
vout_thread_t
*
vout
,
int
channel
,
const
char
*
format
,
...)
...
...
src/video_output/video_widgets.c
View file @
6e8939e4
...
...
@@ -309,7 +309,7 @@ static void OSDWidget(vout_thread_t *vout, int channel, int type, int position)
subpic
->
b_absolute
=
true
;
subpic
->
b_fade
=
true
;
spu_DisplaySubpicture
(
vout_GetSpu
(
vout
)
,
subpic
);
vout_PutSubpicture
(
vout
,
subpic
);
}
void
vout_OSDSlider
(
vout_thread_t
*
vout
,
int
channel
,
int
position
,
short
type
)
...
...
src/video_output/vout_intf.c
View file @
6e8939e4
...
...
@@ -384,7 +384,7 @@ static int VoutSnapshotPip( vout_thread_t *p_vout, picture_t *p_pic )
p_subpic
->
i_original_picture_width
*=
4
;
p_subpic
->
i_original_picture_height
*=
4
;
spu_DisplaySubpicture
(
vout_GetSpu
(
p_vout
)
,
p_subpic
);
vout_PutSubpicture
(
p_vout
,
p_subpic
);
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