]> git.sesse.net Git - vlc/blobdiff - test/libvlc/media_list_player.c
LibVLC core: remove exceptions
[vlc] / test / libvlc / media_list_player.c
index 870875f6d360ab74d13f61e7c95186aa712e2060..7e0717ac3577c534300ca81c055cb12dcebee00d 100644 (file)
@@ -101,14 +101,14 @@ 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, &ex);
-    catch ();
+    vlc = libvlc_new (argc, argv);
+    assert (vlc != NULL);
 
     md = libvlc_media_new (vlc, file, &ex);
     catch ();
 
-    ml = libvlc_media_list_new (vlc, &ex);
-    catch ();
+    ml = libvlc_media_list_new (vlc);
+    assert (ml != NULL);
 
     mlp = libvlc_media_list_player_new (vlc, &ex);
     catch ();
@@ -139,11 +139,12 @@ static void test_media_list_player_items_queue(const char** argv, int argc)
     queue_expected_item(&check, media_list_add_file_path(vlc, subitems, file));
     libvlc_media_list_release(subitems);
 
-    libvlc_media_list_player_set_media_list (mlp, ml, &ex);
+    libvlc_media_list_player_set_media_list (mlp, ml);
 
     libvlc_event_manager_t * em = libvlc_media_list_player_event_manager(mlp);
-    libvlc_event_attach(em, libvlc_MediaListPlayerNextItemSet, check_items_order_callback, &check, &ex);
-    catch ();
+    int val = libvlc_event_attach(em, libvlc_MediaListPlayerNextItemSet,
+                                  check_items_order_callback, &check);
+    assert(val == 0);
 
     libvlc_media_list_player_play(mlp, &ex);
     catch ();
@@ -151,14 +152,12 @@ static void test_media_list_player_items_queue(const char** argv, int argc)
     // Wait until all item are read
     wait_queued_items(&check);
 
-    libvlc_media_list_player_stop (mlp, &ex);
-    catch ();
+    libvlc_media_list_player_stop (mlp);
+    while (libvlc_media_list_player_is_playing (mlp))
+        sched_yield();
 
     libvlc_media_list_player_release (mlp);
-    catch ();
-
     libvlc_release (vlc);
-    catch ();
 }
 
 static void test_media_list_player_previous(const char** argv, int argc)
@@ -173,14 +172,14 @@ 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, &ex);
-    catch ();
+    vlc = libvlc_new (argc, argv);
+    assert (vlc != NULL);
 
     md = libvlc_media_new (vlc, file, &ex);
     catch ();
 
-    ml = libvlc_media_list_new (vlc, &ex);
-    catch ();
+    ml = libvlc_media_list_new (vlc);
+    assert (ml != NULL);
 
     mlp = libvlc_media_list_player_new (vlc, &ex);
     catch ();
@@ -193,21 +192,21 @@ static void test_media_list_player_previous(const char** argv, int argc)
     media_list_add_file_path (vlc, ml, file);
     media_list_add_file_path (vlc, ml, file);
 
-    libvlc_media_list_player_set_media_list (mlp, ml, &ex);
+    libvlc_media_list_player_set_media_list (mlp, ml);
 
     libvlc_media_list_player_play_item (mlp, md, &ex);
     catch ();
 
-    while (!libvlc_media_list_player_is_playing (mlp, &ex))
-        catch() ;
+    while (!libvlc_media_list_player_is_playing (mlp))
+        sched_yield();
 
     libvlc_media_release (md);
 
     libvlc_media_list_player_previous (mlp, &ex);
     catch ();
 
-    while (!libvlc_media_list_player_is_playing (mlp, &ex))
-        catch() ;
+    while (!libvlc_media_list_player_is_playing (mlp))
+        sched_yield();
 
     libvlc_media_list_player_pause (mlp, &ex);
     catch();
@@ -215,26 +214,27 @@ static void test_media_list_player_previous(const char** argv, int argc)
     libvlc_media_list_player_previous (mlp, &ex);
     catch ();
 
-    while (!libvlc_media_list_player_is_playing (mlp, &ex))
-        catch() ;
+    while (!libvlc_media_list_player_is_playing (mlp))
+        sched_yield();
 
-    libvlc_media_list_player_stop (mlp, &ex);
-    catch ();
+    libvlc_media_list_player_stop (mlp);
+
+    while (libvlc_media_list_player_is_playing (mlp))
+        sched_yield();
 
     libvlc_media_list_player_previous (mlp, &ex);
     catch ();
 
-    while (!libvlc_media_list_player_is_playing (mlp, &ex))
-        catch() ;
+    while (!libvlc_media_list_player_is_playing (mlp))
+        sched_yield();
 
-    libvlc_media_list_player_stop (mlp, &ex);
-    catch ();
+    libvlc_media_list_player_stop (mlp);
 
-    libvlc_media_list_player_release (mlp);
-    catch ();
+    while (libvlc_media_list_player_is_playing (mlp))
+        sched_yield();
 
+    libvlc_media_list_player_release (mlp);
     libvlc_release (vlc);
-    catch ();
 }
 
 static void test_media_list_player_next(const char** argv, int argc)
@@ -249,14 +249,14 @@ 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, &ex);
-    catch ();
+    vlc = libvlc_new (argc, argv);
+    assert (vlc != NULL);
 
     md = libvlc_media_new (vlc, file, &ex);
     catch ();
 
-    ml = libvlc_media_list_new (vlc, &ex);
-    catch ();
+    ml = libvlc_media_list_new (vlc);
+    assert (ml != NULL);
 
     mlp = libvlc_media_list_player_new (vlc, &ex);
     catch ();
@@ -269,21 +269,21 @@ static void test_media_list_player_next(const char** argv, int argc)
     media_list_add_file_path (vlc, ml, file);
     media_list_add_file_path (vlc, ml, file);
 
-    libvlc_media_list_player_set_media_list (mlp, ml, &ex);
+    libvlc_media_list_player_set_media_list (mlp, ml);
 
     libvlc_media_list_player_play_item (mlp, md, &ex);
     catch ();
 
     libvlc_media_release (md);
 
-    while (!libvlc_media_list_player_is_playing (mlp, &ex))
-        catch() ;
+    while (!libvlc_media_list_player_is_playing (mlp))
+        sched_yield();
 
     libvlc_media_list_player_next (mlp, &ex);
     catch ();
 
-    while (!libvlc_media_list_player_is_playing (mlp, &ex))
-        catch() ;
+    while (!libvlc_media_list_player_is_playing (mlp))
+        sched_yield();
 
     libvlc_media_list_player_pause (mlp, &ex);
     catch();
@@ -291,26 +291,26 @@ static void test_media_list_player_next(const char** argv, int argc)
     libvlc_media_list_player_next (mlp, &ex);
     catch ();
 
-    while (!libvlc_media_list_player_is_playing (mlp, &ex))
-        catch() ;
+    while (!libvlc_media_list_player_is_playing (mlp))
+        sched_yield();
 
-    libvlc_media_list_player_stop (mlp, &ex);
-    catch ();
+    libvlc_media_list_player_stop (mlp);
+
+    while (libvlc_media_list_player_is_playing (mlp))
+        sched_yield();
 
     libvlc_media_list_player_next (mlp, &ex);
     catch ();
 
-    while (!libvlc_media_list_player_is_playing (mlp, &ex))
-        catch() ;
+    while (!libvlc_media_list_player_is_playing (mlp))
+        sched_yield();
 
-    libvlc_media_list_player_stop (mlp, &ex);
-    catch ();
+    libvlc_media_list_player_stop (mlp);
+    while (libvlc_media_list_player_is_playing (mlp))
+        sched_yield();
 
     libvlc_media_list_player_release (mlp);
-    catch ();
-
     libvlc_release (vlc);
-    catch ();
 }
 
 static void test_media_list_player_pause_stop(const char** argv, int argc)
@@ -325,41 +325,39 @@ 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, &ex);
-    catch ();
+    vlc = libvlc_new (argc, argv);
+    assert (vlc != NULL);
 
     md = libvlc_media_new (vlc, file, &ex);
     catch ();
 
-    ml = libvlc_media_list_new (vlc, &ex);
-    catch ();
+    ml = libvlc_media_list_new (vlc);
+    assert (ml != NULL);
 
     mlp = libvlc_media_list_player_new (vlc, &ex);
 
     libvlc_media_list_add_media( ml, md, &ex );
     catch ();
 
-    libvlc_media_list_player_set_media_list( mlp, ml, &ex );
+    libvlc_media_list_player_set_media_list( mlp, ml );
 
     libvlc_media_list_player_play_item( mlp, md, &ex );
     catch ();
 
-    while (!libvlc_media_list_player_is_playing (mlp, &ex))
-        catch() ;
+    while (!libvlc_media_list_player_is_playing (mlp))
+        sched_yield();
 
     libvlc_media_list_player_pause (mlp, &ex);
     catch();
 
-    libvlc_media_list_player_stop (mlp, &ex);
-    catch ();
+    libvlc_media_list_player_stop (mlp);
 
-    libvlc_media_release (md);
+    while (libvlc_media_list_player_is_playing (mlp))
+        sched_yield();
 
+    libvlc_media_release (md);
     libvlc_media_list_player_release (mlp);
-    catch ();
-
     libvlc_release (vlc);
-    catch ();
 }
 
 static void test_media_list_player_play_item_at_index(const char** argv, int argc)
@@ -375,13 +373,13 @@ static void test_media_list_player_play_item_at_index(const char** argv, int arg
 
     libvlc_exception_init (&ex);
     vlc = libvlc_new (argc, argv, &ex);
-    catch ();
+    assert (vlc != NULL);
 
     md = libvlc_media_new (vlc, file, &ex);
     catch ();
 
-    ml = libvlc_media_list_new (vlc, &ex);
-    catch ();
+    ml = libvlc_media_list_new (vlc);
+    assert (ml != NULL);
 
     mlp = libvlc_media_list_player_new (vlc, &ex);
 
@@ -391,25 +389,22 @@ static void test_media_list_player_play_item_at_index(const char** argv, int arg
         catch ();
     }
 
-    libvlc_media_list_player_set_media_list( mlp, ml, &ex );
+    libvlc_media_list_player_set_media_list( mlp, ml );
 
     libvlc_media_list_player_play_item_at_index( mlp, 0, &ex );
     catch ();
 
-    while (!libvlc_media_list_player_is_playing (mlp, &ex))
-        catch() ;
+    while (!libvlc_media_list_player_is_playing (mlp))
+        sched_yield();
 
-    libvlc_media_list_player_stop (mlp, &ex);
-    catch ();
+    libvlc_media_list_player_stop (mlp);
 
-    libvlc_media_release (md);
-    catch ();
+    while (libvlc_media_list_player_is_playing (mlp))
+        sched_yield();
 
+    libvlc_media_release (md);
     libvlc_media_list_player_release (mlp);
-    catch ();
-
     libvlc_release (vlc);
-    catch ();
 }
 
 static void test_media_list_player_playback_options (const char** argv, int argc)
@@ -433,8 +428,8 @@ 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, &ex);
-    catch ();
+    vlc = libvlc_new (argc, argv);
+    assert (vlc != NULL);
 
     /*
      *   Create the following media tree:
@@ -463,23 +458,23 @@ static void test_media_list_player_playback_options (const char** argv, int argc
     md5 = libvlc_media_new (vlc, file, &ex);
     catch ();
 
-    ml = libvlc_media_list_new (vlc, &ex);
-    catch ();
+    ml = libvlc_media_list_new (vlc);
+    assert (ml != NULL);
 
-    ml2 = libvlc_media_list_new (vlc, &ex);
-    catch ();
+    ml2 = libvlc_media_list_new (vlc);
+    assert (ml2 != NULL);
 
-    ml3 = libvlc_media_list_new (vlc, &ex);
-    catch ();
+    ml3 = libvlc_media_list_new (vlc);
+    assert (ml3 != NULL);
 
-    ml4 = libvlc_media_list_new (vlc, &ex);
-    catch ();
+    ml4 = libvlc_media_list_new (vlc);
+    assert (ml4 != NULL);
 
-    ml5 = libvlc_media_list_new (vlc, &ex);
-    catch ();
+    ml5 = libvlc_media_list_new (vlc);
+    assert (ml5 != NULL);
 
-    ml6 = libvlc_media_list_new (vlc, &ex);
-    catch ();
+    ml6 = libvlc_media_list_new (vlc);
+    assert (ml6 != NULL);
 
     media_list_add_file_path (vlc, ml2, file);
     media_list_add_file_path (vlc, ml2, file);
@@ -521,66 +516,60 @@ static void test_media_list_player_playback_options (const char** argv, int argc
     mlp = libvlc_media_list_player_new (vlc, &ex);
     catch ();
 
-    libvlc_media_list_player_set_media_list (mlp, ml, &ex);
-    catch ();
+    libvlc_media_list_player_set_media_list (mlp, ml);
 
     // Test default playback mode
-    libvlc_media_list_player_set_playback_mode(mlp, libvlc_playback_mode_default, &ex);
-    catch ();
+    libvlc_media_list_player_set_playback_mode(mlp, libvlc_playback_mode_default);
 
     libvlc_media_list_player_play_item (mlp, md, &ex);
     catch ();
 
-    while (!libvlc_media_list_player_is_playing (mlp, &ex))
-        catch() ;
+    while (!libvlc_media_list_player_is_playing (mlp))
+        sched_yield();
 
     libvlc_media_release (md);
-    catch ();
     libvlc_media_release (md2);
-    catch ();
     libvlc_media_release (md3);
-    catch ();
     libvlc_media_release (md4);
-    catch ();
     libvlc_media_release (md5);
-    catch ();
 
-    libvlc_media_list_player_stop (mlp, &ex);
-    catch ();
+    libvlc_media_list_player_stop (mlp);
+
+    while (libvlc_media_list_player_is_playing (mlp))
+        sched_yield();
 
     // Test looping playback mode
     log ("Testing media player playback option - Loop\n");
-    libvlc_media_list_player_set_playback_mode(mlp, libvlc_playback_mode_loop, &ex);
-    catch ();
+    libvlc_media_list_player_set_playback_mode(mlp, libvlc_playback_mode_loop);
 
     libvlc_media_list_player_play_item (mlp, md, &ex);
     catch ();
 
-    while (!libvlc_media_list_player_is_playing (mlp, &ex))
-        catch() ;
+    while (!libvlc_media_list_player_is_playing (mlp))
+        sched_yield();
 
-    libvlc_media_list_player_stop (mlp, &ex);
-    catch ();
+    libvlc_media_list_player_stop (mlp);
+
+    while (libvlc_media_list_player_is_playing (mlp))
+        sched_yield();
 
     // Test repeat playback mode
     log ("Testing media player playback option - Repeat\n");
-    libvlc_media_list_player_set_playback_mode(mlp, libvlc_playback_mode_repeat, &ex);
-    catch ();
+    libvlc_media_list_player_set_playback_mode(mlp, libvlc_playback_mode_repeat);
 
     libvlc_media_list_player_play_item (mlp, md, &ex);
     catch ();
 
-    while (!libvlc_media_list_player_is_playing (mlp, &ex))
-        catch() ;
+    while (!libvlc_media_list_player_is_playing (mlp))
+        sched_yield();
 
-    libvlc_media_list_player_stop (mlp, &ex);
-    catch ();
+    libvlc_media_list_player_stop (mlp);
 
-    libvlc_media_list_player_release (mlp);
-    catch ();
+    while (libvlc_media_list_player_is_playing (mlp))
+        sched_yield();
 
+    libvlc_media_list_player_release (mlp);
     libvlc_release (vlc);
-    catch ();
 }