// 引入頭文件
#include <CoreVideo/CoreVideo.h>
CVPixelBufferRef ijkmp_get_pixelbuffer(IjkMediaPlayer *mp);
int ijkmp_pixelbuffer_mutex_init(IjkMediaPlayer *mp);
int ijkmp_pixelbuffer_mutex_lock(IjkMediaPlayer *mp);
int ijkmp_pixelbuffer_mutex_unlock(IjkMediaPlayer *mp);
4锌云、在ijkplayer.c添加:
CVPixelBufferRef ijkmp_get_pixelbuffer(IjkMediaPlayer *mp)
{
return mp->ffplayer->szt_pixelbuffer;
}
int ijkmp_pixelbuffer_mutex_init(IjkMediaPlayer *mp)
{
int ret = ffp_pixelbuffer_mutex_init(mp->ffplayer);
return ret;
}
int ijkmp_pixelbuffer_mutex_lock(IjkMediaPlayer *mp)
{
int ret = ffp_pixelbuffer_lock(mp->ffplayer);
return ret;
}
int ijkmp_pixelbuffer_mutex_unlock(IjkMediaPlayer *mp)
{
int ret = ffp_pixelbuffer_unlock(mp->ffplayer);
return ret;
}
5、在ff_ffplay.h添加:
image.png
int ffp_pixelbuffer_mutex_init(FFPlayer *ffp);
int ffp_pixelbuffer_lock(FFPlayer *ffp);
int ffp_pixelbuffer_unlock(FFPlayer *ffp);
6吁脱、在ff_ffplay.c添加:
int ffp_pixelbuffer_mutex_init(FFPlayer *ffp)
{
int ret = pthread_mutex_init(&ffp->szt_pixelbuffer_mutex, NULL);
return ret;
}
int ffp_pixelbuffer_lock(FFPlayer *ffp)
{
int ret = pthread_mutex_lock(&ffp->szt_pixelbuffer_mutex);
return ret;
}
int ffp_pixelbuffer_unlock(FFPlayer *ffp)
{
int ret = pthread_mutex_unlock(&ffp->szt_pixelbuffer_mutex);
return ret;
}