-
Glenn Kasten authored
As the media framework does not directly support marker and periodic callbacks, we use a retriggerable one-shot timer at application level to emulate this. This has the advantage of being faster, but is also less accurate than if it were in the framework. Details: - Get position is now synchronous and (mostly) lock-free - Fix regression in SL_PLAYEVENT_HEADATMARKER and SL_PLAYEVENTHEADATNEWPOS - Fix SMP races in GetPlayState, GetCallbackEventsMask, GetMarkerPosition, GetPositionUpdatePeriod - AudioSfDecoder was not updating mPositionMsec when getPositionUsec failed - Updating attributes is relatively expensive, so only do it when a significant change in SetMarkerPosition, ClearMarkerPosition, SetPositionUpdatePeriod - Error on unknown message type in onMessageReceived - Delete an obsolete FIXME - "Clearing" a marker is now equivalent to disabling the marker event, and the default marker position is cleared. - use Android time units and types (int32_t, ANDROID_UNKNOWN_TIME, etc.) where appropriate instead of SLmillisecond and SL_TIME_UNKNOWN Change-Id: Ib78bafa20d883b8d927364769663837389b6ea1d
5933f3d5