UNPKG

mediaelement

Version:
703 lines (590 loc) 103 kB
# Version History *7.1.0* (2025/11/12) * Fixed a lot of fullscreen scaling and rotating bugs for different browser and devices. * Also included the fullscreen fixes of ([#2995](https://github.com/mediaelement/mediaelement/pull/2995)) by @awilfox and ([#2971](https://github.com/mediaelement/mediaelement/pull/2971)) by @swashbuck. This also fixes #2919 and #2644. * Also added the functionality for the demo files to test the `fakeFullscreen` option, which was already broken. We need to fix this in another version. *7.0.7* (2024/12/17) * Remove a symlink that got accidentally pushed into git repository *7.0.6* (2024/12/17) * Added keyboard controls for play and pause to container element ([#2978](https://github.com/mediaelement/mediaelement/pull/2978)) * Added screen reader text for current time and total duration ([#2979](https://github.com/mediaelement/mediaelement/pull/2979)) *7.0.5* (2024/04/26) * Fixed wrong focus on load when using default subtitles ([#2958](https://github.com/mediaelement/mediaelement/pull/2958)) *7.0.4* (2024/04/25) * Fixed wrong focus on load when using default subtitles([#2957](https://github.com/mediaelement/mediaelement/pull/2957)) @Necxes * Improved performance by eliminating a test logic event ([#2954](https://github.com/mediaelement/mediaelement/pull/2954)) @westonruter *7.0.3* (2024/01/29) * HLS and MPEG-Dash renderer should now have working captions, when loaded initially. * Updated `demo/index.html` for easier debugging. *7.0.2* (2023/11/14) * Fixed an error that occurred with the iFrame players * Fixed a problem with the scaling of iFrames within their containers *7.0.1* (2023/10/31) * Fix state of caption toggle not visible *7.0.0* (2023/03/28) ## Removal of flash support * Flash support removed, see [Migration Guide](MIGRATION.md) for more information about Breaking Changes. Thanks to @jaapmarcus for initial PR. * Make `test` npm-script available to work on all plattforms. * HLS and MPEG-Dash renderer should now have working captions. (#2928) * Fix firefox bug on mouseout. (#2840) Thanks to @JoshStegmaier. *6.0.3* (2023/03/28) * `outline-style: auto` has been replaced by `outline-style: solid` in the CSS `focus:` pseudo-class in the class `mejs__container`. This change will enable Firefox to show the correct `outline-color` on focus if defined. (#2924) *6.0.2* (2023/03/06) * `outline-style: auto` has been added to the CSS `focus:` pseudo-class to the class `mejs__container` which will enable Firefox to show the correct `outline-color` on focus if defined. Otherwise, it will keep the default color of the browsers. (#2922) *6.0.1* (2023/02/07) * Fixed an error that prevented some mobile devices from reliably selecting chapters and subtitles *6.0.0* (2023/01/30) * Fix missing video tracks after player is removed * Added browser-native subtitle support and removed custom VTT/DFXP parsing * Removed support for "slides" tracks which were non-functional * Removed options: "tracksAriaLive", "captionTextPreprocessor", "slidesSelector" * Renamed "startLanguage" option to "autoplayCaptionLanguage" for clarity * New option "chaptersLanguage" to set the language of the displayed chapters track. * new option "defaultTrackLine" to control in which line subtitles are displayed by default * Fixed being able to activate disabled caption-buttons * Fixed "default" track not automatically playing (subtitles and captions tracks only) *5.1.1 (2023/02/6)* * Add focus outline to mejs__container to pass WCAG SC 2.4.7 (#2912) *5.1.0 (2022/09/07)* * Detect when seek has been called by user interaction (#2869) * Use of strict mode in language files may lead to javascript error when used in a JS packer (#2870) * Fix container height and width calculation when css is deactivated (#2906) *5.0.5 (2022/02/07)* * Added new option to hide screen reader title optionally (#2899) * WCAG: Add empty alt to poster image (#2898) *5.0.4 (2021/11/04)* * Switch data-src to src (PR #2893 Fixed #2891) *5.0.3 (2021/10/29)* * Add attribute `aria-describedby` to horizontal-volume button * Reinclude `type="button"` to the button, to prevent submit in forms. * Consistent usage of space and return keys in all browsers (PR #2889 Fixed #2888) *5.0.2 (2021/10/18)* * Reflect correct aria-pressed status of overlay play button when clicked for the first time * Reflect toggling aria-pressed status of the overlay play button correctly *Minimizing necessary tabs for Firefox by setting audio/video-element to tabindex="-1" *5.0.1 (2021/10/05)* * Fix for fullscreen video not centering in mobile view (#2881) * Fix for volume-current and volume-total becoming non-distinguishable with custom high-contrast settings enabled (#2878) *5.0.0 (2021/09/13)* ## The WCAG update To be WCAG 2.1 compliant we had to introduce breaking changes. We had to create a new solution to improve user defined values for colors and text size in the browser. We also improved the semantics and aria attributes for the control bar. By using inline svgs for the control elements we simplified customization with css properties because now `fill:color` and `stroke:color` can be used. * Change default value for fakeNodeName to `div` (#2800) * Copy all files from `/demo` folder to `/build` folder with grunt task * Replace background sprite for controls with svg icon sprite * New option `iconSprite`: path where the svg icon sprite is located, see [standalone documentation](docs/api.md#standalone) * Change `px` to `rem` values in styles * Add attribute `aria-describedby` to volume button *4.2.17 (2021/07/05)* * Fix player.options.startVolume overwritten by 0 (#2783) * Fix some html comments typos, Strip out old 404 sources (#2772) * Fix issues with fullscreen under Safari (#2762) * Get correct mime type for mov files (#2766) * Fix enableAutosize:false bug see #2753 * Fix rare issue with offscreen.remove() #2752 * Fix DFXP parsing: remove remnants of jQuery use (#2760) * Use the same rendererName variable when calculating isNative (#2759) * Improve formatting of the release.md docs *4.2.16 (2020/03/16)* * Fix 4.2.15 release : update version to 4.2.16, rebuild * Changed multiple urls in demo file (#2749) * Removed FLV and MP4 No Ext de to 404 replaced HLS due to 404 with Akamai Test stream * Replaced Facebook url due to not working Layout is ** up now. Change multple audio files due to not working. api.soundcloud.com has reached it limit for api request therefore not working any more * replaced one supplied by facebook * Facebook video post did not work *4.2.15 (2020/03/10)* * Do not delay starting media on key action (#2745) * Do not call changeRenderer() on empty media (#2743) simplify condition avoid pausing player without media * Trigger pause/play when seeking with keyboard to make analytics work (#2740) * Fix extracting the vimeo video id from private links (#2733) (#2741) * Add option to preprocess caption text before display (#2735) * Add option `captionTextPreprocessor` to allow preprocessing of caption texts using a given callback (#2735) * Improve doc formatting * Fix "config is undefined" when working with volumeSlider using keyboard (#2736) * Remove unnecessary Safari hack (#2731) * Fix time slider and volume slider crash on keypress (#2728) * Changed fullscreeneventname for resolving fullscreen issue in firefox (#2726) * media.seekable fallback for getDuration-method of player/default.js (#2571) * Add new configuration option "ignorePauseOtherPlayersOption" (useful for background(banner) players) * api.md: document "ignorePauseOtherPlayersOption" option * Remove IS_ANDROID from SUPPORTS_NATIVE_HLS (#2720) (#2719) * Add handling of the .play() promise errors to vimeo player (#2715) (#2716) * Make error event handler more robust (#2708) Check if event.target.error exists before accessing it. In some edge cases e.target is no <video> element or it has null as error property. *4.2.14 (2019/10/19)* * Update versions in src/js/core/mejs.js and package.js (had not been done for 4.2.13) * Include RELEASE.md so that "the maintainer" knows how to build a release. * Handle captions files missing text at end of file. (PR#2702) *4.2.13 (2019/09/27)* * Undo changes introduced 4.2.11 to fix unmute bug * added missing target build/renderers/youtube.js in Gruntfile.js *4.2.12 (2019/08/22)* * Fix dash.js (@daveyx,#2659, call to obsolete functions removed) (#2672) * Fixes Safari critical error on video element children (#2668) * Generate hlsError events for non fatal errors (#2666) * Fix append method is not support on old browser (#2580) * Fix time slider crash on left/right arrow keypress #2622 * Fix bug before media loads and currentTime is not a number #2658 * No longer modify any objects under the global window objects to prevent side effect. (PR #2123 Fixed #2598) * Added handling of the .play() promise errors to native_hls player (PR#2550) * Add support for getPlaybackRate and setPlaybackRate for YouTube renderer (#2676) * Add Turkish translations #2678 *4.2.10 (2019/04/17)* * Fixed don't swallow first 2% of the video in time slider (https://github.com/mediaelement/mediaelement/pull/2582) @jomo @coveralls * Fixed Chrome to play vimeo videos (https://github.com/mediaelement/mediaelement/pull/2622) @mmusket @coveralls @homerjam * Fixed Update volume.js (https://github.com/mediaelement/mediaelement/pull/2530) - Implementing a slight change to improve accessibility and compliance with WCAG 2.0 success criteria 4.1.1 and 4.1.2 @vavroom @coveralls * Fixed the forceLive always adding "Live Broadcast" memory leak (https://github.com/mediaelement/mediaelement/pull/2589) @joshdvir @coveralls @Qoraiche * Update resources.md (https://github.com/mediaelement/mediaelement/pull/2565) - Add video snapshot plugin resource @Qoraiche @coveralls * Fixed typo (https://github.com/mediaelement/mediaelement/pull/2540) @Qoraiche @coveralls *4.2.9 (2018/03/27)* * Fixed typo in documentation (https://github.com/mediaelement/mediaelement/pull/2512) @moagggi * Added remainingTime getter (https://github.com/mediaelement/mediaelement/pull/2505) @Lewiscowles1986 * Fixed iframe parameters formatting for Vimeo/Facebook (https://github.com/mediaelement/mediaelement/pull/2498) @skreutzer * Added Malay translation (https://github.com/mediaelement/mediaelement/pull/2490) @MuhdNurHidayat * Fixed `getComputedStyle` in Firefox (https://github.com/mediaelement/mediaelement/pull/2487) @pgrzeszczak-neducatio * Fixed documentation for React usage @rafa8626 * Added LICENSE file @rafa8626 * Added conditionals to avoid executing `fullscreen` methods in audio tags @rafa8626 * Added conditionals to avoid triggering keyboard events if `enableKeyboard` is false @rafa8626 * Added missing conditionals when destroying media @rafa8626 * Modified Malay language in the demo @rafa8626 * Set empty source when destroying player to prevent #2499 @rafa8626 * Added conditional to avoid setting duration when `media` has been destroyed @rafa8626 * Replaced callback when seeking in paused media to achieve correct behavior @rafa8626 * Updated documentation about using `startLanguage` and `toggleCaptionsButtonWhenOnlyOne` (https://github.com/mediaelement/mediaelement/pull/2520) @dmdewey *4.2.8 (2018/01/16)* * Clarify effect of setting `toggleCaptionsButtonWhenOnlyOne` (https://github.com/mediaelement/mediaelement/pull/2471) @cjcolvar * Remember `startVolume` value even if video is muted (https://github.com/mediaelement/mediaelement/pull/2470) @D3nnisH * Fix @see links for hls.js renderer (https://github.com/mediaelement/mediaelement/pull/2478) @cjcolvar * UID filter for Flash files @johndyer *4.2.7 (2017/11/17)* * Fixed issue with `setFillMode` when using cross-domain URLs in iframe @rafa8626 * Added new `proxyType` and `streamDelimiter` variables to Flash video to support RTMPS compatibility @rafa8626 * Fixed issues with renderers when trying to use `muted` property while using `MediaElement` shim @rafa8626 * Fixed typo with `Twitch` renderer related to trigger mouse events @rafa8626 * Fixed typo when assigning options to `Dailymotion` renderer @rafa8626 * Added missing workflow to set controls on YouTube, Facebook and Dailymotion renderers via `controls` property @rafa8626 * Added missing `playing` event on `Vimeo` and `Dailymotion` renderer @rafa8626 * Expanded regexp to accept 3-letter country codes and underscore for 4-letter country codes @rafa8626 * Added `init`, `getElement` and `buildfeatures` methods for WP compatibility @rafa8626 * Make `setPoster` method to work on mobile devices with native controls (https://github.com/mediaelement/mediaelement/pull/2419) @lucash * Added missing conditional in native HLS and HTML5 renderer to test media files correctly to trigger error after testing all of them @rafa8626 * Added jsDelivr badge (https://github.com/mediaelement/mediaelement/pull/2421) @LukasDrgon * Fixed issue with `visible` method when `getClientRects` is not a function @rafa8626 * Fixed issues with `parseInt` method not setting radix in some calls @rafa8626 * Added missing argument in `secondsToTimeCode` method to check the time format given and display accordingly @rafa8626 * Fixed issues related to duplicated calls when triggering error and fixed style for poster when error is displayed @rafa8626 * Fixed issue with captions not being rendered inside video frame on any state @rafa8626 * Integrated `destroy` method in `MediaElement` class @rafa8626 * Added validation to modify `SoundCloud` iframe attributes when using `video` tag @rafa8626 * Fixed issue when checking for native dimensions of `video` element to set responsive dimensions correctly @rafa8626 * Added missing workflow to make `loop` work correctly in YouTube according to documentation @rafa8626 * Changed paths for `hls.js` and `flv.js` renderers to always be up-to-date @rafa8626 * Fixed issue with timecode displaying 60 seconds @rafa8626 * Fixed JSDocs for some features @rafa8626 *4.2.6 (2017/09/19)* * Fixed positioning of progress bar tooltip @rafa8626 * Added style to avoid flickering when using volume on Chrome @rafa8626 * Fixed broken UUT @rafa8626 * Added `configs` parameter for native FLV according to documentation for flv.js (https://github.com/mediaelement/mediaelement/pull/2344) @xiaosongxiaosong * Added missing call to avoid further calls to attempt set the player's dimensions once removed @rafa8626 * Fixed typo when checking error event and fixed workflow to loop multiple sources until valid one is found for `html5` and `native_hls` renderers @rafa8626 * Fixed workflow to enable/disable controls once error occurs and once user recovers from error @rafa8626 * Fixed issue when no `height` attribute but style is set to create proper player dimensions @rafa8626 * Use local variable for `getComputedStyle` polyfill to avoid recursion on Firefox (https://github.com/mediaelement/mediaelement/pull/2351) @synthecypher * Fixed accessibility issues when using keyboard on focused progress bar and moved `keyActions` to their individual components @rafa8626 * Fixed issues with progress bar tooltip when media duration is too long @rafa8626 * Added new `mejs` variables needed for WordPress @rafa8626 * Fixed issues with events fired in incorrect time for `flash_video` renderer @milax * Set specific settings for embedding flash object in Edge browser (https://github.com/mediaelement/mediaelement/pull/2364) @milax * Added new constant to detect `passive events` and added conditional for `touchstart` events @rafa8626 * Removed width and height from `embed` object to ensure Flash audio will play on Chrome (https://github.com/mediaelement/mediaelement/pull/2367) @milax * Fixed issue with Caption/Chapters menus not selecting options properly when using mouse @rafa8626 and @Instagit * Removed black area when Flash player is used in audio player (https://github.com/mediaelement/mediaelement/pull/2370) @milax * Fixed issue with `poster` option not being set if `poster` attribute is absent @rafa8626 * Moved code inside `player.js` to corresponding features to restore original order or operations when creating layers @rafa8626 * Added `unmute` command for Facebook renderer @rafa8626 * Fixed events emitting and run handlers of active renderer only for Flash and HTML5 renderer (https://github.com/mediaelement/mediaelement/pull/2368) @milax * Fixed issues when setting sources for Flash HLS renderer and added missing events @rafa8626 * Upgraded `hls.js` to 0.8.2 version and `flv.js` to 1.3.3 version @rafa8626 * Refactor `Facebook` renderer to solve issues when instantiating multiple videos and added new `lang` parameter to load language on SDK @rafa8626 * Fixed typos in `Twitch` renderer that caused channels not to play properly @rafa8626 * Fixed typos in `Flash` renderer to avoid issues with `embed` dimensions @rafa8626 * Reintegrated old workflow to deal only with `dash.js` play errors @rafa8626 * Updated documentation @rafa8626 * Added documentation about MEJS installation through Bower (https://github.com/mediaelement/mediaelement/pull/2399) @thompsonemerson *4.2.5 (2017/08/09)* * Removed workflow that ignored MIME type to get a better media match @rafa8626 * Fixed typos related to HLS MIME type and library version @rafa8626 *4.2.4 (2017/08/08)* * Added missing conditional to set current time properly for live streams (especially YouTube ones) @rafa8626 * Fixed issues with Flash fallback for FLV and RTMP in regards of setting current time and other events @rafa8626 * Fixed typos when setting poster for iOS and when destroying player @rafa8626 * Fixed typo when setting default player caused issues on Firefox when extending `MediaElementPlayer` object @rafa8626 * Fixed issue related to iframe renderers not resizing properly after using fullscreen @rafa8626 * Updated RTMP and Dailymotion sources @rafa8626 * Added `useDefaultControls` configuration to simplify list of `features` (https://github.com/mediaelement/mediaelement-plugins/issues/74) @rafa8626 * Removed `build/mediaelement.js` in `package.js` to avoid duplication issues in Meteor and added missing languages @rafa8626 * Removed unnecessary event un-bindings that caused errors on Edge @rafa8626 * Added missing layer to display errors correctly on native renderers and added missing styles for errors; `customError` accepts a callback as well @rafa8626 * Added missing translations; removed Brazilian Portuguese and added Catalan in demo file @rafa8626 * Added `forceLive` configuration to hide progress bar and display `Live Broadcast` even when `duration` is a valid number @rafa8626 * Fixed issues with Flash HLS renderer related to restarting video once ended @rafa8626 * Added missing translations @rafa8626 * Fixed issue with native M(PEG)-DASH assigned to MediaElement shim related to `The play() request was interrupted` error @rafa8626 * Created workflow to remove/restore `poster` when using FB and iPhone and updated SDK version @rafa8626 *4.2.3 (2017/07/22)* * Fixed issue with setting default player causing some sources to autoplay @rafa8626 * Added new `useFakeFullscreen` configuration element to bypass conditional when entering fullscreen and added CSS to hide native controls @rafa8626 * Fixed issue with sequence of files when creating bundle @rafa8626 * Updated FLV and HLS libraries @rafa8626 * Cleaned stylesheet and fixed minor issues on demo file @rafa8626 * Fixed issues when using `setPoster` method after player was initialized @rafa8626 * Fixed issues with `setSrc` method duplicating events on the native renderers @rafa8626 * Removed code to load media when playing considered unnecessary @rafa8626 * Added mechanism in `YouTube` renderer to add YouTube's thumbnail as a poster using `youtube`'s `imageQuality` parameter @rafa8626 * Fixed typo on `setFill` mode and fixed issue with poster when using iOS @rafa8626 * Fixed issue with `M(PEG)-DASH` renderer related to `dash.js` not picking settings from the renderer @rafa8626 * Added missing dependency to `player/library.js` file (https://github.com/mediaelement/mediaelement/pull/2318) @JulianKniephoff * Added missing code to explain how to use `MediaElement` with `RequireJS` @rafa8626 * Integrated Flashls events to be processed by the player @rafa8626 * Fixed test file when using JSDom and Mocha Chai @rafa8626 * Changed arguments in `M(PEG)-DASH` native renderer to trigger correctly events @rafa8626 *4.2.1/4.2.2 (2017/06/28)* * Added conditional to avoid AJAX request on non-SSL media on iOS @rafa8626 * Fixed error with .versions file @rafa8626 *4.2.0 (2017/06/26)* * Fixed issues related to Promises with native renderers @rafa8626 * Fixed typos in player to execute properly `destroy()` and `stop()` methods @rafa8626 * Fixed issues with error message not being displayed properly in different scenarios @rafa8626 * Fixed issue with controls not being hidden using keyboard @rafa8626 * Fixed issue using fullscreen button and iframes @rafa8626 * Updated documentation on ReactJS about how to destroy a player and fixed typo on WordPress section @rafa8626 * Added missing documentation about how to install `MediaElement` in Drupal @rafa8626 * Fixed typo in `Vimeo` renderer @rafa8626 * Updated version of `Facebook` API @rafa8626 * Replacing `buffer` querySelector with getter function in player (https://github.com/mediaelement/mediaelement/pull/2284) @ychen022 * Fixed issues with keyboard not picking events correctly on Chrome @rafa8626 * Improved error system to catch more errors and present them to user @rafa8626 * Removed `mediaelementplayer` bundles, as well as `jQuery` file, considered unnecessary @rafa8626 * Added new middleware layer to allow interaction with other players @rafa8626 * Used flex-box to reduce calculation via JavaScript on control bar (https://github.com/mediaelement/mediaelement/pull/2261) @marcobiedermann and @rafa8626 * Fixed issue with events not being unbound when player is destroyed and removed unnecessary callbacks from it @rafa8626 * Added missing style for buffering element @rafa8626 * Removed conditional to disable control bar when an error happens @rafa8626 * Updated references to (Adobe / Apache) Flex SDK in documentation (https://github.com/mediaelement/mediaelement/pull/2287) @isantolin * Updated CDN references for both native FLV and HLS renderers @rafa8626 * Fixed issue with tooltip position when rail is 100% and gets cut off @rafa8626 * Fixed `The play() request was interrupted` errors by changing way to check for Promises and methods @rafa8626 * Added missing workflow to hide controls when playing media and mouse is out of player container @rafa8626 * Added conditionals to check if `src` track is not empty to avoid render empty track sources @rafa8626 *4.1.3 (2017/06/06)* * Updated Chinese translations (https://github.com/mediaelement/mediaelement/pull/2239) @PeterDaveHello * Changed `destroy()` to `remove()` in React documentation (https://github.com/mediaelement/mediaelement/pull/2243) @evykassirer * Added full support for `autoplay`, `loop` and `muted` attributes to interact in all renderers @rafa8626 * Improved core functionality by adding Promises to ensure proper behavior of plugin's operation, such as `play()`, `setSrc()`, etc. @rafa8626 * Fixed typo for DailyMotion renderer @rafa8626 * Integrated new `robustnessLevel` parameter for DRM on M(PEG)-DASH renderer @rafa8626 * Replaced `childNodes` with `children` to avoid issues with non Node elements inside video/audio tag @rafa8626 * Cleaned `Gruntfile` to remove unnecessary task and align CSS to current browser compatibility @rafa8626 * Fixed `disableControls()` method (https://github.com/mediaelement/mediaelement/pull/2254) @jhutchins * Updated documentation to state support for SoundCloud with native HTML5 renderer @rafa8626 * Updated documentation to expose `instance` argument when using `MediaElementPlayer` or jQuery's `mediaelementplayer` success callback @rafa8626 * Added missing events for `FLV` native renderer @rafa8626 * Fixed to documentation (https://github.com/mediaelement/mediaelement/pull/2259) @marcobiedermann * Optimized SVG sprite (https://github.com/mediaelement/mediaelement/pull/2260) @marcobiedermann * Upgraded regex to match YouTube videos properly @rafa8626 * Fixed regex to check if source is valid YouTube source @rafa8626 * Upgraded `flv.js` to 1.3.0 (https://github.com/mediaelement/mediaelement/pull/2262) @isantolin * Updated `hls.js` to a CDN with SSL support (https://github.com/mediaelement/mediaelement/pull/2263) @isantolin * Sorted CSS properties to reduce filesize when using gzip (https://github.com/mediaelement/mediaelement/pull/2264) @marcobiedermann * Integrated [Stylelint](https://stylelint.io/) for CSS quality @rafa8626 * Improvements to CSS stylesheets via `Stylelint` (https://github.com/mediaelement/mediaelement/pull/2266) and (https://github.com/mediaelement/mediaelement/pull/2269) @marcobiedermann * Fixed workflow to generate proper vendor prefixes (https://github.com/mediaelement/mediaelement/pull/2265) @marcobiedermann * CSS cleanup (https://github.com/mediaelement/mediaelement/pull/2267) @marcobiedermann * Fixed issue related to tooltip changing size when hovering on progress bar and `alwaysShowHours` set to `true` @rafa8626 *4.1.2 (2017/05/25)* * Fixed issues with Accessibility in Chapters/Captions and Volume slider @rafa8626 * Added new resources to documentation @rafa8626 * Fixed MD broken link (https://github.com/mediaelement/mediaelement/pull/2223) @Mackiovello * Changed calculation to avoid higher dimensions than expected using `parseFloat` on `responsive` mode @rafa8626 * Updated `installation.md` file for WordPress upgrades, and fixed README file @rafa8626 * Fixed `hasFluidMode()` method to return proper result (https://github.com/mediaelement/mediaelement/pull/2224) @lucash * Fixed issue with logical operators and `~` symbol @rafa8626 * Integrated `loadScript()` method to optimize way to load external libraries (https://github.com/mediaelement/mediaelement/pull/2226) @jimmywarting * Removed unnecessary whitespaces, upgraded packages and removed comments on bundles @rafa8626 * Fixed issue with `startVolume` not being picked by non-native renderers @rafa8626 * Added `getDuration()` and used methods vs property access to allow `MediaElementPlayer` to be extended (https://github.com/mediaelement/mediaelement/pull/2228) @jhutchins * Added player min-width based on elements visible on control bar @rafa8626 * Added missing events to set `startVolume` properly when loading new data @rafa8626 * Fixed issue related to controlbar not reflecting loading progress @rafa8626 * Fixed issues with native FLV renderer related to load new sources and having multiple players rendering FLV media @rafa8626 * Enabled DRM support for M(PEG)-DASH via `setSrc()` and `dash.drm` configuration @rafa8626 * Added support to pass a single object in `setSrc()` @rafa8626 * Added Persian translation (https://github.com/mediaelement/mediaelement/pull/2238) @wmateam *4.1.1 (2017/05/16)* * Added missing conditional to reuse `exitFullscreen` method @rafa8626 * Added new code snippet to use player with `AudioContext.decodeAudioData()` @rafa8626 * Added missing conditional for bug with hidden iframes in Firefox @rafa8626 * Fixed typo in `Vimeo` renderer @rafa8626 * Added workflow to solve issue with iOS and HTTPS playing media @rafa8626 * Changed `match` to `test` and `includes` to `indexOf` to improve performance @rafa8626 * Fixed `responsive` mode within iframe (https://github.com/mediaelement/mediaelement/pull/2207) @lucash * Updated German translation (https://github.com/mediaelement/mediaelement/pull/2210) @SoftCreatR * Enforced https protocol on external libraries (https://github.com/mediaelement/mediaelement/pull/2212) @jimmywarting * Fixed issue when using YouTube in audio tag triggering double buffering/play events when starting media @rafa8626 * Fixed `fill` mode within iframe @rafa8626 * Fixed player accessibility using Tab key and avoid hidding controls on audio element @rafa8626 * Fix usage for iOS with native controls (https://github.com/mediaelement/mediaelement/pull/2215) @lucash *4.1.0 (2017/05/04)* * Added `grunt watch` and tasks depending on files modified @rafa8626 * Fixed typo for documentation about `features` configuration element (https://github.com/mediaelement/mediaelement/pull/2189) @abumalick * Fixed issue related to time tooltip appearing on all player instances when hovering over one player's progress bar @rafa8626 * Improved workflow to store all `source` attributes for `mediaFiles` list @rafa8626 * Added improvements and hover behavior to player slider (https://github.com/mediaelement/mediaelement/pull/2191) @ricking06 and @rafa8626 * Added `babel-preset-env` to optimize bundles based on supported browsers @rafa8626 * Fixed typos in `Vimeo` and `Twitch` renderers @rafa8626 *4.0.7 (2017/04/25)* * Fixed issues when using `MediaElement` inside an iframe (cross and non cross-domain) @rafa8626 * Fixed way to detect fullscreen mode properly for all renderers and fixed fullscreen for iOS @rafa8626 * Fixed workflow when using `data-mejsoptions` attribute @rafa8626 * Updated flv.js library (https://github.com/mediaelement/mediaelement/pull/2180) @isantolin * Added new section on Documentation to link Code Snippets related to `MediaElement` @rafa8626 *4.0.6 (2017/04/20)* * Remove loading overlay only if it exists instead of failing (https://github.com/mediaelement/mediaelement/pull/2167) @kozze89 * Fixed issue with `replay` icon's CSS position @rafa8626 * Added workaround to avoid Firefox's `getComputedStyle` iframe bug @rafa8626 *4.0.5 (2017/04/14)* * Fixed typo to allow `None` caption to be unchecked @rafa8626 *4.0.4 (2017/04/11)* * Added missing conditional to display error message only if `message` is set on event @rafa8626 * Fixed issue with old versions of IE not unsetting CSS values properly for `fill` mode @rafa8626 * Added workflow from Flash audio shim into video shim and removed several duplicated events @rafa8626 * Fixed issues with play/pause toggle and `fadeIn` and `fadeOut` effects @rafa8626 * Updated HLS shim library to latest version @rafa8626 * Fixed issue with keyboard trap in Safari desktop due to media's children element(s) being moved from original position @rafa8626 * Added missing style to hide native cues when using Safari desktop due to new workflow implemented @rafa8626 * Added documentation about setting new captions, media tag attributes and using `stretching` modes @rafa8626 * Added missing French translations (https://github.com/mediaelement/mediaelement/pull/2161) @kloh-fr * Cleaned SVG sprite and separate plugin icons in new sprite (https://github.com/mediaelement/mediaelement/pull/2157) @johndyer * Updated Swedish translations (https://github.com/mediaelement/mediaelement/pull/2163) @xpetter *4.0.3 (2017/04/04)* * Fixed typo when detecting dimensions for stretching: `auto` @rafa8626 * Perform improvements to AJAX method to prevent "pre-flight" requests @rafa8626 * Removed Captions menu height adjustment considered unnecessary @rafa8626 * Fixed typo with event specific to Android and iOS @rafa8626 * Fixed issue with Android not being able to play video when touching video area @rafa8626 * Added `captionschange` event and fixed minor issue for `None` caption @rafa8626 * Fixed show/hide of play, loading and buffer elements in various events @rafa8626 * Fixed issues with setting source for `hls` renderer due to latest changes on library @rafa8626 * Added documentation about how to use `MediaElement` with [React](https://facebook.github.io/react/) @rafa8626 * Standardized way to create events for all native renderers @rafa8626 * Fixed documentation in `utils.md` to indicate methods in `Features` section @rafa8626 *4.0.2 (2017/03/23)* * Added new unit tests to increase code coverage @rafa8626 * Fixed issue with `setFill()` method and reintroduced old workflow in focusout event @rafa8626 * Added default media dimensions to avoid breaking control bar when player is in small container @rafa8626 * Fixed issue with volume slider and rail width calculation @rafa8626 *4.0.1 (2017/03/22)* * Fixed major issues with iOS that prevent the player to be built @rafa8626 *4.0.0 (2017/03/22)* * Removed all dependencies to jQuery in code and created `utils/dom.js` to mimic jQuery's most used methods @rafa8626 * Added missing unit tests @rafa8626 * Fixed minor issues on Twitch, Facebook HLS and M(PEG)-DASH renderers @rafa8626 * Fixed minor issue with play/pause button not being updated properly when switching to new source and media has ended @rafa8626 * Fixed issues in documentation @rafa8626 * Fixed issue with `readyState` value in Flash video shim @rafa8626 * Added pause event when changing media sources @rafa8626 * Integrated `remove()` polyfill to simplify more code (https://github.com/mediaelement/mediaelement/pull/2140) @jimmywarting * Reintegrated and improved `Download File` workflow if error happens while attempting to play media @rafa8626 * Fixed workflow for `autoplay` property in all renderers @rafa8626 * Integrated [Mocha JSDOM](https://github.com/rstacruz/mocha-jsdom) package to add more unit tests @rafa8626 * Created `utils.md` file to describe the utilities/features available @rafa8626 *3.2.4 (2017/03/14)* * Removed conditional on MS Edge to bypass Flash detection due to error on Browserstack @rafa8626 * Added error event support in Flash shims (https://github.com/mediaelement/mediaelement/pull/2115) @astr0junk * Added default `preload` element if not set on `video` or `audio` due to issue described on #2114 @rafa8626 * Fixed typo in Facebook renderer @rafa8626 * Added missing conditional to avoid issues in Android using Flash @rafa8626 * Refactor loop related to dispatch/remove events (https://github.com/mediaelement/mediaelement/pull/2127) @bricev * Removed unnecessary code from Tracks feature and fixed typo in HLS renderer @rafa8626 * Escaped HTML tags in installation.md file (https://github.com/mediaelement/mediaelement/pull/2130) @GeorgySerga * Integrated Drop Frame Support for Timecode (https://github.com/mediaelement/mediaelement/pull/2126) @dmongrel * Added missing workflow to reintegrate slider when switching from live broadcast to regular file @rafa8626 * Added documentation to install plugin in WordPress @rafa8626 *3.2.3 (2017/03/02)* * Brought missing fix for HLS @rafa8626 *3.2.2 (2017/03/02)* * Fixed issue with renderers order by sorting them when user does not specify any order for them @rafa8626 * Added `addControlElement()` to preserve order of control elements when certain features are reset @rafa8626 * Fixed issue with native HLS when processing errors @rafa8626 * Fixed issue when no dimensions are being set in `<video>` tag for `<iframe>` renderers @rafa8626 * Fixed issues with HLS and M(PEG)-DASH renderers to avoid downloading fragments before playing media @rafa8626 * Cleaned code on native renderers @rafa8626 *3.2.1 (2017/02/28)* * Added missing documentation for NPM given latest changes @rafa8626 *3.2.0 (2017/02/28)* * Fixed typo in header file @rafa8626 * Added Ukrainian translation (https://github.com/mediaelement/mediaelement/pull/2100) @DmitryKrekota * Added Swedish translation (https://github.com/mediaelement/mediaelement/pull/2101) @xpetter * Fixed issue with poster image not being shown up on YouTube on mobile devices @rafa8626 * Removed hacks for old browsers (https://github.com/mediaelement/mediaelement/pull/2102) @jimmywarting * Fixed issue with Win8 Safari not detecting `src` attribute properly @rafa8626 * Fixed `secondsToTimeCode` method not being called with all parameters (https://github.com/mediaelement/mediaelement/pull/2103) @dmongrel * Added workflow to set WARIA text elements, added `isString` method (https://github.com/mediaelement/mediaelement/pull/2105) @DmitryKrekota * Added new `resources` section in documentation @rafa8626 * Cleaned up translation files and move others to `mediaelement-plugins` repo @rafa8626 * Fixed wrong link in documentation (https://github.com/mediaelement/mediaelement/pull/2106) @7huo * Added fix to avoid `jQuery.noConflict()` issues @rafa8626 * Reorganized renderers and created `build/renderers` folder to keep bundles' size low @rafa8626 * Integrated Twitch renderer @rafa8626 *3.1.3 (2017/02/23)* * Fixed typo in `usage.md` in regards of Automatic start (https://github.com/mediaelement/mediaelement/pull/2071) @SvenJuergens * Added translation for Polish language (https://github.com/mediaelement/mediaelement/pull/2074) @greg-dev * Added translation for Russian language (https://github.com/mediaelement/mediaelement/pull/2073) @Globulopolis * Added overlay on `iframe` renderers to allow triggering mouse/click events properly @rafa8626 * Fixed issue with inconsistency between `MediaElementPlayer` and `MediaElement` instantiations @rafa8626 * Fixed minor issues with FLV native renderer @rafa8626 * Fixed typo in `pause` event not being triggered on Facebook and YouTube renderers @rafa8626 * Fixed issue on `progress` feature that caused multiple events being fired incorrectly when clicking on rail @rafa8626 * Corrected typo in `full.js` file (https://github.com/mediaelement/mediaelement/pull/2081) @helmetroo * Several fixes for YouTube renderer (https://github.com/mediaelement/mediaelement/pull/2082) @anomaly-stalker * Integrated ESLint to verify/fix code with more strict standards @rafa8626 * Fixed issue with mute/unmute ARIA text (https://github.com/mediaelement/mediaelement/pull/2091) @DmitryKrekota * Fixed issue with obfuscated URLs or URLs without extension detected in #2087 @rafa8626 * Fixed accessibility issue related to use keyboard in Safari @rafa8626 * Fixed typo in `demo` file related to switching to Chinese language and added conditional to disable media URLs on iOS @rafa8626 * Removed IE8 hacks (https://github.com/mediaelement/mediaelement/pull/2095) @jimmywarting * Cleaned unnecessary code and fixed issue with Vimeo renderer @rafa8626 * Fixed security issue with Flash by introducing `shimScriptAccess` configuration element and reading `allowScriptAccess` flag @rafa8626 * Added documentation about use of MediaElement with a responsive grid plugin effectively, thanks to @DeysonOrtiz, and other updates on it @rafa8626 *3.1.2 (2017/02/10)* * Expanded workflow to stop media loading completely when removing player @rafa8626 * Added more fixes to Flash audio shim (https://github.com/mediaelement/mediaelement/pull/2054) @an1rk4 * Added security statements on almost all shims to allow to be played cross-domain @rafa8626 * Removed HAS_TOUCH flag considered unnecessary @rafa8626 * Fixed workflow to detect if libraries on HLS, DASH and FLV renderers were already loaded @rafa8626 * Reintegrated workflow to load source using flashvar `src` in audio (https://github.com/mediaelement/mediaelement/pull/2059) @astr0junk * Improved documentation for Installation and API @rafa8626 * Added workflow to sanitize HTML for captions due to potential XSS vulnerability @rafa8626 * Added muted workflow for audio Flash shim (https://github.com/mediaelement/mediaelement/pull/2063) @an1rk4 * Added CDNjs badge for README @rafa8626 * Added validation to avoid Flash check on MS Edge due to issues with `plugins` element @rafa8626 * Added reference to "mediaelement/mediaelement-plugins" (https://github.com/mediaelement/mediaelement/pull/2067) @isantolin * Standardized way to display chapters tracks using button and menu @rafa8626 *3.1.1 (2017/02/02)* * Added patch in Flash audio shim to load new source correctly @an1rk4 * Fixed issues when removing player, specially when using any Flash shim @rafa8626 *3.1.0 (2017/02/02)* * Updated documentation about how to use custom player (HLS, DASH, FLV, etc.) correctly @rafa8626 * Expanded Renderers List table and other documentation tweaks @rafa8626 * Updated German translations (https://github.com/mediaelement/mediaelement/pull/2031) @SoftCreatR * Added `hideVideoControlsOnPause` configuration element to hide controls when media is paused @rafa8626 * Added `showPosterWhenPaused` option and updated documentation @rafa8626 * Added new media to demo file to match main website and reformatted `demo/demo.js` @rafa8626 * Added missing method call when removing media through `remove()` method and documented workflow to remove player @rafa8626 * Added new array element to map all read-only properties to avoid `TypeError` on certain properties @rafa8626 * Added workflow to use YouTube as an audio player @rafa8626 * Updated usage.md file (https://github.com/mediaelement/mediaelement/pull/2043) @theomathieubhvr * Added workflow to pause media when sliding rail to improve memory performance (https://github.com/mediaelement/mediaelement/pull/2041) @ricking06 and @rafa8626 * Changed name of NPM file `all.js` to `full.js` for clarity purposes @rafa8626 * Added missing elements on `mediaelementplayer.js` bundle @rafa8626 * Fixed issues when using audio shim @rafa8626 *3.0.2 (2017/01/27)* * Fixed issues related to volume in YouTube renderer @rafa8626 * Removed must of features and moved them to new repository (https://github.com/mediaelement/mediaelement-plugins) @rafa8626 * Updated/cleaned documentation in terms on Guidelines and Usage @rafa8626 * Cleaned up CSS stylesheets @rafa8626 * Removed `—features` option from Grunt file @rafa8626 * Fixed issue with Vimeo renderer when playing/pausing video causing unexpected behavior @rafa8626 * Fixed npm installation command reference in main site (https://github.com/mediaelement/mediaelement/pull/2018) @pra85 * Fixed minor typo in documentation (https://github.com/mediaelement/mediaelement/pull/2019) @denismosolov * Fixed class reference in the jQuery usage documentation (https://github.com/mediaelement/mediaelement/pull/2020) @vrozkovec * Updated Russian translation file (https://github.com/mediaelement/mediaelement/pull/2023) @Globulopolis * Added workflow in Vimeo renderer to allow query arguments passed through the media URL @rafa8626 * Added missing global variables when jQuery, Zepto or Ender libraries are detected in `src/js/library.js` file @rafa8626 * Fixed issue with `iframe` renderers (YouTube, Vimeo, Facebook, SoundCloud and Dailymotion) not hiding controls properly @rafa8626 * Added new logo in README file @rafa8626 *3.0.1 (2017/01/20)* * Fixed several issues in terms of using Meteor/NPM package and added new files to link `build/mediaelement.js` and `build/mediaelement-and-player.js` for NPM @rafa8626 * Added image to README file, as well as `favicon` for demo and test files @rafa8626 * Enabled external builds using Browserify (https://github.com/mediaelement/mediaelement/pull/2000) @neonaut * Added missing conditionals to avoid issues with non-existing renderers bundle @rafa8626 * Fixed conditional to target browsers/devices that support HLS natively and caused issues with other media types @rafa8626 * New logo and layout for http://mediaelementjs.com website @mediaelement * Added missing documentation about importing MEJS and using RequireJS @rafa8626 * Updated RTMP sources since prior one expired @rafa8626 * Fixed issue with controls not hiding on `mouseleave` when video is not playing (#1995) @rafa8626 * Added missing reference to FLV in main website (https://github.com/mediaelement/mediaelement/pull/2006) @isantolin * Removed Browserify option to reduce size of unminified bundles @rafa8626 *3.0.0 (2017/01/16)* * Introduction of `Renderers`, pluggable code that allows the introduction of new media formats in an easier way @mediaelement * Code refactor in `ECMAScript® 2015` language specification (`ES6`) @rafa8626 * Integration of unit tests and browser test with [mocha](https://mochajs.org/) and [chai](http://chaijs.com/), and enhancements to [Travis CI](https://travis-ci.org/) and [Coveralls](https://coveralls.io/) platforms @rafa8626 * Ability to play Facebook, SoundCloud and YouTube @mediaelement * Ability to play M(PEG)-DASH formats using [dash.js](https://github.com/Dash-Industry-Forum/dash.js) for native support and [dash.as](https://github.com/castlabs/dashas) for Flash fallback @rafa8626 * Increased test suite by adding a file per renderer @mediaelement and @rafa8626 * Code completely documented using [JSDoc](http://usejsdoc.org/) notation @rafa8626 * Renamed `src` files to increase readability @mediaelement and @rafa8626 * Addition of native HLS using [hls.js](https://github.com/dailymotion/hls.js) library @rafa8626 * Updated player for Vimeo by removing the use of `Froogaloop` and integrating the new [Player API](https://github.com/vimeo/player.js) @rafa8626 * Addition of Catalan translation @rafa8626 * Added support for Meteor @rafa8626 * Integration of [JSLint](https://github.com/douglascrockford/JSLint) to ensure code quality and better error checking for development @rafa8626 * Reduced size of repository as a whole @rafa8626 * Removal of themes and introduction of simple player for testing @mediaelement * Modifications in `Gruntfile` @rafa8626 * Introduction of new demo and cleaned `demo` folder @rafa8626 * Removed support for Silverlight @mediaelement * Updates in documentation to reflect new features in 3.0 version @rafa8626 * Introduced missing translation elements and translated them in Spanish @rafa8626 * Removed big Play button for iPhone and YouTube and Facebook renderers @rafa8626 * CSS specificity reduction (https://github.com/mediaelement/mediaelement/pull/1890) (https://github.com/mediaelement/mediaelement/pull/1909) @albell * Fix for fullscreen behavior when `setDimensions` attribute is `false` (https://github.com/mediaelement/mediaelement/pull/1899) @ale-grosselle * Added `blur` handler to hide the volumeSlider (https://github.com/mediaelement/mediaelement/pull/1901) @peterh-capella * CSS SVG cleanup (https://github.com/mediaelement/mediaelement/pull/1906) @albell * Fixed issues with progress bar causing glitches during resizing/fullscreen events (#1905 and #1939) @rafa8626 * Fixed workflow to stop streaming on HTML5 (#613 and #1914) @rafa8626 * Fixed issue when setting current time and then playing media (#1924) @rafa8626 * Fixed issues with dimensions and resizing on Flash shims (https://github.com/mediaelement/mediaelement/pull/1934) @ale-grosselle and @rafa8626 * Fixed issues with accessibility related to Closed Captioning (#438) (https://github.com/mediaelement/mediaelement/pull/1921) @marmite22 * Fixed removal of MediaElement when native controls are used (https://github.com/mediaelement/mediaelement/pull/1937) @lucash * Refactored Speed feature to make it accessible and fixed minor issue with Closed Captioning using mouse @rafa8626 * Added better handle of focus outline per @albell suggestions in #1911 @rafa8626 * Added missing workflow to pause/play media when clicking on progress bar indicated in #1947 @rafa8626 * Integrated native FLV support using [flv.js](https://github.com/Bilibili/flv.js) library @rafa8626 * Simplified volume control position calculation (https://github.com/mediaelement/mediaelement/pull/1952) @marjune163 * Integrated BEM naming convention and backward compatibility (https://github.com/mediaelement/mediaelement/pull/1961) @albell and @rafa8626 * Integrated support for multiple tracks with same language code and fixed issues with translations for `<track>` labels (https://github.com/mediaelement/mediaelement/pull/1957) @laupow and @rafa8626 * Updated control bar styles (https://github.com/mediaelement/mediaelement/pull/1965) @mediaelement * Added replay button once video finishes and does not loop to solve #1067 @rafa8626 * Added Croatian translation (https://github.com/mediaelement/mediaelement/pull/1986) @hrvoj3e * Added workflow to indicate 'Live Broadcast' if duration of media is infinite @rafa8626 * Updated Polish translation (https://github.com/mediaelement/mediaelement/pull/1989) @greg-dev *2.23.5 (2017/01/06)* * Fixed typo that caused WordPress support for translations to be broken (#1984) @rafa8626 *2.23.4 (2016/10/21)* * Adjusted captions in fullscreen mode (https://github.com/mediaelement/mediaelement/pull/1885) @chdh * Validation to prevent AJAX call if `<track>` source does not exist (https://github.com/mediaelement/mediaelement/pull/1886) @Mister-King *2.23.3 (2016/10/13)* * Added Dutch translation for MediaElement (https://github.com/mediaelement/mediaelement/pull/1863) @leonardder * Added new translation to demo file @rafa8626 * Integrated fix for Drupal 7 running with `jQuery.noConflict()` (https://github.com/mediaelement/mediaelement/pull/1857) @CaineThanatos * Fixed minor issue with Skip Back button @rafa8626 * Fixed declaration of Brazilian Portuguese translation file (https://github.com/mediaelement/mediaelement/pull/1872) @OlivierJaquemet * Refactored `mejs.i18n` and expanded to allow pluralization (https://github.com/mediaelement/mediaelement/pull/1867) @rafa8626 * Updated `me-i18n-locale-de.js` to accept plurals (https://github.com/mediaelement/mediaelement/pull/1879) @SoftCreatR * Send focus to correct control based on location to improve Accessibility (https://github.com/mediaelement/mediaelement/pull/1818) @astephenb * Standardized language files and cleaned with JSLint (https://github.com/mediaelement/mediaelement/pull/1883) @SoftCreatR *2.23.2 (2016/10/01)* * Added fix for time rail width described on #1356 @rafa8626 * Integrated markers feature (https://github.com/mediaelement/mediaelement/pull/1814) @hkasera * Added French translation for Source Chooser feature (https://github.com/mediaelement/mediaelement/pull/1850) @OlivierJaquemet * Fixed German translation file (https://github.com/mediaelement/mediaelement/pull/1852) @SoftCreatR * Add complete list of supported language in translation demo file (https://github.com/mediaelement/mediaelement/pull/1853) @OlivierJaquemet * Fix for controls when no features are set in the configuration (https://github.com/mediaelement/mediaelement/pull/1797) @rafa8626 * Fixed issues with tr