From 5a3973e6f99356cbc8a5cc65b63cccebfa99ec53 Mon Sep 17 00:00:00 2001 From: Minh Ngo Date: Mon, 8 Jul 2013 22:31:10 +0300 Subject: Fixing segfault when getting a duration Change-Id: I51e221214bb7e6c09312109ddb9d6bb71b47b181 --- avmedia/source/vlc/vlcframegrabber.cxx | 2 ++ avmedia/source/vlc/vlcplayer.cxx | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/avmedia/source/vlc/vlcframegrabber.cxx b/avmedia/source/vlc/vlcframegrabber.cxx index 6e8ab1338ee0..11151b6a6926 100644 --- a/avmedia/source/vlc/vlcframegrabber.cxx +++ b/avmedia/source/vlc/vlcframegrabber.cxx @@ -1,3 +1,4 @@ +#include #include "vlcframegrabber.hxx" using namespace ::com::sun::star; @@ -14,6 +15,7 @@ SAL_CALL VLCFrameGrabber::VLCFrameGrabber() ::uno::Reference< css::graphic::XGraphic > SAL_CALL VLCFrameGrabber::grabFrame( double fMediaTime ) { + return Graphic().GetXGraphic(); } ::rtl::OUString SAL_CALL VLCFrameGrabber::getImplementationName() diff --git a/avmedia/source/vlc/vlcplayer.cxx b/avmedia/source/vlc/vlcplayer.cxx index a8eda3e87aff..efb23baacd8f 100644 --- a/avmedia/source/vlc/vlcplayer.cxx +++ b/avmedia/source/vlc/vlcplayer.cxx @@ -34,6 +34,7 @@ VLCPlayer::VLCPlayer( const rtl::OUString& url ) , mPlayer( libvlc_media_player_new(mInstance.get()), libvlc_media_player_release ) , mMedia( initMedia( url, mInstance), libvlc_media_release ) { + libvlc_media_player_set_media( mPlayer.get(), mMedia.get() ); } void SAL_CALL VLCPlayer::start() @@ -57,8 +58,7 @@ void SAL_CALL VLCPlayer::stop() double SAL_CALL VLCPlayer::getDuration() { ::osl::MutexGuard aGuard(m_aMutex); - libvlc_media_t* media = libvlc_media_player_get_media( mPlayer.get() ); - return libvlc_media_get_duration( media ); + return libvlc_media_get_duration( mMedia.get() ); } void SAL_CALL VLCPlayer::setMediaTime( double fTime ) -- cgit v1.2.3