Skip to content

Latest commit

 

History

History
191 lines (155 loc) · 8.87 KB

CHANGELOG.md

File metadata and controls

191 lines (155 loc) · 8.87 KB

2.0.5

  • Stability improvements / bugfixes

2.0.0

  • added support for the Google Cast plugin

1.9.25 (2.0.0 RC2)

  • updated Youtube API adding support for Lollipop
  • updated supported color formats for Controls and Text overlays (RGBA, RGB, #RGBA and #RGB)
  • minor bugfixes and API improvements

1.9.24 (2.0.0 RC1)

  • bugfix - cloning a unit did not also copy over the unit manager
  • added support for multiple renderers. By default, VeePlay ships with two default renderers, MediaPlayerRenderer (used automatically for 4.0.x devices) and ExoPlayerRenderer(used automatically for 4.1+ devices)
  • APSMediaUnit objects now hold a renderer string property. In order to explicitly set a renderer, use the static rendererIdentifier string of the renderer class.
  • bugfix - transitioning to full screen and then changing orientation could cause an exception
  • Improved HLS support for 4.1+ devices
  • Shorter buffering times
  • Support for 3rd party renderers. In order to plug a player for rendering content, it's a question of implementing IVeeplayRenderer and registering it with the player
  • Accuracy to the second when seeking
  • Native support for DASH and SmoothStreaming is now possible (if interested in this feature please contact office@veeplay.co)
  • Widevine DRM support is now possible (if interested in this feature please contact office@veeplay.co)
  • Faster transition to higher bitrate streams (it takes about 4-6 seconds to switch streams)
  • this version is a release candidate. Altough it was extensively tested over the past few weeks, it should be tested with each implementation before deploying into production

1.9.23

  • bugfix - finishing the player during playback might cause a crash

1.9.22

  • major internal player refactoring to allow multiple renderers, in preparation for ExoPlayer support
  • bugfix: events with a high number of VAST sources might time out prematurely, causing them to be skipped
  • bugfix: calling getCurrentPosition during a unit transition might have caused a crash
  • increased default preload time to 10 seconds

1.9.21

  • bugfix: calling resumePlay() before the VeePlay surface view was created would trigger an error and skipping to the next unit.

1.9.20

  • improved stability and support for surface view state changes

1.9.19

-bugfix: setting an adbreak offset larger than 1 hour caused the offset to be marked as null.

1.9.18

  • units generated by the VAST parser now contain a metadata key "source_url", populated with the URL of the VAST feed that originated that unit
  • bugfix: seeking while paused caused isPlaying() to return true
  • bugfix: when providing autoplay: false for a unit, the Livestream time would start upon preparation, in case duration is not available.

1.9.17

  • kAPSMetadataCurrentAdBreakOffset metadata values are now integers
  • bugfix -> using autoplay=false and an initialPlaybackTime on pre 5.0 caused the video to start from the beggining
  • seekTo optimizations.

1.9.16

  • Bugfixes addressing crashes during midroll adbreak transitions

1.9.15

  • ActionDelegate interface: respondTo now returns a boolean
  • Click tracking for action delegates is only triggered if respondTo returns true

1.9.14

  • Bugfix for VAST fallbacks

1.9.13

  • Added the OKHttp library from Square
  • Switched VAST tracking events to the OKHttp client, solving a random behaviour caused by HttpUrlConnection in connection with some devices and some proxy servers (f.e HTC Device and Charlesproxy)

1.9.12

  • Bugfix: Multiple tracking URLs for the same event would override each other
  • Bugfix: Preventing the countdown timer to go below 0 while rebuffering
  • Preferring MP4 ads over HLS ads through Google DFP

1.9.11

  • Bugfix: When foregrounding an activity containing a player instance, the playback could have spontaneously resumed when playing a Marlin DRM encoded stream, or a normal HLS stream.

1.9.10

  • Added a metadata field to each ad unit "source_index". This key can be used for identifying the source of an ad in an adbreak, when using multiple sources per adbreak.

1.9.9

  • Added a metadata field (HashMap<String, Object>) for APSVastAdbreak object (should be constructed before usage). If used, it will add any keys set to the metadata of each APSMediaUnit generated by the adbreak object
  • APSMediaPlayer._overlaysDisplayed is now a public field
  • Unit metadata keys now contain integers exclusively for determining the offset. The values for prerolls and postrolls are static (0 and Integer.MAX_VALUE)

1.9.8

  • Modified the onTrackingReceived header, it now only accepts two parameters: MediaEventType type and Bundle additionalInfo. The additionalInfo bundle contains by default the old parameters received by onTrackingReceived, on the "urls" and "description" keys.
  • Added the CLOCK_TICK event, an event that is fired every second the player is active.
  • Added two keys to the additionalInfo Bundle for the CLOCK_TICK event: "position" and "duration", containing two integers (the current position in seconds, and the current content duration, in milliseconds)
  • Added two events for detecting user interaction for pausing and resuming playback. The two events are USER_PAUSE and USER_UNPAUSE and are triggered by interacting with the pause button in the controls overlay
  • Fixed detecting the content position an adbreak has started at. Each ad content unit contains a metadata key called "aps_vast_adbreak_offset" that holds the offset the ad break has actually started at.

1.9.7

  • Bugfix for statically positioned midrolls
  • Bugfix for detecting playback state after seek (the player always returned false)

1.9.6

  • Added a bugfix for a crash during player finish
  • Added seek handling support: by default, the player will only play the last scheduled adbreak, when seeking. This can be configured via the APSMediaUnit#seekHandling field, or using the JSON configuration, on the content unit: "seekAdHandling": "last" (/first/all)
  • Added automatic ad breaks positioning: a minimum initial offset, minimum final offset and minimum interval between ad-breaks can be set (all default to 300 seconds). Ad breaks that are not configured with an offset will be automatically scheduled based on these three parameters.
  • Added the FORWARD event, for detecting forward seeks
  • The SurfaceView is now secure, by default, on devices with API level > 17. This behaviour can be changed by calling APSMediaPlayer#setSecureSurfaceView(false) before initializing the player.

1.9.5

  • Added unit and overlay metadata keys for current adbreak offset
  • Unit metadata is now copied for unit clones

1.9.4

  • Added a bugfix preventing seeking past the end of a video unit
  • Added the PLAYLIST_FINISHED trackable event for detecting the end of the playback of the last unit in the playlist

1.9.3

  • Re-implemented full-screen mode toggling
  • Bug fixes for text and skip overlays
  • Bugfixes affecting multiple ads in an adbreak

1.9.2

  • Addressed a bug causing a crash when toggling full-screen mode.

1.9.1

  • Added a more detailed error message for invalid licenses

1.9.0

  • Units, Overlays and AdBreaks are now APSMediaEvent instances. This allows just-in-time VAST/VMAP feed retrieval, as well as banner preloading on Image overlays
  • APSMediaBuilder#mediaUnits and APSMediaPlayer#playMediaUnits now accept ArrayList
  • APSMediaUnit, APSMediaOverlay and APSVastAdBreak are now members of the com.appscend.media.events package
  • APSMediaEvents has ben renamed to APSMediaTrackingEvents

1.8.6

  • Minor bugfixes for DRM managers

1.8.5

  • APSMediaEvents definitions are now an Enum instead of String constants
  • Player events are no longer local broadcasts but implement a Listener model. Please implement the new APSMediaPlayerTrackingEventListener interface and review the APSMediaEvents documentation if upgrading from older versions
  • Fixed a bug where events were not emitted if no tracking urls were defined
  • Fixed a bug where controls were not shown when building an APSMediaUnit instance and not setting an autohide duration

1.8.4

  • Fixed a bug preventing events to be dispatched
  • Replaced JS YouTube API with the Android YouTubeAPI (if upgrading from 1.8.3 or older, please add your YouTube API key when initialising the player)

1.8.3

  • Added support for the Marlin DRM Plugin

1.8.2

  • Improved support for playing HLS / M3U8 streams
  • Configurable livestream indicator in controls overlay
  • Support for midrolls and overlays
  • Support for youtu.be URLs in the Youtube Overlay Controller
  • Added a configurable flag for disabling the player on rooted phones
  • Added methods for explicitly entering or exiting full-screen mode
  • Support for configuring actions when dismissing clicked overlays / linears
  • Metadata support for units and overlays
  • Corrected the aspect ratio of Webview buttons
  • Configurable preferred video mime types
  • Improved support for tracking royalties