ravnur-player-public 3.4.3 → 3.4.4

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.
Files changed (260) hide show
  1. package/.eslintignore +7 -0
  2. package/.eslintrc.js +206 -0
  3. package/.flowconfig +3 -0
  4. package/.vscode/extensions.json +7 -0
  5. package/.vscode/launch.json +37 -0
  6. package/.vscode/settings.json +4 -0
  7. package/README-Private.md +54 -0
  8. package/babel.config.js +28 -0
  9. package/bitbucket-pipelines.yml +61 -0
  10. package/cert.pem +23 -0
  11. package/demo/BaseM.mp4 +0 -0
  12. package/demo/HD.mp4 +0 -0
  13. package/demo/annotations.json +50 -0
  14. package/demo/annotations_ge.json +50 -0
  15. package/demo/base.mp3 +0 -0
  16. package/demo/cc_2125en.vtt +4958 -0
  17. package/demo/cc_en.vtt +171 -0
  18. package/demo/cc_ge.vtt +178 -0
  19. package/demo/chapters_en.vtt +38 -0
  20. package/demo/chapters_ge.vtt +5 -0
  21. package/demo/chapters_ge1.json +23 -0
  22. package/demo/hls/audio/stereo/en/128kbit.m3u8 +912 -0
  23. package/demo/hls/audio/stereo/none/128kbit.m3u8 +912 -0
  24. package/demo/hls/audio/surround/en/320kbit.m3u8 +912 -0
  25. package/demo/hls/playlist.m3u8 +31 -0
  26. package/demo/hls/video/10000kbit.m3u8 +894 -0
  27. package/demo/hls/video/1100kbit.m3u8 +894 -0
  28. package/demo/hls/video/1500kbit.m3u8 +894 -0
  29. package/demo/hls/video/250kbit.m3u8 +894 -0
  30. package/demo/hls/video/4000kbit.m3u8 +894 -0
  31. package/demo/hls/video/500kbit.m3u8 +894 -0
  32. package/demo/hls/video/6000kbit.m3u8 +894 -0
  33. package/demo/hls/video/800kbit.m3u8 +894 -0
  34. package/demo/hls.js +5 -0
  35. package/demo/hls.js.map +1 -0
  36. package/demo/hls.min.js +2 -0
  37. package/demo/hls.min.js.map +1 -0
  38. package/demo/playlist.m3u8 +31 -0
  39. package/demo/ravnur-flash-audio.swf +0 -0
  40. package/demo/ravnur-flash-video-hls.swf +0 -0
  41. package/demo/ravnur-flash-video.swf +0 -0
  42. package/demo/shaka/shaka-player.foo.debug.d.ts +4532 -0
  43. package/demo/shaka/shaka-player.foo.debug.externs.js +3886 -0
  44. package/demo/shaka/shaka-player.foo.debug.js +1746 -0
  45. package/demo/shaka/shaka-player.foo.debug.map +8 -0
  46. package/demo/shaka/wrapper.js +7 -0
  47. package/demo/test.html +458 -0
  48. package/dist/RavnurMediaPlayer.min.js +1 -1
  49. package/dist/cdn/RavnurMediaPlayer.min.js +1 -1
  50. package/jest.config.js +4 -0
  51. package/key.pem +27 -0
  52. package/lib/es5.js +344 -0
  53. package/lib/images/Spinner-small.gif +0 -0
  54. package/lib/images/close.png +0 -0
  55. package/lib/images/ic_check_box_black_24dp_1x.png +0 -0
  56. package/lib/images/ic_check_box_outline_blank_black_24dp_1x.png +0 -0
  57. package/lib/images/ic_chevron_left_white_24dp_1x.png +0 -0
  58. package/lib/images/ic_chevron_right_white_24dp_1x.png +0 -0
  59. package/lib/images/ic_closed_caption_white_24dp_1x.png +0 -0
  60. package/lib/images/ic_fast_forward_white_24dp_1x.png +0 -0
  61. package/lib/images/ic_fast_rewind_white_24dp_1x.png +0 -0
  62. package/lib/images/ic_fullscreen_exit_white_24dp_1x.png +0 -0
  63. package/lib/images/ic_fullscreen_white_24dp_1x.png +0 -0
  64. package/lib/images/ic_hd_white_24dp_1x.png +0 -0
  65. package/lib/images/ic_keyboard_arrow_left_black_24dp_1x.png +0 -0
  66. package/lib/images/ic_keyboard_arrow_right_black_24dp_1x.png +0 -0
  67. package/lib/images/ic_pause_white_24dp_1x.png +0 -0
  68. package/lib/images/ic_photo_white_24dp_1x.png +0 -0
  69. package/lib/images/ic_play_arrow_white_24dp_1x.png +0 -0
  70. package/lib/images/ic_refresh_white_24dp_1x.png +0 -0
  71. package/lib/images/ic_settings_white_24dp_1x.png +0 -0
  72. package/lib/images/ic_skip_next_white_24dp_1x.png +0 -0
  73. package/lib/images/ic_skip_previous_white_24dp_1x.png +0 -0
  74. package/lib/images/ic_toc_white_24dp_1x.png +0 -0
  75. package/lib/images/ic_volume_off_white_24dp_1x.png +0 -0
  76. package/lib/images/ic_volume_up_white_24dp_1x.png +0 -0
  77. package/lib/player4ie8.css +225 -0
  78. package/package.json +3 -7
  79. package/server.js +29 -0
  80. package/src/config/cc.js +56 -0
  81. package/src/config/i18n.js +101 -0
  82. package/src/config/options.js +123 -0
  83. package/src/config/playlist.js +9 -0
  84. package/src/config/source.js +23 -0
  85. package/src/config/statuses.js +8 -0
  86. package/src/config/styles.js +16 -0
  87. package/src/entity.js +27 -0
  88. package/src/events.js +5 -0
  89. package/src/extensions/annotations.js +142 -0
  90. package/src/extensions/audio-tarcks.js +115 -0
  91. package/src/extensions/backward.js +45 -0
  92. package/src/extensions/base.js +73 -0
  93. package/src/extensions/bottom-next.js +50 -0
  94. package/src/extensions/bottom-prev.js +50 -0
  95. package/src/extensions/buffering.js +78 -0
  96. package/src/extensions/c2pa.js +350 -0
  97. package/src/extensions/caption-search.js +230 -0
  98. package/src/extensions/cc.js +874 -0
  99. package/src/extensions/crawl.js +118 -0
  100. package/src/extensions/download.js +411 -0
  101. package/src/extensions/error.js +47 -0
  102. package/src/extensions/forward.js +44 -0
  103. package/src/extensions/fullscreen.js +84 -0
  104. package/src/extensions/help.js +201 -0
  105. package/src/extensions/helpers/FileSaver.js +157 -0
  106. package/src/extensions/helpers/clickOpener.js +180 -0
  107. package/src/extensions/helpers/opener.js +30 -0
  108. package/src/extensions/helpers/openerHeightChecker.js +13 -0
  109. package/src/extensions/helpers/popover.js +33 -0
  110. package/src/extensions/helpers/popoverPosition.js +30 -0
  111. package/src/extensions/helpers/scrollIntoView.js +9 -0
  112. package/src/extensions/helpers/storage.js +20 -0
  113. package/src/extensions/helpers/textContent.js +6 -0
  114. package/src/extensions/helpers/timeCodeToSeconds.js +44 -0
  115. package/src/extensions/helpers/transport.js +43 -0
  116. package/src/extensions/helpers/vtt-loader.js +42 -0
  117. package/src/extensions/index.js +87 -0
  118. package/src/extensions/live.js +76 -0
  119. package/src/extensions/mux.js +57 -0
  120. package/src/extensions/next-frame.js +44 -0
  121. package/src/extensions/next.js +48 -0
  122. package/src/extensions/placeholder.js +241 -0
  123. package/src/extensions/play.js +102 -0
  124. package/src/extensions/poster.js +47 -0
  125. package/src/extensions/prev-frame.js +44 -0
  126. package/src/extensions/prev.js +48 -0
  127. package/src/extensions/progress.js +465 -0
  128. package/src/extensions/resizer.js +37 -0
  129. package/src/extensions/settings.js +367 -0
  130. package/src/extensions/theater.js +56 -0
  131. package/src/extensions/title.js +38 -0
  132. package/src/extensions/toc.js +334 -0
  133. package/src/extensions/volume.js +196 -0
  134. package/src/flash/FlashPlugin.js +301 -0
  135. package/src/flash/MediaElement.js +361 -0
  136. package/src/flash/plugins.js +32 -0
  137. package/src/flash-detector.js +66 -0
  138. package/src/helpers/$t.js +10 -0
  139. package/src/helpers/binder.js +11 -0
  140. package/src/helpers/isAndroid.js +5 -0
  141. package/src/helpers/isBlackBerry.js +5 -0
  142. package/src/helpers/isCanvasSupported.js +6 -0
  143. package/src/helpers/isIE.js +21 -0
  144. package/src/helpers/isMobile.js +10 -0
  145. package/src/helpers/isWindows.js +5 -0
  146. package/src/helpers/isWindowsPhone.js +5 -0
  147. package/src/helpers/isiOS.js +5 -0
  148. package/src/html5media.js +19 -0
  149. package/src/index.js +2 -0
  150. package/src/logger.js +31 -0
  151. package/src/microevent.js +65 -0
  152. package/src/normalize-options.js +139 -0
  153. package/src/player.js +864 -0
  154. package/src/players/base.js +209 -0
  155. package/src/players/flash.js +172 -0
  156. package/src/players/hls.js +278 -0
  157. package/src/players/html.js +205 -0
  158. package/src/players/index.js +59 -0
  159. package/src/players/shaka.js +219 -0
  160. package/src/playlist.js +362 -0
  161. package/src/screenfull.js +121 -0
  162. package/src/state.js +474 -0
  163. package/src/static/es5.js +344 -0
  164. package/src/static/images/Spinner-small.gif +0 -0
  165. package/src/static/images/close.png +0 -0
  166. package/src/static/images/ic_check_box_black_24dp_1x.png +0 -0
  167. package/src/static/images/ic_check_box_outline_blank_black_24dp_1x.png +0 -0
  168. package/src/static/images/ic_chevron_left_white_24dp_1x.png +0 -0
  169. package/src/static/images/ic_chevron_right_white_24dp_1x.png +0 -0
  170. package/src/static/images/ic_closed_caption_white_24dp_1x.png +0 -0
  171. package/src/static/images/ic_fast_forward_white_24dp_1x.png +0 -0
  172. package/src/static/images/ic_fast_rewind_white_24dp_1x.png +0 -0
  173. package/src/static/images/ic_fullscreen_exit_white_24dp_1x.png +0 -0
  174. package/src/static/images/ic_fullscreen_white_24dp_1x.png +0 -0
  175. package/src/static/images/ic_hd_white_24dp_1x.png +0 -0
  176. package/src/static/images/ic_keyboard_arrow_left_black_24dp_1x.png +0 -0
  177. package/src/static/images/ic_keyboard_arrow_right_black_24dp_1x.png +0 -0
  178. package/src/static/images/ic_pause_white_24dp_1x.png +0 -0
  179. package/src/static/images/ic_play_arrow_white_24dp_1x.png +0 -0
  180. package/src/static/images/ic_refresh_white_24dp_1x.png +0 -0
  181. package/src/static/images/ic_settings_white_24dp_1x.png +0 -0
  182. package/src/static/images/ic_skip_next_white_24dp_1x.png +0 -0
  183. package/src/static/images/ic_skip_previous_white_24dp_1x.png +0 -0
  184. package/src/static/images/ic_toc_white_24dp_1x.png +0 -0
  185. package/src/static/images/ic_volume_off_white_24dp_1x.png +0 -0
  186. package/src/static/images/ic_volume_up_white_24dp_1x.png +0 -0
  187. package/src/static/player4ie8.css +225 -0
  188. package/src/styles/bplaylist.css.js +124 -0
  189. package/src/styles/index.js +1966 -0
  190. package/src/styles/playlist.css.js +84 -0
  191. package/src/styles/rplaylist.css.js +98 -0
  192. package/src/svgs.js +111 -0
  193. package/src/types/Logger.js +10 -0
  194. package/src/types/Options.js +179 -0
  195. package/src/types/Playlist.js +3 -0
  196. package/src/types/Source.js +28 -0
  197. package/src/types/State.js +46 -0
  198. package/src/types/Styles.js +11 -0
  199. package/src/types/TimeData.js +8 -0
  200. package/src/types/Translation.js +69 -0
  201. package/src/utils/absolutizeUrl.js +9 -0
  202. package/src/utils/addClass.js +9 -0
  203. package/src/utils/addEvent.js +31 -0
  204. package/src/utils/addProperty.js +65 -0
  205. package/src/utils/appendChild.js +14 -0
  206. package/src/utils/buff2hex.js +5 -0
  207. package/src/utils/contains.js +33 -0
  208. package/src/utils/createElement.js +24 -0
  209. package/src/utils/each.js +34 -0
  210. package/src/utils/escapeHTML.js +8 -0
  211. package/src/utils/existy.js +4 -0
  212. package/src/utils/extend.js +17 -0
  213. package/src/utils/filter.js +16 -0
  214. package/src/utils/find.js +11 -0
  215. package/src/utils/findIndex.js +20 -0
  216. package/src/utils/first.js +5 -0
  217. package/src/utils/get.js +19 -0
  218. package/src/utils/has.js +5 -0
  219. package/src/utils/hasClass.js +6 -0
  220. package/src/utils/head.js +11 -0
  221. package/src/utils/inRange.js +16 -0
  222. package/src/utils/index.js +73 -0
  223. package/src/utils/isArray.js +4 -0
  224. package/src/utils/isBoolean.js +3 -0
  225. package/src/utils/isElement.js +7 -0
  226. package/src/utils/isEmpty.js +6 -0
  227. package/src/utils/isEqual.js +33 -0
  228. package/src/utils/isEqualBuffer.js +13 -0
  229. package/src/utils/isFunction.js +3 -0
  230. package/src/utils/isNotEmpty.js +5 -0
  231. package/src/utils/isObject.js +5 -0
  232. package/src/utils/isString.js +9 -0
  233. package/src/utils/last.js +4 -0
  234. package/src/utils/map.js +11 -0
  235. package/src/utils/negate.js +8 -0
  236. package/src/utils/noop.js +1 -0
  237. package/src/utils/notExisty.js +5 -0
  238. package/src/utils/reduce.js +8 -0
  239. package/src/utils/remove.js +7 -0
  240. package/src/utils/removeClass.js +8 -0
  241. package/src/utils/removeEvent.js +7 -0
  242. package/src/utils/toArray.js +7 -0
  243. package/src/utils/toggleClass.js +16 -0
  244. package/src/utils/uidGenerator.js +8 -0
  245. package/src/utils/upperFirst.js +4 -0
  246. package/tests/extensions/__snapshots__/download.spec.js.snap +226 -0
  247. package/tests/extensions/__snapshots__/fullscreen.spec.js.snap +30 -0
  248. package/tests/extensions/__snapshots__/title.spec.js.snap +16 -0
  249. package/tests/extensions/download.spec.js +111 -0
  250. package/tests/extensions/fullscreen.spec.js +56 -0
  251. package/tests/extensions/title.spec.js +35 -0
  252. package/tests/mocks/assets/BaseM.mp4 +0 -0
  253. package/tests/mocks/assets/hls.min.js +5 -0
  254. package/tests/mocks/assets/styleMock.js +1 -0
  255. package/tests/mocks/base-player-options.js +47 -0
  256. package/tests/mocks/sources.js +58 -0
  257. package/tests/mocks/timedata/cc_en.vtt +171 -0
  258. package/tests/mocks/timedata/cc_ge.vtt +178 -0
  259. package/tests/utils/wait.js +1 -0
  260. package/webpack.config.js +78 -0
package/.eslintignore ADDED
@@ -0,0 +1,7 @@
1
+ build/*.js
2
+ config/*.js
3
+ test/*.js
4
+ node_modules/*
5
+ src/static/*.js
6
+
7
+ .eslintrc.js
package/.eslintrc.js ADDED
@@ -0,0 +1,206 @@
1
+ module.exports = {
2
+ root: true,
3
+ parser: "babel-eslint",
4
+
5
+ parserOptions: {
6
+ parser: 'babel-eslint'
7
+ },
8
+ globals: {
9
+ process: true,
10
+ Promise: true,
11
+
12
+ // flow types
13
+ $Shape: true,
14
+ $Keys: true,
15
+ $Subtype: true,
16
+ IntervalID: true,
17
+ TimeoutID: true
18
+ },
19
+ extends: [
20
+ // https://github.com/vuejs/eslint-plugin-vue#priority-a-essential-error-prevention
21
+ // consider switching to `plugin:vue/strongly-recommended` or `plugin:vue/recommended` for stricter rules.
22
+ 'plugin:vue/essential',
23
+ // https://github.com/standard/standard/blob/master/docs/RULES-en.md
24
+ 'standard'
25
+ ],
26
+ // required to lint *.vue files
27
+ plugins: [
28
+ 'vue',
29
+ 'jest'
30
+ ],
31
+ env: {
32
+ commonjs: true,
33
+ browser: true,
34
+ "jest/globals": true
35
+ },
36
+ // add your custom rules here
37
+ rules: {
38
+ 'no-cond-assign': 2,
39
+ 'no-console': 1,
40
+ 'no-constant-condition': 2,
41
+ 'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0,
42
+ 'no-dupe-args': 2,
43
+ 'no-dupe-keys': 2,
44
+ 'no-duplicate-case': 2,
45
+ 'no-empty': 2,
46
+ 'no-ex-assign': 2,
47
+ 'no-extra-boolean-cast': 2,
48
+ 'no-extra-parens': 2,
49
+ 'no-extra-semi': 2,
50
+ 'no-func-assign': 2,
51
+ 'no-inner-declarations': 2,
52
+ 'no-irregular-whitespace': 2,
53
+ 'no-negated-in-lhs': 2,
54
+ 'no-obj-calls': 2,
55
+ 'no-prototype-builtins': 2,
56
+ 'no-regex-spaces': 2,
57
+ 'no-sparse-arrays': 2,
58
+ 'no-unexpected-multiline': 2,
59
+ 'no-unreachable': 2,
60
+ 'no-unsafe-finally': 2,
61
+ 'use-isnan': 2,
62
+ 'valid-jsdoc': 2,
63
+ 'valid-typeof': 2,
64
+
65
+ 'semi': [2, "always"],
66
+
67
+ 'accessor-pairs': 2,
68
+ 'array-callback-return': 2,
69
+ 'block-scoped-var': 2,
70
+ 'complexity': ["error", 15],
71
+ 'consistent-return': 0,
72
+ 'curly': 2,
73
+ 'default-case': 0,
74
+ 'dot-notation': 2,
75
+ 'eqeqeq': 0,
76
+ 'guard-for-in': 2,
77
+ 'no-alert': 2,
78
+ 'no-caller': 2,
79
+ 'no-case-declarations': 2,
80
+ 'no-else-return': 2,
81
+ 'no-empty-function': 1,
82
+ 'no-empty-pattern': 2,
83
+ 'no-eq-null': 2,
84
+ 'no-eval': 2,
85
+ 'no-extend-native': 2,
86
+ 'no-extra-bind': 2,
87
+ 'no-extra-label': 2,
88
+ 'no-fallthrough': 2,
89
+ 'no-floating-decimal': 2,
90
+ 'no-implicit-coercion': 0,
91
+ 'no-implicit-globals': 2,
92
+ 'no-implied-eval': 2,
93
+ 'no-invalid-this': 1,
94
+ 'no-iterator': 2,
95
+ 'no-labels': 2,
96
+ 'no-lone-blocks': 2,
97
+ 'no-loop-func': 2,
98
+ 'no-magic-numbers': 0,
99
+ 'no-multi-spaces': 0,
100
+ 'no-multi-str': 2,
101
+ 'no-native-reassign': 2,
102
+ 'no-new': 2,
103
+ 'no-new-func': 2,
104
+ 'no-new-wrappers': 0,
105
+ 'no-octal': 2,
106
+ 'no-octal-escape': 2,
107
+ 'no-param-reassign': 0,
108
+ 'no-proto': 2,
109
+ 'no-redeclare': 2,
110
+ 'no-return-assign': 0,
111
+ 'no-script-url': 2,
112
+ 'no-self-assign': 2,
113
+ 'no-self-compare': 2,
114
+ 'no-sequences': 0,
115
+ 'no-throw-literal': 2,
116
+ 'no-unmodified-loop-condition': 2,
117
+ 'no-unused-expressions': 2,
118
+ 'no-unused-labels': 2,
119
+ 'no-useless-call': 2,
120
+ 'no-useless-concat': 2,
121
+ 'no-useless-escape': 1,
122
+ 'no-void': 0,
123
+ 'no-warning-comments': 0,
124
+ 'no-with': 2,
125
+ 'no-var': 0,
126
+ 'radix': 2,
127
+ 'vars-on-top': 0,
128
+ 'yoda': 2,
129
+
130
+ 'init-declarations': 0,
131
+ 'no-catch-shadow': 2,
132
+ 'no-delete-var': 0,
133
+ 'no-label-var': 2,
134
+ 'no-restricted-globals': 2,
135
+ 'no-shadow': 0,
136
+ 'no-shadow-restricted-names': 2,
137
+ 'no-undef': 1,
138
+ 'no-undef-init': 2,
139
+ 'no-undefined': 1,
140
+ 'no-unused-vars': 2,
141
+ 'no-use-before-define': [1, { "functions": false, "classes": false }],
142
+
143
+ 'array-bracket-spacing': 0,
144
+ 'block-spacing': 2,
145
+ 'brace-style': 2,
146
+ 'camelcase': 2,
147
+ 'comma-dangle': ["error", "never"],
148
+ 'comma-spacing': ["error", { "before": false, "after": true }],
149
+ 'comma-style': ["error", "last"],
150
+ 'computed-property-spacing': ["error", "never"],
151
+ 'consistent-this': 2,
152
+ 'eol-last': 2,
153
+ 'func-names': 1,
154
+ 'func-style': 0,
155
+ 'indent': [2, 3],
156
+ 'key-spacing': 0,
157
+ 'linebreak-style': [0, 'windows'],
158
+ 'lines-around-comment': 0,
159
+ 'max-len': [1, 120],
160
+ 'max-lines': 0,
161
+ 'max-params': [2, 5],
162
+ 'new-cap': 2,
163
+ 'new-parens': 2,
164
+ 'newline-after-var': 0,
165
+ 'newline-before-return': 0,
166
+ 'newline-per-chained-call': 0,
167
+ 'no-array-constructor': 2,
168
+ 'no-bitwise': 2,
169
+ 'no-continue': 2,
170
+ 'no-inline-comments': 0,
171
+ 'no-lonely-if': 2,
172
+ 'no-mixed-operators': 0,
173
+ 'no-mixed-spaces-and-tabs': 2,
174
+ 'no-negated-condition': 0,
175
+ 'no-nested-ternary': 1,
176
+ 'no-new-object': 2,
177
+ 'no-plusplus': 0,
178
+ 'no-restricted-syntax': 0,
179
+ 'no-spaced-func': 2,
180
+ 'no-ternary': 0,
181
+ 'no-trailing-spaces': 2,
182
+ 'no-underscore-dangle': 0,
183
+ 'no-unneeded-ternary': 2,
184
+ 'no-whitespace-before-property': 2,
185
+ 'object-curly-newline': 0,
186
+ 'object-curly-spacing': 0,
187
+ 'object-property-newline': 0,
188
+ 'one-var': 0,
189
+ 'one-var-declaration-per-line': 0,
190
+ 'padded-blocks': 0,
191
+ 'quote-props': ["error", "as-needed"],
192
+ 'quotes': [2, "single"],
193
+ 'require-jsdoc': 0,
194
+ "space-in-parens": 0,
195
+ "prefer-const": 0,
196
+
197
+ 'space-before-function-paren': ["error", {
198
+ "anonymous": "ignore",
199
+ "named": "ignore",
200
+ "asyncArrow": "ignore"
201
+ }],
202
+ 'space-before-blocks': 2,
203
+ 'import/no-unresolved': 0,
204
+ 'import/no-duplicates': 0
205
+ }
206
+ }
package/.flowconfig ADDED
@@ -0,0 +1,3 @@
1
+ [libs]
2
+ flow-libs/
3
+ flow-typed/
@@ -0,0 +1,7 @@
1
+ {
2
+ "recommendations": [
3
+ "firefox-devtools.vscode-firefox-debug",
4
+ "flowtype.flow-for-vscode",
5
+ "dbaeumer.vscode-eslint"
6
+ ]
7
+ }
@@ -0,0 +1,37 @@
1
+ {
2
+ // Use IntelliSense to learn about possible attributes.
3
+ // Hover to view descriptions of existing attributes.
4
+ // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
5
+ "version": "0.2.0",
6
+ "configurations": [
7
+ {
8
+ "name": "Launch Chrome",
9
+ "request": "launch",
10
+ "type": "chrome",
11
+ "url": "http://localhost:8080",
12
+ "webRoot": "${workspaceFolder}",
13
+ "sourceMaps": true
14
+ },
15
+ {
16
+ "name": "Launch Edge",
17
+ "request": "launch",
18
+ "type": "msedge",
19
+ "url": "http://localhost:8080",
20
+ "webRoot": "${workspaceFolder}",
21
+ "sourceMaps": true
22
+ },
23
+ {
24
+ "name": "Launch Firefox",
25
+ "request": "launch",
26
+ "type": "firefox",
27
+ "url": "http://localhost:8080",
28
+ "webRoot": "${workspaceFolder}",
29
+ "pathMappings": [
30
+ {
31
+ "url": "webpack://ravnurmediaplayer/src",
32
+ "path": "${workspaceFolder}/src"
33
+ }
34
+ ]
35
+ }
36
+ ]
37
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "eslint.alwaysShowStatus": true,
3
+ "eslint.format.enable": true
4
+ }
@@ -0,0 +1,54 @@
1
+ # Instructions on how to publish this package to public NPM registry
2
+
3
+ 1. Fetch latest tags
4
+
5
+ ```
6
+ git fetch --tags
7
+ ```
8
+
9
+ 2. Switch to tag version you want to publicly release.
10
+
11
+ ```
12
+ git checkout tags/"release/1.0.0"
13
+ ```
14
+ 3. Change node version to 14 ⚠️ This step ensures that Babel will transpile features like optional chaining for older environments, keeping builds consistent with previous versions.
15
+ ```
16
+ nvm use 14
17
+ ```
18
+ 4. Build the player code
19
+ ```
20
+ npm run build
21
+ ```
22
+
23
+ 5. Replace the code from `.npmrc` to this one:
24
+
25
+ ```
26
+ registry=https://registry.npmjs.org
27
+ ```
28
+
29
+ 6. Change values in the `package.json` file
30
+
31
+ ```
32
+ "name": "ravnur-player-public",
33
+ ...
34
+ "main": "dist/RavnurMediaPlayer.min.js",
35
+ "publishConfig": {
36
+ "registry": "https://registry.npmjs.org"
37
+ },
38
+ "files": [
39
+ "dist",
40
+ "README.md"
41
+ ],
42
+ ```
43
+
44
+ 7. Login to your npm user account in the terminal
45
+
46
+ ```
47
+ npm login
48
+ ```
49
+
50
+ 8. Publish the version
51
+
52
+ ```
53
+ npm publish --access public
54
+ ```
@@ -0,0 +1,28 @@
1
+ module.exports = {
2
+ presets: [
3
+ '@babel/preset-flow',
4
+ [
5
+ '@babel/preset-env',
6
+ {
7
+ modules: false,
8
+ targets: {
9
+ node: 'current'
10
+ }
11
+ }
12
+ ]
13
+ ],
14
+ plugins: [
15
+ '@babel/plugin-syntax-dynamic-import',
16
+ [
17
+ '@babel/plugin-proposal-decorators',
18
+ { legacy: true }
19
+ ],
20
+ '@babel/plugin-proposal-class-properties',
21
+ '@babel/plugin-transform-flow-strip-types'
22
+ ],
23
+ env: {
24
+ test: {
25
+ plugins: ["@babel/plugin-transform-modules-commonjs"]
26
+ }
27
+ }
28
+ };
@@ -0,0 +1,61 @@
1
+ image: node:14.15.1-alpine3.10 # Choose an image matching your project needs
2
+ clone:
3
+ depth: full # SonarCloud scanner needs the full history to assign issues properly
4
+
5
+ definitions:
6
+ services:
7
+ docker:
8
+ memory: 2048
9
+ steps:
10
+ - step: &build-test
11
+ name: Build, test
12
+ caches:
13
+ - node
14
+ script:
15
+ - NPM_TOKENB64=$(echo -n $NPM_TOKEN | base64)
16
+ - npm set registry https://ravnur.pkgs.visualstudio.com/Ravnur/_packaging/ravnur-npm/npm/registry/
17
+ - npm set //ravnur.pkgs.visualstudio.com/Ravnur/_packaging/ravnur-npm/npm/registry/:username=$NPM_USER
18
+ - npm set //ravnur.pkgs.visualstudio.com/Ravnur/_packaging/ravnur-npm/npm/registry/:_password="$NPM_TOKENB64"
19
+ - npm set //ravnur.pkgs.visualstudio.com/Ravnur/_packaging/ravnur-npm/npm/registry/:email=$NPM_EMAIL
20
+ - npm set //ravnur.pkgs.visualstudio.com/Ravnur/_packaging/ravnur-npm/npm/:username=$NPM_USER
21
+ - npm set //ravnur.pkgs.visualstudio.com/Ravnur/_packaging/ravnur-npm/npm/:_password="$NPM_TOKENB64"
22
+ - npm set //ravnur.pkgs.visualstudio.com/Ravnur/_packaging/ravnur-npm/npm/:email=$NPM_EMAIL
23
+ - npm install
24
+ - npm run build
25
+ - npm run lint
26
+ - npm run test
27
+ artifacts:
28
+ - dist/RavnurMediaPlayer.min.js
29
+
30
+ - step: &publish-npm-package
31
+ name: Publish npm package for tag
32
+ caches:
33
+ - node
34
+ script:
35
+ - npm version $BITBUCKET_TAG --git-tag-version false;
36
+ - NPM_TOKENB64=$(echo -n $NPM_TOKEN | base64)
37
+ - npm install --quiet;
38
+ - npm set registry https://ravnur.pkgs.visualstudio.com/Ravnur/_packaging/ravnur-npm/npm/registry/
39
+ - npm set //ravnur.pkgs.visualstudio.com/Ravnur/_packaging/ravnur-npm/npm/registry/:username=$NPM_USER
40
+ - npm set //ravnur.pkgs.visualstudio.com/Ravnur/_packaging/ravnur-npm/npm/registry/:_password="$NPM_TOKENB64"
41
+ - npm set //ravnur.pkgs.visualstudio.com/Ravnur/_packaging/ravnur-npm/npm/registry/:email=$NPM_EMAIL
42
+ - npm set //ravnur.pkgs.visualstudio.com/Ravnur/_packaging/ravnur-npm/npm/:username=$NPM_USER
43
+ - npm set //ravnur.pkgs.visualstudio.com/Ravnur/_packaging/ravnur-npm/npm/:_password="$NPM_TOKENB64"
44
+ - npm set //ravnur.pkgs.visualstudio.com/Ravnur/_packaging/ravnur-npm/npm/:email=$NPM_EMAIL
45
+ - npm publish --registry https://ravnur.pkgs.visualstudio.com/Ravnur/_packaging/ravnur-npm/npm/registry/
46
+
47
+ pipelines: # More info here: https://confluence.atlassian.com/bitbucket/configure-bitbucket-pipelines-yml-792298910.html
48
+ tags:
49
+ "*":
50
+ - step: *publish-npm-package
51
+
52
+ branches:
53
+ master:
54
+ - step: *build-test
55
+ pull-requests:
56
+ "**":
57
+ - step: *build-test
58
+
59
+ custom:
60
+ "Build/Test":
61
+ - step: *build-test
package/cert.pem ADDED
@@ -0,0 +1,23 @@
1
+ -----BEGIN CERTIFICATE-----
2
+ MIIDxTCCAq2gAwIBAgIJAJY2MgMeooHUMA0GCSqGSIb3DQEBCwUAMHkxCzAJBgNV
3
+ BAYTAnVhMRIwEAYDVQQIDAlsb2NhbGhvc3QxDjAMBgNVBAcMBWxkZGRkMQ8wDQYD
4
+ VQQKDAZyYXZudXIxDzANBgNVBAsMBnJhdm51cjEPMA0GA1UEAwwGcmF2bnVyMRMw
5
+ EQYJKoZIhvcNAQkBFgRtYWlsMB4XDTE2MDcyNjE1MDc1NloXDTE3MDcyNjE1MDc1
6
+ NloweTELMAkGA1UEBhMCdWExEjAQBgNVBAgMCWxvY2FsaG9zdDEOMAwGA1UEBwwF
7
+ bGRkZGQxDzANBgNVBAoMBnJhdm51cjEPMA0GA1UECwwGcmF2bnVyMQ8wDQYDVQQD
8
+ DAZyYXZudXIxEzARBgkqhkiG9w0BCQEWBG1haWwwggEiMA0GCSqGSIb3DQEBAQUA
9
+ A4IBDwAwggEKAoIBAQDWPG1ciTsoKr6eY3Yco4UPbVpz3pQhUwh75wx+BJ2Va9xU
10
+ g4d6uVOjd8oANjbcQ8C965xkTiA2aPQiI5PlNO8310cR8jtlL9SkiYD9OiZKnBda
11
+ XWlW/7SpjBQ0IydmSDTrRpnxATi1ekP9sISBaLlXBIqEG/qgruC1eOJ/CMCWGFL3
12
+ 3fKCYjaetN15kdIXflEAxYYUNg6sfvxgM34xibeg1sBzOGlwnTwhSsdKycOgWFbX
13
+ 2SCNBybovuxOQckpBIRY4Ho7wnnchMSiWqjDJnRMajtB/D7GRXl1cEVqWJNxsjPo
14
+ GxFG7nQ/yflrhiwBFoqy/pEAATf2uSNbOuDNIk3nAgMBAAGjUDBOMB0GA1UdDgQW
15
+ BBQbXz/WyftG8avqWDKk0Ezi0CDfgzAfBgNVHSMEGDAWgBQbXz/WyftG8avqWDKk
16
+ 0Ezi0CDfgzAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQBboBHubxKy
17
+ in59Io8n8XtNv/IS5S8yMYaUMEeEhmd2Y2Etju4hBhLSISTpqbKahX3GVJJf0Eg8
18
+ PapVaY+Rtgr6OzUHL/kpPRCVYyhThOkJnAMgFEzegkMxtUNH7LIs2pWTbUKXKH+1
19
+ shs5U0UzmBLSwDVsO1R4F7gfHD/uZPh2FxVrhI13PppWNNCz8ca3jwO+s3j+Cs7S
20
+ 8+bWZ7gTIw1ugKxq3lb7uPIeZuCIzoLqH+rbAs4fjDDRvF6daI58pd/KxngTArDt
21
+ Qgd3vVfyZMAdPfcelCMnUiqkRmneYLN94WUqEq/p5Jn10XQHpYEjPomf2Kw1NW7+
22
+ g8JQRcZ0V65y
23
+ -----END CERTIFICATE-----
package/demo/BaseM.mp4 ADDED
Binary file
package/demo/HD.mp4 ADDED
Binary file
@@ -0,0 +1,50 @@
1
+ [
2
+ {
3
+ "type": 3,
4
+ "text": "test",
5
+ "title": "",
6
+ "starts": {
7
+ "hh": 0,
8
+ "mm": 0,
9
+ "ss": 0,
10
+ "ms": 0
11
+ },
12
+ "ends": {
13
+ "hh": 0,
14
+ "mm": 0,
15
+ "ss": 5,
16
+ "ms": 0
17
+ },
18
+ "top": 20,
19
+ "left": 20,
20
+ "width": 150,
21
+ "height": 30,
22
+ "fontsize": "11px",
23
+ "fontcolor": "FFFFFF",
24
+ "background": "000000"
25
+ },
26
+ {
27
+ "type": 3,
28
+ "text": "test http://google.com link",
29
+ "title": "",
30
+ "starts": {
31
+ "hh": 0,
32
+ "mm": 0,
33
+ "ss": 10,
34
+ "ms": 0
35
+ },
36
+ "ends": {
37
+ "hh": 0,
38
+ "mm": 0,
39
+ "ss": 25,
40
+ "ms": 0
41
+ },
42
+ "top": 20,
43
+ "left": 20,
44
+ "width": 150,
45
+ "height": 30,
46
+ "fontsize": "11px",
47
+ "fontcolor": "EEEEEE",
48
+ "background": "FF0000"
49
+ }
50
+ ]
@@ -0,0 +1,50 @@
1
+ [
2
+ {
3
+ "type": 3,
4
+ "text": "test----GE",
5
+ "title": "",
6
+ "starts": {
7
+ "hh": 0,
8
+ "mm": 0,
9
+ "ss": 0,
10
+ "ms": 0
11
+ },
12
+ "ends": {
13
+ "hh": 0,
14
+ "mm": 0,
15
+ "ss": 5,
16
+ "ms": 0
17
+ },
18
+ "top": 20,
19
+ "left": 20,
20
+ "width": 150,
21
+ "height": 30,
22
+ "fontsize": "11px",
23
+ "fontcolor": "FFFFFF",
24
+ "background": "000000"
25
+ },
26
+ {
27
+ "type": 3,
28
+ "text": "test http://google.ge link---GE",
29
+ "title": "",
30
+ "starts": {
31
+ "hh": 0,
32
+ "mm": 0,
33
+ "ss": 10,
34
+ "ms": 0
35
+ },
36
+ "ends": {
37
+ "hh": 0,
38
+ "mm": 0,
39
+ "ss": 25,
40
+ "ms": 0
41
+ },
42
+ "top": 20,
43
+ "left": 20,
44
+ "width": 150,
45
+ "height": 30,
46
+ "fontsize": "11px",
47
+ "fontcolor": "EEEEEE",
48
+ "background": "FF0000"
49
+ }
50
+ ]
package/demo/base.mp3 ADDED
Binary file