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);
  • 相关阅读:
    classpath详解
    xml详解
    pojo、po、dto、dao、bo区别
    事务的四种隔离级别
    spring相关知识点易错
    Orm
    100+个Java项目视频教程+源码+笔记,项目经验不用愁了!
    使用TM1629A芯片驱动米字数码管
    关于安装airflow遇到的问题
    Semver(语义化版本号)扫盲
  • 原文地址:https://www.cnblogs.com/qq78292959/p/2077000.html
Copyright © 2011-2022 走看看