diff --git a/ijkmediaplayer/jni/ijkplayer/ijkplayer.c b/ijkmediaplayer/jni/ijkplayer/ijkplayer.c index d1fb68b5231dbb3549581e695051758783379a32..14e647b0fa2af1573e6e4aa1a5459497bbe19fca 100644 --- a/ijkmediaplayer/jni/ijkplayer/ijkplayer.c +++ b/ijkmediaplayer/jni/ijkplayer/ijkplayer.c @@ -304,33 +304,46 @@ int ijkmp_stop(IjkMediaPlayer *mp) return retval; } -int ijkmp_get_video_width(IjkMediaPlayer *mp) +void ijkmp_seek_to(IjkMediaPlayer *mp, int msec) { - // FIXME: implement - return 0; +// FIXME: implement } bool ijkmp_is_playing(IjkMediaPlayer *mp) { -// FIXME: implement + assert(mp); + if (mp->mp_state == MP_STATE_PREPARED || + mp->mp_state == MP_STATE_STARTED) { + return true; + } + return false; } -int ijkmp_get_current_position(IjkMediaPlayer *mp) +static int ijkmp_get_current_position_l(IjkMediaPlayer *mp) { -// FIXME: implement + // FIXME: implement return 0; } +int ijkmp_get_current_position(IjkMediaPlayer *mp) +{ + assert(mp); + pthread_mutex_lock(&mp->mutex); + int retval = ijkmp_stop_l(mp); + pthread_mutex_unlock(&mp->mutex); + return retval; +} + int ijkmp_get_duration(IjkMediaPlayer *mp) { -// FIXME: implement + // FIXME: implement return 0; } void ijkmp_reset(IjkMediaPlayer *mp) { -// FIXME: implement + // FIXME: implement } void ijkmp_set_vout(IjkMediaPlayer *mp, SDL_Vout *vout)