This project is read-only.

JavaScript release notes

  • Documentation
  • Memory and performance improvements
    • Performance improvement: unused panels now hidden to eliminate unnecessary layout cycles
    • Performance and stability improvements – Automatic event unwiring and property unbinding; unnecessary prototype chaining and base class cleanup
  • General
    • RTL and progress bar bug fixes
    • Added playlist binding support
    • Dropped Metro from namespaces and folder names (fixes Blend issues)
    • Added fade animations to control panel
    • Improvements to plugin architecture – addition of PluginBase class with IsEnabled, IsActive, OnLoad, OnUnload, OnActivated, OnDeactivated, etc.
    • Improvements to plugin architecture – support for declarative plugin options in JSON
    • Added code comments for all defined MediaPlayer members
    • View model scrubbing fixes
    • Improved custom progress control styling
    • Fixed TTML parser to allow captions to allow more timing flexibility (e.g. begin times that matching previous cue's end time)
  • Advertising features
    • Mid and postroll preloading optimization (5 seconds before ad plays).
    • AdHandlerPlugin.PlayAdAsync now relays all exceptions due to unrecoverable errors back to the caller.
    • Ads can now be added or removed during the course of a playing video.
    • Ads that have already been played can now be re-scheduled.
    • Support for VAST 1.0 wrapper ads.
    • Making VAST parser more forgiving of bad tracking events.
    • Empty VAST ads now supported.
    • Support for defining full companion ads in wrappers.
    • Support for new VAST 3.0 progress tracking event.
    • Support for cache buster macro.
    • Support for static fallback ad if wrapper does not contain ad.
    • Support for new VAST 3.0 wrapper behavior attributes.
    • Added ability to style ad clickthrough links.
    • Fixed MAST unload failures
  • Sample enhancements
    • New advertising samples
    • Custom UX Sample - AppBar integration and UI improvements (snapped mode styling)
    • Error Sample – error event handling
    • Custom UX sample improvements (e.g. timeline customizations and playlist item binding to AppBar)
    • Added Complex Player sample (formerly Playlist Ads) and moved it to Misc sample group
    • Improved Error sample (better event logging)
    • Added PlayReady DRM sample
    • Dispose implementations added to samples
  • Additional APIs
    • autohide
    • autohideTime
    • isInteractive
    • Interactivity options (e.g. hard vs. soft user interactions)
    • interactivestatechange event
    • Adding reusable mediaExtensionManager property to MediaPlayer. This is now used from the Adaptive Plugin and PlayReady DRM sample
    • Added initialized event to MediaPlayer
    • Added PluginBase class
  • Misc bug fixes:
    • Skip back/ahead time calculation fix
    • Mouse pointer/touch interaction fixes
    • Setting currentCaptionTrack now works for both plain-text (native) and timed-text captions
    • Fixed bug with toggling native captions on and off
    • Width/height option fix (e.g. setting 100% width)
    • Fixed MSRealTime typo
    • Some tracking events were not firing in ads.
    • Fixes when setting plugin properties via Playlist options (for ads, etc.)
    • Fixed z-index issues caused by combining playlist items with ads, captions, and other states of the player

Xaml release notes

  • Documentation
  • Advertising
    • Mid and postroll preloading optimization (5 seconds before ad plays).
    • AdHandlerPlugin.PlayAdAsync now relays all exceptions due to unrecoverable errors back to the caller.
    • Ads can now be added or removed during the course of a playing video.
    • Ads that have already been played can now be re-scheduled.
    • Added new event AdHandlerPlugin.AdStateChanged.
    • Support for VAST 1.0 wrapper ads.
    • Making VAST parser more forgiving of bad tracking events.
    • Empty VAST ads now supported.
    • Support for defining full companion ads in wrappers.
    • Support for VMAP
    • Ads automatically pause when clicked and resume when user returns to app.
    • Support for new VAST 3.0 progress tracking event.
    • Support for cache buster macro.
    • Support for static fallback ad if wrapper does not contain ad.
    • Support for new VAST 3.0 wrapper behavior attributes.
    • Added ability to style ad clickthrough links.
  • Memory and performance improvements
    • MediaPlayer.Dispose now cancels currently playing ads and preloading ads.
    • MediaPlayer.Dispose now cancels any pending deferrable operations from MediaLoading, MediaStarting and MediaEnding events.
    • Smooth streaming MediaExtensionManager is now cleaned up when calling MediaPlayer.Dispose
    • Performance improvement: unused panels now hidden to eliminate unnecessary layout cycles that would adversely impact battery life and CPU usage.
    • Performance improvement: caption display evaluation is turned off when caption plugin is present but no caption track is selected.
    • Performance improvement: UpdateComplete event no longer fires while video is paused or no video is loaded.
  • Designer/Blend/Styling improvements
    • Misc improvements to MediaPlayer and ControlPanel Xaml to make more Xaml friendly.
    • MediaPlayer and ControlPanel styles can now be changed at runtime.
    • New property: MediaPlayer.ControlPanel to make it easier to set visual states on custom styled ControlPanel.
    • New property ControlPanel.LeftPanel & .RightPanel to make it easier to add dynamic buttons.
    • Support for using Blend with vsix SDKs.
    • Intellisense now works in VS.
    • MediaPlayer now shows in Blend toolbar for easy discoverability.
  • Miscellaneous
    • Refactored plugins to use new PluginBase class.
    • More control over when control panel is displayed or hidden (e.g. Tap to dismiss).
    • Removing CaptionMarker plugin SDK. Recommend using TimedText instead.
    • Changed default value of AutoHideInterval from 5 seconds to 3 seconds to match JS version and video tag default behavior.
    • New property: MediaPlayer.MediaExtensionManager to expose MediaExtensionManager used by smooth streaming. Useful to wire up PlayReady extension.
    • Improved ControlPanel keyboard interaction.
  • Bug Fixes
    • Volume panel now dismisses independently of control panel.
    • Hovering over skip back and ahead text now shows correct indicator of "+30s" and "-30s"
    • Scrubbing event was firing immediately before ScrubbingStarted. Proper order now occurs.
    • Some tracking events were not firing in ads.
    • SkipAhead feature now properly advancing 30 seconds.
    • Error dialog/retry now only calls MediaStarting event if playback hadn't began already.
  • Samples
    • Updated sample to target x86 instead of x64. Also turned off “prefer 32-bit” flag in project properties.
    • Added calls to .Dispose in samples when navigating away from the page.
    • New custom UX sample
    • New PlayReady sample

Last edited Jul 17, 2012 at 11:43 PM by timgreenfield, version 15