自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 【Android Q 源码编译相关问题】

一、前言因工作需要,需要编译 Android Q 源码并且部署到开发机中,所以查找了相关资料特此记录。参考资料: AOSP 镜像使用帮助二、Android Q 的源码编译2.1 编译环境ubuntukylin20.04 LTS ,内存16GB(亲测至少需要10GB,不然影响编译,并且会报"killed"相关错误),硬盘200GBOpenJDK 8需要的硬盘空间特别大,不影响虚拟机原始空间的情况下,建议外挂一块200GB的硬盘2.2 源码下载2.2.1 repo 的安装mkdir

2021-06-30 21:02:32 226 2

原创 【音视频】MP4文件格式解析

MP4文件格式解析一、目的二、MP4结构一览2.1 一个MP4文件2.2 MP4结构参考表2.3 封装的知识点 - box三、解析一个 .MP4 文件3.1 moov (Movie Box)3.1.1 mvhd (Movie Header Box)3.1.2 trak3.1.2.1 thkd3.1.2.2 mdia一、目的掌握 MP4 文件格式里的内容 以及基本构成为日后解析其他格式的文件提供良好的借鉴引用文章 :https://www.jianshu.com/p/529c3729f357二

2021-06-04 11:53:25 1354

原创 【GStreamer源码分析】playbin播放test.wav加载插件过程分析

playbin播放test.wav加载插件过程分析一、前言二、playbin 播放 .wav 音频插件加载一览三、测试代码3.1 gst_init3.2 gst_element_set_state四、gst_element_set_state 触发 playbin 加载流程分析4.1 gst_element_factory_make 创建 playbin时流程4.2 gst_element_set_state 是如何触发 playbin 的呢?一、前言希望通过这篇文章记录一下 playbin 加载 pl

2021-05-31 11:49:45 1248 2

原创 【GObject-03】用GObject来实现继承

基本使用home.h#ifndef HOME_H#define HOME_H#include <glib-object.h>/*获取HOME_TYPE类型*/#define HOME_TYPE (home_get_type())/* 检查obj是否是Home类型,如果是,则将返回指向obj成员变量Home的指针 */#define HOME_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), HOME_TYPE,

2021-05-24 15:07:53 165

原创 【GObject-02】Signal

基本使用signal_demo.h#ifndef SIGNAL_DEMO_H#define SIGNAL_DEMO_H #include <glib-object.h> #define SIGNAL_TYPE_DEMO (signal_demo_get_type ())#define SIGNAL_DEMO(object) \ G_TYPE_CHECK_INSTANCE_CAST ((object), SIGNAL_TYPE_DEMO, SignalDem

2021-05-24 15:03:01 95

原创 【GObject-01】用GObject来实现面向对象

GObject最近在阅读 GStreamer 源代码,有些不太懂的地方,来学习GObject的简单使用,够用就行了GObject 告诉我们,使用 C 语言编写程序时,可以运用面向对象这种编程思想。一个简单的例子,用C来实现面向对象phone.h#ifndef PHONE_H#define PHONE_H#include <glib-object.h>//TODO : #define PHONE_TYPE (phone_get_type())//将一个 GObjec

2021-05-24 12:10:42 367

原创 【GStreamer 基础】Debugging Tools

一、Goal对 gstreamer 的调试,我们可能会期待 bus 上 Error 的抛出,但是大多数时候,事情总没有那么顺利。但其实 gstream 有大量的调试信息,这里将演示如何进行调试。如何得到更多的 GStreamer 日志如何打印自己的 debug 信息 到 GStreamer 的日志中如何得到 pipeline 的图表二、Printing debug information2.1 日志等级说明GStreamer和它的插件都包含了调试跟踪,时间戳、过程、类别、源代码文件、函数和

2021-05-20 09:13:49 2254

原创 【日积月累】Android 的 JNI 和 NDK

Android 的 JNI 和 NDK前言目标1. AS + NDK + CMake 一键编译生成1.1 编译1.2 导入lib库2. JNI原理手动生成前言奇怪的是,JNI 和 NDK 其实并不是一个东西,却经常被混淆。JNI(Java Native Interface),是 Java 与其他语言的桥梁。NDK(Native Development Kit),是封装了 JNI ,CMake等等,非常方便生成 native-lib的工具集。目标最近在看《Android进阶解密》,其中结合

2021-04-16 16:44:17 103

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除