summaryrefslogtreecommitdiffstats
path: root/avmedia
diff options
context:
space:
mode:
authorMinh Ngo <nlminhtl@gmail.com>2013-08-22 08:02:31 +0300
committerMinh Ngo <nlminhtl@gmail.com>2013-08-22 08:06:11 +0300
commitba282259a9309f21f4019073299d7eb6e7f61d98 (patch)
treed9513a9bdcbd82fae8ed5f3092ff222f6a1a0c8d /avmedia
parentReturning an object reference in operators =. (diff)
downloadcore-ba282259a9309f21f4019073299d7eb6e7f61d98.tar.gz
core-ba282259a9309f21f4019073299d7eb6e7f61d98.zip
Fixing warnings and crash with the VLC::Instance.
Change-Id: I0282b79e296d6fccafbf7d89f38ed2f50672ef08
Diffstat (limited to 'avmedia')
-rw-r--r--avmedia/source/vlc/vlcplayer.cxx29
-rw-r--r--avmedia/source/vlc/vlcplayer.hxx2
-rw-r--r--avmedia/source/vlc/wrapper/Instance.cxx8
-rw-r--r--avmedia/source/vlc/wrapper/Instance.hxx4
4 files changed, 26 insertions, 17 deletions
diff --git a/avmedia/source/vlc/vlcplayer.cxx b/avmedia/source/vlc/vlcplayer.cxx
index a0887c238bec..08603c2e7bc0 100644
--- a/avmedia/source/vlc/vlcplayer.cxx
+++ b/avmedia/source/vlc/vlcplayer.cxx
@@ -12,26 +12,29 @@ using namespace ::com::sun::star;
namespace avmedia {
namespace vlc {
-const ::rtl::OUString AVMEDIA_VLC_PLAYER_IMPLEMENTATIONNAME = "com.sun.star.comp.avmedia.Player_VLC";
-const ::rtl::OUString AVMEDIA_VLC_PLAYER_SERVICENAME = "com.sun.star.media.Player_VLC";
+namespace
+{
+ const ::rtl::OUString AVMEDIA_VLC_PLAYER_IMPLEMENTATIONNAME = "com.sun.star.comp.avmedia.Player_VLC";
+ const ::rtl::OUString AVMEDIA_VLC_PLAYER_SERVICENAME = "com.sun.star.media.Player_VLC";
-const char * const VLC_ARGS[] = {
- "-Vdummy",
- "--snapshot-format=png",
- "--ffmpeg-threads",
- "--verbose=2"
-};
+ 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& url, boost::shared_ptr<VLC::EventHandler> eh )
+VLCPlayer::VLCPlayer( const rtl::OUString& iurl, boost::shared_ptr<VLC::EventHandler> eh )
: VLC_Base(m_aMutex)
, mEventHandler( eh )
- , mInstance( VLC_ARGS )
- , mMedia( url, mInstance )
+ , mInstance( sizeof( VLC_ARGS ) / sizeof( VLC_ARGS[0] ), VLC_ARGS )
+ , mMedia( iurl, mInstance )
, mPlayer( mMedia )
, mEventManager( mPlayer, mEventHandler )
- , mUrl( url )
+ , mUrl( iurl )
, mPlaybackLoop( false )
{
mPlayer.setMouseHandling(false);
diff --git a/avmedia/source/vlc/vlcplayer.hxx b/avmedia/source/vlc/vlcplayer.hxx
index 18e4e6f6d5cb..831e4fe26de4 100644
--- a/avmedia/source/vlc/vlcplayer.hxx
+++ b/avmedia/source/vlc/vlcplayer.hxx
@@ -49,7 +49,7 @@ class VLCPlayer : public ::cppu::BaseMutex,
const rtl::OUString mUrl;
bool mPlaybackLoop;
public:
- VLCPlayer( const rtl::OUString& url, boost::shared_ptr<VLC::EventHandler> eh );
+ VLCPlayer( const rtl::OUString& iurl, boost::shared_ptr<VLC::EventHandler> eh );
const rtl::OUString& url() const;
diff --git a/avmedia/source/vlc/wrapper/Instance.cxx b/avmedia/source/vlc/wrapper/Instance.cxx
index ea6659ad650a..39c2ce3e2a11 100644
--- a/avmedia/source/vlc/wrapper/Instance.cxx
+++ b/avmedia/source/vlc/wrapper/Instance.cxx
@@ -26,15 +26,18 @@ namespace VLC
};
}
- Instance::Instance( const char * const argv[] )
+ Instance::Instance( int argc, const char * const argv[] )
{
InitApiMap( VLC_INSTANCE_API );
- mInstance = libvlc_new( sizeof( argv ) / sizeof( argv[0] ), argv );
+ mInstance = libvlc_new( argc, argv );
}
Instance::Instance( const Instance& other )
{
+ libvlc_release( mInstance );
+ mInstance = other.mInstance;
+ libvlc_retain( mInstance );
}
const Instance& Instance::operator=( const Instance& other )
@@ -42,6 +45,7 @@ namespace VLC
libvlc_release( mInstance );
mInstance = other.mInstance;
libvlc_retain( mInstance );
+ return *this;
}
Instance::~Instance()
diff --git a/avmedia/source/vlc/wrapper/Instance.hxx b/avmedia/source/vlc/wrapper/Instance.hxx
index 15ac0ef590dc..887baf1e971b 100644
--- a/avmedia/source/vlc/wrapper/Instance.hxx
+++ b/avmedia/source/vlc/wrapper/Instance.hxx
@@ -14,10 +14,12 @@ struct libvlc_instance_t;
namespace VLC
{
+
+
class Instance
{
public:
- Instance( const char * const argv[] );
+ Instance( int argc, const char * const argv[] );
Instance( const Instance& other );
const Instance& operator=( const Instance& other );
virtual ~Instance();