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

Reply via email to