Skip to content

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