@volcengine/veplayer 2.1.0-rc.3 → 2.2.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@volcengine/veplayer",
3
- "version": "2.1.0-rc.3",
3
+ "version": "2.2.0-rc.0",
4
4
  "main": "./umd/veplayer.production.js",
5
5
  "module": "./esm/veplayer.production.js",
6
6
  "browser": "./umd/veplayer.production.js",
@@ -44,6 +44,41 @@ var __publicField = (obj, key, value) => {
44
44
  return Rtm.isSupportedH264();
45
45
  return false;
46
46
  }
47
+ const appendSearchParams = (url, searchParams) => {
48
+ var _a, _b;
49
+ const urlObject = getUrlObject(url);
50
+ if (!url || !urlObject) {
51
+ return url ?? "";
52
+ }
53
+ const withoutProtocol = url.startsWith("//");
54
+ for (const key in searchParams) {
55
+ const value = searchParams[key];
56
+ if (urlObject == null ? void 0 : urlObject.searchParams.has(key)) {
57
+ (_a = urlObject == null ? void 0 : urlObject.searchParams) == null ? void 0 : _a.set(key, value);
58
+ } else {
59
+ (_b = urlObject == null ? void 0 : urlObject.searchParams) == null ? void 0 : _b.append(key, value);
60
+ }
61
+ }
62
+ url = urlObject.toString();
63
+ if (withoutProtocol) {
64
+ return url == null ? void 0 : url.replace(location.protocol, "");
65
+ }
66
+ return url;
67
+ };
68
+ const getUrlObject = (url) => {
69
+ if (!url) {
70
+ return;
71
+ }
72
+ const withoutProtocol = url.startsWith("//");
73
+ if (withoutProtocol) {
74
+ url = location.protocol + url;
75
+ }
76
+ try {
77
+ return new URL(url);
78
+ } catch (error2) {
79
+ return;
80
+ }
81
+ };
47
82
  const strategy$1 = window["VePlayer"].strategy;
48
83
  const util$3 = window["VePlayer"].util;
49
84
  const DynamicModule$1 = window["VePlayer"].DynamicModule;
@@ -65,7 +100,12 @@ var __publicField = (obj, key, value) => {
65
100
  var _a;
66
101
  let backupStrategy;
67
102
  const { url } = options;
68
- const { fallbackUrl, enableFallback = true, ...ret } = options.rtm || {};
103
+ const {
104
+ fallbackUrl,
105
+ enableFallback = true,
106
+ enableRTMAutoTranscode,
107
+ ...ret
108
+ } = options.rtm || {};
69
109
  const actualFallbackUrl = !enableFallback ? "" : !fallbackUrl && url ? generateFallbackUrl(url) : fallbackUrl;
70
110
  const backupType = actualFallbackUrl && util$3.getStreamType(actualFallbackUrl);
71
111
  if (backupType === "flv" && util$3.isMseSupported(Codec$1.H264)) {
@@ -108,6 +148,7 @@ var __publicField = (obj, key, value) => {
108
148
  return {
109
149
  options: {
110
150
  ...(backupStrategy == null ? void 0 : backupStrategy.options) || {},
151
+ url: enableRTMAutoTranscode ? appendSearchParams(url, { enableRTMAutoTranscode: "true" }) : void 0,
111
152
  _RTMdegrade: void 0,
112
153
  rts: {
113
154
  retryCount: 0,
@@ -2788,24 +2829,12 @@ var __publicField = (obj, key, value) => {
2788
2829
  return userId;
2789
2830
  };
2790
2831
  const generateUrlWithSessionId = (url) => {
2791
- var _a, _b;
2792
- if (!url) {
2793
- return "";
2832
+ const urlObject = getUrlObject(url);
2833
+ if (!urlObject) {
2834
+ return url ?? "";
2794
2835
  }
2795
- const withoutProtocol = url.startsWith("//");
2796
- if (withoutProtocol) {
2797
- url = location.protocol + url;
2798
- }
2799
- try {
2800
- const urlObject = new URL(url);
2801
- if (!((_a = urlObject == null ? void 0 : urlObject.searchParams) == null ? void 0 : _a.get("_session_id"))) {
2802
- (_b = urlObject == null ? void 0 : urlObject.searchParams) == null ? void 0 : _b.append("_session_id", generateSessionId());
2803
- }
2804
- url = urlObject.toString();
2805
- } catch (error2) {
2806
- }
2807
- if (withoutProtocol) {
2808
- return url == null ? void 0 : url.replace(location.protocol, "");
2836
+ if (!(urlObject == null ? void 0 : urlObject.searchParams.get("_session_id"))) {
2837
+ return appendSearchParams(url, { _session_id: generateSessionId() });
2809
2838
  }
2810
2839
  return url;
2811
2840
  };
@@ -2907,7 +2936,7 @@ var __publicField = (obj, key, value) => {
2907
2936
  user_id: this._userId,
2908
2937
  device_id: this._deviceId,
2909
2938
  ext: {
2910
- veplayer_version: "2.1.0-rc.0",
2939
+ veplayer_version: "2.2.0-rc.0",
2911
2940
  flv_version: "3.0.10-alpha.4",
2912
2941
  hls_version: "3.0.10-alpha.4",
2913
2942
  rts_version: "0.2.0-alpha.5"