From dd1e8bad853c63c7df40ba28ae62137fc8e5001a Mon Sep 17 00:00:00 2001 From: =?utf8?q?R=C3=A9mi=20Denis-Courmont?= Date: Sat, 6 Feb 2010 20:35:26 +0200 Subject: [PATCH] LibVLC: remove exceptions infrastructure --- include/vlc/libvlc.h | 44 --------------------------------- include/vlc/libvlc_structures.h | 17 ------------- src/control/core.c | 43 +------------------------------- src/libvlc.sym | 4 --- test/libvlc/core.c | 1 - test/libvlc/events.c | 5 ---- test/libvlc/libvlc_additions.h | 8 ++---- test/libvlc/media_list.c | 6 ++--- test/libvlc/media_list_player.c | 6 ----- test/libvlc/media_player.c | 3 --- test/libvlc/meta.c | 1 - test/libvlc/test.h | 25 ------------------- 12 files changed, 5 insertions(+), 158 deletions(-) diff --git a/include/vlc/libvlc.h b/include/vlc/libvlc.h index f364dab332..73c039eabc 100644 --- a/include/vlc/libvlc.h +++ b/include/vlc/libvlc.h @@ -61,50 +61,6 @@ extern "C" { #include #include -/***************************************************************************** - * Exception handling - *****************************************************************************/ -/** \defgroup libvlc_exception libvlc_exception - * \ingroup libvlc_core - * LibVLC Exceptions handling - * @{ - */ - -/** - * Initialize an exception structure. This can be called several times to - * reuse an exception structure. - * - * \param p_exception the exception to initialize - */ -VLC_PUBLIC_API void libvlc_exception_init( libvlc_exception_t *p_exception ); - -/** - * Has an exception been raised? - * - * \param p_exception the exception to query - * \return 0 if the exception was raised, 1 otherwise - */ -VLC_PUBLIC_API int -libvlc_exception_raised( const libvlc_exception_t *p_exception ); - -/** - * Raise an exception. - * - * \param p_exception the exception to raise - */ -VLC_PUBLIC_API void -libvlc_exception_raise( libvlc_exception_t *p_exception ); - -/** - * Clear an exception object so it can be reused. - * The exception object must have be initialized. - * - * \param p_exception the exception to clear - */ -VLC_PUBLIC_API void libvlc_exception_clear( libvlc_exception_t * ); - -/**@} */ - /***************************************************************************** * Error handling *****************************************************************************/ diff --git a/include/vlc/libvlc_structures.h b/include/vlc/libvlc_structures.h index 4e5e1c5d4d..44a3718671 100644 --- a/include/vlc/libvlc_structures.h +++ b/include/vlc/libvlc_structures.h @@ -38,23 +38,6 @@ extern "C" { /** This structure is opaque. It represents a libvlc instance */ typedef struct libvlc_instance_t libvlc_instance_t; -/***************************************************************************** - * Exceptions - *****************************************************************************/ - -/** \defgroup libvlc_exception libvlc_exception - * \ingroup libvlc_core - * LibVLC Exceptions handling - * @{ - */ - -typedef struct libvlc_exception_t -{ - int b_raised; -} libvlc_exception_t; - -/**@} */ - /***************************************************************************** * Time *****************************************************************************/ diff --git a/src/control/core.c b/src/control/core.c index 5131ab3c0b..8bc7fd12ad 100644 --- a/src/control/core.c +++ b/src/control/core.c @@ -1,5 +1,5 @@ /***************************************************************************** - * core.c: Core libvlc new API functions : initialization, exceptions handling + * core.c: Core libvlc new API functions : initialization ***************************************************************************** * Copyright (C) 2005 the VideoLAN team * $Id$ @@ -37,47 +37,6 @@ static const char nomemstr[] = "Insufficient memory"; -/************************************************************************* - * Exceptions handling - *************************************************************************/ -void libvlc_exception_init( libvlc_exception_t *p_exception ) -{ - p_exception->b_raised = 0; -} - -void libvlc_exception_clear( libvlc_exception_t *p_exception ) -{ - if( NULL == p_exception ) - return; - p_exception->b_raised = 0; - libvlc_clearerr (); -} - -int libvlc_exception_raised( const libvlc_exception_t *p_exception ) -{ - return (NULL != p_exception) && p_exception->b_raised; -} - -static void libvlc_exception_not_handled( const char *psz ) -{ - fprintf( stderr, "*** LibVLC Exception not handled: %s\nSet a breakpoint in '%s' to debug.\n", - psz, __func__ ); - abort(); -} - -void libvlc_exception_raise( libvlc_exception_t *p_exception ) -{ - /* Does caller care about exceptions ? */ - if( p_exception == NULL ) { - /* Print something, so that lazy third-parties can easily - * notice that something may have gone unnoticedly wrong */ - libvlc_exception_not_handled( libvlc_errmsg() ); - return; - } - - p_exception->b_raised = 1; -} - libvlc_instance_t * libvlc_new( int argc, const char *const *argv ) { libvlc_instance_t *p_new = malloc (sizeof (*p_new)); diff --git a/src/libvlc.sym b/src/libvlc.sym index 88ce19f7e8..d0a21c4252 100644 --- a/src/libvlc.sym +++ b/src/libvlc.sym @@ -30,10 +30,6 @@ libvlc_event_manager_register_event_type libvlc_event_manager_release libvlc_event_send libvlc_event_type_name -libvlc_exception_clear -libvlc_exception_init -libvlc_exception_raise -libvlc_exception_raised libvlc_free libvlc_get_changeset libvlc_get_compiler diff --git a/test/libvlc/core.c b/test/libvlc/core.c index fe274a7cb3..3871e5e819 100644 --- a/test/libvlc/core.c +++ b/test/libvlc/core.c @@ -29,7 +29,6 @@ static void test_core (const char ** argv, int argc) log ("Testing core\n"); - libvlc_exception_init (&ex); vlc = libvlc_new (argc, argv); assert (vlc != NULL); diff --git a/test/libvlc/events.c b/test/libvlc/events.c index 17d5a8aedd..2c613216fc 100644 --- a/test/libvlc/events.c +++ b/test/libvlc/events.c @@ -61,7 +61,6 @@ static void test_events (const char ** argv, int argc) libvlc_media_player_t *mi; libvlc_event_manager_t *em; bool callback_was_called; - libvlc_exception_t ex; libvlc_event_type_t mi_events[] = { libvlc_MediaPlayerPlaying, libvlc_MediaPlayerPaused, @@ -74,7 +73,6 @@ static void test_events (const char ** argv, int argc) log ("Testing events\n"); - libvlc_exception_init (&ex); vlc = libvlc_new (argc, argv); assert (vlc != NULL); @@ -125,10 +123,7 @@ static void test_events (const char ** argv, int argc) libvlc_event_detach (em, mi_events[i], test_events_dummy_callback, &callback_was_called); libvlc_media_player_release (mi); - catch (); - libvlc_release (vlc); - catch (); } int main (void) diff --git a/test/libvlc/libvlc_additions.h b/test/libvlc/libvlc_additions.h index e029ad748b..c3f33dd0b2 100644 --- a/test/libvlc/libvlc_additions.h +++ b/test/libvlc/libvlc_additions.h @@ -21,12 +21,8 @@ static void* media_list_add_file_path(libvlc_instance_t *vlc, libvlc_media_list_t *ml, const char * file_path) { - libvlc_media_t *md = libvlc_media_new (vlc, file_path, &ex); - catch (); - - libvlc_media_list_add_media (ml, md, &ex); - catch (); - + libvlc_media_t *md = libvlc_media_new (vlc, file_path); + libvlc_media_list_add_media (ml, md); libvlc_media_release (md); return md; } diff --git a/test/libvlc/media_list.c b/test/libvlc/media_list.c index a8e5f02493..9d1399c1b2 100644 --- a/test/libvlc/media_list.c +++ b/test/libvlc/media_list.c @@ -32,7 +32,6 @@ static void test_media_list (const char ** argv, int argc) log ("Testing media_list\n"); - libvlc_exception_init (&ex); vlc = libvlc_new (argc, argv); assert (vlc != NULL); @@ -82,8 +81,8 @@ static void test_media_list (const char ** argv, int argc) assert ( libvlc_media_list_item_at_index (ml, 2) == md3 ); - /* test if give exceptions, when it should */ - /* have 4 items, so index 4 should give exception */ + /* test if give errors, when it should */ + /* have 4 items, so index 4 should give error */ ret = libvlc_media_list_remove_index (ml, 4); assert (ret == -1); @@ -120,7 +119,6 @@ static void test_media_list (const char ** argv, int argc) libvlc_media_list_release (ml); libvlc_release (vlc); - catch (); } int main (void) diff --git a/test/libvlc/media_list_player.c b/test/libvlc/media_list_player.c index 7e0717ac35..cebaefc685 100644 --- a/test/libvlc/media_list_player.c +++ b/test/libvlc/media_list_player.c @@ -100,7 +100,6 @@ static void test_media_list_player_items_queue(const char** argv, int argc) log ("Testing media player item queue-ing\n"); - libvlc_exception_init (&ex); vlc = libvlc_new (argc, argv); assert (vlc != NULL); @@ -171,7 +170,6 @@ static void test_media_list_player_previous(const char** argv, int argc) log ("Testing media player previous()\n"); - libvlc_exception_init (&ex); vlc = libvlc_new (argc, argv); assert (vlc != NULL); @@ -248,7 +246,6 @@ static void test_media_list_player_next(const char** argv, int argc) log ("Testing media player next()\n"); - libvlc_exception_init (&ex); vlc = libvlc_new (argc, argv); assert (vlc != NULL); @@ -324,7 +321,6 @@ static void test_media_list_player_pause_stop(const char** argv, int argc) log ("Testing play and pause of %s using the media list.\n", file); - libvlc_exception_init (&ex); vlc = libvlc_new (argc, argv); assert (vlc != NULL); @@ -371,7 +367,6 @@ static void test_media_list_player_play_item_at_index(const char** argv, int arg log ("Testing play_item_at_index of %s using the media list.\n", file); - libvlc_exception_init (&ex); vlc = libvlc_new (argc, argv, &ex); assert (vlc != NULL); @@ -427,7 +422,6 @@ static void test_media_list_player_playback_options (const char** argv, int argc log ("Testing media player playback options()\n"); - libvlc_exception_init (&ex); vlc = libvlc_new (argc, argv); assert (vlc != NULL); diff --git a/test/libvlc/media_player.c b/test/libvlc/media_player.c index cec2cb9388..8df6b10311 100644 --- a/test/libvlc/media_player.c +++ b/test/libvlc/media_player.c @@ -32,7 +32,6 @@ static void test_media_player_play_stop(const char** argv, int argc) log ("Testing play and pause of %s\n", file); - libvlc_exception_init (&ex); vlc = libvlc_new (argc, argv); assert (vlc != NULL); @@ -70,7 +69,6 @@ static void test_media_player_pause_stop(const char** argv, int argc) log ("Testing pause and stop of %s\n", file); - libvlc_exception_init (&ex); vlc = libvlc_new (argc, argv); assert (vlc != NULL); @@ -90,7 +88,6 @@ static void test_media_player_pause_stop(const char** argv, int argc) libvlc_state_t state; do { state = libvlc_media_player_get_state (mi); - catch (); } while( state != libvlc_Playing && state != libvlc_Error && state != libvlc_Ended ); diff --git a/test/libvlc/meta.c b/test/libvlc/meta.c index c4131ebbb9..49403e2d61 100644 --- a/test/libvlc/meta.c +++ b/test/libvlc/meta.c @@ -34,7 +34,6 @@ static void test_meta (const char ** argv, int argc) log ("Testing meta\n"); - libvlc_exception_init (&ex); vlc = libvlc_new (argc, argv); assert (vlc != NULL); diff --git a/test/libvlc/test.h b/test/libvlc/test.h index f706d3ea2b..2a6c84b6e8 100644 --- a/test/libvlc/test.h +++ b/test/libvlc/test.h @@ -46,7 +46,6 @@ /********************************************************************* * Some useful global var */ -static libvlc_exception_t ex; static const char * test_defaults_args[] = { "-v", @@ -72,30 +71,6 @@ static const char test_default_sample[] = SRCDIR"/samples/empty.voc"; #define log( ... ) printf( "testapi: " __VA_ARGS__ ); -/* test if we have exception */ -static inline bool have_exception (void) -{ - if (libvlc_exception_raised (&ex)) - { - libvlc_exception_clear (&ex); - return true; - } - else - return false; -} - -#define catch() catch_with_info(__FILE__, __FUNCTION__, __LINE__) - -static inline void catch_with_info (const char * file, const char * func, unsigned line) -{ - if (libvlc_exception_raised (&ex)) - { - fprintf (stderr, "%s:%s():%d Exception: %s\n", file, func, line, libvlc_errmsg ()); - abort (); - } - libvlc_exception_clear (&ex); -} - static inline void test_init (void) { (void)test_default_sample; /* This one may not be used */ -- 2.39.2