Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
7
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Open sidebar
VideoLAN
VLMC
Commits
dbcfa3a6
Commit
dbcfa3a6
authored
Mar 20, 2010
by
Hugo Beauzee-Luyssen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Cleaning up things in WorkflowFileRenderer
The renderer doesn't contain the dialog anymore.
parent
ba9beda2
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
47 additions
and
67 deletions
+47
-67
src/Gui/MainWindow.cpp
src/Gui/MainWindow.cpp
+6
-0
src/Gui/WorkflowFileRendererDialog.cpp
src/Gui/WorkflowFileRendererDialog.cpp
+14
-8
src/Gui/WorkflowFileRendererDialog.h
src/Gui/WorkflowFileRendererDialog.h
+5
-2
src/Renderer/ConsoleRenderer.cpp
src/Renderer/ConsoleRenderer.cpp
+16
-0
src/Renderer/ConsoleRenderer.h
src/Renderer/ConsoleRenderer.h
+3
-0
src/Renderer/WorkflowFileRenderer.cpp
src/Renderer/WorkflowFileRenderer.cpp
+2
-47
src/Renderer/WorkflowFileRenderer.h
src/Renderer/WorkflowFileRenderer.h
+1
-10
No files found.
src/Gui/MainWindow.cpp
View file @
dbcfa3a6
...
...
@@ -454,8 +454,14 @@ void MainWindow::on_actionRender_triggered()
quint32
vbitrate
=
settings
->
videoBitrate
();
quint32
abitrate
=
settings
->
audioBitrate
();
delete
settings
;
WorkflowFileRendererDialog
*
dialog
=
new
WorkflowFileRendererDialog
(
m_fileRenderer
,
width
,
height
);
dialog
->
setModal
(
true
);
dialog
->
setOutputFileName
(
outputFileName
);
m_fileRenderer
->
initializeRenderer
();
m_fileRenderer
->
run
(
outputFileName
,
width
,
height
,
fps
,
vbitrate
,
abitrate
);
dialog
->
show
();
}
}
...
...
src/Gui/WorkflowFileRendererDialog.cpp
View file @
dbcfa3a6
...
...
@@ -23,15 +23,22 @@
#include "vlmc.h"
#include "WorkflowFileRendererDialog.h"
#include "WorkflowFileRenderer.h"
WorkflowFileRendererDialog
::
WorkflowFileRendererDialog
(
quint32
width
,
quint32
height
)
:
WorkflowFileRendererDialog
::
WorkflowFileRendererDialog
(
WorkflowFileRenderer
*
renderer
,
quint32
width
,
quint32
height
)
:
m_width
(
width
),
m_height
(
height
)
m_height
(
height
),
m_renderer
(
renderer
)
{
m_ui
.
setupUi
(
this
);
m_workflow
=
MainWorkflow
::
getInstance
();
connect
(
m_workflow
,
SIGNAL
(
frameChanged
(
qint64
,
MainWorkflow
::
FrameChangedReason
)
),
this
,
SLOT
(
frameChanged
(
qint64
,
MainWorkflow
::
FrameChangedReason
)
)
);
connect
(
m_ui
.
cancelButton
,
SIGNAL
(
clicked
()
),
m_renderer
,
SLOT
(
stop
()
)
);
connect
(
m_ui
.
cancelButton
,
SIGNAL
(
clicked
()
),
this
,
SLOT
(
close
()
)
);
connect
(
m_renderer
,
SIGNAL
(
frameChanged
(
qint64
)
),
this
,
SLOT
(
frameChanged
(
qint64
)
)
);
connect
(
m_renderer
,
SIGNAL
(
imageUpdated
(
const
uchar
*
)
),
this
,
SLOT
(
updatePreview
(
const
uchar
*
)
),
Qt
::
QueuedConnection
);
}
void
WorkflowFileRendererDialog
::
setOutputFileName
(
const
QString
&
outputFileName
)
...
...
@@ -53,9 +60,8 @@ void WorkflowFileRendererDialog::updatePreview( const uchar* buff )
QImage
::
Format_RGB888
).
rgbSwapped
()
)
);
}
void
WorkflowFileRendererDialog
::
frameChanged
(
qint64
frame
,
MainWorkflow
::
FrameChangedReason
reason
)
void
WorkflowFileRendererDialog
::
frameChanged
(
qint64
frame
)
{
if
(
reason
==
MainWorkflow
::
Renderer
)
m_ui
.
frameCounter
->
setText
(
tr
(
"Rendering frame %1 / %2"
).
arg
(
QString
::
number
(
frame
),
QString
::
number
(
m_workflow
->
getLengthFrame
()
)
)
);
m_ui
.
frameCounter
->
setText
(
tr
(
"Rendering frame %1 / %2"
).
arg
(
QString
::
number
(
frame
),
QString
::
number
(
m_workflow
->
getLengthFrame
()
)
)
);
}
src/Gui/WorkflowFileRendererDialog.h
View file @
dbcfa3a6
...
...
@@ -28,12 +28,14 @@
#include "MainWorkflow.h"
class
WorkflowFileRenderer
;
class
WorkflowFileRendererDialog
:
public
QDialog
{
Q_OBJECT
Q_DISABLE_COPY
(
WorkflowFileRendererDialog
);
public:
WorkflowFileRendererDialog
(
quint32
width
,
quint32
height
);
WorkflowFileRendererDialog
(
WorkflowFileRenderer
*
renderer
,
quint32
width
,
quint32
height
);
void
setOutputFileName
(
const
QString
&
filename
);
void
setProgressBarValue
(
int
val
);
...
...
@@ -42,12 +44,13 @@ private:
MainWorkflow
*
m_workflow
;
quint32
m_width
;
quint32
m_height
;
WorkflowFileRenderer
*
m_renderer
;
public
slots
:
void
updatePreview
(
const
uchar
*
buff
);
private
slots
:
void
frameChanged
(
qint64
,
MainWorkflow
::
FrameChangedReason
);
void
frameChanged
(
qint64
);
friend
class
WorkflowFileRenderer
;
};
...
...
src/Renderer/ConsoleRenderer.cpp
View file @
dbcfa3a6
...
...
@@ -39,6 +39,22 @@ ConsoleRenderer::ConsoleRenderer(QObject *parent) :
m_fps
=
VLMC_PROJECT_GET_DOUBLE
(
"video/VLMCOutputFPS"
);
m_vbitrate
=
4000
;
m_abitrate
=
256
;
connect
(
m_renderer
,
SIGNAL
(
frameChanged
(
qint64
)
),
this
,
SLOT
(
frameChanged
(
qint64
)
)
);
}
void
ConsoleRenderer
::
frameChanged
(
qint64
frame
)
const
{
static
int
percent
=
0
;
int
newPercent
;
newPercent
=
frame
*
100
/
MainWorkflow
::
getInstance
()
->
getLengthFrame
();
if
(
newPercent
!=
percent
)
{
percent
=
newPercent
;
qDebug
().
nospace
()
<<
percent
<<
"%"
;
}
}
void
...
...
src/Renderer/ConsoleRenderer.h
View file @
dbcfa3a6
...
...
@@ -38,6 +38,9 @@ public:
public
slots
:
void
startRender
();
private
slots
:
void
frameChanged
(
qint64
frame
)
const
;
private:
WorkflowFileRenderer
*
m_renderer
;
QString
m_outputFileName
;
...
...
src/Renderer/WorkflowFileRenderer.cpp
View file @
dbcfa3a6
...
...
@@ -46,27 +46,18 @@ void WorkflowFileRenderer::run( const QString& outputFileName, quint32 wi
quint32
height
,
double
fps
,
quint32
vbitrate
,
quint32
abitrate
)
{
// char buffer[256];
m_outputFileName
=
outputFileName
;
m_mainWorkflow
->
setCurrentFrame
(
0
,
MainWorkflow
::
Renderer
);
setupRenderer
(
width
,
height
,
fps
);
#ifdef WITH_GUI
setupDialog
(
width
,
height
);
#endif
//Media as already been created and mainly initialized by the WorkflowRenderer
QString
transcodeStr
=
":sout=#transcode{vcodec=h264,vb="
+
QString
::
number
(
vbitrate
)
+
",acodec=a52,ab="
+
QString
::
number
(
abitrate
)
+
",no-hurry-up}"
":standard{access=file,mux=ps,dst=
\"
"
+
m_
outputFileName
+
"
\"
}"
;
+
outputFileName
+
"
\"
}"
;
m_media
->
addOption
(
transcodeStr
.
toStdString
().
c_str
()
);
// sprintf( buffer, ":sout-transcode-fps=%f", m_outputFps );
// m_media->addOption( buffer );
m_mediaPlayer
->
setMedia
(
m_media
);
connect
(
m_mainWorkflow
,
SIGNAL
(
mainWorkflowEndReached
()
),
this
,
SLOT
(
stop
()
)
);
...
...
@@ -131,19 +122,7 @@ WorkflowFileRenderer::unlock( void *datas, size_t size, void* buff )
void
WorkflowFileRenderer
::
__frameChanged
(
qint64
frame
,
MainWorkflow
::
FrameChangedReason
)
{
#ifdef WITH_GUI
m_dialog
->
setProgressBarValue
(
frame
*
100
/
m_mainWorkflow
->
getLengthFrame
()
);
#else
static
int
percent
=
0
;
int
newPercent
;
newPercent
=
frame
*
100
/
m_mainWorkflow
->
getLengthFrame
();
if
(
newPercent
!=
percent
)
{
percent
=
newPercent
;
qDebug
()
<<
percent
<<
"%"
;
}
#endif
emit
frameChanged
(
frame
);
}
void
*
...
...
@@ -169,27 +148,3 @@ WorkflowFileRenderer::height() const
{
return
VLMC_PROJECT_GET_UINT
(
"video/VideoProjectHeight"
);
}
#ifdef WITH_GUI
void
WorkflowFileRenderer
::
setupDialog
(
quint32
width
,
quint32
height
)
{
m_dialog
=
new
WorkflowFileRendererDialog
(
width
,
height
);
m_dialog
->
setModal
(
true
);
m_dialog
->
setOutputFileName
(
m_outputFileName
);
connect
(
m_dialog
->
m_ui
.
cancelButton
,
SIGNAL
(
clicked
()
),
this
,
SLOT
(
cancelButtonClicked
()
)
);
connect
(
m_dialog
,
SIGNAL
(
finished
(
int
)
),
this
,
SLOT
(
stop
()
)
);
connect
(
this
,
SIGNAL
(
imageUpdated
(
const
uchar
*
)
),
m_dialog
,
SLOT
(
updatePreview
(
const
uchar
*
)
),
Qt
::
QueuedConnection
);
m_dialog
->
show
();
}
void
WorkflowFileRenderer
::
cancelButtonClicked
()
{
stop
();
disconnect
();
m_dialog
->
done
(
0
);
}
#endif
src/Renderer/WorkflowFileRenderer.h
View file @
dbcfa3a6
...
...
@@ -45,20 +45,13 @@ public:
void
run
(
const
QString
&
outputFileName
,
quint32
width
,
quint32
height
,
double
fps
,
quint32
vbitrate
,
quint32
abitrate
);
static
int
lock
(
void
*
datas
,
qint64
*
dts
,
qint64
*
pts
,
quint32
*
flags
,
size_t
*
bufferSize
,
void
**
buffer
);
static
void
unlock
(
void
*
datas
,
size_t
size
,
void
*
buff
);
virtual
float
getFps
()
const
;
private:
void
setupDialog
(
quint32
width
,
quint32
height
);
private:
QString
m_outputFileName
;
#ifdef WITH_GUI
WorkflowFileRendererDialog
*
m_dialog
;
QImage
*
m_image
;
QTime
m_time
;
#endif
...
...
@@ -70,15 +63,13 @@ protected:
virtual
quint32
height
()
const
;
private
slots
:
void
stop
();
#ifdef WITH_GUI
void
cancelButtonClicked
();
#endif
void
__frameChanged
(
qint64
frame
,
MainWorkflow
::
FrameChangedReason
reason
);
void
__endReached
();
signals:
void
imageUpdated
(
const
uchar
*
image
);
void
frameChanged
(
qint64
);
};
#endif // WORKFLOWFILERENDERER_H
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