VS2019编译 当前最新版chromium

VS2019编译 当前最新版chromium

之前编译过webrtc和chromium, 由于长时间没用,被我删除了,

最近在最新版本的google浏览器上遇到了播放器兼容性问题,老版本的google浏览器是没问题,IE, 火狐浏览器也没问题,

通过看google浏览器的打印日志和chromium媒体层的代码,排查下来,是ffmpeg调用解码器解码AAC失败了,有个别数据解码失败,我们是使用的libfdk,

怀疑是AAC数据打包进MP4的时候某些AAC数据被脏掉了,基本上就定位到这里,这两天看了下chromium的代码,又有点想搞下这个东西,

感觉新版的浏览器兼容性不太好,对数据正确的敏感性比较强了,于是又编译下chromium,也是为了断点调试进去,准确定位下,分析具体原因,这次用VS2019编译最新版本的浏览器,

后面再编译个带有调试符号的ffmpeg库。

1、工具

下载depot_tools,并配置环境变量,PATH下添加depot_tools的解压路径E:\src\depot_tools

 

2、设置代理

控制台管理员权限执行

git config --global http.proxy 127.0.0.1:1080
git config --global https.proxy 127.0.0.1:1080

netsh winhttp set proxy 127.0.0.1:1080

set HTTP_PROXY=127.0.0.1:1080 
set HTTPS_PROXY=127.0.0.1:1080

 

3、cmd运行gclient

 

4、配置VS的版本,环境变量设置

DEPOT_TOOLS_WIN_TOOLCHAIN = 0

GYP_MSVS_VERSION = 2019

GYP_MSVS_OVERRIDE_PATH = D:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise

 

5、 下载源码

最新版本的比较大,15G,比两年前又多了很多。

命令行执行fetch chromium

中间断了的话,可以通过gclient sync来同步代码,我下载的时候没有断过。

 

6、生成vs2019解决方案 cd chromium 源码目录下 gn gen --ide=vs out\Default

 

 

7、编译生成可执行文件 执行 ninja -C out/Default chrome 编译,也可以在vs2019里面打开all.sln build编译, 时间比较久,10个小时才完成。

 

 

 

 

8、单步调试,分析相关google浏览器行为,这里我是确认我mp4播放的兼容性问题

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/462191.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

37signals为何砍掉中层?个人点评,高素质人才队伍工作,靠的是全体发挥综合能力,而不是靠......

为什么80%的码农都做不了架构师?>>> 37signals为何砍掉中层? 分享到 本文来源于:中欧商业评论 作者:潘芸 发表于:2013-08-21 11:09:41 http://www.cyzone.cn/a/20130821/244571.html 37signals有多位程序员&#…

k-means k均值聚类的弱点/缺点

Similar to other algorithm, K-mean clustering has many weaknesses: 1 When the numbers of data are not so many, initial grouping will determine the cluster significantly. 当数据数量不是足够大时,初始化分组很大程度上决定了聚类,影响聚类…

Codeforces 360E 贪心 最短路

题意及思路&#xff1a;https://blog.csdn.net/huanghongxun/article/details/49846927 在假设所有边都是最大值的情况下&#xff0c;如果第一个人能比第二个人先到&#xff0c;那就缩短这条边。 代码&#xff1a; #include <bits/stdc.h> #define LL long long using na…

jni编译h文件

1.生成 class文件 到原文件目录&#xff08;*为java文件名称&#xff09; javac *.java 2.生成jni.h 到java目录&#xff08;*为java文件里面的类名称&#xff09; javah -jni com.example.widget.* 3.jse13 版本生成jni.h 到原文件目录&#xff08;*为java文件名称&#xff…

事件相关js函数

<script type"text/javascript">//功能:停止事件冒泡 function stopBubble(e) {//如果提供了事件对象&#xff0c;则这是一个非IE浏览器 if (e && e.stopPropagation)//因此它支持W3C的stopPropagation()方法 e.stop…

java嵌套循环

嵌套循环&#xff1a;循环里套循环 假设外循环的循环次数是m次,内循环的循环次数是n次&#xff0c;那么内层循环的循环次数需要 m * n次。 Eg&#xff1a;利用for循环语句的嵌套打印出乘法口诀表 class break1 { public static void main(String[] args) { for(int i1;i<10;…

计算收益复利的小例子

一个计算收益复利的小例子&#xff0c; 用c语言简单编程&#xff0c; 如 test 30 20 40&#xff1b; 30以万为单位&#xff0c;20是年收益百分比&#xff0c;40是年数。 #include <stdio.h> #include <stdlib.h>#define YEAR_GET_TYPE 0 // 年测试类型…

uva 10026 Shoemaker's Problem(排序)

题目连接&#xff1b;10026 Shoemakers Problem 题目大意&#xff1a;有一个鞋匠接了n双要修的鞋子&#xff0c; 修每双鞋需要d天&#xff0c;每推迟一天修将亏损val元&#xff0c;问按什么样的顺序修鞋可以保证损失最少&#xff0c;如果有多种情况输出字典序最小的。 解题思路…

ExtAspNet学习-利用AppBox框架快速创建项目(五)—完成项目含源代码

我们前边四个部分已经完成了框架需要的基础配置&#xff0c; 现在我们来完成项目 1、Subsonic 配置&#xff0c;首先在OraSurvey.DAO中添加App.config配置相关信息 View Code 1 <?xml version"1.0" encoding"utf-8" ?> 2 <configuration> 3…

坦克大战系列6-API常用函数说明2

前言 本篇主要介绍RobocodeAPI中的各种事件函数的说明&#xff0c;便于使用函数时有更清晰的思路。 子弹事件函数 onBulletHit() 当击中对方时 public void onBulletHit(BulletHitEvent event) 当你的子弹击中对方时就会调用这个方法。如果你想在子弹击中对方时作处理的话&…

linux+apache+mysql+php

linuxapachemysqlphp设置mysqll测试1网站注意&#xff1a;在安装或者测试的时候出现乱码的话&#xff0c;可以修改浏览器的编码一项将其改为适合的编码输入站点http://服务器地址/ecshop url会自动跳转到服务器地址/ecshop/install/index.php安装过程中会提示目录文件不可写&am…

模拟纳指stock的小例子

一个模拟纳指stock的小例子&#xff1a; #include <stdio.h> #include <stdlib.h>#define MAX_YEAR 100 #define ONE_YEAR_DAYS 240#define BEGIN_YUAN 10000 #define ONE_ADD_YUAN 4000 #define ONE_ADD_DAY 20 #define GOLD_FLOW…

android4.0.3 修改启动动画和开机声音

1. Linux 系统启动&#xff0c;出现Linux小企鹅画面(reboot)(Android 1.5及以上版本已经取消加载图片)&#xff1b;2. Android平台启动初始化&#xff0c;出现"A N D R I O D"文字字样画面&#xff1b;3. Android平台图形系统启动&#xff0c;出现含闪动的ANDROID字样…

函数式C代码

代码如下&#xff1a; #include <stdlib.h> #include <stdio.h> typedef char String[32]; typedef FILE* File;typedef struct _Employee {String name;int age;int salary;struct _Employee *next; } *Employee;typedef void (*Callback)(Employee);/* High Orde…

VMWare虚拟机NAT模式静态IP联网配置

使用静态IP&#xff0c;而不选用DHCP的主要原因是避免每次重启计算机后&#xff0c;虚拟机系统的IP发生变化&#xff0c;导致常常需要修改宿主机器远程连接虚拟机服务(例如Mysql) 环境 项目版本号VmwareVmware Workstation Pro 15UbuntuUbuntu 18.04.2 LTS关键配置 虚拟网络编辑…

ffmpeg调整缩放裁剪视频的基础知识(转)

源网址&#xff1a;ffmpeg调整缩放裁剪视频的基础知识 - yongfengnice - 博客园 1. resize and scale video 调整视频的大小和尺寸 1-1.调整视频大小(resize)是改变视频的宽度和高度。 使用-s参数实现&#xff0c;语法&#xff1a;ffmpeg -i input_file -s wxh output_fi…

学习C语言的工具

书籍&#xff1a;《C Primer Plus》 编译器&#xff1a;code::blocks 编辑器: gedit转载于:https://www.cnblogs.com/owenbeta/archive/2012/03/07/2384286.html

二手房买卖砍价最新攻略 帮你花少钱买好房

漫天要价&#xff0c;就地还钱&#xff0c;意思是说&#xff1a;讲价要狠&#xff0c;心软则败。很多刚需们忍不住要出手了&#xff0c;市场上的好房源也越来越多&#xff0c;如何淘到你我中意的房源&#xff0c;同时我们又不用多花冤枉钱?精心准备热乎出炉&#xff0c;二手房…

lastal

http://last.cbrc.jp/doc/lastal.html This program finds local alignments between query sequences, and reference sequences that have been prepared using lastdb 转载于:https://www.cnblogs.com/0820LL/p/11136767.html

伽罗华有限域的FEC

FEC算法_cloudfly_cn的博客-CSDN博客_fec算法 I 基于IP的语音和视频通话业务为了实时性&#xff0c;一般都是采用UDP进行传输&#xff0c;基站无线一般配置UM模式的RLC承载&#xff0c;因此丢包是不可避免的&#xff0c;在小区信号的边沿则丢包率会更高&#xff1b;为了通话的…