AliVCSDK 6.17.0
阿里云音视频SDK,为视频开发者提供一站式接入服务
 
Loading...
Searching...
No Matches
AlivcLivePushInstance.java
1package com.alivc.live.pusher;
2
3import android.content.Context;
4import android.util.Log;
5
6import com.alivc.live.pusher.basic.BasicLivePusherJNI;
7import com.alivc.live.biz.manager.AlivcLiveCommonParams;
8import com.alivc.live.biz.utils.FileUtil;
9import com.aliyun.common.AlivcNativeLoader;
10
11import java.util.HashMap;
12
13
22@CalledByNative
23@Deprecated
25
26 private static final String TAG = "AlivcLivePushInstance";
27
50 public static void loadInstance(Context context) {
52 loadSdkInstance(context);
53 loadSdkConfigs(context);
54 }
55
62 public static void loadLibrariesOnce() {
63 synchronized (AlivcLivePushInstance.class) {
64 if (!mIsLibLoaded) {
65 mIsLibLoaded = AlivcNativeLoader.loadLibrary(LIB_SO_ALL_IN_ONE);
66 if (mIsLibLoaded) {
67 Log.d(TAG, "load libraries success!");
68 Log.d(TAG, getSdkBuildInfo());
69 }
70 }
71 }
72 }
73
74 private static void loadSdkInstance(Context context) {
75 if (context == null) {
76 return;
77 }
78 AlivcLiveCommonParams.INSTANCE.initCommonProperties(context);
79 synchronized (AlivcLivePushInstance.class) {
80 if (!mIsSdkInstanceLoaded) {
81 HashMap<String, String> properties = AlivcLiveCommonParams.INSTANCE.getCommonProperties();
82 BasicLivePusherJNI.nativeInitSDKInstance(properties.keySet().toArray(new String[0]), properties.values().toArray(new String[0]));
83 Log.d(TAG, "load sdk instance success!");
84 Log.d(TAG, getSdkContextInfo());
85 mIsSdkInstanceLoaded = true;
86 }
87 }
88 }
89
95 public static String getSdkBuildInfo() {
96 return "---SDK_INFO---" + '\n' +
97 "DEBUG:" + BuildConfig.DEBUG + '\n' +
98 "BUILD_TYPE:" + BuildConfig.BUILD_TYPE + '\n' +
99 "BUILD_INTERACTIVE:" + BuildConfig.BUILD_INTERACTIVE + '\n' +
100 "HEAD_COMMIT_ID:" + BuildConfig.HEAD_COMMIT_ID + '\n' +
101 "MTL_BUILD_ID:" + BuildConfig.MTL_BUILD_ID + '\n' +
102 "MTL_BUILD_TIMESTAMP:" + BuildConfig.MTL_BUILD_TIMESTAMP + '\n' +
103 "MTL_VERSION_CODE:" + BuildConfig.MTL_VERSION_CODE + '\n' +
104 "MTL_VERSION_NAME:" + BuildConfig.MTL_VERSION_NAME;
105 }
106
112 public static String getSdkContextInfo() {
113 HashMap<String, String> properties = AlivcLiveCommonParams.INSTANCE.getCommonProperties();
114 StringBuilder sb = new StringBuilder("---CONTEXT_INFO---\n");
115 for (String key : properties.keySet()) {
116 sb.append(key).append(":").append(properties.get(key)).append('\n');
117 }
118 return sb.toString().trim();
119 }
120
121 private static void loadSdkConfigs(Context context) {
122 if (context == null) {
123 return;
124 }
125 synchronized (AlivcLivePushInstance.class) {
126 if (!mIsSdkConfigsLoaded) {
127 Log.d(TAG, "load sdk configs success!");
128 HashMap<String, String> properties = new HashMap<>(4);
129 properties.put(KEY_SDCARD_FILE_PATH, FileUtil.getExternalFileFolder(context));
130 properties.put(KEY_SDCARD_CACHE_PATH, FileUtil.getExternalCacheFolder(context));
131 properties.put(KEY_PACKAGE_NAME, context.getPackageName());
132 BasicLivePusherJNI.nativeInitSDKConfigs(properties.keySet().toArray(new String[0]), properties.values().toArray(new String[0]));
133 mIsSdkConfigsLoaded = true;
134 }
135 }
136 }
137}