- 集成 ffmpeg-kit-full-gpl 6.0.3(arm64),用 libx264 重编码修复 .h264 缺 SPS/PPS 导致的播放卡死 - 新增 VideoDownloadPlayService/VideoCacheManager,.mp4 直下直播、.h264 下载后转 mp4 缓存,转码完成后删除临时 .h264 - FFmpegKitBridge 走主线程 JNI 调用规避 IL2CPP 后台线程 FindClass 不稳定 - 视频列表按缓存状态显示 下载/播放 按钮,下载中亮色条显示百分比;播放面板原下载按钮改为保存到相册
41 lines
1.2 KiB
Java
41 lines
1.2 KiB
Java
package com.arthenica.smartexception.java;
|
|
|
|
import java.io.PrintWriter;
|
|
import java.io.StringWriter;
|
|
import java.util.Collections;
|
|
import java.util.HashSet;
|
|
import java.util.Set;
|
|
|
|
/**
|
|
* smartexception-java 的最小 stub
|
|
* ffmpeg-kit 6.0.2 内部 swordfish 库依赖此类的 getStackTraceString / registerRootPackage
|
|
* 我们不需要完整功能,只需保证类存在且方法签名匹配
|
|
*/
|
|
public class Exceptions {
|
|
|
|
private static final Set<String> rootPackages = Collections.synchronizedSet(new HashSet<String>());
|
|
|
|
public static void registerRootPackage(String rootPackage) {
|
|
if (rootPackage != null) {
|
|
rootPackages.add(rootPackage);
|
|
}
|
|
}
|
|
|
|
public static String[] getRegisteredRootPackages() {
|
|
return rootPackages.toArray(new String[0]);
|
|
}
|
|
|
|
public static void unregisterRootPackage(String rootPackage) {
|
|
if (rootPackage != null) {
|
|
rootPackages.remove(rootPackage);
|
|
}
|
|
}
|
|
|
|
public static String getStackTraceString(Throwable t) {
|
|
if (t == null) return "";
|
|
StringWriter sw = new StringWriter();
|
|
t.printStackTrace(new PrintWriter(sw));
|
|
return sw.toString();
|
|
}
|
|
}
|