Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-gpu
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-gpu
Commits
1738a320
Commit
1738a320
authored
Sep 08, 2004
by
Gildas Bazin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* src/video_output/*: fixed race condition in spu initialization which affected DVD menus.
parent
8a8bb058
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
11 additions
and
11 deletions
+11
-11
include/video_output.h
include/video_output.h
+1
-1
src/video_output/video_output.c
src/video_output/video_output.c
+6
-5
src/video_output/vout_subpictures.c
src/video_output/vout_subpictures.c
+4
-5
No files found.
include/video_output.h
View file @
1738a320
...
...
@@ -278,7 +278,7 @@ VLC_EXPORT( void, __spu_DestroyRegion, ( vlc_object_t *, subpicture_region_t * )
void
vout_InitSPU
(
vout_thread_t
*
);
void
vout_DestroySPU
(
vout_thread_t
*
);
void
vout_AttachSPU
(
vout_thread_t
*
,
vlc_bool_t
);
void
vout_AttachSPU
(
vout_thread_t
*
,
vlc_
object_t
*
,
vlc_
bool_t
);
subpicture_t
*
vout_SortSubPictures
(
vout_thread_t
*
,
mtime_t
);
void
vout_RenderSubPictures
(
vout_thread_t
*
,
picture_t
*
,
picture_t
*
,
subpicture_t
*
);
...
...
src/video_output/video_output.c
View file @
1738a320
...
...
@@ -99,7 +99,7 @@ vout_thread_t * __vout_Request ( vlc_object_t *p_this, vout_thread_t *p_vout,
if
(
p_playlist
)
{
vout_AttachSPU
(
p_vout
,
VLC_FALSE
);
vout_AttachSPU
(
p_vout
,
p_this
,
VLC_FALSE
);
vlc_object_detach
(
p_vout
);
vlc_object_attach
(
p_vout
,
p_playlist
);
...
...
@@ -194,8 +194,8 @@ vout_thread_t * __vout_Request ( vlc_object_t *p_this, vout_thread_t *p_vout,
{
/* This video output is cool! Hijack it. */
vlc_object_detach
(
p_vout
);
vout_AttachSPU
(
p_vout
,
p_this
,
VLC_TRUE
);
vlc_object_attach
(
p_vout
,
p_this
);
vout_AttachSPU
(
p_vout
,
VLC_TRUE
);
vlc_object_release
(
p_vout
);
}
}
...
...
@@ -304,6 +304,10 @@ vout_thread_t * __vout_Create( vlc_object_t *p_parent,
var_Create
(
p_vout
,
"mouse-moved"
,
VLC_VAR_BOOL
);
var_Create
(
p_vout
,
"mouse-clicked"
,
VLC_VAR_INTEGER
);
/* Initialize subpicture unit */
vout_InitSPU
(
p_vout
);
vout_AttachSPU
(
p_vout
,
p_parent
,
VLC_TRUE
);
/* Attach the new object now so we can use var inheritance below */
vlc_object_attach
(
p_vout
,
p_parent
);
...
...
@@ -408,9 +412,6 @@ vout_thread_t * __vout_Create( vlc_object_t *p_parent,
return
NULL
;
}
/* Initialize subpicture unit */
vout_InitSPU
(
p_vout
);
/* Create a few object variables for interface interaction */
var_Create
(
p_vout
,
"deinterlace"
,
VLC_VAR_STRING
|
VLC_VAR_HASCHOICE
);
text
.
psz_string
=
_
(
"Deinterlace"
);
...
...
src/video_output/vout_subpictures.c
View file @
1738a320
...
...
@@ -67,8 +67,6 @@ void vout_InitSPU( vout_thread_t *p_vout )
p_vout
->
i_crop_width
=
p_vout
->
i_crop_height
=
0
;
p_vout
->
b_force_alpha
=
VLC_FALSE
;
p_vout
->
b_force_crop
=
VLC_FALSE
;
vout_AttachSPU
(
p_vout
,
VLC_TRUE
);
}
/**
...
...
@@ -108,7 +106,7 @@ void vout_DestroySPU( vout_thread_t *p_vout )
vlc_object_destroy
(
p_vout
->
p_text
);
}
vout_AttachSPU
(
p_vout
,
VLC_FALSE
);
vout_AttachSPU
(
p_vout
,
VLC_
OBJECT
(
p_vout
),
VLC_
FALSE
);
}
/**
...
...
@@ -117,11 +115,12 @@ void vout_DestroySPU( vout_thread_t *p_vout )
* \param p_vout the vout in which to destroy the subpicture unit
* \param b_attach to select attach or detach
*/
void
vout_AttachSPU
(
vout_thread_t
*
p_vout
,
vlc_bool_t
b_attach
)
void
vout_AttachSPU
(
vout_thread_t
*
p_vout
,
vlc_object_t
*
p_this
,
vlc_bool_t
b_attach
)
{
vlc_object_t
*
p_input
;
p_input
=
vlc_object_find
(
p_
vout
,
VLC_OBJECT_INPUT
,
FIND_PARENT
);
p_input
=
vlc_object_find
(
p_
this
,
VLC_OBJECT_INPUT
,
FIND_PARENT
);
if
(
!
p_input
)
return
;
if
(
b_attach
)
...
...
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