美文网首页
FFmepg和VLC冲突问题

FFmepg和VLC冲突问题

作者: 偶是星爷 | 来源:发表于2019-02-15 15:54 被阅读4次

    使用FFmpeg和VLC的同学要注意了,MobileVLCKit内部重写了一个系统方法clock_gettime,这个方法FFmpeg的av_gettime_relative也用到了。由于VLC的实现问题,这个方法一直返回失败,导致获取的时间有问题。

    https://github.com/videolabs/libdsm/blob/master/compat/clock_gettime.c

    int clock_gettime(clockid_t clk_id, struct timespec *tp) {
        kern_return_t   ret;
        clock_serv_t    clk;
        clock_id_t clk_serv_id;
        mach_timespec_t tm;
    
        if (clk_id != CLOCK_REALTIME)
            return -1;
    
        clk_serv_id = clk_id == CLOCK_REALTIME ? CALENDAR_CLOCK : SYSTEM_CLOCK;
        if (KERN_SUCCESS == (ret = host_get_clock_service(mach_host_self(), clk_serv_id, &clk))) {
            if (KERN_SUCCESS == (ret = clock_get_time(clk, &tm))) {
                tp->tv_sec  = tm.tv_sec;
                tp->tv_nsec = tm.tv_nsec;
            }
        }
        if (KERN_SUCCESS != ret)
            return -1;
    
        return 0;
    }
    

    相关文章

      网友评论

          本文标题:FFmepg和VLC冲突问题

          本文链接:https://www.haomeiwen.com/subject/naqmeqtx.html