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
066cd24e
Commit
066cd24e
authored
Jul 28, 2009
by
Laurent Aimar
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixed kate with tiger support integration.
parent
6d633f85
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
13 additions
and
29 deletions
+13
-29
modules/codec/kate.c
modules/codec/kate.c
+13
-29
No files found.
modules/codec/kate.c
View file @
066cd24e
...
...
@@ -88,6 +88,7 @@ struct decoder_sys_t
* Common properties
*/
mtime_t
i_pts
;
mtime_t
i_max_stop
;
/* decoder_sys_t is shared between decoder and spu units */
vlc_mutex_t
lock
;
...
...
@@ -98,7 +99,6 @@ struct decoder_sys_t
* Tiger properties
*/
tiger_renderer
*
p_tr
;
subpicture_t
*
p_spu_final
;
mtime_t
last_render_ts
;
bool
b_dirty
;
...
...
@@ -373,6 +373,7 @@ static int OpenDecoder( vlc_object_t *p_this )
#endif
p_sys
->
b_ready
=
false
;
p_sys
->
i_pts
=
0
;
p_sys
->
i_max_stop
=
VLC_TS_INVALID
;
kate_comment_init
(
&
p_sys
->
kc
);
kate_info_init
(
&
p_sys
->
ki
);
...
...
@@ -473,20 +474,18 @@ static subpicture_t *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
p_block
=
*
pp_block
;
if
(
p_block
->
i_flags
&
(
BLOCK_FLAG_CORRUPTED
)
)
{
block_Release
(
p_block
);
return
NULL
;
}
if
(
p_block
->
i_flags
&
(
BLOCK_FLAG_DISCONTINUITY
)
)
if
(
p_block
->
i_flags
&
(
BLOCK_FLAG_DISCONTINUITY
|
BLOCK_FLAG_CORRUPTED
)
)
{
#ifdef HAVE_TIGER
/* Hmm, should we wait before flushing the renderer ? I think not, but not certain... */
vlc_mutex_lock
(
&
p_sys
->
lock
);
tiger_renderer_seek
(
p_sys
->
p_tr
,
0
);
vlc_mutex_unlock
(
&
p_sys
->
lock
);
if
(
p_block
->
i_flags
&
BLOCK_FLAG_DISCONTINUITY
)
{
/* Hmm, should we wait before flushing the renderer ? I think not, but not certain... */
vlc_mutex_lock
(
&
p_sys
->
lock
);
tiger_renderer_seek
(
p_sys
->
p_tr
,
0
);
vlc_mutex_unlock
(
&
p_sys
->
lock
);
}
#endif
p_sys
->
i_max_stop
=
VLC_TS_INVALID
;
block_Release
(
p_block
);
return
NULL
;
}
...
...
@@ -826,16 +825,6 @@ static void SubpictureReleaseRegions( subpicture_t *p_subpic )
}
}
static
void
TigerPreRender
(
spu_t
*
p_spu
,
subpicture_t
*
p_subpic
,
const
video_format_t
*
p_fmt
)
{
decoder_sys_t
*
p_sys
=
p_subpic
->
p_sys
->
p_dec_sys
;
VLC_UNUSED
(
p_spu
);
VLC_UNUSED
(
p_fmt
);
p_sys
->
p_spu_final
=
p_subpic
;
}
/*
* We get premultiplied alpha, but VLC doesn't expect this, so we demultiply
* alpha to avoid double multiply (and thus thinner text than we should)).
...
...
@@ -914,12 +903,6 @@ static void TigerUpdateRegions( spu_t *p_spu, subpicture_t *p_subpic, const vide
/* remember what frame we've rendered already */
p_sys
->
last_render_ts
=
ts
;
if
(
p_subpic
!=
p_sys
->
p_spu_final
)
{
SubpictureReleaseRegions
(
p_subpic
);
return
;
}
/* time in seconds from the start of the stream */
t
=
(
p_subpic
->
p_sys
->
i_start
+
ts
-
p_subpic
->
i_start
)
/
1000000
.
0
f
;
...
...
@@ -1277,6 +1260,8 @@ static subpicture_t *DecodePacket( decoder_t *p_dec, kate_packet *p_kp, block_t
p_spu
->
p_sys
->
i_start
=
p_block
->
i_pts
;
DecSysHold
(
p_sys
);
p_spu
->
i_stop
=
__MAX
(
p_sys
->
i_max_stop
,
p_spu
->
i_stop
);
p_spu
->
b_ephemer
=
true
;
p_spu
->
b_absolute
=
true
;
/* add the event to tiger */
...
...
@@ -1285,7 +1270,6 @@ static subpicture_t *DecodePacket( decoder_t *p_dec, kate_packet *p_kp, block_t
vlc_mutex_unlock
(
&
p_sys
->
lock
);
/* hookup render/update routines */
p_spu
->
pf_pre_render
=
TigerPreRender
;
p_spu
->
pf_update_regions
=
TigerUpdateRegions
;
p_spu
->
pf_destroy
=
TigerDestroySubpicture
;
}
...
...
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