Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

将Android 4.2.2的WiFi-Display源码移植到AS上

Notifications You must be signed in to change notification settings

itzuo/source-sink

Repository files navigation

Sink源码概述

Miracast Sink端源码最早出现在Android 4.2.2上,通过googlesource可以很方便的查看: https://android.googlesource.com/platform/frameworks/av/+/android-4.2.2_r1.2/media/libstagefright/wifi-display/sink/

但是在Android 4.3以后,Google却移除掉了这部分源码,详细的commit记录在: https://android.googlesource.com/platform/frameworks/av/+/c4bd06130e4c3068ab58a0be88a4f765c2267563

Remove all traces of wifi display sink implementation and supporting code.
Change-Id: I64b681b7e3df1ef0dd80c0d261cacae293d5e684
related-to-bug: 8698812

虽然移除了Sink端代码,但是Source端源码是还在的,我们可以通过Android手机的投射功能实现Miracast投屏发送端。

导入源码

这里推荐使用Android Studio进行源码查看,为了方便使用IDE的代码提示及类/方法跳转等相关功能,我们需要搭建好源码环境。

  1. 首先新建一个Native Project,然后把整个libstagefright相关的源码拷贝到cpp目录中, libstagefright目录源码 我们可以直接点击tgz下载libstagefright相关的源码

  2. include头文件也一起导入(因为涉及到很多依赖)

image

下载android/platform/frameworks/native/refs/tags/android-4.2.2_r1.2/include路径下的头文件

  1. 然后在CMakeLists.txt中添加这部分源码。
cmake_minimum_required(VERSION 3.10.2)
project("source")
include_directories(include)
file(GLOB_RECURSE source_file libstagefright/*.h libstagefright/*.cpp)
add_library(
 native-lib
 SHARED
 ${source_file})
find_library(
 log-lib
 log )
target_link_libraries(
 native-lib
 ${log-lib} )
  1. 重新sync一次,这样就能引用到相关的类与头文件,并且支持代码提示,提高我们查看源码的效率。

image

About

将Android 4.2.2的WiFi-Display源码移植到AS上

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

AltStyle によって変換されたページ (->オリジナル) /