引子
LIBVLC API解析系列文章的每一篇都尽量将相关联的API放在一起讲,随着学习的深入将不断更新本文,如若转载请保证文章完整性及保留博客地址。
这是LIBVLC API解析系列的第二篇,主要介绍VLC日志相关 API。
改定履历
API
libvlc_log_* 函数提供对LibVLC消息日志的访问,用于调试或用于高级用户
- VLC_PUBLIC_API unsigned libvlc_get_log_verbosity( const libvlc_instance_t *p_instance );
- VLC_PUBLIC_API unsigned libvlc_get_log_verbosity( const libvlc_instance_t *p_instance );
- VLC_PUBLIC_API libvlc_log_t *libvlc_log_open( libvlc_instance_t *p_instance );
- VLC_PUBLIC_API void libvlc_log_close( libvlc_log_t *p_log );
- VLC_PUBLIC_API unsigned libvlc_log_count( const libvlc_log_t *p_log );
- VLC_PUBLIC_API void libvlc_log_clear( libvlc_log_t *p_log );
- VLC_PUBLIC_API libvlc_log_iterator_t *libvlc_log_get_iterator( const libvlc_log_t *p_log );
- VLC_PUBLIC_API void libvlc_log_iterator_free( libvlc_log_iterator_t *p_iter );
- VLC_PUBLIC_API int libvlc_log_iterator_has_next( const libvlc_log_iterator_t *p_iter );
-
VLC_PUBLIC_API libvlc_log_message_t *libvlc_log_iterator_next( libvlc_log_iterator_t *p_iter,
libvlc_log_message_t *p_buffer );
例程
之前说了,呆龙在做一个简易播放器时需要做日志播放器处理。上面讲了一些,下面给出个简单例子:
背景:对于简易LIBVLC日志处理,我们有三点未知:
1. WHEN:播放器运行时,libvlc何时打出日志;
2. WHERE:我们应该在应用代码的什么地方打日志;
3. HOW:如何利用LIBVLC给出的以上日志API打日志;
基于以上三点,我的想法是单独开一个线程,每隔一秒检查是否有日志,有则打出,没有继续
例程代码可到这里下载: