Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Multimedia
Kdenlive
Commits
d794fa69
Commit
d794fa69
authored
Jul 13, 2020
by
Jean-Baptiste Mardelle
Browse files
Get rid of buggy processing threads setting
parent
18a73708
Changes
9
Hide whitespace changes
Inline
Side-by-side
src/capture/mltdevicecapture.cpp
View file @
d794fa69
...
...
@@ -361,7 +361,7 @@ bool MltDeviceCapture::slotStartCapture(const QString ¶ms, const QString &pa
auto
*
renderProps
=
new
Mlt
::
Properties
;
renderProps
->
set
(
"mlt_service"
,
"avformat"
);
renderProps
->
set
(
"target"
,
path
.
toUtf8
().
constData
());
renderProps
->
set
(
"real_time"
,
-
KdenliveSettings
::
mltthreads
()
);
renderProps
->
set
(
"real_time"
,
-
1
);
renderProps
->
set
(
"terminate_on_pause"
,
0
);
// was commented out. restoring it fixes mantis#3415 - FFmpeg recording freezes
// without this line a call to mlt_properties_get_int(terminate on pause) for in mlt/src/modules/core/consumer_multi.c is returning 1
// and going into and endless loop.
...
...
src/dialogs/kdenlivesettingsdialog.cpp
View file @
d794fa69
...
...
@@ -122,8 +122,6 @@ KdenliveSettingsDialog::KdenliveSettingsDialog(QMap<QString, QString> mappable_a
m_configEnv
.
ffmpegurl
->
lineEdit
()
->
setObjectName
(
QStringLiteral
(
"kcfg_ffmpegpath"
));
m_configEnv
.
ffplayurl
->
lineEdit
()
->
setObjectName
(
QStringLiteral
(
"kcfg_ffplaypath"
));
m_configEnv
.
ffprobeurl
->
lineEdit
()
->
setObjectName
(
QStringLiteral
(
"kcfg_ffprobepath"
));
int
maxThreads
=
QThread
::
idealThreadCount
();
m_configEnv
.
kcfg_mltthreads
->
setMaximum
(
maxThreads
>
2
?
maxThreads
:
8
);
m_configEnv
.
tmppathurl
->
setMode
(
KFile
::
Directory
);
m_configEnv
.
tmppathurl
->
lineEdit
()
->
setObjectName
(
QStringLiteral
(
"kcfg_currenttmpfolder"
));
m_configEnv
.
capturefolderurl
->
setMode
(
KFile
::
Directory
);
...
...
src/jobs/meltjob.cpp
View file @
d794fa69
...
...
@@ -146,7 +146,7 @@ bool MeltJob::startJob()
}
/*
if (!m_consumerParams.contains(QStringLiteral("real_time"))) {
m_consumer->set("real_time", -
KdenliveSettings::mltthreads()
);
m_consumer->set("real_time", -
1
);
}
*/
...
...
src/jobs/scenesplitjob.cpp
View file @
d794fa69
...
...
@@ -54,7 +54,7 @@ void SceneSplitJob::configureConsumer()
m_consumer
=
std
::
make_unique
<
Mlt
::
Consumer
>
(
*
m_profile
.
get
(),
"null"
);
m_consumer
->
set
(
"all"
,
1
);
m_consumer
->
set
(
"terminate_on_pause"
,
1
);
m_consumer
->
set
(
"real_time"
,
-
KdenliveSettings
::
mltthreads
()
);
m_consumer
->
set
(
"real_time"
,
-
1
);
// We just want to find scene change, set all methods to the fastests
m_consumer
->
set
(
"rescale"
,
"nearest"
);
m_consumer
->
set
(
"deinterlace_method"
,
"onefield"
);
...
...
src/jobs/speedjob.cpp
View file @
d794fa69
...
...
@@ -62,7 +62,7 @@ void SpeedJob::configureConsumer()
m_consumer
=
std
::
make_unique
<
Mlt
::
Consumer
>
(
*
m_profile
.
get
(),
"xml"
,
m_destUrl
.
toUtf8
().
constData
());
m_consumer
->
set
(
"terminate_on_pause"
,
1
);
m_consumer
->
set
(
"title"
,
"Speed Change"
);
m_consumer
->
set
(
"real_time"
,
-
KdenliveSettings
::
mltthreads
()
);
m_consumer
->
set
(
"real_time"
,
-
1
);
}
void
SpeedJob
::
configureProducer
()
...
...
src/jobs/stabilizejob.cpp
View file @
d794fa69
...
...
@@ -53,7 +53,7 @@ void StabilizeJob::configureConsumer()
m_consumer
=
std
::
make_unique
<
Mlt
::
Consumer
>
(
*
m_profile
.
get
(),
"xml"
,
m_destUrl
.
toUtf8
().
constData
());
m_consumer
->
set
(
"all"
,
1
);
m_consumer
->
set
(
"title"
,
"Stabilized"
);
m_consumer
->
set
(
"real_time"
,
-
KdenliveSettings
::
mltthreads
()
);
m_consumer
->
set
(
"real_time"
,
-
1
);
}
void
StabilizeJob
::
configureFilter
()
...
...
src/monitor/glwidget.cpp
View file @
d794fa69
...
...
@@ -1135,7 +1135,7 @@ int GLWidget::reconfigure()
// m_producer->set_speed(0.0);
}
int
dropFrames
=
realTime
()
;
int
dropFrames
=
1
;
if
(
!
KdenliveSettings
::
monitor_dropframes
())
{
dropFrames
=
-
dropFrames
;
}
...
...
@@ -1332,15 +1332,6 @@ void GLWidget::setOffsetY(int y, int max)
update
();
}
int
GLWidget
::
realTime
()
const
{
// C & D
if
(
m_glslManager
)
{
return
1
;
}
return
KdenliveSettings
::
mltthreads
();
}
std
::
shared_ptr
<
Mlt
::
Consumer
>
GLWidget
::
consumer
()
{
return
m_consumer
;
...
...
@@ -1778,7 +1769,7 @@ void GLWidget::setDropFrames(bool drop)
// why this lock?
QMutexLocker
locker
(
&
m_mltMutex
);
if
(
m_consumer
)
{
int
dropFrames
=
realTime
()
;
int
dropFrames
=
1
;
if
(
!
drop
)
{
dropFrames
=
-
dropFrames
;
}
...
...
src/monitor/glwidget.h
View file @
d794fa69
...
...
@@ -112,7 +112,6 @@ public:
void
resetConsumer
(
bool
fullReset
);
void
lockMonitor
();
void
releaseMonitor
();
int
realTime
()
const
;
int
droppedFrames
()
const
;
void
resetDrops
();
bool
checkFrameNumber
(
int
pos
,
int
offset
,
bool
isPlaying
);
...
...
src/ui/configenv_ui.ui
View file @
d794fa69
...
...
@@ -6,8 +6,8 @@
<rect>
<x>
0
</x>
<y>
0
</y>
<width>
5
66
</width>
<height>
441
</height>
<width>
5
14
</width>
<height>
379
</height>
</rect>
</property>
<layout
class=
"QGridLayout"
name=
"gridLayout"
>
...
...
@@ -27,51 +27,38 @@
<string>
MLT environment
</string>
</attribute>
<layout
class=
"QGridLayout"
name=
"gridLayout_3"
>
<item
row=
"0"
column=
"1"
colspan=
"
3
"
>
<item
row=
"0"
column=
"1"
colspan=
"
2
"
>
<widget
class=
"KUrlRequester"
name=
"ffmpegurl"
/>
</item>
<item
row=
"5"
column=
"0"
>
<widget
class=
"QLabel"
name=
"label_6"
>
<property
name=
"text"
>
<string>
Processing threads
</string>
</property>
</widget>
</item>
<item
row=
"1"
column=
"1"
colspan=
"3"
>
<widget
class=
"KUrlRequester"
name=
"ffplayurl"
/>
</item>
<item
row=
"4"
column=
"1"
colspan=
"3"
>
<widget
class=
"KUrlRequester"
name=
"rendererpathurl"
/>
</item>
<item
row=
"5"
column=
"3"
>
<widget
class=
"QLabel"
name=
"label_7"
>
<item
row=
"3"
column=
"0"
>
<widget
class=
"QLabel"
name=
"label"
>
<property
name=
"text"
>
<string>
(
>
1 is experimental)
</string>
<string>
MLT profiles folder
</string>
</property>
</widget>
</item>
<item
row=
"
4
"
column=
"0"
>
<widget
class=
"QLabel"
name=
"label_
2
"
>
<item
row=
"
0
"
column=
"0"
>
<widget
class=
"QLabel"
name=
"label_
8
"
>
<property
name=
"text"
>
<string>
Melt path
</string>
<string>
FFmpeg
</string>
</property>
</widget>
</item>
<item
row=
"
0
"
column=
"0"
>
<widget
class=
"QLabel"
name=
"label_
8
"
>
<item
row=
"
2
"
column=
"0"
>
<widget
class=
"QLabel"
name=
"label_
14
"
>
<property
name=
"text"
>
<string>
FF
mpeg
</string>
<string>
FF
probe
</string>
</property>
</widget>
</item>
<item
row=
"
3
"
column=
"0"
>
<widget
class=
"QLabel"
name=
"label"
>
<item
row=
"
4
"
column=
"0"
>
<widget
class=
"QLabel"
name=
"label
_2
"
>
<property
name=
"text"
>
<string>
M
LT profiles folder
</string>
<string>
M
elt path
</string>
</property>
</widget>
</item>
<item
row=
"
6
"
column=
"1"
>
<item
row=
"
5
"
column=
"1"
>
<spacer
name=
"verticalSpacer_2"
>
<property
name=
"orientation"
>
<enum>
Qt::Vertical
</enum>
...
...
@@ -84,9 +71,6 @@
</property>
</spacer>
</item>
<item
row=
"3"
column=
"1"
colspan=
"3"
>
<widget
class=
"KUrlRequester"
name=
"mltpathurl"
/>
</item>
<item
row=
"1"
column=
"0"
>
<widget
class=
"QLabel"
name=
"label_13"
>
<property
name=
"text"
>
...
...
@@ -94,27 +78,16 @@
</property>
</widget>
</item>
<item
row=
"5"
column=
"1"
colspan=
"2"
>
<widget
class=
"QSpinBox"
name=
"kcfg_mltthreads"
>
<property
name=
"sizePolicy"
>
<sizepolicy
hsizetype=
"Minimum"
vsizetype=
"Fixed"
>
<horstretch>
0
</horstretch>
<verstretch>
0
</verstretch>
</sizepolicy>
</property>
<property
name=
"minimum"
>
<number>
1
</number>
</property>
</widget>
<item
row=
"1"
column=
"1"
colspan=
"2"
>
<widget
class=
"KUrlRequester"
name=
"ffplayurl"
/>
</item>
<item
row=
"2"
column=
"0"
>
<widget
class=
"QLabel"
name=
"label_14"
>
<property
name=
"text"
>
<string>
FFprobe
</string>
</property>
</widget>
<item
row=
"3"
column=
"1"
colspan=
"2"
>
<widget
class=
"KUrlRequester"
name=
"mltpathurl"
/>
</item>
<item
row=
"4"
column=
"1"
colspan=
"2"
>
<widget
class=
"KUrlRequester"
name=
"rendererpathurl"
/>
</item>
<item
row=
"2"
column=
"1"
colspan=
"
3
"
>
<item
row=
"2"
column=
"1"
colspan=
"
2
"
>
<widget
class=
"KUrlRequester"
name=
"ffprobeurl"
/>
</item>
</layout>
...
...
Farid Abdelnour
🎥
@frdbr
mentioned in issue
#532 (closed)
·
Aug 19, 2020
mentioned in issue
#532 (closed)
mentioned in issue #532
Toggle commit list
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