]> git.sesse.net Git - vlc/commitdiff
libvlcpp: fix the compilation and throw an exception if the constructor fail.
authorRémi Duraffort <ivoire@videolan.org>
Wed, 3 Feb 2010 09:13:55 +0000 (10:13 +0100)
committerRémi Duraffort <ivoire@videolan.org>
Wed, 3 Feb 2010 10:37:08 +0000 (11:37 +0100)
bindings/libvlcpp/src/media.cpp
bindings/libvlcpp/src/media_player.cpp

index 800bbd09d5ec3786bc9c97fc14a06d6919f88b5d..9e166528b6839cb41802d14196da006ecc565608 100644 (file)
@@ -28,8 +28,9 @@ using namespace libvlc;
 
 Media::Media( libVLC &libvlcInstance, const char *psz_mrl )
 {
-    Exception ex;
-    m_media = libvlc_media_new( libvlcInstance.m_instance, psz_mrl, &ex.ex );
+    m_media = libvlc_media_new( libvlcInstance.m_instance, psz_mrl );
+    if( !m_media )
+        throw libvlc_errmsg();
 }
 
 Media::Media( const Media& original )
@@ -54,8 +55,7 @@ void Media::addOption( const char *ppsz_options, libvlc_media_option_t flag )
 
 int64_t Media::duration()
 {
-    Exception ex;
-    return libvlc_media_get_duration( m_media, &ex.ex );
+    return libvlc_media_get_duration( m_media );
 }
 
 int Media::isPreparsed()
index 420c4ace0c3303baf780201548dd06cf82e483e8..e9f66d662b6252abd2b096e4e73971f5a69df7c7 100644 (file)
@@ -28,6 +28,8 @@ using namespace libvlc;
 MediaPlayer::MediaPlayer( libVLC &libvlcInstance )
 {
     m_player = libvlc_media_player_new( libvlcInstance.m_instance );
+    if( !m_player )
+        throw libvlc_errmsg();
     m_audio.setMediaPlayer( m_player );
     m_video.setMediaPlayer( m_player );
 }
@@ -35,7 +37,10 @@ MediaPlayer::MediaPlayer( libVLC &libvlcInstance )
 MediaPlayer::MediaPlayer( Media &media )
 {
     m_player = libvlc_media_player_new_from_media( media.m_media );
+    if( !m_player )
+        throw libvlc_errmsg();
     m_audio.setMediaPlayer( m_player );
+    m_video.setMediaPlayer( m_player );
 }
 
 MediaPlayer::~MediaPlayer()