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
53f3c079
Commit
53f3c079
authored
Oct 08, 2008
by
Laurent Aimar
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Obsoleted minimize-threads option.
It is not really needed and was complicating too much decoder code.
parent
4832631e
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
55 additions
and
116 deletions
+55
-116
src/input/decoder.c
src/input/decoder.c
+54
-106
src/input/var.c
src/input/var.c
+0
-3
src/libvlc-module.c
src/libvlc-module.c
+1
-7
No files found.
src/input/decoder.c
View file @
53f3c079
...
@@ -77,8 +77,6 @@ static es_format_t null_es_format;
...
@@ -77,8 +77,6 @@ static es_format_t null_es_format;
struct
decoder_owner_sys_t
struct
decoder_owner_sys_t
{
{
bool
b_own_thread
;
int64_t
i_preroll_end
;
int64_t
i_preroll_end
;
input_thread_t
*
p_input
;
input_thread_t
*
p_input
;
...
@@ -213,7 +211,7 @@ decoder_t *input_DecoderNew( input_thread_t *p_input,
...
@@ -213,7 +211,7 @@ decoder_t *input_DecoderNew( input_thread_t *p_input,
es_format_t
*
fmt
,
input_clock_t
*
p_clock
,
sout_instance_t
*
p_sout
)
es_format_t
*
fmt
,
input_clock_t
*
p_clock
,
sout_instance_t
*
p_sout
)
{
{
decoder_t
*
p_dec
=
NULL
;
decoder_t
*
p_dec
=
NULL
;
vlc_value_t
val
;
int
i_priority
;
#ifndef ENABLE_SOUT
#ifndef ENABLE_SOUT
(
void
)
b_force_decoder
;
(
void
)
b_force_decoder
;
...
@@ -256,20 +254,6 @@ decoder_t *input_DecoderNew( input_thread_t *p_input,
...
@@ -256,20 +254,6 @@ decoder_t *input_DecoderNew( input_thread_t *p_input,
p_dec
->
p_owner
->
p_clock
=
p_clock
;
p_dec
->
p_owner
->
p_clock
=
p_clock
;
if
(
p_sout
&&
p_sout
==
p_input
->
p
->
p_sout
&&
p_input
->
p
->
input
.
b_can_pace_control
)
{
msg_Dbg
(
p_input
,
"stream out mode -> no decoder thread"
);
p_dec
->
p_owner
->
b_own_thread
=
false
;
}
else
{
var_Get
(
p_input
,
"minimize-threads"
,
&
val
);
p_dec
->
p_owner
->
b_own_thread
=
!
val
.
b_bool
;
}
if
(
p_dec
->
p_owner
->
b_own_thread
)
{
int
i_priority
;
if
(
fmt
->
i_cat
==
AUDIO_ES
)
if
(
fmt
->
i_cat
==
AUDIO_ES
)
i_priority
=
VLC_THREAD_PRIORITY_AUDIO
;
i_priority
=
VLC_THREAD_PRIORITY_AUDIO
;
else
else
...
@@ -285,7 +269,6 @@ decoder_t *input_DecoderNew( input_thread_t *p_input,
...
@@ -285,7 +269,6 @@ decoder_t *input_DecoderNew( input_thread_t *p_input,
vlc_object_release
(
p_dec
);
vlc_object_release
(
p_dec
);
return
NULL
;
return
NULL
;
}
}
}
return
p_dec
;
return
p_dec
;
}
}
...
@@ -303,8 +286,6 @@ void input_DecoderDelete( decoder_t *p_dec )
...
@@ -303,8 +286,6 @@ void input_DecoderDelete( decoder_t *p_dec )
vlc_object_kill
(
p_dec
);
vlc_object_kill
(
p_dec
);
if
(
p_owner
->
b_own_thread
)
{
/* Make sure we aren't paused anymore */
/* Make sure we aren't paused anymore */
vlc_mutex_lock
(
&
p_owner
->
lock
);
vlc_mutex_lock
(
&
p_owner
->
lock
);
if
(
p_owner
->
b_paused
||
p_owner
->
b_buffering
)
if
(
p_owner
->
b_paused
||
p_owner
->
b_buffering
)
...
@@ -322,14 +303,6 @@ void input_DecoderDelete( decoder_t *p_dec )
...
@@ -322,14 +303,6 @@ void input_DecoderDelete( decoder_t *p_dec )
/* Don't module_unneed() here because of the dll loader that wants
/* Don't module_unneed() here because of the dll loader that wants
* close() in the same thread than open()/decode() */
* close() in the same thread than open()/decode() */
}
else
{
/* Flush */
input_DecoderDecode
(
p_dec
,
NULL
);
module_unneed
(
p_dec
,
p_dec
->
p_module
);
}
/* */
/* */
if
(
p_dec
->
p_owner
->
cc
.
b_supported
)
if
(
p_dec
->
p_owner
->
cc
.
b_supported
)
...
@@ -352,12 +325,10 @@ void input_DecoderDelete( decoder_t *p_dec )
...
@@ -352,12 +325,10 @@ void input_DecoderDelete( decoder_t *p_dec )
* \param p_dec the decoder object
* \param p_dec the decoder object
* \param p_block the data block
* \param p_block the data block
*/
*/
void
input_DecoderDecode
(
decoder_t
*
p_dec
,
block_t
*
p_block
)
void
input_DecoderDecode
(
decoder_t
*
p_dec
,
block_t
*
p_block
)
{
{
decoder_owner_sys_t
*
p_owner
=
p_dec
->
p_owner
;
decoder_owner_sys_t
*
p_owner
=
p_dec
->
p_owner
;
if
(
p_owner
->
b_own_thread
)
{
if
(
p_owner
->
p_input
->
p
->
b_out_pace_control
)
if
(
p_owner
->
p_input
->
p
->
b_out_pace_control
)
{
{
/* FIXME !!!!! */
/* FIXME !!!!! */
...
@@ -377,31 +348,14 @@ void input_DecoderDecode( decoder_t * p_dec, block_t *p_block )
...
@@ -377,31 +348,14 @@ void input_DecoderDecode( decoder_t * p_dec, block_t *p_block )
}
}
block_FifoPut
(
p_owner
->
p_fifo
,
p_block
);
block_FifoPut
(
p_owner
->
p_fifo
,
p_block
);
}
else
{
if
(
p_dec
->
b_error
||
(
p_block
&&
p_block
->
i_buffer
<=
0
)
)
{
if
(
p_block
)
block_Release
(
p_block
);
}
else
{
DecoderProcess
(
p_dec
,
p_block
);
}
}
}
}
bool
input_DecoderIsEmpty
(
decoder_t
*
p_dec
)
bool
input_DecoderIsEmpty
(
decoder_t
*
p_dec
)
{
{
assert
(
!
p_dec
->
p_owner
->
b_buffering
);
assert
(
!
p_dec
->
p_owner
->
b_buffering
);
if
(
p_dec
->
p_owner
->
b_own_thread
&&
/* FIXME that's not really true */
block_FifoCount
(
p_dec
->
p_owner
->
p_fifo
)
>
0
)
return
block_FifoCount
(
p_dec
->
p_owner
->
p_fifo
)
<=
0
;
{
return
false
;
}
return
true
;
}
}
void
input_DecoderIsCcPresent
(
decoder_t
*
p_dec
,
bool
pb_present
[
4
]
)
void
input_DecoderIsCcPresent
(
decoder_t
*
p_dec
,
bool
pb_present
[
4
]
)
...
@@ -496,12 +450,13 @@ void input_DecoderChangePause( decoder_t *p_dec, bool b_paused, mtime_t i_date )
...
@@ -496,12 +450,13 @@ void input_DecoderChangePause( decoder_t *p_dec, bool b_paused, mtime_t i_date )
vlc_mutex_lock
(
&
p_owner
->
lock
);
vlc_mutex_lock
(
&
p_owner
->
lock
);
assert
(
!
p_owner
->
b_paused
||
!
b_paused
);
assert
(
!
p_owner
->
b_paused
||
!
b_paused
);
p_owner
->
b_paused
=
b_paused
;
p_owner
->
b_paused
=
b_paused
;
p_owner
->
pause
.
i_date
=
i_date
;
p_owner
->
pause
.
i_date
=
i_date
;
if
(
p_owner
->
b_own_thread
)
vlc_cond_signal
(
&
p_owner
->
wait
);
vlc_cond_signal
(
&
p_owner
->
wait
);
DecoderOutputChangePause
(
p_dec
,
b_paused
,
i_date
);
DecoderOutputChangePause
(
p_dec
,
b_paused
,
i_date
);
vlc_mutex_unlock
(
&
p_owner
->
lock
);
vlc_mutex_unlock
(
&
p_owner
->
lock
);
}
}
...
@@ -626,7 +581,6 @@ static decoder_t * CreateDecoder( input_thread_t *p_input,
...
@@ -626,7 +581,6 @@ static decoder_t * CreateDecoder( input_thread_t *p_input,
vlc_object_release
(
p_dec
);
vlc_object_release
(
p_dec
);
return
NULL
;
return
NULL
;
}
}
p_dec
->
p_owner
->
b_own_thread
=
true
;
p_dec
->
p_owner
->
i_preroll_end
=
-
1
;
p_dec
->
p_owner
->
i_preroll_end
=
-
1
;
p_dec
->
p_owner
->
i_last_rate
=
INPUT_RATE_DEFAULT
;
p_dec
->
p_owner
->
i_last_rate
=
INPUT_RATE_DEFAULT
;
p_dec
->
p_owner
->
p_input
=
p_input
;
p_dec
->
p_owner
->
p_input
=
p_input
;
...
@@ -795,8 +749,6 @@ static void DecoderFlush( decoder_t *p_dec )
...
@@ -795,8 +749,6 @@ static void DecoderFlush( decoder_t *p_dec )
decoder_owner_sys_t
*
p_owner
=
p_dec
->
p_owner
;
decoder_owner_sys_t
*
p_owner
=
p_dec
->
p_owner
;
block_t
*
p_null
;
block_t
*
p_null
;
if
(
p_owner
->
b_own_thread
)
{
vlc_assert_locked
(
&
p_owner
->
lock
);
vlc_assert_locked
(
&
p_owner
->
lock
);
/* Empty the fifo */
/* Empty the fifo */
...
@@ -805,7 +757,6 @@ static void DecoderFlush( decoder_t *p_dec )
...
@@ -805,7 +757,6 @@ static void DecoderFlush( decoder_t *p_dec )
/* Monitor for flush end */
/* Monitor for flush end */
p_owner
->
b_flushing
=
true
;
p_owner
->
b_flushing
=
true
;
vlc_cond_signal
(
&
p_owner
->
wait
);
vlc_cond_signal
(
&
p_owner
->
wait
);
}
/* Send a special block */
/* Send a special block */
p_null
=
block_New
(
p_dec
,
128
);
p_null
=
block_New
(
p_dec
,
128
);
...
@@ -820,11 +771,8 @@ static void DecoderFlush( decoder_t *p_dec )
...
@@ -820,11 +771,8 @@ static void DecoderFlush( decoder_t *p_dec )
input_DecoderDecode
(
p_dec
,
p_null
);
input_DecoderDecode
(
p_dec
,
p_null
);
/* */
/* */
if
(
p_owner
->
b_own_thread
)
{
while
(
vlc_object_alive
(
p_dec
)
&&
p_owner
->
b_flushing
)
while
(
vlc_object_alive
(
p_dec
)
&&
p_owner
->
b_flushing
)
vlc_cond_wait
(
&
p_owner
->
wait
,
&
p_owner
->
lock
);
vlc_cond_wait
(
&
p_owner
->
wait
,
&
p_owner
->
lock
);
}
}
}
static
void
DecoderSignalFlushed
(
decoder_t
*
p_dec
)
static
void
DecoderSignalFlushed
(
decoder_t
*
p_dec
)
...
@@ -1598,7 +1546,7 @@ static void DecoderProcessSout( decoder_t *p_dec, block_t *p_block )
...
@@ -1598,7 +1546,7 @@ static void DecoderProcessSout( decoder_t *p_dec, block_t *p_block )
p_sout_block
->
p_next
=
NULL
;
p_sout_block
->
p_next
=
NULL
;
DecoderPlaySout
(
p_dec
,
p_block
,
b_telx
);
DecoderPlaySout
(
p_dec
,
p_
sout_
block
,
b_telx
);
p_sout_block
=
p_next
;
p_sout_block
=
p_next
;
}
}
...
...
src/input/var.c
View file @
53f3c079
...
@@ -454,9 +454,6 @@ void input_ConfigVarInit ( input_thread_t *p_input )
...
@@ -454,9 +454,6 @@ void input_ConfigVarInit ( input_thread_t *p_input )
var_Create
(
p_input
,
"input-slave"
,
var_Create
(
p_input
,
"input-slave"
,
VLC_VAR_STRING
|
VLC_VAR_DOINHERIT
);
VLC_VAR_STRING
|
VLC_VAR_DOINHERIT
);
var_Create
(
p_input
,
"minimize-threads"
,
VLC_VAR_BOOL
|
VLC_VAR_DOINHERIT
);
var_Create
(
p_input
,
"audio-desync"
,
var_Create
(
p_input
,
"audio-desync"
,
VLC_VAR_INTEGER
|
VLC_VAR_DOINHERIT
);
VLC_VAR_INTEGER
|
VLC_VAR_DOINHERIT
);
var_Create
(
p_input
,
"cr-average"
,
var_Create
(
p_input
,
"cr-average"
,
...
...
src/libvlc-module.c
View file @
53f3c079
...
@@ -1019,10 +1019,6 @@ static const char *const ppsz_clock_descriptions[] =
...
@@ -1019,10 +1019,6 @@ static const char *const ppsz_clock_descriptions[] =
"priorities. You can use it to tune VLC priority against other " \
"priorities. You can use it to tune VLC priority against other " \
"programs, or against other VLC instances.")
"programs, or against other VLC instances.")
#define MINIMIZE_THREADS_TEXT N_("Minimize number of threads")
#define MINIMIZE_THREADS_LONGTEXT N_( \
"This option minimizes the number of threads needed to run VLC.")
#define USE_STREAM_IMMEDIATE N_("(Experimental) Don't do caching at the access level.")
#define USE_STREAM_IMMEDIATE N_("(Experimental) Don't do caching at the access level.")
#define USE_STREAM_IMMEDIATE_LONGTEXT N_( \
#define USE_STREAM_IMMEDIATE_LONGTEXT N_( \
"This option is useful if you want to lower the latency when " \
"This option is useful if you want to lower the latency when " \
...
@@ -1872,9 +1868,7 @@ vlc_module_begin();
...
@@ -1872,9 +1868,7 @@ vlc_module_begin();
change_need_restart
();
change_need_restart
();
set_section
(
N_
(
"Performance options"
),
NULL
);
set_section
(
N_
(
"Performance options"
),
NULL
);
add_bool
(
"minimize-threads"
,
0
,
NULL
,
MINIMIZE_THREADS_TEXT
,
add_obsolete_bool
(
"minimize-threads"
);
MINIMIZE_THREADS_LONGTEXT
,
true
);
change_need_restart
();
add_bool
(
"use-stream-immediate"
,
false
,
NULL
,
add_bool
(
"use-stream-immediate"
,
false
,
NULL
,
USE_STREAM_IMMEDIATE
,
USE_STREAM_IMMEDIATE_LONGTEXT
,
true
);
USE_STREAM_IMMEDIATE
,
USE_STREAM_IMMEDIATE_LONGTEXT
,
true
);
...
...
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