avmedia/source/vlc/vlcmanager.cxx | 2 +- avmedia/source/vlc/vlcplayer.cxx | 13 ++++++++++++- avmedia/source/vlc/vlcplayer.hxx | 9 +++++---- 3 files changed, 18 insertions(+), 6 deletions(-)
New commits: commit 58b339e0bb2d6edba984cbf5bb6d5b34a4594223 Author: Minh Ngo <nlmin...@gmail.com> Date: Sat Jul 6 21:11:07 2013 +0300 Setting url into the player class Change-Id: I7175b3ac9a818c6ae0ac0fdbea70b0416df34446 diff --git a/avmedia/source/vlc/vlcmanager.cxx b/avmedia/source/vlc/vlcmanager.cxx index 18681de..1ded627 100644 --- a/avmedia/source/vlc/vlcmanager.cxx +++ b/avmedia/source/vlc/vlcmanager.cxx @@ -20,7 +20,7 @@ Manager::~Manager() uno::Reference< media::XPlayer > SAL_CALL Manager::createPlayer( const rtl::OUString& rURL ) throw (uno::RuntimeException) { - VLCPlayer* pPlayer( new VLCPlayer( /* mxMgr */ ) ); + VLCPlayer* pPlayer( new VLCPlayer( rURL/*, mxMgr */ ) ); uno::Reference< media::XPlayer > xRet( pPlayer ); return xRet; diff --git a/avmedia/source/vlc/vlcplayer.cxx b/avmedia/source/vlc/vlcplayer.cxx index fb1ad01..12133c1 100644 --- a/avmedia/source/vlc/vlcplayer.cxx +++ b/avmedia/source/vlc/vlcplayer.cxx @@ -18,10 +18,21 @@ const char * const VLC_ARGS[] = { "--quiet" }; -VLCPlayer::VLCPlayer() +namespace +{ + libvlc_media_t* initMedia( const rtl::OUString& url, boost::scoped_ptr<libvlc_instance_t>& instance) + { + rtl::OString dest; + url.convertToString(&dest, RTL_TEXTENCODING_UTF8, 0); + return libvlc_media_new_path(instance.get(), dest.getStr()); + } +} + +VLCPlayer::VLCPlayer( const rtl::OUString& url ) : VLC_Base(m_aMutex) , mInstance( libvlc_new( sizeof( VLC_ARGS ) / sizeof( VLC_ARGS[0] ), VLC_ARGS ), libvlc_release ) , mPlayer( libvlc_media_player_new(mInstance.get()), libvlc_media_player_release ) + , mMedia( initMedia( url, mInstance), libvlc_media_release ) { } diff --git a/avmedia/source/vlc/vlcplayer.hxx b/avmedia/source/vlc/vlcplayer.hxx index d1e5511..c569594 100644 --- a/avmedia/source/vlc/vlcplayer.hxx +++ b/avmedia/source/vlc/vlcplayer.hxx @@ -22,7 +22,7 @@ #include "vlccommon.hxx" #include <vlc/vlc.h> -#include <boost/shared_ptr.hpp> +#include <boost/scoped_ptr.hpp> #include <cppuhelper/compbase2.hxx> #include <com/sun/star/media/XPlayer.hpp> #include <cppuhelper/basemutex.hxx> @@ -37,10 +37,11 @@ typedef ::cppu::WeakComponentImplHelper2< ::com::sun::star::media::XPlayer, class VLCPlayer : public ::cppu::BaseMutex, public VLC_Base { - boost::shared_ptr<libvlc_instance_t> mInstance; - boost::shared_ptr<libvlc_media_player_t> mPlayer; + boost::scoped_ptr<libvlc_instance_t> mInstance; + boost::scoped_ptr<libvlc_media_player_t> mPlayer; + boost::scoped_ptr<libvlc_media_t> mMedia; public: - VLCPlayer(); + VLCPlayer( const rtl::OUString& url ); void SAL_CALL start(); void SAL_CALL stop(); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits