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);
  • 相关阅读:
    vue part1 基础
    【转载】NBU异机恢复oracle
    【转载】跨域请求
    [转载] django contenttypes
    rest_framework setting
    rest_framework 视图/路由/渲染器/认证授权/节流
    【转载整理】 mysql百万级数据库分页性能
    rest_framework 分页
    rest_framework 序列化
    django middleware
  • 原文地址:https://www.cnblogs.com/qq78292959/p/2077000.html
Copyright © 2011-2022 走看看