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
481e0b5b
Commit
481e0b5b
authored
Oct 14, 2007
by
Laurent Aimar
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixed segfault with --minimize-threads
parent
a73c1e41
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
12 additions
and
9 deletions
+12
-9
src/input/decoder.c
src/input/decoder.c
+12
-9
No files found.
src/input/decoder.c
View file @
481e0b5b
...
@@ -341,7 +341,7 @@ static decoder_t * CreateDecoder( input_thread_t *p_input,
...
@@ -341,7 +341,7 @@ static decoder_t * CreateDecoder( input_thread_t *p_input,
p_dec
->
pf_decode_sub
=
0
;
p_dec
->
pf_decode_sub
=
0
;
p_dec
->
pf_packetize
=
0
;
p_dec
->
pf_packetize
=
0
;
/* Initialize the decoder fifo */
/* Initialize the decoder fifo */
p_dec
->
p_module
=
NULL
;
p_dec
->
p_module
=
NULL
;
memset
(
&
null_es_format
,
0
,
sizeof
(
es_format_t
)
);
memset
(
&
null_es_format
,
0
,
sizeof
(
es_format_t
)
);
...
@@ -679,7 +679,8 @@ static int DecoderDecode( decoder_t *p_dec, block_t *p_block )
...
@@ -679,7 +679,8 @@ static int DecoderDecode( decoder_t *p_dec, block_t *p_block )
}
}
else
if
(
p_dec
->
fmt_in
.
i_cat
==
AUDIO_ES
)
else
if
(
p_dec
->
fmt_in
.
i_cat
==
AUDIO_ES
)
{
{
DecoderUpdatePreroll
(
&
p_dec
->
p_owner
->
i_preroll_end
,
p_block
);
if
(
p_block
)
DecoderUpdatePreroll
(
&
p_dec
->
p_owner
->
i_preroll_end
,
p_block
);
if
(
p_dec
->
p_owner
->
p_packetizer
)
if
(
p_dec
->
p_owner
->
p_packetizer
)
{
{
...
@@ -687,7 +688,7 @@ static int DecoderDecode( decoder_t *p_dec, block_t *p_block )
...
@@ -687,7 +688,7 @@ static int DecoderDecode( decoder_t *p_dec, block_t *p_block )
decoder_t
*
p_packetizer
=
p_dec
->
p_owner
->
p_packetizer
;
decoder_t
*
p_packetizer
=
p_dec
->
p_owner
->
p_packetizer
;
while
(
(
p_packetized_block
=
while
(
(
p_packetized_block
=
p_packetizer
->
pf_packetize
(
p_packetizer
,
&
p_block
))
)
p_packetizer
->
pf_packetize
(
p_packetizer
,
p_block
?
&
p_block
:
NULL
))
)
{
{
if
(
p_packetizer
->
fmt_out
.
i_extra
&&
!
p_dec
->
fmt_in
.
i_extra
)
if
(
p_packetizer
->
fmt_out
.
i_extra
&&
!
p_dec
->
fmt_in
.
i_extra
)
{
{
...
@@ -707,14 +708,15 @@ static int DecoderDecode( decoder_t *p_dec, block_t *p_block )
...
@@ -707,14 +708,15 @@ static int DecoderDecode( decoder_t *p_dec, block_t *p_block )
}
}
}
}
}
}
else
else
if
(
p_block
)
{
{
DecoderDecodeAudio
(
p_dec
,
p_block
);
DecoderDecodeAudio
(
p_dec
,
p_block
);
}
}
}
}
else
if
(
p_dec
->
fmt_in
.
i_cat
==
VIDEO_ES
)
else
if
(
p_dec
->
fmt_in
.
i_cat
==
VIDEO_ES
)
{
{
DecoderUpdatePreroll
(
&
p_dec
->
p_owner
->
i_preroll_end
,
p_block
);
if
(
p_block
)
DecoderUpdatePreroll
(
&
p_dec
->
p_owner
->
i_preroll_end
,
p_block
);
if
(
p_dec
->
p_owner
->
p_packetizer
)
if
(
p_dec
->
p_owner
->
p_packetizer
)
{
{
...
@@ -722,7 +724,7 @@ static int DecoderDecode( decoder_t *p_dec, block_t *p_block )
...
@@ -722,7 +724,7 @@ static int DecoderDecode( decoder_t *p_dec, block_t *p_block )
decoder_t
*
p_packetizer
=
p_dec
->
p_owner
->
p_packetizer
;
decoder_t
*
p_packetizer
=
p_dec
->
p_owner
->
p_packetizer
;
while
(
(
p_packetized_block
=
while
(
(
p_packetized_block
=
p_packetizer
->
pf_packetize
(
p_packetizer
,
&
p_block
))
)
p_packetizer
->
pf_packetize
(
p_packetizer
,
p_block
?
&
p_block
:
NULL
))
)
{
{
if
(
p_packetizer
->
fmt_out
.
i_extra
&&
!
p_dec
->
fmt_in
.
i_extra
)
if
(
p_packetizer
->
fmt_out
.
i_extra
&&
!
p_dec
->
fmt_in
.
i_extra
)
{
{
...
@@ -742,7 +744,7 @@ static int DecoderDecode( decoder_t *p_dec, block_t *p_block )
...
@@ -742,7 +744,7 @@ static int DecoderDecode( decoder_t *p_dec, block_t *p_block )
}
}
}
}
}
}
else
else
if
(
p_block
)
{
{
DecoderDecodeVideo
(
p_dec
,
p_block
);
DecoderDecodeVideo
(
p_dec
,
p_block
);
}
}
...
@@ -753,9 +755,10 @@ static int DecoderDecode( decoder_t *p_dec, block_t *p_block )
...
@@ -753,9 +755,10 @@ static int DecoderDecode( decoder_t *p_dec, block_t *p_block )
vout_thread_t
*
p_vout
;
vout_thread_t
*
p_vout
;
subpicture_t
*
p_spu
;
subpicture_t
*
p_spu
;
DecoderUpdatePreroll
(
&
p_dec
->
p_owner
->
i_preroll_end
,
p_block
);
if
(
p_block
)
DecoderUpdatePreroll
(
&
p_dec
->
p_owner
->
i_preroll_end
,
p_block
);
while
(
(
p_spu
=
p_dec
->
pf_decode_sub
(
p_dec
,
&
p_block
)
)
)
while
(
(
p_spu
=
p_dec
->
pf_decode_sub
(
p_dec
,
p_block
?
&
p_block
:
NULL
)
)
)
{
{
vlc_mutex_lock
(
&
p_input
->
p
->
counters
.
counters_lock
);
vlc_mutex_lock
(
&
p_input
->
p
->
counters
.
counters_lock
);
stats_UpdateInteger
(
p_dec
,
p_input
->
p
->
counters
.
p_decoded_sub
,
1
,
NULL
);
stats_UpdateInteger
(
p_dec
,
p_input
->
p
->
counters
.
p_decoded_sub
,
1
,
NULL
);
...
...
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