diff options
author | Tuomas Virtanen <katajakasa@gmail.com> | 2016-01-10 17:53:58 +0200 |
---|---|---|
committer | Tuomas Virtanen <katajakasa@gmail.com> | 2016-01-10 17:53:58 +0200 |
commit | c29fb5865954310042aa833baf85064364883b28 (patch) | |
tree | d3d05cb836715a4de674676ea632b51f61611355 /include/kitchensink/kitplayer.h | |
parent | 5df7f9f1379ffe52049c96c0601c1d335cb78ebf (diff) |
Threaded decoding
Diffstat (limited to 'include/kitchensink/kitplayer.h')
-rw-r--r-- | include/kitchensink/kitplayer.h | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/include/kitchensink/kitplayer.h b/include/kitchensink/kitplayer.h index 3202272..8cae811 100644 --- a/include/kitchensink/kitplayer.h +++ b/include/kitchensink/kitplayer.h @@ -20,7 +20,8 @@ extern "C" { typedef enum Kit_PlayerState { KIT_STOPPED = 0, KIT_PLAYING, - KIT_FINISHED + KIT_PAUSED, + KIT_CLOSED } Kit_PlayerState; typedef struct Kit_AudioFormat { @@ -37,10 +38,12 @@ typedef struct Kit_VideoFormat { } Kit_VideoFormat; typedef struct Kit_Player { - SDL_Thread *dec_thread; Kit_PlayerState state; Kit_VideoFormat vformat; Kit_AudioFormat aformat; + SDL_Thread *dec_thread; + SDL_mutex *vmutex; + SDL_mutex *amutex; void *abuffer; void *vbuffer; void *vcodec_ctx; @@ -67,9 +70,13 @@ KIT_API void Kit_ClosePlayer(Kit_Player *player); KIT_API int Kit_UpdatePlayer(Kit_Player *player); KIT_API int Kit_RefreshTexture(Kit_Player *player, SDL_Texture *texture); KIT_API int Kit_GetAudioData(Kit_Player *player, unsigned char *buffer, size_t length); -KIT_API int Kit_GetPlayerState(Kit_Player *player); KIT_API void Kit_GetPlayerInfo(const Kit_Player *player, Kit_PlayerInfo *info); +KIT_API Kit_PlayerState Kit_GetPlayerState(const Kit_Player *player); +KIT_API void Kit_PlayerPlay(Kit_Player *player); +KIT_API void Kit_PlayerStop(Kit_Player *player); +KIT_API void Kit_PlayerPause(Kit_Player *player); + #ifdef __cplusplus } #endif |