Source: lib/ads/interstitial_static_ad.js

  1. /*! @license
  2. * Shaka Player
  3. * Copyright 2016 Google LLC
  4. * SPDX-License-Identifier: Apache-2.0
  5. */
  6. goog.provide('shaka.ads.InterstitialStaticAd');
  7. /**
  8. * @implements {shaka.extern.IAd}
  9. * @export
  10. */
  11. shaka.ads.InterstitialStaticAd = class {
  12. /**
  13. * @param {shaka.extern.AdInterstitial} interstitial
  14. * @param {number} sequenceLength
  15. * @param {number} adPosition
  16. */
  17. constructor(interstitial, sequenceLength, adPosition) {
  18. /** @private {shaka.extern.AdInterstitial} */
  19. this.interstitial_ = interstitial;
  20. /** @private {number} */
  21. this.sequenceLength_ = sequenceLength;
  22. /** @private {number} */
  23. this.adPosition_ = adPosition;
  24. /** @private {boolean} */
  25. this.isLinear_ = interstitial.overlay == null;
  26. }
  27. /**
  28. * @override
  29. * @export
  30. */
  31. needsSkipUI() {
  32. return true;
  33. }
  34. /**
  35. * @override
  36. * @export
  37. */
  38. isClientRendering() {
  39. return true;
  40. }
  41. /**
  42. * @override
  43. * @export
  44. */
  45. hasCustomClick() {
  46. return false;
  47. }
  48. /**
  49. * @override
  50. * @export
  51. */
  52. isUsingAnotherMediaElement() {
  53. return false;
  54. }
  55. /**
  56. * @override
  57. * @export
  58. */
  59. getDuration() {
  60. return -1;
  61. }
  62. /**
  63. * @override
  64. * @export
  65. */
  66. getMinSuggestedDuration() {
  67. return this.getDuration();
  68. }
  69. /**
  70. * @override
  71. * @export
  72. */
  73. getRemainingTime() {
  74. return -1;
  75. }
  76. /**
  77. * @override
  78. * @export
  79. */
  80. isPaused() {
  81. return false;
  82. }
  83. /**
  84. * @override
  85. * @export
  86. */
  87. isSkippable() {
  88. return false;
  89. }
  90. /**
  91. * @override
  92. * @export
  93. */
  94. getTimeUntilSkippable() {
  95. return 0;
  96. }
  97. /**
  98. * @override
  99. * @export
  100. */
  101. canSkipNow() {
  102. return false;
  103. }
  104. /**
  105. * @override
  106. * @export
  107. */
  108. skip() {
  109. // Nothing
  110. }
  111. /**
  112. * @override
  113. * @export
  114. */
  115. pause() {
  116. // Nothing
  117. }
  118. /**
  119. * @override
  120. * @export
  121. */
  122. play() {
  123. // Nothing
  124. }
  125. /**
  126. * @override
  127. * @export
  128. */
  129. getVolume() {
  130. return 1;
  131. }
  132. /**
  133. * @override
  134. * @export
  135. */
  136. setVolume(volume) {
  137. // Nothing
  138. }
  139. /**
  140. * @override
  141. * @export
  142. */
  143. isMuted() {
  144. return false;
  145. }
  146. /**
  147. * @override
  148. * @export
  149. */
  150. isLinear() {
  151. return this.isLinear_;
  152. }
  153. /**
  154. * @override
  155. * @export
  156. */
  157. resize(width, height) {
  158. // Nothing
  159. }
  160. /**
  161. * @override
  162. * @export
  163. */
  164. setMuted(muted) {
  165. // Nothing
  166. }
  167. /**
  168. * @override
  169. * @export
  170. */
  171. getSequenceLength() {
  172. return this.sequenceLength_;
  173. }
  174. /**
  175. * @override
  176. * @export
  177. */
  178. getPositionInSequence() {
  179. return this.adPosition_;
  180. }
  181. /**
  182. * @override
  183. * @export
  184. */
  185. getTitle() {
  186. return '';
  187. }
  188. /**
  189. * @override
  190. * @export
  191. */
  192. getDescription() {
  193. return '';
  194. }
  195. /**
  196. * @override
  197. * @export
  198. */
  199. getVastMediaBitrate() {
  200. return 0;
  201. }
  202. /**
  203. * @override
  204. * @export
  205. */
  206. getVastMediaHeight() {
  207. return 0;
  208. }
  209. /**
  210. * @override
  211. * @export
  212. */
  213. getVastMediaWidth() {
  214. return 0;
  215. }
  216. /**
  217. * @override
  218. * @export
  219. */
  220. getAdId() {
  221. return this.interstitial_.id || '';
  222. }
  223. /**
  224. * @override
  225. * @export
  226. */
  227. getCreativeAdId() {
  228. return '';
  229. }
  230. /**
  231. * @override
  232. * @export
  233. */
  234. getAdvertiserName() {
  235. return '';
  236. }
  237. /**
  238. * @override
  239. * @export
  240. */
  241. getMediaUrl() {
  242. return this.interstitial_.uri;
  243. }
  244. /**
  245. * @override
  246. * @export
  247. */
  248. getTimeOffset() {
  249. return 0;
  250. }
  251. /**
  252. * @override
  253. * @export
  254. */
  255. getPodIndex() {
  256. return 0;
  257. }
  258. /**
  259. * @override
  260. * @export
  261. */
  262. release() {
  263. // Nothing
  264. }
  265. };