Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
VideoLAN
VLMC
Commits
12607d9f
Commit
12607d9f
authored
Sep 14, 2009
by
Christophe Courtaut
Browse files
Switching from vmem to smem rendering!
parent
519ced8a
Changes
3
Hide whitespace changes
Inline
Side-by-side
src/LibVLCpp/VLCMedia.cpp
View file @
12607d9f
...
...
@@ -47,14 +47,14 @@ void Media::addOption( const char* opt )
void
Media
::
setLockCallback
(
Media
::
lockCallback
callback
)
{
char
param
[
64
];
sprintf
(
param
,
":
vmem-lo
ck=%lld"
,
(
qint64
)(
intptr_t
)
callback
);
sprintf
(
param
,
":
sout-smem-video-prerender-callba
ck=%lld"
,
(
qint64
)(
intptr_t
)
callback
);
addOption
(
param
);
}
void
Media
::
setUnlockCallback
(
Media
::
unlockCallback
callback
)
{
char
param
[
64
];
sprintf
(
param
,
":
vmem-unlo
ck=%lld"
,
(
qint64
)(
intptr_t
)
callback
);
sprintf
(
param
,
":
sout-smem-video-postrender-callba
ck=%lld"
,
(
qint64
)(
intptr_t
)
callback
);
addOption
(
param
);
}
...
...
@@ -62,7 +62,7 @@ void Media::setDataCtx( void* dataCtx )
{
char
param
[
64
];
sprintf
(
param
,
":
vmem
-data=%lld"
,
(
qint64
)(
intptr_t
)
dataCtx
);
sprintf
(
param
,
":
sout-smem-video
-data=%lld"
,
(
qint64
)(
intptr_t
)
dataCtx
);
addOption
(
param
);
}
...
...
src/Workflow/ClipWorkflow.cpp
View file @
12607d9f
...
...
@@ -79,14 +79,20 @@ void ClipWorkflow::checkStateChange()
}
}
void
ClipWorkflow
::
lock
(
ClipWorkflow
*
cw
,
void
**
pp_ret
)
void
ClipWorkflow
::
lock
(
ClipWorkflow
*
cw
,
void
**
pp_ret
,
int
size
)
{
Q_UNUSED
(
size
);
cw
->
m_renderLock
->
lock
();
*
pp_ret
=
cw
->
m_buffer
;
}
void
ClipWorkflow
::
unlock
(
ClipWorkflow
*
cw
)
void
ClipWorkflow
::
unlock
(
ClipWorkflow
*
cw
,
void
*
buffer
,
int
width
,
int
height
,
int
bpp
,
int
size
)
{
Q_UNUSED
(
buffer
);
Q_UNUSED
(
width
);
Q_UNUSED
(
height
);
Q_UNUSED
(
bpp
);
Q_UNUSED
(
size
);
cw
->
m_renderLock
->
unlock
();
cw
->
m_stateLock
->
lockForWrite
();
...
...
@@ -118,20 +124,21 @@ void ClipWorkflow::setVmem()
char
buffer
[
32
];
m_vlcMedia
->
addOption
(
":no-audio"
);
m_vlcMedia
->
addOption
(
":
v
out=
v
mem"
);
m_vlcMedia
->
addOption
(
":
s
out=
#transcode{}:s
mem"
);
m_vlcMedia
->
setDataCtx
(
this
);
m_vlcMedia
->
setLockCallback
(
reinterpret_cast
<
LibVLCpp
::
Media
::
lockCallback
>
(
&
ClipWorkflow
::
lock
)
);
m_vlcMedia
->
setUnlockCallback
(
reinterpret_cast
<
LibVLCpp
::
Media
::
unlockCallback
>
(
&
ClipWorkflow
::
unlock
)
);
m_vlcMedia
->
addOption
(
":vmem-chroma=RV24"
);
m_vlcMedia
->
addOption
(
":sout-transcode-vcodec=RV24"
);
m_vlcMedia
->
addOption
(
":sout-transcode-acodec=s16l"
);
sprintf
(
buffer
,
":
vmem
-width=%i"
,
VIDEOWIDTH
);
sprintf
(
buffer
,
":
sout-transcode
-width=%i"
,
VIDEOWIDTH
);
m_vlcMedia
->
addOption
(
buffer
);
sprintf
(
buffer
,
":
vmem
-height=%i"
,
VIDEOHEIGHT
);
sprintf
(
buffer
,
":
sout-transcode
-height=%i"
,
VIDEOHEIGHT
);
m_vlcMedia
->
addOption
(
buffer
);
sprintf
(
buffer
,
"
vmem
-pitch=%i"
,
VIDEOWIDTH
*
3
);
m_vlcMedia
->
addOption
(
buffer
);
//
sprintf( buffer, "
sout-smem-video
-pitch=%i", VIDEOWIDTH * 3 );
//
m_vlcMedia->addOption( buffer );
}
void
ClipWorkflow
::
initialize
()
...
...
src/Workflow/ClipWorkflow.h
View file @
12607d9f
...
...
@@ -156,8 +156,8 @@ class ClipWorkflow : public QObject
LibVLCpp
::
MediaPlayer
*
getMediaPlayer
();
private:
static
void
lock
(
ClipWorkflow
*
clipWorkflow
,
void
**
pp_ret
);
static
void
unlock
(
ClipWorkflow
*
clipWorkflow
);
static
void
lock
(
ClipWorkflow
*
clipWorkflow
,
void
**
pp_ret
,
int
size
);
static
void
unlock
(
ClipWorkflow
*
clipWorkflow
,
void
*
buffer
,
int
width
,
int
height
,
int
bpp
,
int
size
);
void
setVmem
();
void
setState
(
State
state
);
void
checkSynchronisation
(
State
newState
);
...
...
Write
Preview
Supports
Markdown
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