From: Pierre d'Herbemont Date: Thu, 25 Feb 2010 22:02:15 +0000 (+0100) Subject: test: Simplify media_list_player test. X-Git-Tag: 1.1.0-pre1~666 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=ad3a30059635060be68935d167f8d9887a0a7bd9;p=vlc test: Simplify media_list_player test. --- diff --git a/test/libvlc/media_list_player.c b/test/libvlc/media_list_player.c index 169731de06..9084ce7968 100644 --- a/test/libvlc/media_list_player.c +++ b/test/libvlc/media_list_player.c @@ -61,7 +61,25 @@ static inline void wait_queued_items(struct check_items_order_data *check) { // Wait dummily for check_items_order_callback() to flag 'done_playing': while (!check->done_playing) - msleep(100000); + sched_yield(); +} + +static inline void wait_playing(libvlc_media_list_player_t *mlp) +{ + while (!libvlc_media_list_player_is_playing (mlp)) + sched_yield(); +} + +static inline void wait_stopped(libvlc_media_list_player_t *mlp) +{ + while (libvlc_media_list_player_is_playing (mlp)) + sched_yield(); +} + +static inline void stop_and_wait(libvlc_media_list_player_t *mlp) +{ + libvlc_media_list_player_stop (mlp); + wait_stopped (mlp); } static void check_items_order_callback(const libvlc_event_t * p_event, void * user_data) @@ -148,9 +166,7 @@ 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); - while (libvlc_media_list_player_is_playing (mlp)) - sched_yield(); + stop_and_wait (mlp); libvlc_media_list_player_release (mlp); libvlc_release (vlc); @@ -190,36 +206,26 @@ static void test_media_list_player_previous(const char** argv, int argc) libvlc_media_list_player_play_item (mlp, md); - while (!libvlc_media_list_player_is_playing (mlp)) - sched_yield(); + wait_playing (mlp); libvlc_media_release (md); libvlc_media_list_player_previous (mlp); - while (!libvlc_media_list_player_is_playing (mlp)) - sched_yield(); + wait_playing (mlp); libvlc_media_list_player_pause (mlp); libvlc_media_list_player_previous (mlp); - while (!libvlc_media_list_player_is_playing (mlp)) - sched_yield(); - - libvlc_media_list_player_stop (mlp); + wait_playing (mlp); - while (libvlc_media_list_player_is_playing (mlp)) - sched_yield(); + stop_and_wait (mlp); libvlc_media_list_player_previous (mlp); - while (!libvlc_media_list_player_is_playing (mlp)) - sched_yield(); - - libvlc_media_list_player_stop (mlp); + wait_playing (mlp); - while (libvlc_media_list_player_is_playing (mlp)) - sched_yield(); + stop_and_wait (mlp); libvlc_media_list_player_release (mlp); libvlc_release (vlc); @@ -261,33 +267,24 @@ static void test_media_list_player_next(const char** argv, int argc) libvlc_media_release (md); - while (!libvlc_media_list_player_is_playing (mlp)) - sched_yield(); + wait_playing (mlp); libvlc_media_list_player_next (mlp); - while (!libvlc_media_list_player_is_playing (mlp)) - sched_yield(); + wait_playing (mlp); libvlc_media_list_player_pause (mlp); libvlc_media_list_player_next (mlp); - while (!libvlc_media_list_player_is_playing (mlp)) - sched_yield(); + wait_playing (mlp); - libvlc_media_list_player_stop (mlp); - - while (libvlc_media_list_player_is_playing (mlp)) - sched_yield(); + stop_and_wait (mlp); libvlc_media_list_player_next (mlp); - while (!libvlc_media_list_player_is_playing (mlp)) - sched_yield(); + wait_playing (mlp); - libvlc_media_list_player_stop (mlp); - while (libvlc_media_list_player_is_playing (mlp)) - sched_yield(); + stop_and_wait (mlp); libvlc_media_list_player_release (mlp); libvlc_release (vlc); @@ -322,14 +319,11 @@ static void test_media_list_player_pause_stop(const char** argv, int argc) libvlc_media_list_player_play_item( mlp, md ); - while (!libvlc_media_list_player_is_playing (mlp)) - sched_yield(); + wait_playing (mlp); libvlc_media_list_player_pause (mlp); - libvlc_media_list_player_stop (mlp); - while (libvlc_media_list_player_is_playing (mlp)) - sched_yield(); + stop_and_wait (mlp); libvlc_media_release (md); libvlc_media_list_player_release (mlp); @@ -360,20 +354,14 @@ static void test_media_list_player_play_item_at_index(const char** argv, int arg assert(mlp); for (unsigned i = 0; i < 5; i++) - { libvlc_media_list_add_media( ml, md ); - } libvlc_media_list_player_set_media_list( mlp, ml ); libvlc_media_list_player_play_item_at_index( mlp, 0 ); - while (!libvlc_media_list_player_is_playing (mlp)) - sched_yield(); - - libvlc_media_list_player_stop (mlp); + wait_playing (mlp); - while (libvlc_media_list_player_is_playing (mlp)) - sched_yield(); + stop_and_wait (mlp); libvlc_media_release (md); libvlc_media_list_player_release (mlp); @@ -488,8 +476,7 @@ static void test_media_list_player_playback_options (const char** argv, int argc libvlc_media_list_player_play_item (mlp, md); - while (!libvlc_media_list_player_is_playing (mlp)) - sched_yield(); + wait_playing (mlp); libvlc_media_release (md); libvlc_media_release (md2); @@ -508,13 +495,9 @@ static void test_media_list_player_playback_options (const char** argv, int argc libvlc_media_list_player_play_item (mlp, md); - while (!libvlc_media_list_player_is_playing (mlp)) - sched_yield(); + wait_playing (mlp); - libvlc_media_list_player_stop (mlp); - - while (libvlc_media_list_player_is_playing (mlp)) - sched_yield(); + stop_and_wait (mlp); // Test repeat playback mode log ("Testing media player playback option - Repeat\n"); @@ -522,13 +505,9 @@ static void test_media_list_player_playback_options (const char** argv, int argc libvlc_media_list_player_play_item (mlp, md); - while (!libvlc_media_list_player_is_playing (mlp)) - sched_yield(); + wait_playing (mlp); - libvlc_media_list_player_stop (mlp); - - while (libvlc_media_list_player_is_playing (mlp)) - sched_yield(); + stop_and_wait (mlp); libvlc_media_list_player_release (mlp); libvlc_release (vlc);