zoukankan      html  css  js  c++  java
  • [流媒体]VLC主要模块

    libvlccore

    vlcthread:

    vlc线程是libvlccore的重要组成部分,我们在src文件夹下面android、os2、posix、win32等文件夹下包含thread.c文件,说明VLC分别为这些平台实现了线程模块。vlc线程的头文件vlc_threads.h在include文件夹下。文件定义了很多线程相关的函数原型,但VLC对这些内部函数的注释说明很少,只在github上有少许说明,需要我们自己摸索:

     线程建立与退出:

    VLC_API int vlc_clone(vlc_thread_t *, void * (*) (void *), void *, int) VLC_USED;
    VLC_API void vlc_cancel(vlc_thread_t);
    VLC_API void vlc_join(vlc_thread_t, void **);
    VLC_API void vlc_control_cancel (int cmd, ...);

    vlc_clone是线程创建函数;vlc_cancel和vlc_join是线程退出函数,vlc_cancel通知系统在下次线程运行到退出点时(在到达退出点之前通知可能会被取消),完成线程资源的清理工作,对windows系统而言其实现是一个APC(延迟调用过程),vlc_join则要关心线程是否真正结束了,这两个函数可以理解为一个是同步的,一个是异步的。不过说实话,这join名是啥意思真让人费解。

    • input_thread_private p
    • input_source_t          input
    • demux_t                  *p_demux
    • stream_t                  *s
  • 相关阅读:
    利用阻止冒泡解决点击页面除去本身触发事件
    vijos p1304 回文数
    vijos p1484 ISBN号码
    vijos p1449 字符串还原
    vijos p1217 乒乓球
    vijos P1911 珠心算测验
    vijos p1001 谁拿了最多奖学金
    vijos P1848 记数问题
    Catalan公式
    【HDOJ】2104 hide handkerchief
  • 原文地址:https://www.cnblogs.com/victor-ma/p/4186429.html
Copyright © 2011-2022 走看看