diff options
author | Minh Ngo <nlminhtl@gmail.com> | 2013-08-22 08:02:31 +0300 |
---|---|---|
committer | Minh Ngo <nlminhtl@gmail.com> | 2013-08-22 08:06:11 +0300 |
commit | ba282259a9309f21f4019073299d7eb6e7f61d98 (patch) | |
tree | d9513a9bdcbd82fae8ed5f3092ff222f6a1a0c8d /avmedia | |
parent | 77d732769abec345b9cf8dae415358fd866311e8 (diff) |
Fixing warnings and crash with the VLC::Instance.
Change-Id: I0282b79e296d6fccafbf7d89f38ed2f50672ef08
Diffstat (limited to 'avmedia')
-rw-r--r-- | avmedia/source/vlc/vlcplayer.cxx | 29 | ||||
-rw-r--r-- | avmedia/source/vlc/vlcplayer.hxx | 2 | ||||
-rw-r--r-- | avmedia/source/vlc/wrapper/Instance.cxx | 8 | ||||
-rw-r--r-- | avmedia/source/vlc/wrapper/Instance.hxx | 4 |
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(); |