代码改变世界

[置顶]Android MediaPlayer stream实现

2013-06-28 09:45 by 白居不易, 2517 阅读, 0 推荐, 收藏, 编辑
摘要:对于Ait类的Camera,使用已编码数据(H264)进行Preview.若使用原始的SurfaceTexture实现,需要扩展ANativeWindow支持的视频格式,也会涉及到OpenGL相关的内容,工作量巨大。另一种方式是使用MediaPlayer实现,MediaPlayer支持三种源,我们应该要使用Stream方式,但也不确定,看一下service的底层实现,也就是与Hardcodec的对接。另外关注一下Buffer的传递过程。Java Framework frameworks/base/media/java/android/media/MediaPlayer.javaJNI fr.. 阅读全文

[置顶]Android Camera Client&Service 函数调用关系

2013-06-24 18:36 by 白居不易, 1977 阅读, 0 推荐, 收藏, 编辑
摘要:1. JNI@frameworks/base/core/jni/android_hardware_Camera.cppstatic void android_hardware_Camera_native_setup(JNIEnv *env, jobject thiz, jobject weak_this, jint cameraId){ sp camera = Camera::connect(cameraId); if (camera == NULL) { jniThrowRuntimeException(env, "Fail to connect to cam... 阅读全文

wpa_supplicant初始化关键函数

2014-07-29 09:59 by 白居不易, 1585 阅读, 0 推荐, 收藏, 编辑
摘要:1. wpa_supplicant_init() 初始化成功后,返回的wpa_global指针可用于添加删除接口,最后,deinit wpa_supplicant。 传入的参数为命令行输入的接口无关的参数wpa_params。 一、main() 1、 wpa_supplicant的入口函数在external\wpa_supplicant\main.c里面,入口main()。 2、 m... 阅读全文

二、wpa_supplicant 初始化的关键函数

2014-07-29 09:57 by 白居不易, 904 阅读, 0 推荐, 收藏, 编辑
摘要:struct wpa_global * wpa_supplicant_init(struct wpa_params *params) struct wpa_supplicant * wpa_supplicant_add_iface(struct wpa_global *global,struct wpa_interface *iface) 1. wpa_supplicant_i... 阅读全文

test from scribefire

2014-07-25 18:50 by 白居不易, 171 阅读, 0 推荐, 收藏, 编辑
摘要:test from scribefire 阅读全文

linux下TC+HTB流量控制

2014-06-14 12:20 by 白居不易, 4410 阅读, 1 推荐, 收藏, 编辑
摘要:C规则涉及到 队列(QUEUE) 分类器(CLASS) 过滤器(FILTER),filter划分的标志位可用U32或iptables的set-mark来实现 ) 一般是"控发"不控收 linux下有两块网卡,一个eth1是外网,另一块eth0是内网.在eth0上做HTB。(注 意:filter划分标志位可用u32打标功能或iptables的set-mark功能,如果用iptables来打标记的话,... 阅读全文

wifi enable

2014-06-03 16:19 by 白居不易, 1195 阅读, 0 推荐, 收藏, 编辑
摘要:wifiservice.java wifistateMachine.java中 /** * see {@link android.net.wifi.WifiManager#setWifiEnabled(boolean)} * @param enable {@code true} to enable, {@code false} to disable. ... 阅读全文

test

2014-05-12 14:00 by 白居不易, 250 阅读, 0 推荐, 收藏, 编辑
摘要:test public WifiSettings() { mFilter = new IntentFilter(); mFilter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION); mFilter.addAction(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION... 阅读全文

Android CameraHal CameraAdapter相关(一)

2013-09-22 10:31 by 白居不易, 1376 阅读, 0 推荐, 收藏, 编辑
摘要:Android CameraHal 类图分析中得知,CameraAdapter与其他类交互的通道是FrameNotifier,因此,我们的学习入口就从FrameNotifier开始。FrameNotifier继承了接口类MessageNotifier,因此,CameraAdapter需要实现这两个类的所有接口。调用的基础是enableMsgType,使用此接口来使能及注册相关回调函数。1.enableMsgType 从上图看,MessageNotifier中的接口函数enableMsgType最终被BaseCameraAdapter继承实现,而MessageNotifier接口类被Event. 阅读全文

Android CameraHal 类图分析

2013-09-22 10:29 by 白居不易, 1595 阅读, 0 推荐, 收藏, 编辑
摘要:先看一下CameraHAL整体的类图。很乱,我们一块一块的看。第一部分,CameraAdapter的继承关系:V4LCameraAdapter: V4LCameraAdapter是处于最底层的类,他负责跟硬件的通讯,并且实现了大部分的控制功能。 V4LCameraAdapter内部定义了PreviewThread线程。 V4LCameraAdapter的mVideoinfo实现了对VideoInfo的引用,而VideoInfo定义了Camera Video的相关信息。BaseCameraAdapter: BaseCameraAdapter实现了MessageNotifier及Frame... 阅读全文

Android CameraHal NativeWindow相关(三)- Leon 5 (mDisplayAdapter->setErrorHandler(mAppCallbackNotifier.get());)

2013-09-20 18:10 by 白居不易, 696 阅读, 0 推荐, 收藏, 编辑
摘要:Leon 5/** @brief Sets ANativeWindow object. Preview buffers provided to CameraHal via this object. DisplayAdapter will be interfacing with it to render buffers to display. @param[in] window The ANativeWindow object created by Surface flinger @return NO_ERROR If the ANativeWindow object pas... 阅读全文

Android CameraHal NativeWindow相关(二):FrameProvider与NativeWindowDisplayAdapter

2013-09-18 18:46 by 白居不易, 1093 阅读, 0 推荐, 收藏, 编辑
摘要:Leon 4 设置Frame ProvidermDisplayAdapter->setFrameProvider(mCameraAdapter)status_t CameraHal::setPreviewWindow(struct preview_stream_ops *window){ if(!mDisplayAdapter.get() || ((ret=mDisplayAdapter->initialize())!=NO_ERROR)) // Leon 3 { } // DisplayAdapter needs to know whe... 阅读全文