[Android] [PATCH] thumbnailer: do not wait until video position becomes *strictly* superior to THUMBNAIL_POSITION.

Felix Abecassis felix.abecassis at gmail.com
Tue Nov 26 19:08:38 CET 2013


Because I don't want to call get_position before is_playing becomes true.
But you are right, it can be done.

2013/11/26 Rafaël Carré <rafael.carre at gmail.com>:
> Why not merge is_playing and get_position in one single loop?
>
>
> Felix Abecassis <felix.abecassis at gmail.com> a écrit :
>>
>> Avoid waiting unnecessarily when the media player reaches exactly
>> THUMBNAIL_POSITION. However we must now wait until libvlc updates the
>> position before polling with libvlc_media_player_get_position().
>> ---
>> vlc-android/jni/thumbnailer.c | 15 +++++++++++----
>> 1 file changed, 11 insertions(+), 4 deletions(-)
>>
>> diff --git a/vlc-android/jni/thumbnailer.c b/vlc-android/jni/thumbnailer.c
>> index 2d41a59..4086612 100644
>> --- a/vlc-android/jni/thumbnailer.c
>> +++ b/vlc-android/jni/thumbnailer.c
>> @@ -263,12 +263,19 @@ 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 (;;) {
>> +    int wait_time = 50000;
>> +    int max_attempts = 100;
>> +    for (int i = 0; i < max_attempts; ++i) {
>> +        int playing = libvlc_media_player_is_playing(mp);
>> +
>>     if (playing)
>> +            break;
>> +        usleep(wait_time);
>> +    }
>> +    for (int i = 0; i < max_attempts; ++i) {
>> float pos = libvlc_media_player_get_position(mp);
>> -        if (pos > THUMBNAIL_POSITION || !loops--)
>> +        if (pos >= THUMBNAIL_POSITION)
>> break;
>> -        usleep(50000);
>> +        usleep(wait_time);
>> }
>>
>> /* Wait for the thumbnail to be generated. */
>
>
> --
> Envoyé de mon téléphone Android avec K-9 Mail. Excusez la brièveté.
>
> _______________________________________________
> Android mailing list
> Android at videolan.org
> https://mailman.videolan.org/listinfo/android
>



-- 
Félix Abecassis
http://felix.abecassis.me


More information about the Android mailing list