• Jean-Michel Trivi's avatar
    Fix stuttering at beginning of playback · 7ef5526a
    Jean-Michel Trivi authored
    When an AudioPlayer is created, its playstate is set to STOPPED
     three times. A stop command is translated into a pause + seek(0).
     When a seek is underway, any new seek command was postponed. So
     when playback would start after a first seek(0), the other seeks
     would be executed, causing the stutterring.
    This CL verifies that, when seeking to a certain time, any new
     seek command to the same point in time received while seeking
     is ignored.
    It also correct the update of mStateFlags, which should be done
     BEFORE the command is issued to the player, in case the seek
     complete notification happens syncronously with the seek command.
    
    This CL does NOT fix why a newly created player sees its playstate
     updated to STOPPED three times in a test app like slesTest_playUri
     before playback starts.
    
    Change-Id: Ic7627678735f559b911ea3c5a0e1e00d7d7534d2
    7ef5526a
android_GenericMediaPlayer.cpp 10.8 KB