@saooti/octopus-sdk 39.0.42 → 39.0.44
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 +2 -5
- package/src/assets/bootstrap.scss +4 -1
- package/src/components/display/list/PaginateSection.vue +3 -3
- package/src/components/misc/player/video/PlayerVideoHls.vue +6 -13
- package/src/components/mixins/player/playerLive.ts +5 -2
- package/src/components/mixins/player/playerLogicProgress.ts +1 -0
- package/src/stores/ParamSdkStore.ts +8 -8
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@saooti/octopus-sdk",
|
|
3
|
-
"version": "39.0.
|
|
3
|
+
"version": "39.0.44",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Javascript SDK for using octopus",
|
|
6
6
|
"author": "Saooti",
|
|
@@ -40,8 +40,7 @@
|
|
|
40
40
|
"sonarqube-scanner": "^3.3.0",
|
|
41
41
|
"swiper": "^11.1.4",
|
|
42
42
|
"video.js": "^8.12.0",
|
|
43
|
-
"videojs-
|
|
44
|
-
"videojs-hls-quality-selector": "^2.0.0",
|
|
43
|
+
"videojs-quality-selector-hls": "^1.1.1",
|
|
45
44
|
"vite": "^5.3.1",
|
|
46
45
|
"vue": "^3.4.30",
|
|
47
46
|
"vue-i18n": "^9.13.1",
|
|
@@ -52,8 +51,6 @@
|
|
|
52
51
|
"vue3-swatches": "^1.2.4"
|
|
53
52
|
},
|
|
54
53
|
"devDependencies": {
|
|
55
|
-
"@types/videojs-contrib-quality-levels": "^2.0.4",
|
|
56
|
-
"@types/videojs-hls-quality-selector": "^1.1.3",
|
|
57
54
|
"@types/vue-select": "^3.16.8",
|
|
58
55
|
"@typescript-eslint/eslint-plugin": "^7.14.1",
|
|
59
56
|
"@typescript-eslint/parser": "^7.14.1",
|
|
@@ -83,7 +83,7 @@ input:not([class^="vs__"]), button:not([class^="vs__"]), select:not([class^="vs_
|
|
|
83
83
|
text-decoration: none !important;
|
|
84
84
|
white-space: nowrap;
|
|
85
85
|
border-width: 0;
|
|
86
|
-
min-width: 24px;
|
|
86
|
+
//min-width: 24px; Problème avec flex-shrink
|
|
87
87
|
@media (max-width: 960px) {
|
|
88
88
|
white-space: normal;
|
|
89
89
|
}
|
|
@@ -138,6 +138,9 @@ input:not([class^="vs__"]), button:not([class^="vs__"]), select:not([class^="vs_
|
|
|
138
138
|
left: 0;
|
|
139
139
|
}
|
|
140
140
|
}
|
|
141
|
+
&.btn-min-width{
|
|
142
|
+
min-width: 24px;
|
|
143
|
+
}
|
|
141
144
|
|
|
142
145
|
&.btn-primary {
|
|
143
146
|
display: flex;
|
|
@@ -23,10 +23,10 @@
|
|
|
23
23
|
</svg>
|
|
24
24
|
</button>
|
|
25
25
|
<div v-for="pageNumber in pagination" :key="pageNumber">
|
|
26
|
-
<span v-if="null === pageNumber" class="btn"> ... </span>
|
|
26
|
+
<span v-if="null === pageNumber" class="btn btn-min-width"> ... </span>
|
|
27
27
|
<button
|
|
28
28
|
v-else
|
|
29
|
-
class="btn"
|
|
29
|
+
class="btn btn-min-width"
|
|
30
30
|
:class="{ active: page === pageNumber - 1 }"
|
|
31
31
|
@click="changeFirst((pageNumber - 1) * rowsPerPage)"
|
|
32
32
|
>
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
<button
|
|
37
37
|
v-for="paginateButton in buttonsRight"
|
|
38
38
|
:key="paginateButton.title"
|
|
39
|
-
class="btn"
|
|
39
|
+
class="btn btn-min-width"
|
|
40
40
|
:title="paginateButton.title"
|
|
41
41
|
:disabled="paginateButton.disabled"
|
|
42
42
|
@click="paginateButton.action"
|
|
@@ -14,13 +14,9 @@ import { usePlayerStore } from "@/stores/PlayerStore";
|
|
|
14
14
|
import { mapActions } from "pinia";
|
|
15
15
|
import { playerLogicProgress } from "../../../mixins/player/playerLogicProgress";
|
|
16
16
|
import videojs, { VideoJsPlayer } from "video.js";
|
|
17
|
-
import
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
videojs.registerPlugin("qualityLevels", qualityLevels);
|
|
21
|
-
}
|
|
22
|
-
if (!videojs.getPlugin("hlsQualitySelector")) {
|
|
23
|
-
videojs.registerPlugin("hlsQualitySelector", qualitySelector);
|
|
17
|
+
import qualitySelectorHls from "videojs-quality-selector-hls";
|
|
18
|
+
if (undefined===videojs.getPlugin("qualitySelectorHls")) {
|
|
19
|
+
videojs.registerPlugin("qualitySelectorHls", qualitySelectorHls);
|
|
24
20
|
}
|
|
25
21
|
import { defineComponent } from "vue";
|
|
26
22
|
export default defineComponent({
|
|
@@ -68,11 +64,6 @@ export default defineComponent({
|
|
|
68
64
|
nativeAudioTracks: false,
|
|
69
65
|
nativeVideoTracks: false,
|
|
70
66
|
},
|
|
71
|
-
plugins: {
|
|
72
|
-
hlsQualitySelector: {
|
|
73
|
-
displayCurrentQuality: true,
|
|
74
|
-
},
|
|
75
|
-
},
|
|
76
67
|
};
|
|
77
68
|
},
|
|
78
69
|
},
|
|
@@ -99,7 +90,7 @@ export default defineComponent({
|
|
|
99
90
|
}
|
|
100
91
|
this.videoClean();
|
|
101
92
|
this.playLive();
|
|
102
|
-
},
|
|
93
|
+
}, 15000);
|
|
103
94
|
},
|
|
104
95
|
async playLive(): Promise<void> {
|
|
105
96
|
clearTimeout(this.stalledTimout);
|
|
@@ -113,6 +104,8 @@ export default defineComponent({
|
|
|
113
104
|
document.getElementById("video-element-hls") as Element,
|
|
114
105
|
this.videoOptions,
|
|
115
106
|
() => {
|
|
107
|
+
this.player.qualitySelectorHls( {displayCurrentQuality: true} );
|
|
108
|
+
/*console.log(this.player.tech(true).vhs.playlistController_); */
|
|
116
109
|
this.errorPlay = "";
|
|
117
110
|
this.playing = true;
|
|
118
111
|
},
|
|
@@ -79,6 +79,9 @@ export const playerLive = defineComponent({
|
|
|
79
79
|
await this.initHls(hlsStreamUrl);
|
|
80
80
|
}
|
|
81
81
|
} catch (error) {
|
|
82
|
+
if("STOPPED"===this.playerStatus){
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
82
85
|
setTimeout(() => {
|
|
83
86
|
this.playHls(hlsStreamUrl);
|
|
84
87
|
}, 1000);
|
|
@@ -103,8 +106,8 @@ export const playerLive = defineComponent({
|
|
|
103
106
|
this.onPlay();
|
|
104
107
|
resolve();
|
|
105
108
|
});
|
|
106
|
-
this.hls.on(Hls.Events.ERROR, async () => {
|
|
107
|
-
reject(new Error("There is an error while reading media content"));
|
|
109
|
+
this.hls.on(Hls.Events.ERROR, async (event, data) => {
|
|
110
|
+
reject(new Error("There is an error while reading media content"+data.details));
|
|
108
111
|
});
|
|
109
112
|
this.hls.loadSource(hlsStreamUrl);
|
|
110
113
|
});
|
|
@@ -72,6 +72,7 @@ export const playerLogicProgress = defineComponent({
|
|
|
72
72
|
"podcast/prepare/live/" + this.playerLive.podcastId+"?mediaType="+mediaType,
|
|
73
73
|
undefined,
|
|
74
74
|
);
|
|
75
|
+
//TODO check if we can do otherwise
|
|
75
76
|
await octopusApi.fetchDataPublicWithParams<string | null>(
|
|
76
77
|
0,
|
|
77
78
|
"podcast/download/live/" + this.playerLive.podcastId + ".m3u8",
|
|
@@ -5,14 +5,14 @@ const state: ParamStore = {
|
|
|
5
5
|
generalParameters: {
|
|
6
6
|
organisationId: "ecbd98d9-79bd-4312-ad5e-fc7c1c4a191c",
|
|
7
7
|
authenticated: false,
|
|
8
|
-
isAdmin:
|
|
9
|
-
isRoleLive:
|
|
10
|
-
isCommments:
|
|
11
|
-
isOrganisation:
|
|
12
|
-
isPlaylist:
|
|
13
|
-
isProduction:
|
|
14
|
-
isContribution:
|
|
15
|
-
isRadio:
|
|
8
|
+
isAdmin: false,
|
|
9
|
+
isRoleLive: false,
|
|
10
|
+
isCommments: false,
|
|
11
|
+
isOrganisation:false,
|
|
12
|
+
isPlaylist: false,
|
|
13
|
+
isProduction: false,
|
|
14
|
+
isContribution: false,
|
|
15
|
+
isRadio: false,
|
|
16
16
|
ApiUri: "https://api.dev2.saooti.org/",
|
|
17
17
|
podcastmaker: false,
|
|
18
18
|
buttonPlus: true,
|