zoukankan      html  css  js  c++  java
  • 为vlc增加libvlc_MediaPlayerBuffering事件处理(原创)

    生成Buffer流程:
    es_out.c->EsOutDecodersStopBuffering>>event.c->input_SendEventCache
    增加接口的流程:
    media_player.c->input_event_changed>>
    1、增加newval.i_int == INPUT_EVENT_CACHE的处理判断;
    通知libvlc_MediaPlayerBuffering事件处理。
    2、增加libvlc_MediaPlayerBuffering事件的处理,
    修改libvlc_events.h中的libvlc_event_t结构,增加
    /* buffering处理*/
    struct
    {
         float new_cache;
    } media_player_buffering_changed;
    结构;
    3、在newval.i_int == INPUT_EVENT_CACHE处理中加入如下代码
    /* */
    event.type = libvlc_MediaPlayerBuffering;
    event.u.media_player_buffering_changed.new_cache =
          var_GetFloat( p_input, "cache" );
    libvlc_event_send( p_mi->p_event_manager, &event );
    全部重新编译,OK。
    这样就可以在事件处理中直接得到Buffering信息了。
    libvlc_event_attach(eventManager, libvlc_MediaPlayerBuffering,
                                handle_Buffering_changed_event, this);
    libvlc_event_detach(eventManager, libvlc_MediaPlayerBuffering,
                                handle_Buffering_changed_event, this);
  • 相关阅读:
    导航守卫
    asnyc
    扩展运算符 ···
    模版字符串
    iterator迭代器
    箭头函数
    解构
    变量let const
    vueUI可视化
    python图像特征提取
  • 原文地址:https://www.cnblogs.com/qq78292959/p/2077000.html
Copyright © 2011-2022 走看看