Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
core
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
LibreOffice
core
Commits
79bed99d
Kaydet (Commit)
79bed99d
authored
Eyl 07, 2013
tarafından
Minh Ngo
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
Refactoring vlc module
Change-Id: If5454d2ce70eee40cf42205a5dcbcfef93f0abe8
üst
6b1b5b7c
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
85 additions
and
66 deletions
+85
-66
vlcframegrabber.cxx
avmedia/source/vlc/vlcframegrabber.cxx
+5
-3
vlcframegrabber.hxx
avmedia/source/vlc/vlcframegrabber.hxx
+2
-2
vlcmanager.cxx
avmedia/source/vlc/vlcmanager.cxx
+24
-14
vlcmanager.hxx
avmedia/source/vlc/vlcmanager.hxx
+5
-5
vlcplayer.cxx
avmedia/source/vlc/vlcplayer.cxx
+10
-19
vlcplayer.hxx
avmedia/source/vlc/vlcplayer.hxx
+14
-9
EventManager.cxx
avmedia/source/vlc/wrapper/EventManager.cxx
+4
-7
EventManager.hxx
avmedia/source/vlc/wrapper/EventManager.hxx
+2
-3
Player.cxx
avmedia/source/vlc/wrapper/Player.cxx
+3
-3
Player.hxx
avmedia/source/vlc/wrapper/Player.hxx
+1
-1
Wrapper.hxx
avmedia/source/vlc/wrapper/Wrapper.hxx
+15
-0
No files found.
avmedia/source/vlc/vlcframegrabber.cxx
Dosyayı görüntüle @
79bed99d
...
@@ -24,7 +24,7 @@ const ::rtl::OUString AVMEDIA_VLC_GRABBER_IMPLEMENTATIONNAME = "com.sun.star.com
...
@@ -24,7 +24,7 @@ const ::rtl::OUString AVMEDIA_VLC_GRABBER_IMPLEMENTATIONNAME = "com.sun.star.com
const
::
rtl
::
OUString
AVMEDIA_VLC_GRABBER_SERVICENAME
=
"com.sun.star.media.VLCFrameGrabber_VLC"
;
const
::
rtl
::
OUString
AVMEDIA_VLC_GRABBER_SERVICENAME
=
"com.sun.star.media.VLCFrameGrabber_VLC"
;
const
int
MSEC_IN_SEC
=
1000
;
const
int
MSEC_IN_SEC
=
1000
;
VLCFrameGrabber
::
VLCFrameGrabber
(
VLC
::
Player
&
player
,
boost
::
shared_ptr
<
VLC
::
EventHandler
>
eh
,
const
rtl
::
OUString
&
url
)
VLCFrameGrabber
::
VLCFrameGrabber
(
VLC
::
Player
&
player
,
VLC
::
EventHandler
&
eh
,
const
rtl
::
OUString
&
url
)
:
FrameGrabber_BASE
()
:
FrameGrabber_BASE
()
,
mPlayer
(
player
)
,
mPlayer
(
player
)
,
mUrl
(
url
)
,
mUrl
(
url
)
...
@@ -45,7 +45,8 @@ VLCFrameGrabber::VLCFrameGrabber( VLC::Player& player, boost::shared_ptr<VLC::Ev
...
@@ -45,7 +45,8 @@ VLCFrameGrabber::VLCFrameGrabber( VLC::Player& player, boost::shared_ptr<VLC::Ev
if
(
!
mPlayer
.
play
()
)
if
(
!
mPlayer
.
play
()
)
{
{
std
::
cerr
<<
"Couldn't play"
<<
std
::
endl
;
std
::
cerr
<<
"Couldn't play when trying to grab frame"
<<
std
::
endl
;
return
::
uno
::
Reference
<
css
::
graphic
::
XGraphic
>
();
}
}
mPlayer
.
setTime
(
(
fMediaTime
>
0
?
fMediaTime
:
0
)
*
MSEC_IN_SEC
);
mPlayer
.
setTime
(
(
fMediaTime
>
0
?
fMediaTime
:
0
)
*
MSEC_IN_SEC
);
...
@@ -63,7 +64,8 @@ VLCFrameGrabber::VLCFrameGrabber( VLC::Player& player, boost::shared_ptr<VLC::Ev
...
@@ -63,7 +64,8 @@ VLCFrameGrabber::VLCFrameGrabber( VLC::Player& player, boost::shared_ptr<VLC::Ev
return
::
uno
::
Reference
<
css
::
graphic
::
XGraphic
>
();
return
::
uno
::
Reference
<
css
::
graphic
::
XGraphic
>
();
}
}
mPlayer
.
takeSnapshot
(
fileName
);
std
::
cout
<<
"Take snapshot "
<<
fileName
<<
std
::
endl
;
std
::
cout
<<
mPlayer
.
takeSnapshot
(
fileName
)
<<
std
::
endl
;
mPlayer
.
setMute
(
false
);
mPlayer
.
setMute
(
false
);
mPlayer
.
stop
();
mPlayer
.
stop
();
...
...
avmedia/source/vlc/vlcframegrabber.hxx
Dosyayı görüntüle @
79bed99d
...
@@ -41,9 +41,9 @@ class VLCFrameGrabber : public FrameGrabber_BASE
...
@@ -41,9 +41,9 @@ class VLCFrameGrabber : public FrameGrabber_BASE
{
{
VLC
::
Player
&
mPlayer
;
VLC
::
Player
&
mPlayer
;
const
rtl
::
OUString
&
mUrl
;
const
rtl
::
OUString
&
mUrl
;
boost
::
shared_ptr
<
VLC
::
EventHandler
>
mEventHandler
;
VLC
::
EventHandler
&
mEventHandler
;
public
:
public
:
VLCFrameGrabber
(
VLC
::
Player
&
player
,
boost
::
shared_ptr
<
VLC
::
EventHandler
>
eh
,
const
rtl
::
OUString
&
url
);
VLCFrameGrabber
(
VLC
::
Player
&
player
,
VLC
::
EventHandler
&
eh
,
const
rtl
::
OUString
&
url
);
::
com
::
sun
::
star
::
uno
::
Reference
<
css
::
graphic
::
XGraphic
>
SAL_CALL
grabFrame
(
double
fMediaTime
)
throw
(
::
com
::
sun
::
star
::
uno
::
RuntimeException
);
::
com
::
sun
::
star
::
uno
::
Reference
<
css
::
graphic
::
XGraphic
>
SAL_CALL
grabFrame
(
double
fMediaTime
)
throw
(
::
com
::
sun
::
star
::
uno
::
RuntimeException
);
...
...
avmedia/source/vlc/vlcmanager.cxx
Dosyayı görüntüle @
79bed99d
...
@@ -13,20 +13,32 @@ using namespace ::com::sun::star;
...
@@ -13,20 +13,32 @@ using namespace ::com::sun::star;
namespace
avmedia
{
namespace
avmedia
{
namespace
vlc
{
namespace
vlc
{
const
rtl
::
OUString
VLC_IMPLEMENTATION_NAME
=
"com.sun.star.comp.avmedia.Manager_VLC"
;
namespace
const
::
rtl
::
OUString
VLC_SERVICENAME
=
"com.sun.star.media.Manager_VLC"
;
{
const
rtl
::
OUString
VLC_IMPLEMENTATION_NAME
=
"com.sun.star.comp.avmedia.Manager_VLC"
;
const
::
rtl
::
OUString
VLC_SERVICENAME
=
"com.sun.star.media.Manager_VLC"
;
const
char
*
const
VLC_ARGS
[]
=
{
"-Vdummy"
,
"--snapshot-format=png"
,
"--ffmpeg-threads"
,
"--verbose=-1"
};
}
Manager
::
Manager
(
const
uno
::
Reference
<
lang
::
XMultiServiceFactory
>&
rxMgr
)
Manager
::
Manager
(
const
uno
::
Reference
<
lang
::
XMultiServiceFactory
>&
rxMgr
)
:
mEventHandler
(
new
VLC
::
EventHandler
(
"EventHandler"
)
)
:
mEventHandler
()
,
mxMgr
(
rxMgr
)
,
mxMgr
(
rxMgr
)
{
{
using
namespace
VLC
;
using
namespace
VLC
;
static
bool
success
=
Instance
::
LoadSymbols
()
&&
EventManager
::
LoadSymbols
()
static
bool
success
=
Instance
::
LoadSymbols
()
&&
EventManager
::
LoadSymbols
()
&&
Media
::
LoadSymbols
()
&&
Player
::
LoadSymbols
()
&&
Common
::
LoadSymbols
();
&&
Media
::
LoadSymbols
()
&&
Player
::
LoadSymbols
()
&&
Common
::
LoadSymbols
();
m_is_vlc_found
=
success
;
m_is_vlc_found
=
success
;
if
(
m_is_vlc_found
)
if
(
m_is_vlc_found
)
{
{
mInstance
.
reset
(
new
Instance
(
sizeof
(
VLC_ARGS
)
/
sizeof
(
VLC_ARGS
[
0
]
),
VLC_ARGS
));
//Check VLC version
//Check VLC version
std
::
vector
<
std
::
string
>
verComponents
;
std
::
vector
<
std
::
string
>
verComponents
;
const
std
::
string
str
(
Common
::
Version
());
const
std
::
string
str
(
Common
::
Version
());
...
@@ -37,20 +49,20 @@ Manager::Manager( const uno::Reference< lang::XMultiServiceFactory >& rxMgr )
...
@@ -37,20 +49,20 @@ Manager::Manager( const uno::Reference< lang::XMultiServiceFactory >& rxMgr )
boost
::
is_any_of
(
". "
));
boost
::
is_any_of
(
". "
));
if
(
verComponents
.
size
()
<
3
if
(
verComponents
.
size
()
<
3
||
boost
::
lexical_cast
<
int
>
(
verComponents
[
0
])
<
2
||
boost
::
lexical_cast
<
int
>
(
verComponents
[
0
])
<
2
||
(
boost
::
lexical_cast
<
int
>
(
verComponents
[
1
])
==
0
&&
boost
::
lexical_cast
<
int
>
(
verComponents
[
2
])
<
8
))
||
(
boost
::
lexical_cast
<
int
>
(
verComponents
[
1
])
==
0
&&
boost
::
lexical_cast
<
int
>
(
verComponents
[
2
])
<
8
))
{
{
m_is_vlc_found
=
false
;
m_is_vlc_found
=
false
;
}
}
}
}
std
::
cout
<<
"T"
<<
std
::
endl
;
if
(
m_is_vlc_found
)
//if (m_is_vlc_found)
mEventHandler
.
create
();
// mEventHandler->launch();
std
::
cout
<<
"T"
<<
std
::
endl
;
}
}
Manager
::~
Manager
()
Manager
::~
Manager
()
{
{
mEventHandler
.
stop
();
}
}
uno
::
Reference
<
media
::
XPlayer
>
SAL_CALL
Manager
::
createPlayer
(
const
rtl
::
OUString
&
rURL
)
uno
::
Reference
<
media
::
XPlayer
>
SAL_CALL
Manager
::
createPlayer
(
const
rtl
::
OUString
&
rURL
)
...
@@ -59,12 +71,10 @@ uno::Reference< media::XPlayer > SAL_CALL Manager::createPlayer( const rtl::OUSt
...
@@ -59,12 +71,10 @@ uno::Reference< media::XPlayer > SAL_CALL Manager::createPlayer( const rtl::OUSt
if
(
!
m_is_vlc_found
)
if
(
!
m_is_vlc_found
)
return
uno
::
Reference
<
media
::
XPlayer
>
();
return
uno
::
Reference
<
media
::
XPlayer
>
();
if
(
!
rURL
.
isEmpty
()
||
(
mPlayer
.
is
()
&&
dynamic_cast
<
VLCPlayer
*>
(
mPlayer
.
get
()
)
->
url
()
!=
rURL
))
VLCPlayer
*
pPlayer
(
new
VLCPlayer
(
rURL
,
{
*
mInstance
,
VLCPlayer
*
pPlayer
(
new
VLCPlayer
(
rURL
,
mEventHandler
/*, mxMgr */
)
);
mEventHandler
/*, mxMgr */
)
);
mPlayer
=
uno
::
Reference
<
media
::
XPlayer
>
(
pPlayer
);
mPlayer
=
uno
::
Reference
<
media
::
XPlayer
>
(
pPlayer
);
}
std
::
cout
<<
"A"
<<
std
::
endl
;
return
mPlayer
;
return
mPlayer
;
}
}
...
...
avmedia/source/vlc/vlcmanager.hxx
Dosyayı görüntüle @
79bed99d
...
@@ -19,11 +19,10 @@
...
@@ -19,11 +19,10 @@
#ifndef _VLCMANAGER_HXX
#ifndef _VLCMANAGER_HXX
#define _VLCMANAGER_HXX
#define _VLCMANAGER_HXX
#include <boost/shared_ptr.hpp>
#include <boost/scoped_ptr.hpp>
#include <com/sun/star/media/XManager.hpp>
#include "vlccommon.hxx"
#include "vlccommon.hxx"
#include "wrapper/Wrapper.hxx"
#include "com/sun/star/media/XManager.hpp"
#include "wrapper/EventHandler.hxx"
namespace
avmedia
{
namespace
avmedia
{
namespace
vlc
{
namespace
vlc
{
...
@@ -31,7 +30,8 @@ namespace vlc {
...
@@ -31,7 +30,8 @@ namespace vlc {
class
Manager
:
public
::
cppu
::
WeakImplHelper2
<
::
com
::
sun
::
star
::
media
::
XManager
,
class
Manager
:
public
::
cppu
::
WeakImplHelper2
<
::
com
::
sun
::
star
::
media
::
XManager
,
::
com
::
sun
::
star
::
lang
::
XServiceInfo
>
::
com
::
sun
::
star
::
lang
::
XServiceInfo
>
{
{
boost
::
shared_ptr
<
VLC
::
EventHandler
>
mEventHandler
;
boost
::
scoped_ptr
<
VLC
::
Instance
>
mInstance
;
VLC
::
EventHandler
mEventHandler
;
public
:
public
:
Manager
(
const
::
com
::
sun
::
star
::
uno
::
Reference
<
::
com
::
sun
::
star
::
lang
::
XMultiServiceFactory
>&
rxMgr
);
Manager
(
const
::
com
::
sun
::
star
::
uno
::
Reference
<
::
com
::
sun
::
star
::
lang
::
XMultiServiceFactory
>&
rxMgr
);
~
Manager
();
~
Manager
();
...
...
avmedia/source/vlc/vlcplayer.cxx
Dosyayı görüntüle @
79bed99d
#include <iostream>
#include <boost/bind.hpp>
#include <boost/bind.hpp>
#include <vcl/syschild.hxx>
#include <vcl/syschild.hxx>
#include <vcl/sysdata.hxx>
#include <vcl/sysdata.hxx>
...
@@ -18,34 +19,24 @@ namespace
...
@@ -18,34 +19,24 @@ namespace
const
::
rtl
::
OUString
AVMEDIA_VLC_PLAYER_SERVICENAME
=
"com.sun.star.media.Player_VLC"
;
const
::
rtl
::
OUString
AVMEDIA_VLC_PLAYER_SERVICENAME
=
"com.sun.star.media.Player_VLC"
;
const
int
MS_IN_SEC
=
1000
;
// Millisec in sec
const
int
MS_IN_SEC
=
1000
;
// Millisec in sec
const
char
*
const
VLC_ARGS
[]
=
{
"-Vdummy"
,
"--snapshot-format=png"
,
"--ffmpeg-threads"
,
"--verbose=2"
};
}
}
VLCPlayer
::
VLCPlayer
(
const
rtl
::
OUString
&
iurl
,
boost
::
shared_ptr
<
VLC
::
EventHandler
>
eh
)
VLCPlayer
::
VLCPlayer
(
const
rtl
::
OUString
&
url
,
:
VLC_Base
(
m_aMutex
)
VLC
::
Instance
&
instance
,
VLC
::
EventHandler
&
eh
)
:
VLC_Base
(
m_aMutex
)
,
mInstance
(
instance
)
,
mEventHandler
(
eh
)
,
mEventHandler
(
eh
)
,
mInstance
(
sizeof
(
VLC_ARGS
)
/
sizeof
(
VLC_ARGS
[
0
]
),
VLC_ARGS
)
,
mMedia
(
url
,
mInstance
)
,
mMedia
(
iurl
,
mInstance
)
,
mPlayer
(
mMedia
)
,
mPlayer
(
mMedia
)
,
mEventManager
(
mPlayer
,
mEventHandler
)
,
mEventManager
(
mPlayer
,
mEventHandler
)
,
mUrl
(
i
url
)
,
mUrl
(
url
)
,
mPlaybackLoop
(
false
)
,
mPlaybackLoop
(
false
)
{
{
mPlayer
.
setMouseHandling
(
false
);
mPlayer
.
setMouseHandling
(
false
);
}
const
rtl
::
OUString
&
VLCPlayer
::
url
()
const
{
return
mUrl
;
}
}
void
SAL_CALL
VLCPlayer
::
start
()
throw
(
::
com
::
sun
::
star
::
uno
::
RuntimeException
)
void
SAL_CALL
VLCPlayer
::
start
()
throw
(
::
com
::
sun
::
star
::
uno
::
RuntimeException
)
{
{
::
osl
::
MutexGuard
aGuard
(
m_aMutex
);
::
osl
::
MutexGuard
aGuard
(
m_aMutex
);
mPlayer
.
play
();
mPlayer
.
play
();
...
...
avmedia/source/vlc/vlcplayer.hxx
Dosyayı görüntüle @
79bed99d
...
@@ -42,17 +42,18 @@ typedef ::cppu::WeakComponentImplHelper2< ::com::sun::star::media::XPlayer,
...
@@ -42,17 +42,18 @@ typedef ::cppu::WeakComponentImplHelper2< ::com::sun::star::media::XPlayer,
class
VLCPlayer
:
public
::
cppu
::
BaseMutex
,
class
VLCPlayer
:
public
::
cppu
::
BaseMutex
,
public
VLC_Base
public
VLC_Base
{
{
boost
::
shared_ptr
<
VLC
::
EventHandler
>
mEventHandler
;
VLC
::
Instance
&
mInstance
;
VLC
::
Instance
mInstance
;
VLC
::
EventHandler
&
mEventHandler
;
VLC
::
Media
mMedia
;
VLC
::
Media
mMedia
;
VLC
::
Player
mPlayer
;
VLC
::
Player
mPlayer
;
VLC
::
EventManager
mEventManager
;
VLC
::
EventManager
mEventManager
;
const
rtl
::
OUString
mUrl
;
const
rtl
::
OUString
mUrl
;
bool
mPlaybackLoop
;
bool
mPlaybackLoop
;
public
:
public
:
VLCPlayer
(
const
rtl
::
OUString
&
iurl
,
boost
::
shared_ptr
<
VLC
::
EventHandler
>
eh
);
VLCPlayer
(
const
rtl
::
OUString
&
url
,
VLC
::
Instance
&
instance
,
const
rtl
::
OUString
&
url
()
const
;
VLC
::
EventHandler
&
eh
)
;
void
SAL_CALL
start
()
throw
(
::
com
::
sun
::
star
::
uno
::
RuntimeException
);
void
SAL_CALL
start
()
throw
(
::
com
::
sun
::
star
::
uno
::
RuntimeException
);
void
SAL_CALL
stop
()
throw
(
::
com
::
sun
::
star
::
uno
::
RuntimeException
);
void
SAL_CALL
stop
()
throw
(
::
com
::
sun
::
star
::
uno
::
RuntimeException
);
...
@@ -70,11 +71,15 @@ public:
...
@@ -70,11 +71,15 @@ public:
css
::
awt
::
Size
SAL_CALL
getPreferredPlayerWindowSize
()
throw
(
::
com
::
sun
::
star
::
uno
::
RuntimeException
);
css
::
awt
::
Size
SAL_CALL
getPreferredPlayerWindowSize
()
throw
(
::
com
::
sun
::
star
::
uno
::
RuntimeException
);
::
com
::
sun
::
star
::
uno
::
Reference
<
css
::
media
::
XPlayerWindow
>
SAL_CALL
createPlayerWindow
(
const
::
com
::
sun
::
star
::
uno
::
Sequence
<
::
com
::
sun
::
star
::
uno
::
Any
>&
aArguments
)
::
com
::
sun
::
star
::
uno
::
Reference
<
css
::
media
::
XPlayerWindow
>
SAL_CALL
createPlayerWindow
(
const
::
com
::
sun
::
star
::
uno
::
Sequence
<
::
com
::
sun
::
star
::
uno
::
Any
>&
aArguments
)
throw
(
::
com
::
sun
::
star
::
uno
::
RuntimeException
);
throw
(
::
com
::
sun
::
star
::
uno
::
RuntimeException
);
::
com
::
sun
::
star
::
uno
::
Reference
<
css
::
media
::
XFrameGrabber
>
SAL_CALL
createFrameGrabber
()
throw
(
::
com
::
sun
::
star
::
uno
::
RuntimeException
);
::
com
::
sun
::
star
::
uno
::
Reference
<
css
::
media
::
XFrameGrabber
>
SAL_CALL
createFrameGrabber
()
throw
(
::
com
::
sun
::
star
::
uno
::
RuntimeException
);
::
rtl
::
OUString
SAL_CALL
getImplementationName
()
throw
(
::
com
::
sun
::
star
::
uno
::
RuntimeException
);;
::
rtl
::
OUString
SAL_CALL
getImplementationName
()
::
sal_Bool
SAL_CALL
supportsService
(
const
::
rtl
::
OUString
&
serviceName
)
throw
(
::
com
::
sun
::
star
::
uno
::
RuntimeException
);;
throw
(
::
com
::
sun
::
star
::
uno
::
RuntimeException
);
::
com
::
sun
::
star
::
uno
::
Sequence
<
::
rtl
::
OUString
>
SAL_CALL
getSupportedServiceNames
()
throw
(
::
com
::
sun
::
star
::
uno
::
RuntimeException
);;
::
sal_Bool
SAL_CALL
supportsService
(
const
::
rtl
::
OUString
&
serviceName
)
throw
(
::
com
::
sun
::
star
::
uno
::
RuntimeException
);;
::
com
::
sun
::
star
::
uno
::
Sequence
<
::
rtl
::
OUString
>
SAL_CALL
getSupportedServiceNames
()
throw
(
::
com
::
sun
::
star
::
uno
::
RuntimeException
);;
private
:
private
:
void
replay
();
void
replay
();
...
...
avmedia/source/vlc/wrapper/EventManager.cxx
Dosyayı görüntüle @
79bed99d
...
@@ -30,13 +30,14 @@ namespace VLC
...
@@ -30,13 +30,14 @@ namespace VLC
void
EventManager
::
Handler
(
const
libvlc_event_t
*
event
,
void
*
pData
)
void
EventManager
::
Handler
(
const
libvlc_event_t
*
event
,
void
*
pData
)
{
{
EventManager
*
instance
=
static_cast
<
EventManager
*>
(
pData
);
EventManager
*
instance
=
static_cast
<
EventManager
*>
(
pData
);
std
::
cout
<<
"HANDLER"
<<
std
::
endl
;
switch
(
event
->
type
)
switch
(
event
->
type
)
{
{
case
libvlc_MediaPlayerPaused
:
case
libvlc_MediaPlayerPaused
:
instance
->
mEventHandler
->
mCallbackQueue
.
push
(
instance
->
mOnPaused
);
instance
->
mEventHandler
.
mCallbackQueue
.
push
(
instance
->
mOnPaused
);
break
;
break
;
case
libvlc_MediaPlayerEndReached
:
case
libvlc_MediaPlayerEndReached
:
instance
->
mEventHandler
->
mCallbackQueue
.
push
(
instance
->
mOnEndReached
);
instance
->
mEventHandler
.
mCallbackQueue
.
push
(
instance
->
mOnEndReached
);
break
;
break
;
}
}
}
}
...
@@ -53,17 +54,13 @@ bool EventManager::LoadSymbols()
...
@@ -53,17 +54,13 @@ bool EventManager::LoadSymbols()
return
InitApiMap
(
VLC_EVENT_MANAGER_API
);
return
InitApiMap
(
VLC_EVENT_MANAGER_API
);
}
}
EventManager
::
EventManager
(
VLC
::
Player
&
player
,
boost
::
shared_ptr
<
VLC
::
EventHandler
>
eh
)
EventManager
::
EventManager
(
VLC
::
Player
&
player
,
VLC
::
EventHandler
&
eh
)
:
mEventHandler
(
eh
)
:
mEventHandler
(
eh
)
,
mManager
(
libvlc_media_player_event_manager
(
player
)
)
,
mManager
(
libvlc_media_player_event_manager
(
player
)
)
{
{
}
}
EventManager
::~
EventManager
()
{
}
void
EventManager
::
registerSignal
(
int
signal
,
const
Callback
&
callback
)
void
EventManager
::
registerSignal
(
int
signal
,
const
Callback
&
callback
)
{
{
if
(
callback
.
empty
()
)
if
(
callback
.
empty
()
)
...
...
avmedia/source/vlc/wrapper/EventManager.hxx
Dosyayı görüntüle @
79bed99d
...
@@ -28,14 +28,13 @@ namespace VLC
...
@@ -28,14 +28,13 @@ namespace VLC
static
bool
LoadSymbols
();
static
bool
LoadSymbols
();
typedef
boost
::
function
<
void
()
>
Callback
;
typedef
boost
::
function
<
void
()
>
Callback
;
EventManager
(
VLC
::
Player
&
player
,
boost
::
shared_ptr
<
VLC
::
EventHandler
>
eh
);
EventManager
(
VLC
::
Player
&
player
,
VLC
::
EventHandler
&
eh
);
virtual
~
EventManager
();
void
onPaused
(
const
Callback
&
callback
=
Callback
()
);
void
onPaused
(
const
Callback
&
callback
=
Callback
()
);
void
onEndReached
(
const
Callback
&
callback
=
Callback
()
);
void
onEndReached
(
const
Callback
&
callback
=
Callback
()
);
private
:
private
:
boost
::
shared_ptr
<
VLC
::
EventHandler
>
mEventHandler
;
VLC
::
EventHandler
&
mEventHandler
;
typedef
boost
::
function
<
void
()
>
TCallback
;
typedef
boost
::
function
<
void
()
>
TCallback
;
libvlc_event_manager_t
*
mManager
;
libvlc_event_manager_t
*
mManager
;
TCallback
mOnPaused
;
TCallback
mOnPaused
;
...
...
avmedia/source/vlc/wrapper/Player.cxx
Dosyayı görüntüle @
79bed99d
...
@@ -115,7 +115,7 @@ namespace VLC
...
@@ -115,7 +115,7 @@ namespace VLC
bool
Player
::
play
()
bool
Player
::
play
()
{
{
return
libvlc_media_player_play
(
mPlayer
);
return
libvlc_media_player_play
(
mPlayer
)
==
0
;
}
}
void
Player
::
pause
()
void
Player
::
pause
()
...
@@ -190,11 +190,11 @@ namespace VLC
...
@@ -190,11 +190,11 @@ namespace VLC
#endif
#endif
}
}
void
Player
::
takeSnapshot
(
const
rtl
::
OUString
&
file
)
bool
Player
::
takeSnapshot
(
const
rtl
::
OUString
&
file
)
{
{
rtl
::
OString
dest
;
rtl
::
OString
dest
;
file
.
convertToString
(
&
dest
,
RTL_TEXTENCODING_UTF8
,
0
);
file
.
convertToString
(
&
dest
,
RTL_TEXTENCODING_UTF8
,
0
);
libvlc_video_take_snapshot
(
mPlayer
,
0
,
dest
.
getStr
(),
0
,
0
)
;
return
libvlc_video_take_snapshot
(
mPlayer
,
0
,
dest
.
getStr
(),
480
,
360
)
==
0
;
}
}
bool
Player
::
hasVout
()
const
bool
Player
::
hasVout
()
const
...
...
avmedia/source/vlc/wrapper/Player.hxx
Dosyayı görüntüle @
79bed99d
...
@@ -51,7 +51,7 @@ namespace VLC
...
@@ -51,7 +51,7 @@ namespace VLC
void
setWindow
(
intptr_t
id
);
void
setWindow
(
intptr_t
id
);
void
takeSnapshot
(
const
rtl
::
OUString
&
file
);
bool
takeSnapshot
(
const
rtl
::
OUString
&
file
);
bool
hasVout
()
const
;
bool
hasVout
()
const
;
...
...
avmedia/source/vlc/wrapper/Wrapper.hxx
0 → 100644
Dosyayı görüntüle @
79bed99d
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
#include "Common.hxx"
#include "EventHandler.hxx"
#include "EventManager.hxx"
#include "Instance.hxx"
#include "Media.hxx"
#include "Player.hxx"
\ No newline at end of file
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