Commit Graph

152 Commits

Author SHA1 Message Date
Álvaro Velad Galván 7401adf912 fix(Ads): Disable interstitials when playing an interstitials (#7621) 2024-11-19 11:17:13 +01:00
Álvaro Velad Galván 10659c5db8 fix(Ads): Prevent playing the same ad twice (#7585) 2024-11-13 18:12:30 +01:00
Álvaro Velad Galván a4d0fc8a57 fix(Ads): Always fire CUEPOINTS_CHANGED when not using multi video elements (#7584)
This is necessary because in our UI when reusing the same video element
the unloading event is launched and we clear the cuepoints with that
event.
2024-11-13 18:12:01 +01:00
Álvaro Velad Galván 16580ea6f8 fix(Ads): Always set endTime for MPD Alternate (#7583) 2024-11-13 18:11:39 +01:00
Álvaro Velad Galván fd6c322320 fix(Ads): Allow play interstitials using single video element when use native HLS (#7550) 2024-11-06 15:06:12 +01:00
Álvaro Velad Galván 84ae80675a fix(Ads): Allow play interstitials on iOS fullscreen (#7538) 2024-11-06 10:28:20 +01:00
Álvaro Velad Galván 1497148eee fix(UI): Disable fullscreen button conditionally when playing ads (#7534)
Only disable fullscreen button when the devices doesn't support the
standard Fullscreen API and playing an ad that use another media element

Fixes https://github.com/shaka-project/shaka-player/issues/6133
2024-11-04 12:54:35 +01:00
Álvaro Velad Galván 6303924dca perf(Ads): Reduce latency for interstitial to start playing (#7528)
Use requestVideoFrameCallback the achieve better performance
2024-10-31 16:02:24 +01:00
Álvaro Velad Galván 075713f0e0 fix(Ads): Fix duplicate Ads when playing interstitials through native HLS player (#7527) 2024-10-31 13:18:42 +01:00
Álvaro Velad Galván 5ee6a4d2f5 perf(Ads): Reduce latency for interstitial to start playing (#7525)
Previously we relied on an event triggered by the video itself which was
launched 4 to 60 times per second, which meant that we had an update (in
the worst case) of 250ms. Now we use a timer that is triggered every
25ms, which considerably reduces the delay.

This is important so as not to show anything from the original ad's
live.
2024-10-31 08:32:00 +01:00
Álvaro Velad Galván 20ab35afb3 chore(Ads): Add starting interstitials log (#7524) 2024-10-30 16:48:03 +01:00
Álvaro Velad Galván b980f6785c fix(UI): Remove buffering spinner when playing a client side ad (#7507) 2024-10-25 08:40:06 -07:00
Álvaro Velad Galván 334a00e1b1 fix(Ads): Limit interstitial duration to actual duration if available when using src= (#7488)
Currently, if the interstitial lasts 30 and we have a stream that lasts
31 seconds, we would go back to live after the interstitial, but with 1
extra second of latency. This PR solves this by limiting the play range
to 30.

Related to https://github.com/shaka-project/shaka-player/pull/7480
2024-10-24 12:15:52 +02:00
Álvaro Velad Galván ad9f2ac039 fix(Ads): Limit interstitial duration to actual duration if available (#7480)
Currently, if the interstitial lasts 30 and we have a stream that lasts
31 seconds, we would go back to live after the interstitial, but with 1
extra second of latency. This PR solves this by limiting the play range
to 30.
2024-10-23 21:31:51 +02:00
Álvaro Velad Galván 3107de3678 feat(Ads): New HLS interstitial DATERANGE attributes for Skip Button (#7467)
Close: https://github.com/shaka-project/shaka-player/issues/7466
2024-10-23 20:23:33 +02:00
Álvaro Velad Galván 2394ec2b49 fix(Ads): Disable interstitials when using AirPlay (#7479) 2024-10-23 20:17:20 +02:00
Álvaro Velad Galván 7d8510b461 fix(Ads): Don't load useless segments when using playoutLimit on interstitial ads (#7469) 2024-10-23 08:12:26 +02:00
Álvaro Velad Galván 25e7620029 fix(Ads): Allow preload and remove old interstitials when playing a interstitial (#7465) 2024-10-23 08:11:58 +02:00
Álvaro Velad Galván 53b704f688 fix(Ads): Release interstitials timer correctly (#7373)
Fixes https://github.com/shaka-project/shaka-player/issues/7372
2024-09-25 10:30:55 +02:00
Álvaro Velad Galván 524014e3bd fix(Ads): Fix JUMP implementation to avoid loop the same ad group in Interstitials (#7329) 2024-09-18 08:13:38 +02:00
Álvaro Velad Galván 64e45c96ba feat(Ads): Add config to allow disable interstitials (#7271) 2024-09-06 17:27:01 +02:00
Álvaro Velad Galván f5b78dc88a feat(Ads): Added advanced type to ad requests (#7196) 2024-08-23 12:34:44 +02:00
Álvaro Velad Galván 93f2d96a45 feat(DASH): MPD Alternate support (#7055) 2024-08-22 09:52:50 +02:00
Álvaro Velad Galván 024826811d fix(Ads): Only allow play the preroll once (#7096) 2024-07-24 08:21:20 +02:00
Álvaro Velad Galván 18aea54f6e fix(Ads): Fix back to live for native HLS when interstitial endTime is Infinity (#7095) 2024-07-24 08:21:10 +02:00
Álvaro Velad Galván 0cdeb65799 fix(Ads): Fix playback of preroll interstitial when the currentTime is 0 (#7092) 2024-07-24 08:20:47 +02:00
Álvaro Velad Galván d79f8e2ce3 fix(Ads): Fix timelineRange detection in HLS interstitials (#7091) 2024-07-23 13:53:34 +02:00
Álvaro Velad Galván 9337143856 fix(Ads): Don't show duplicate SKIP UI in IMA CS (#7084)
SKIP UI in IMA CS can not be disabled, see:
https://developers.google.com/interactive-media-ads/docs/sdks/html5/client-side/faq#13
2024-07-23 07:53:27 +02:00
Álvaro Velad Galván a6f39995c4 feat(Ads): Add basic VMAP support without IMA (#7054) 2024-07-17 15:36:34 +02:00
Álvaro Velad Galván c59922bae5 feat(Ads): Add basic VAST support without IMA (#7052)
This only includes playback, no tracking is sent.
2024-07-17 11:00:43 +02:00
Álvaro Velad Galván 8b70bb6c38 fix: Fix skip interstitials with another ID but same URL (#7050) 2024-07-17 09:08:44 +02:00
Álvaro Velad Galván ade19cb260 fix(Ads): Fix mangled properties when using X-ASSET-LIST (#7002) 2024-07-08 21:06:43 +02:00
Álvaro Velad Galván 9e1f4e7b8c feat(Ads): Allow the use of custom interstitials ads (#6991) 2024-07-08 14:22:55 +02:00
Álvaro Velad Galván 247037e537 fix(UI): Show the ad marker in the seek bar when there are some intersections (#6990) 2024-07-08 08:25:37 +02:00
Álvaro Velad Galván 339bab44ec fix(Ads): Fix skip functionality in MediaTailor (#6910)
Fixes https://github.com/shaka-project/shaka-player/issues/6909
2024-06-26 10:49:48 +02:00
Álvaro Velad Galván 9b1ef046df fix(CS): Fix IMA integration (#6907) 2024-06-25 11:55:38 +02:00
Álvaro Velad Galván e39defb6f7 feat(Ads): Remove circular dependency (#6868)
To eliminate `* @suppress {missingRequire}` it was necessary to create a
new class with the constants and deprecate the old ones. That's why this
change is feat.
2024-06-20 07:51:58 +02:00
Álvaro Velad Galván 037d4cbb7e feat(Ads): Add averageLoadTime and errors to ad stats (#6828) 2024-06-18 19:13:24 +02:00
Álvaro Velad Galván 2209c4da7e chore(Ads): Remove testing workaround in interstitials (#6826) 2024-06-17 09:48:56 +02:00
Álvaro Velad Galván 28d3c98415 feat(Ads): Fill loadTime stats in interstitials (#6817) 2024-06-13 22:22:47 +02:00
Álvaro Velad Galván 7844fedf21 feat(Ads): Add support for X-TIMELINE-OCCUPIES (#6806) 2024-06-13 09:41:20 +02:00
Álvaro Velad Galván 4ea9a4471d feat(Ads): Add CUE PRE and POST support in Interstitials (#6799) 2024-06-12 11:50:57 +02:00
Álvaro Velad Galván 9b25ff5bc1 feat(Ads): Add CUEPOINTS_CHANGED event to interstitials (#6791) 2024-06-12 10:14:37 +02:00
Álvaro Velad Galván 46387754ca feat(Ads): Improve preload timing on interstitials (#6792) 2024-06-12 09:59:36 +02:00
Álvaro Velad Galván c72493a41b feat(Ads): Add CUE ONCE support in Interstitials (#6785) 2024-06-11 10:37:37 +02:00
Álvaro Velad Galván 394968617e fix(Ads): Fix duplicate interstitials when using src= (#6784) 2024-06-11 08:28:42 +02:00
Álvaro Velad Galván 08e81118cf fix(Ads): Fix interstitial ad values when the ad is loading (#6782) 2024-06-10 13:48:45 +02:00
Álvaro Velad Galván 59304b8208 feat(Ads): Add support for interstitials when using src= (#6777) 2024-06-10 13:26:05 +02:00
Álvaro Velad Galván 5bfe37f3c5 feat(Ads): Improve resume times when the interstial uses two video elements (#6774) 2024-06-10 11:13:05 +02:00
Álvaro Velad Galván 363989c770 feat(Ads): Fix playback of interstitials in iOS (#6776) 2024-06-10 11:12:53 +02:00