#ifndef __ANDROID_DISPDEJITTER_HELPER_H__ #define __ANDROID_DISPDEJITTER_HELPER_H__ #include #include namespace android { class DispDeJitter; class GraphicBuffer; class DispDeJitterHelper { public: static DispDeJitterHelper& getInstance(); virtual ~DispDeJitterHelper(); DispDeJitter* createDispDeJitter(); void destroyDispDeJitter(DispDeJitter* dispDeJitter); bool shouldPresentNow(DispDeJitter* dispDeJitter, const std::string& name, const sp& gb, const nsecs_t& expectedPresent, const bool isDue, const int pendingBufferCount); void markTimestamp(const sp& gb, const uint64_t q_time); protected: DispDeJitterHelper(); void* mSoHandle; DispDeJitter* (*mFnCreateDispDeJitter)(); void (*mFnDestroyDispDeJitter)(DispDeJitter*); bool (*mFnShouldDelayPresent)(DispDeJitter*, const std::string&, const sp&, const nsecs_t&, const int); void (*mFnMarkTimestamp)(const sp&, const uint64_t); }; } // namespace android #endif // __ANDROID_DISPDEJITTER_HELPER_H__