diff --git a/vlc-android/jni/thumbnailer.c b/vlc-android/jni/thumbnailer.c index 2d41a598b16854fb335e3f3947eb8dde3b85a27b..1f65ed77de760c766d82506bbfb49cb0cdf20c83 100644 --- a/vlc-android/jni/thumbnailer.c +++ b/vlc-android/jni/thumbnailer.c @@ -263,12 +263,12 @@ jbyteArray Java_org_videolan_libvlc_LibVLC_getThumbnail(JNIEnv *env, jobject thi libvlc_media_player_play(mp); libvlc_media_player_set_position(mp, THUMBNAIL_POSITION); - int loops = 100; - for (;;) { - float pos = libvlc_media_player_get_position(mp); - if (pos > THUMBNAIL_POSITION || !loops--) + const int wait_time = 50000; + const int max_attempts = 100; + for (int i = 0; i < max_attempts; ++i) { + if (libvlc_media_player_is_playing(mp) && libvlc_media_player_get_position(mp) >= THUMBNAIL_POSITION) break; - usleep(50000); + usleep(wait_time); } /* Wait for the thumbnail to be generated. */