/*!
Flowplayer HTML5 quality selector plugin
Copyright (c) 2016-2017, Flowplayer Oy
Released under the MIT License:
http://www.opensource.org/licenses/mit-license.php
revision: 76e2dbc
*/
!function(){"use strict";var t=function(t){t(function(e,i){function a(t){return t.sources.some(function(t){return/mpegurl/i.test(t.type)})}function n(t){var e=c.createElement("video");return"function"==typeof e.canPlayType&&!!e.canPlayType(t).replace("no","")}function l(t,e){var i=/-(\d+p)(\.(mp4|webm))?$/.exec(t);if(i&&-1!==e.indexOf(i[1]))return i[1]}function r(){e.qualities&&e.qualities.length&&(c.removeClass(i,"quality-abr"),e.qualities.forEach(function(t){c.removeClass(i,"quality-"+t)}))}function u(t,e){if("abr"===t)return"abr";var i,a=parseInt(t,0);return e.forEach(function(t,n){n!=e.length-1||i||(i=t),parseInt(t)<=a&&parseInt(e[n+1])>a&&(i=t)}),i}function s(i,a,n){var l,r=!1,u=a===e.defaultQuality,s=e.quality||Math.min(e.video.height,e.video.width)+"p";l=s===e.defaultQuality?/(.+?)((\.(mp4|webm)$|$))/:/(-\d+p)?((\.(mp4|webm)$|$))/;var o=i.sources.map(function(t){if("abr"===a||n&&u||/mpegurl/i.test(t.type))return t;var i={type:t.type,src:t.src.replace(l,s===e.defaultQuality?"$1-"+a+"$2":u?"$2":"-"+a+"$2")};return i.src!==t.src&&(r=!0),i}),c=JSON.stringify(o);o.sort(function(t,e){var i,n=/mpegurl/i;return i="abr"===a?n.test(e.type)-n.test(t.type):n.test(t.type)-n.test(e.type)}),r=r||JSON.stringify(o)!==c;var f=t.extend({},i,{sources:o});return r?f:!1}var o=t.bean,c=t.common,f=!1,p=!1;e.conf.hlsjs!==!1&&t.engines.forEach(function(t){"hlsjs"===t.engineName&&t.canPlay("application/x-mpegurl",e.conf)&&(p=!0)}),e.pluginQualitySelectorEnabled||(e.pluginQualitySelectorEnabled=!0,t.support.inlineVideo&&(e.conf.qualities&&(e.conf.qualities="string"==typeof e.conf.qualities?e.conf.qualities.split(","):e.conf.qualities),o.on(i,"click",".fp-quality-selector li",function(t){var i=t.currentTarget;if(!c.hasClass(i,"active")){var a,n=e.finished?0:e.video.time,l=i.getAttribute("data-quality");if(a=s(e.video,l),e.quality=l,!a)return;f=!0,p&&a.hlsjs!==!1&&!e.live&&n&&"abr"===l&&(a.hlsjs={startPosition:n}),e.load(a,function(){f=!1,e.finished=!1,!n||e.live||a.hlsjs&&a.hlsjs.startPosition?a.hlsjs&&(a.hlsjs.startPosition=0):e.seek(n,function(){e.resume()})})}}),e.on("load",function(t,e,i){if(e.qualities=i.qualities||e.conf.qualities||[],e.defaultQuality=i.defaultQuality||e.conf.defaultQuality,"string"==typeof e.qualities&&(e.qualities=e.qualities.split(",")),e.quality){var a=u(e.quality,e.qualities),n=s(i,a,!f);!f&&n&&(t.preventDefault(),e.loading=!1,e.load(n))}}).on("ready",function(t,e,u){var s=/mpegurl/i.test(u.type)?"abr":l(u.src,e.qualities)||Math.min(u.height,u.width)+"p";r(),c.addClass(i,"quality-"+s);var o=c.find(".fp-ui",i)[0];if(c.removeNode(c.find(".fp-quality-selector",o)[0]),!(e.qualities.length<2)){e.quality=s;var f=c.createElement("ul",{"class":"fp-quality-selector"});o.appendChild(f),a(u)&&(n("application/x-mpegurl")||p||e.conf.swfHls!==!1)&&f.appendChild(c.createElement("li",{"data-quality":"abr","class":"abr"===s?"active":""},"Auto")),e.qualities.forEach(function(t){f.appendChild(c.createElement("li",{"data-quality":t,"class":t==s?"active":""},t))})}}).on("unload",function(){r(),c.removeNode(c.find(".fp-quality-selector",i)[0])})))})};"object"==typeof module&&module.exports?module.exports=t:window.flowplayer&&t(window.flowplayer)}();