
c++
hunter800421
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
linux soket编程(tcp)
服务端linux socket服务端编码一般包括以下六个步骤:向内核申请一个套接字,调用socket方法。绑定地址到套接字上,调用bind方法。在socket套接字上,监听并允许接入呼叫,调用listen方法。等待/接收呼叫,调用accept方法。传输数据,调用read/write等方法。关闭连接,调用close方法。示例代码如下:/* timeserv.c - a s原创 2017-02-18 17:25:28 · 376 阅读 · 0 评论 -
Android多媒体框架(6)—— MediaMuxer的jni代码分析
MediaMuxer的jni代码分析jni方法的定义MediaMuxer jni方法的定义在frameworks/base/media/jni/android_media_MediaMuxer.cpp中。static const JNINativeMethod gMethods[] = { { "nativeAddTrack", "(J[Ljava/lang/String;[Lja...原创 2019-02-08 14:25:55 · 1419 阅读 · 0 评论 -
Android多媒体框架(4)—— AMessage,AHandler和ALooper源码分析
AMessage源码分析AMessage继承自RefBase类,它有AHandler和ALooper的成员mHandler和mLooper,并且ALooper还是它的友元。成员变量mWhat是消息id,成员变量mTarget指明消息的handler(只用于调试)。成员函数setWhat和setTarget分别设置这两个属性。void AMessage::setWhat(uint32_t wha...原创 2019-02-04 13:59:09 · 6456 阅读 · 0 评论 -
Android多媒体框架(3)—— libstagefright中MediaCodec源码分析
libstagefright中MediaCodec源码分析和前两篇一样,我们按照MediaCodec的各个状态来分析libstagefright中MediaCodec的源代码。configure首先我们看一下configure在libstagefright中MediaCodec中的定义:438status_t MediaCodec::configure(439 con...原创 2019-02-03 15:26:48 · 2819 阅读 · 0 评论 -
Android 多媒体框架(2)—— android_media_MediaCodec.cpp源码分析
android_media_MediaCodec.cpp源码分析这里我们来分析和MediaCodec.java对应的native层类:android_media_MediaCodec.cpp的源代码。在该类的最后,我们会看到这样的代码:static const JNINativeMethod gMethods[] = {1881 { "native_release", "()V", ...原创 2019-01-31 18:05:58 · 2406 阅读 · 0 评论 -
google 官方ndk demo解析(二)——bitmap-plasma
本文将分析bitmap-plasma这个demo。这是一个使用c代码在bitmap上绘制细胞质效果的demo。CMakeList.txtcmake_minimum_required(VERSION 3.4.1)set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")add_library(plasma SHARED plas原创 2017-09-28 14:22:10 · 1272 阅读 · 0 评论 -
google官方android ndk demo解析(一)——audio echo
最近重新学习ndk,主要关注使用android studio进行ndk开发。google官方的demo无疑是最好的学习源码。首先分析audio echo这个项目。一、CMakeList.txtcmake_minimum_required(VERSION 3.4.1)set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -W原创 2017-09-18 14:39:37 · 3394 阅读 · 0 评论 -
Android开发(1)——第一个NDK应用
一、下载NDK1. 打开Android Studio,选择Tools->Android->SDK Manager。2. 选择SDK tools选项卡。3. 选中LLDB,CMake,以及NDK。4. 选中Apply,在下一个页面点击OK。5. 下载完成之后,点击finish,然后点击OK。二、创建包含C/C++的项目创建支持native代码的项目和创建普通项目的步骤基本原创 2017-09-15 15:22:32 · 393 阅读 · 0 评论 -
Android中的so库
Android设备的CPU类型目前Android设备已经支持多种CPU类型,包括:armeabiv-v7a: 第7代及以上的 ARM 处理器。2011年15月以后的生产的大部分Android设备都使用它.arm64-v8a: 第8代、64位ARM处理器。armeabi: 第5代、第6代的ARM处理器,早期的手机用的比较多。x86: 平板用得比较多。x86_64: 64位的平原创 2017-08-28 10:35:32 · 448 阅读 · 0 评论 -
Android多媒体框架(7)—— stagefright中MediaMuxer源码分析
stagefright中MediaMuxer源码分析私有属性定义MediaMuxer.h中定义了一些类的属性:const OutputFormat mFormat; sp<MediaWriter> mWriter; Vector< sp<MediaAdapter> > mTrackList; // Each track has its...原创 2019-02-08 15:33:35 · 867 阅读 · 0 评论