Version Description
rtMedia 4.4.5, with the upgraded mediaelement library.
=
Download this release
Release Info
Developer | rtcamp |
Plugin | rtMedia for WordPress, BuddyPress and bbPress |
Version | 4.4.5 |
Comparing to | |
See all releases |
Code changes from version 4.4.4 to 4.4.5
- app/assets/css/rtmedia.css +17 -14
- app/assets/css/rtmedia.min.css +1 -1
- app/assets/css/sass/_media-element.scss +18 -26
- app/assets/js/rtMedia.backbone.js +9 -3
- app/assets/js/rtMedia.js +9 -3
- app/assets/js/rtmedia.min.js +2 -2
- app/main/RTMedia.php +9 -12
- index.php +2 -2
- languages/buddypress-media.po +53 -53
- lib/media-element/mediaelement-and-player.js +8202 -4073
- lib/media-element/mediaelement-and-player.min.js +7 -169
- lib/media-element/mediaelement-migrate.js +84 -0
- lib/media-element/mediaelement-migrate.min.js +1 -0
- lib/media-element/mediaelement.js +3815 -1414
- lib/media-element/mediaelement.min.js +11 -60
app/assets/css/rtmedia.css
CHANGED
@@ -781,7 +781,7 @@ button::-moz-focus-inner {
|
|
781 |
padding: 0;
|
782 |
width: 90px;
|
783 |
height: 110px;
|
784 |
-
-webkit-tap-highlight-color:
|
785 |
opacity: 0;
|
786 |
z-index: 10;
|
787 |
-webkit-transition: all 300ms ease-out;
|
@@ -2735,29 +2735,32 @@ a.rtmedia-upload-media-link {
|
|
2735 |
#buddypress .mejs-controls button {
|
2736 |
padding: 4px 8px;
|
2737 |
border: none;
|
2738 |
-
background:
|
2739 |
}
|
2740 |
-
#buddypress .mejs-controls .mejs-play button {
|
2741 |
background-position: 0 0;
|
2742 |
}
|
2743 |
-
#buddypress .mejs-controls .mejs-pause button {
|
2744 |
-
background-position: 0
|
2745 |
}
|
2746 |
-
#buddypress .mejs-controls .mejs-unmute button {
|
2747 |
-
background-position: -
|
2748 |
}
|
2749 |
-
#buddypress .mejs-controls .mejs-mute button {
|
2750 |
-
background-position: -
|
2751 |
}
|
2752 |
-
#buddypress .mejs-controls .mejs-fullscreen-button button {
|
2753 |
-
background-position: -
|
2754 |
}
|
2755 |
-
#buddypress .mejs-controls .mejs-unfullscreen button {
|
2756 |
-
background-position: -
|
|
|
|
|
|
|
2757 |
}
|
2758 |
|
2759 |
.mejs-container .mejs-controls .mejs-time {
|
2760 |
-
padding:
|
2761 |
content: '';
|
2762 |
}
|
2763 |
|
781 |
padding: 0;
|
782 |
width: 90px;
|
783 |
height: 110px;
|
784 |
+
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
|
785 |
opacity: 0;
|
786 |
z-index: 10;
|
787 |
-webkit-transition: all 300ms ease-out;
|
2735 |
#buddypress .mejs-controls button {
|
2736 |
padding: 4px 8px;
|
2737 |
border: none;
|
2738 |
+
background: rgba(0, 0, 0, 0) url("../../../lib/media-element/mejs-controls.png") no-repeat;
|
2739 |
}
|
2740 |
+
#buddypress .mejs-controls .mejs-play > button {
|
2741 |
background-position: 0 0;
|
2742 |
}
|
2743 |
+
#buddypress .mejs-controls .mejs-pause > button {
|
2744 |
+
background-position: -20px 0;
|
2745 |
}
|
2746 |
+
#buddypress .mejs-controls .mejs-unmute > button {
|
2747 |
+
background-position: -40px 0;
|
2748 |
}
|
2749 |
+
#buddypress .mejs-controls .mejs-mute > button {
|
2750 |
+
background-position: -60px 0;
|
2751 |
}
|
2752 |
+
#buddypress .mejs-controls .mejs-fullscreen-button > button {
|
2753 |
+
background-position: -80px 0;
|
2754 |
}
|
2755 |
+
#buddypress .mejs-controls .mejs-unfullscreen > button {
|
2756 |
+
background-position: -100px 0;
|
2757 |
+
}
|
2758 |
+
#buddypress .mejs-controls .mejs-replay > button {
|
2759 |
+
background-position: -160px 0;
|
2760 |
}
|
2761 |
|
2762 |
.mejs-container .mejs-controls .mejs-time {
|
2763 |
+
padding: 15px 3px 0;
|
2764 |
content: '';
|
2765 |
}
|
2766 |
|
app/assets/css/rtmedia.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.alignleft{float:left}.alignright{float:right}.aligncenter{display:block;margin-left:auto;margin-right:auto;text-align:center}.clear-both{clear:both}.clear-none{clear:none}.clear-left{clear:left}.clear-right{clear:right}.rtm-inline-block{display:inline-block}.rtm-text-left{text-align:left}.rtm-text-right{text-align:right}.rtm-text-center{text-align:center}.rtm-border-0{border:0 !important}.hide{display:none}.rtmedia-success,.rtmedia-warning{margin:10px 0;padding:8px 14px 8px 14px;text-shadow:0 1px 0 rgba(255,255,255,0.5);border-bottom:1px solid #e7e7e7;cursor:pointer}.rtmedia-success{background-color:#dff0d8;color:#468847}.rtmedia-warning{background-color:#F0D8DD;color:#884646}.clearfix:after{content:"";display:table;clear:both}#buddypress form#whats-new-form textarea{box-sizing:border-box;min-height:70px;width:100%}#buddypress #whats-new-form .rtmedia-uploader-div{display:none}#buddypress #whats-new-form #whats-new-options .rtmedia-uploader-div{display:block}#buddypress #whats-new-options{height:auto !important;overflow:hidden}#buddypress form#whats-new-form p.activity-greeting{line-height:1}#buddypress form#whats-new-form #whats-new-options select{border:1px solid #ccc;font-size:13px;margin-top:0;padding:3px 2px}#whats-new-submit #aw-whats-new-submit{font-size:12px;line-height:18px;padding:4px 6px}#whats-new-post-in-box{float:left;font-size:13px}#buddypress form#whats-new-form #whats-new-submit{margin-top:0}#whats-new-textarea{margin-bottom:10px}body.media.buddypress{overflow-y:auto}#buddypress input[type=submit]:focus{background:#ededed;border:1px solid #bbb;color:#555;outline:0;text-decoration:none}#buddypress ul.activity-list li.activity-item .activity-comments .rtmedia-uploader-div{color:#767676;margin-left:50px;padding-left:15px}#buddypress form#whats-new-form #whats-new-content.active #whats-new-options[style] #whats-new-post-in-box{margin-top:0}#whats-new-post-in-box{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.rtmedia-container{box-sizing:border-box}.rtmedia-container *,.rtmedia-container *:before,.rtmedia-container *:after{box-sizing:inherit}.rtmedia-list.rtmedia-list{list-style:none;margin:0;padding:0}.rtmedia-list-item>a{border:0;display:inline-block;text-decoration:none}.rtmedia-list-item>a:focus{outline:0}.rtmedia-list-item>a+p{display:none}.rtmedia-list-item>a .rtmedia-item-thumbnail img{display:inline-block}#rtmedia-uploader-form .rtm-plupload-list,form .rtmedia-container .rtm-plupload-list,#rtmedia_uploader_filelist{list-style:none;margin-left:-4px;margin-right:-4px;padding-left:0;padding-top:10px}#rtmedia-uploader-form .rtm-plupload-list li,form .rtmedia-container .rtm-plupload-list li,#rtmedia_uploader_filelist li{background:#eee;float:left;margin:4px;max-width:110px;padding:5px;z-index:1;position:relative}#rtmedia-uploader-form .rtm-plupload-list li.upload-error,form .rtmedia-container .rtm-plupload-list li.upload-error,#rtmedia_uploader_filelist li.upload-error{border:1px solid red}#rtmedia-uploader-form .rtm-plupload-list img,form .rtmedia-container .rtm-plupload-list img,#rtmedia_uploader_filelist img{max-width:100%}#rtmedia-uploader-form .rtm-plupload-list canvas,form .rtmedia-container .rtm-plupload-list canvas,#rtmedia_uploader_filelist canvas{display:block;max-width:100%}#rtmedia-uploader-form .rtm-plupload-list .rtm-upload-edit-title,form .rtmedia-container .rtm-plupload-list .rtm-upload-edit-title,#rtmedia_uploader_filelist .rtm-upload-edit-title{font-size:12px}#rtmedia-uploader-form .rtm-plupload-list .rtm-upload-edit-desc,form .rtmedia-container .rtm-plupload-list .rtm-upload-edit-desc,#rtmedia_uploader_filelist .rtm-upload-edit-desc{font-size:12px;display:block}#rtmedia-uploader-form .rtm-plupload-list .rtm-upload-edit-title-wrapper label,#rtmedia-uploader-form .rtm-plupload-list .rtm-upload-edit-desc-wrapper label,form .rtmedia-container .rtm-plupload-list .rtm-upload-edit-title-wrapper label,form .rtmedia-container .rtm-plupload-list .rtm-upload-edit-desc-wrapper label,#rtmedia_uploader_filelist .rtm-upload-edit-title-wrapper label,#rtmedia_uploader_filelist .rtm-upload-edit-desc-wrapper label{display:block}#rtmedia-uploader-form .rtm-plupload-list .rtm-upload-edit-title-wrapper input.rtm-upload-edit-title,#rtmedia-uploader-form .rtm-plupload-list .rtm-upload-edit-desc-wrapper input.rtm-upload-edit-title,form .rtmedia-container .rtm-plupload-list .rtm-upload-edit-title-wrapper input.rtm-upload-edit-title,form .rtmedia-container .rtm-plupload-list .rtm-upload-edit-desc-wrapper input.rtm-upload-edit-title,#rtmedia_uploader_filelist .rtm-upload-edit-title-wrapper input.rtm-upload-edit-title,#rtmedia_uploader_filelist .rtm-upload-edit-desc-wrapper input.rtm-upload-edit-title{min-width:100%;margin-top:1px}.rtm-plupload-list:empty{display:none}.rtmedia-uploader-div,.rtmedia-uploader{clear:both}.rtm-upload-button-wrapper button.rtmedia-comment-media-upload,button.rtmedia-comment-media-upload{padding:3px 6px}.rtm-upload-button-wrapper button.rtmedia-comment-media-upload .dashicons,button.rtmedia-comment-media-upload .dashicons{font-size:18px;line-height:20px}button#rtmedia-add-media-button-post-update{padding:3px 6px}button#rtmedia-add-media-button-post-update .dashicons{font-size:18px;line-height:20px}.plupload_file_name{font-size:11px;font-weight:bold;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plupload_file_size{color:#666;font-size:10px}.plupload_file_action{background:#eee;position:absolute;height:18px;right:4px;top:0;width:18px;z-index:10}.plupload_file_action .dashicons{color:#DD3D36;cursor:pointer;font-size:16px;height:18px;padding:2px 1px;width:18px}.plupload_file_status{height:18px;overflow:hidden;position:relative}.plupload_file_progress{background:#7AD03A;height:4px;position:absolute;top:0}.rtm-form .rtm-field-wrap{margin-bottom:20px}.rtmedia_next_prev{padding:0 10px}.rtm-page-number{float:left}.rtm-page-number .rtm-label{line-height:30px}.rtm-page-number .rtm-label,.rtm-page-number .rtm-go-to-num,.rtm-page-number .rtmedia-page-link{float:left}.rtm-pagination{background:transparent;border:none;color:#888;font-size:small;margin:0;position:relative;display:block;float:left;width:100%;padding:10px 0}.rtm-pagination .rtm-paginate{float:right;font-size:15px}.rtm-pagination .rtm-paginate a,.rtm-pagination .rtm-paginate span{display:inline-block;line-height:1;margin:0 2px;padding:8px;text-decoration:none}.rtm-pagination .rtm-paginate a.rtmedia-page-link{padding:8px}.rtm-pagination .dashicons{font-size:14px;height:auto;line-height:1.2;margin:0;padding:0;width:auto}#rtmedia_go_to_num{font-size:16px;margin:0 5px;padding:4px 5px;width:80px}.rtmedia-upload-not-allowed{background-color:#fcf8e3;border-bottom:1px solid #EEE;color:#c09853;margin-bottom:20px;padding:10px 15px}.plupload_file_name{position:relative}.plupload_file_name .dashicons{background:#eee;color:#DD3D36;cursor:pointer;font-size:14px;height:auto;padding:0 2px 0 5px;position:absolute;right:0;top:0;width:auto}.plupload_file_name .dashicons-yes{color:#7AD03A}.rtmedia-gallery-item-actions{background-color:rgba(0,0,0,0.6);opacity:0;position:absolute;text-align:center;-webkit-transition:all ease-in-out 0.4s;transition:all ease-in-out 0.4s;width:100%;z-index:9}.rtmedia-gallery-item-actions a{border:0;box-shadow:0 0 0;color:#fff;display:inline-block;font-size:12px;outline:none;padding:4px;text-align:left;text-decoration:none;text-transform:uppercase}.rtmedia-gallery-item-actions .dashicons{font-size:17px;margin-right:2px;position:relative;top:1px}.rtmedia-gallery-item-actions .dashicons-trash{font-size:15px}.rtm-pro-allow-action .rtmedia-list-item:hover .rtmedia-gallery-item-actions{opacity:1}.rtm-pro-allow-action .rtmedia-list-item:hover .rtmedia-bulk-edit-item-wrap+.rtmedia-gallery-item-actions{opacity:0}.rtmedia-footer-link{clear:both;overflow:hidden;padding:16px 0;position:relative;text-align:center}.rtmedia-text-link-decoration,table.rtmedia-edit-media-list tr td.rtm-edit-media-list-edit a,table.rtmedia-edit-media-list tr td.rtm-edit-media-list-edit span,table.rtmedia-edit-media-list tr td.rtm-edit-media-list-delete a,table.rtmedia-edit-media-list tr td.rtm-edit-media-list-delete span,table.rtmedia-edit-media-list tr td.rtm-edit-media-list-title a,table.rtmedia-edit-media-list tr td.rtm-edit-media-list-title span{text-decoration:none}.rtmedia-text-link-decoration:hover,table.rtmedia-edit-media-list tr td.rtm-edit-media-list-edit a:hover,table.rtmedia-edit-media-list tr td.rtm-edit-media-list-edit span:hover,table.rtmedia-edit-media-list tr td.rtm-edit-media-list-delete a:hover,table.rtmedia-edit-media-list tr td.rtm-edit-media-list-delete span:hover,table.rtmedia-edit-media-list tr td.rtm-edit-media-list-title a:hover,table.rtmedia-edit-media-list tr td.rtm-edit-media-list-title span:hover{text-decoration:underline}.rtmedia-container .rtmedia-edit-list-media-table{max-height:300px;overflow-y:auto}.rtmedia-container .rtmedia-edit-list-media-table thead tr{background-color:#50A1D7}.rtmedia-container .rtmedia-edit-list-media-table thead th{text-align:center;color:#FFF}.rtmedia-container .rtmedia-edit-list-media-table tbody tr:nth-child(odd){background:#FFF}.rtmedia-container .rtmedia-edit-list-media-table tbody tr:nth-child(even){background:#DCDCDC}table.rtmedia-edit-media-list tr{line-height:30px}table.rtmedia-edit-media-list tr th{color:#333;padding:4px 10px;line-height:20px}table.rtmedia-edit-media-list tr .rtm-edit-media-list-heading{width:44%}table.rtmedia-edit-media-list tr .rtm-edit-media-list-title-heading{width:56%}table.rtmedia-edit-media-list tr td.rtm-edit-media-list-edit,table.rtmedia-edit-media-list tr td.rtm-edit-media-list-delete,table.rtmedia-edit-media-list tr td.rtm-edit-media-list-title{padding:4px;font-size:14px;line-height:24px}table.rtmedia-edit-media-list tr td.rtm-edit-media-list-title a{text-decoration:none;color:#333}table.rtmedia-edit-media-list tr td.rtm-edit-media-list-edit{text-align:center}table.rtmedia-edit-media-list tr td.rtm-edit-media-list-edit a{color:#333;font-size:13px}table.rtmedia-edit-media-list tr td.rtm-edit-media-list-delete{text-align:center}table.rtmedia-edit-media-list tr td.rtm-edit-media-list-delete span{color:#FF0000;cursor:pointer;font-size:13px}.rtm-hide{display:none}.rtmedia-list-item .rtmedia-album-media-count{position:absolute;top:0;right:0;background-color:black;color:white;padding:0 5px}.rtm-tabs.rtm-tabs{border-bottom:1px solid #eee;list-style:none;margin:0 0 20px;padding:0}.rtm-tabs li{border:1px solid #eee;border-bottom:0;float:left;margin:0 5px;padding:0}.rtm-tabs a{border:0;display:block;padding:5px 15px;text-decoration:none}.rtm-tabs a:focus{background:transparent;box-shadow:0 0 0}.rtm-tabs .active{position:relative}.rtm-tabs .active:after{background:#fff;bottom:-1px;content:' ';height:1px;left:0;position:absolute;width:100%}.rtm-tabs .dashicons{font-size:16px;height:auto;line-height:20px;margin-right:8px;width:auto}.rtmedia-edit-media-tabs .rtm-tabs a{border-bottom:0 none}.mfp-bg{top:0;left:0;width:100%;height:100%;z-index:104211;overflow:hidden;position:fixed;background:rgba(0,0,0,0.9)}.mfp-wrap{top:0;left:0;width:100%;height:100%;z-index:104311;position:fixed;outline:none !important;-webkit-backface-visibility:hidden}.mfp-container{text-align:center;position:absolute;width:100%;max-width:84%;margin:0 auto;right:0;height:100%;left:0;top:0;padding:0 8px;box-sizing:border-box}.mfp-container:before{content:' ';display:inline-block;height:100%;vertical-align:middle}.mfp-align-top .mfp-container:before{display:none}.mfp-content{position:relative;display:inline-block;vertical-align:middle;margin:0 auto;text-align:left;z-index:1045}.mfp-inline-holder .mfp-content,.mfp-ajax-holder .mfp-content{width:100%;cursor:auto}.mfp-ajax-cur{cursor:progress}.mfp-zoom-out-cur,.mfp-zoom-out-cur .mfp-image-holder .mfp-close{cursor:zoom-out}.mfp-zoom{cursor:pointer;cursor:zoom-in}.mfp-auto-cursor .mfp-content{cursor:auto}.mfp-close,.mfp-arrow,.mfp-preloader,.mfp-counter{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mfp-loading.mfp-figure{display:none}.mfp-hide{display:none !important}.mfp-s-ready .mfp-preloader{display:none}.mfp-s-error .mfp-content{display:none}button.mfp-close,button.mfp-arrow{overflow:visible;cursor:pointer;background:transparent;border:0;-webkit-appearance:none;display:block;outline:none;padding:0;z-index:1046;box-shadow:none}button::-moz-focus-inner{padding:0;border:0}.mfp-close{background:#fff;color:#999;cursor:pointer;font-size:24px;font-style:normal;height:30px;line-height:30px;padding:0;position:absolute;right:1px;text-align:center;text-decoration:none;text-indent:2px;top:0;width:32px;z-index:12}.mfp-close:hover,.mfp-close:focus{opacity:1;filter:alpha(opacity=100)}.mfp-close:active{top:1px}.mfp-image-holder .mfp-close,.mfp-iframe-holder .mfp-close{color:#FFF;right:-6px;text-align:right;padding-right:6px;width:100%}.mfp-counter{position:absolute;top:0;right:0;color:#CCC;font-size:12px;line-height:18px;white-space:nowrap}.mfp-arrow{cursor:pointer;position:absolute;opacity:0.65;filter:alpha(opacity=65);margin:0;top:50%;margin-top:-55px;padding:0;width:90px;height:110px;-webkit-tap-highlight-color:transparent;opacity:0;z-index:10;-webkit-transition:all 300ms ease-out;transition:all 300ms ease-out}.rtm-single-media:hover .mfp-arrow{opacity:1}@media (max-device-width: 640px){.mfp-arrow{display:none}.rtm-single-media:hover .mfp-arrow{display:none}}.mfp-arrow:active{margin-top:-54px}.mfp-arrow:hover,.mfp-arrow:focus{opacity:1;filter:alpha(opacity=100)}.mfp-arrow:before,.mfp-arrow:after,.mfp-arrow .mfp-b,.mfp-arrow .mfp-a{content:'';display:block;width:0;height:0;position:absolute;left:0;top:0;margin-top:35px;margin-left:35px;border:medium inset transparent}.mfp-arrow:after,.mfp-arrow .mfp-a{border-top-width:13px;border-bottom-width:13px;top:8px}.mfp-arrow:before,.mfp-arrow .mfp-b{border-top-width:21px;border-bottom-width:21px;opacity:0.7}.mfp-arrow-left{left:0}.mfp-arrow-left:after,.mfp-arrow-left .mfp-a{border-right:17px solid #FFF;margin-left:31px}.mfp-arrow-left:before,.mfp-arrow-left .mfp-b{margin-left:25px;border-right:27px solid #3F3F3F}.mfp-arrow-right{right:0}.mfp-arrow-right:after,.mfp-arrow-right .mfp-a{border-left:17px solid #FFF;margin-left:39px}.mfp-arrow-right:before,.mfp-arrow-right .mfp-b{border-left:27px solid #3F3F3F}.mfp-iframe-holder{padding-top:40px;padding-bottom:40px}.mfp-iframe-holder .mfp-content{line-height:0;width:100%;max-width:900px}.mfp-iframe-holder .mfp-close{top:-40px}.mfp-iframe-scaler{width:100%;height:0;overflow:hidden;padding-top:56.25%}.mfp-iframe-scaler iframe{position:absolute;display:block;top:0;left:0;width:100%;height:100%;box-shadow:0 0 8px rgba(0,0,0,0.6);background:#000}img.mfp-img{width:auto;max-width:100%;height:auto;display:block;line-height:0;box-sizing:border-box;padding:40px 0 40px;margin:0 auto}.mfp-figure{line-height:0}.mfp-figure:after{content:'';position:absolute;left:0;top:40px;bottom:40px;display:block;right:0;width:auto;height:auto;z-index:-1;box-shadow:0 0 8px rgba(0,0,0,0.6);background:#444}.mfp-figure small{color:#BDBDBD;display:block;font-size:12px;line-height:14px}.mfp-figure figure{margin:0}.mfp-bottom-bar{margin-top:-36px;position:absolute;top:100%;left:0;width:100%;cursor:auto}.mfp-title{text-align:left;line-height:18px;color:#F3F3F3;word-wrap:break-word;padding-right:36px}.mfp-image-holder .mfp-content{max-width:100%}.mfp-gallery .mfp-image-holder .mfp-figure{cursor:pointer}.mfp-preloader{position:absolute;top:50%;left:0;right:0;margin-top:-36px;z-index:1044;font-size:0;width:36px;height:36px;margin-left:auto;margin-right:auto}.mfp-preloader:before{content:'Loading…';position:absolute;width:30px;height:30px}.mfp-preloader:not(:required):before{content:'';border-radius:50%;border:3px solid rgba(255,255,255,0.27);border-top-color:rgba(255,255,255,0.9);animation:spinner .6s linear infinite;-webkit-animation:spinner .6s linear infinite}@keyframes spinner{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes spinner{to{-webkit-transform:rotate(360deg)}}@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px){.mfp-img-mobile .mfp-image-holder{padding-left:0;padding-right:0}.mfp-img-mobile img.mfp-img{padding:0}.mfp-img-mobile .mfp-figure:after{top:0;bottom:0}.mfp-img-mobile .mfp-figure small{display:inline;margin-left:5px}.mfp-img-mobile .mfp-bottom-bar{background:rgba(0,0,0,0.6);bottom:0;margin:0;top:auto;padding:3px 5px;position:fixed;box-sizing:border-box}.mfp-img-mobile .mfp-bottom-bar:empty{padding:0}.mfp-img-mobile .mfp-counter{right:5px;top:3px}.mfp-img-mobile .mfp-close{top:0;right:0;width:35px;height:35px;line-height:35px;background:rgba(0,0,0,0.6);position:fixed;text-align:center;padding:0}}@media all and (max-width: 900px){.mfp-arrow{-webkit-transform:scale(0.75);-ms-transform:scale(0.75);transform:scale(0.75)}.mfp-arrow-left{-webkit-transform-origin:0;-ms-transform-origin:0;transform-origin:0}.mfp-arrow-right{-webkit-transform-origin:100%;-ms-transform-origin:100%;transform-origin:100%}.mfp-container{padding-left:6px;padding-right:6px}}#atwho-container #atwho-ground-comment_content .atwho-view{z-index:2147483647}.mfp-content .rtm-lightbox-container{background:#000;margin:0 auto;position:relative}.mfp-content .rtm-lightbox-container .rtmedia-comment-media-list .mejs-container.mejs-video{min-height:200px;min-width:200px}.mfp-content .rtm-single-meta{background:#fff;overflow:hidden;padding:20px 20px 110px;position:relative;vertical-align:top}.rtm-single-media{overflow:hidden;position:relative;text-align:center;vertical-align:middle}.rtm-single-media .mejs-container{margin:0 auto;max-width:inherit}.rtm-single-media .rtmedia-message-container{position:absolute;top:45%;left:0;right:0;margin-left:auto;margin-right:auto}@media (max-device-width: 640px){.rtm-single-media .rtmedia-message-container{top:25%}}.rtm-ltb-action-container{background-color:rgba(0,0,0,0.6);bottom:0;color:#fff;line-height:38px;opacity:0;padding:0 10px;position:absolute;width:100%;-webkit-transition:all 300ms ease-out;transition:all 300ms ease-out}.rtm-single-media:hover .rtm-ltb-action-container{opacity:1}@media (max-device-width: 640px){.rtm-ltb-action-container{clear:both;position:relative;opacity:1}.rtm-single-media:hover .rtm-ltb-action-container{opacity:1}}#buddypress #rtmedia-single-media-container.rtmedia-single-media .button{background:transparent;border:0 none;border-radius:2px;color:rgba(255,255,255,0.5);display:block;font-family:inherit;font-weight:normal;line-height:24px;margin:0;padding:0 6px;text-shadow:0 0 0;text-transform:none}#buddypress #rtmedia-single-media-container.rtmedia-single-media .button:hover{background:rgba(255,255,255,0.2);color:rgba(255,255,255,0.8)}#buddypress #rtmedia-single-media-container.rtmedia-single-media .rtm-options .button{color:#333;margin:0 auto;padding:0 4px 0 0}#buddypress #rtm-media-options-list .rtm-options form button{font-size:small}#buddypress #rtm-media-options-list .rtm-options .button{background:transparent;border:0 none;border-radius:2px;color:rgba(255,255,255,0.5);float:left;font-family:inherit;font-weight:normal;line-height:24px;padding:0 6px;text-shadow:0 0 0;text-transform:none}#buddypress #rtm-media-options-list .rtm-options .rtmedia-delete-favlist{color:#fff;padding:0}.rtm-options.rtm-options{background:#666;color:#fff;display:none;font-size:14px;list-style:none;margin:0;padding:8px 10px;position:absolute;left:0;top:38px;width:190px;z-index:10}.rtm-options li{margin:0;overflow:hidden;padding:2px 0}.rtm-media-options .rtm-options:after{bottom:100%;left:20px;border:solid transparent;content:' ';height:0;width:0;position:absolute;pointer-events:none;border-color:rgba(255,255,255,0);border-bottom-color:#666;border-width:6px;margin-left:-6px}.mfp-content .rtm-options{background:#fff;color:#333;bottom:38px;right:0;left:auto;top:auto}.mfp-content .rtm-options:after{top:100%;right:22px;border:solid transparent;content:' ';height:0;width:0;position:absolute;pointer-events:none;border-color:rgba(255,255,255,0);border-top-color:#fff;border-width:6px;margin-left:-6px}.rtm-options .dashicons{font-size:14px;line-height:24px;margin-right:2px}.rtm-media-options .rtm-options a{border:0;color:#fff;display:block;text-decoration:none}.rtm-ltb-title{color:rgba(255,255,255,0.7);float:left;font-size:13px}.rtm-ltb-title a{color:inherit}.rtm-ltb-title a:hover{border-bottom:1px dotted;color:#fff}.rtm-item-actions{float:right}.rtm-item-actions>div,.rtm-item-actions>form{float:left;margin:0 4px 0 0;padding:7px 0;position:relative}.rtmedia-media{margin:0 auto}.rtmedia-media img{display:inline-block;max-height:inherit;height:auto;max-width:100%;width:auto}@media only screen and (max-device-width: 1024px){.rtmedia-media{margin:40px 0}}.rtm-user-meta-details .username{font-size:16px;line-height:1;margin-bottom:6px}.userprofile{float:left;margin:0 16px 16px 0;max-width:54px}.userprofile a{display:block}.userprofile img{height:auto;max-width:100%}.rtm-time-privacy{color:#999;font-size:12px}.rtm-time-privacy .dashicons{font-size:14px;line-height:1.5;margin-top:-2px}.rtmedia-actions-before-comments>span{float:left;margin-right:10px}.rtmedia-actions-before-comments .rtmedia-comment-link,.rtmedia-actions-before-comments .rtmedia-view-conversation,#buddypress .rtmedia-actions-before-comments .rtmedia-like{border:0;font-size:13px;font-weight:normal;line-height:2;padding:0;text-transform:none}.rtmedia-actions-before-comments .rtmedia-comment-link:hover,.rtmedia-actions-before-comments .rtmedia-view-conversation:hover,#buddypress .rtmedia-actions-before-comments .rtmedia-like:hover{background:transparent}.rtmedia-comment-user-pic{float:left;margin-right:10px;max-width:36px}.rtmedia-comment-user-pic img{height:auto;max-width:100%}.rtm-like-comments-info{position:relative}.rtm-like-comments-info:after{bottom:100%;left:15px;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none;border-color:rgba(237,239,244,0);border-bottom-color:#edeff4;border-width:4px;margin-left:-4px}.rtm-comment-list.rtm-comment-list{list-style:none;margin:0;padding:0}.rtm-comment-list li{background:#edeff4;font-size:12px;margin-bottom:1px;padding:10px;position:relative}.rtm-comment-list li:hover .rtmedia-delete-comment{opacity:1}.rtm-comment-list .rtmedia-no-comments{margin:0;padding:5px 10px}.rtmedia-like-info{background:#edeff4;font-size:12px;margin-bottom:1px;padding:5px 10px;position:relative}.rtm-comment-wrap{overflow:hidden}.rtm-comment-wrap .rtmedia-comment-author{font-weight:700}.rtm-comment-wrap .rtmedia-comment-date{color:#999;font-size:11px}.rtmedia-comment-content{margin-top:2px}.rtmedia-delete-comment{color:#999;cursor:pointer;font-size:16px;opacity:0;position:absolute;right:5px;top:5px}.rtmedia-comment-content p{margin:0}.rtmedia-comment-details{line-height:1.5;margin-top:-3px}.rtmedia-item-comments textarea{font-size:14px;padding:4px}.rtm-media-single-comments{bottom:20px;padding:10px;width:100%}.rtm-media-single-comments textarea{background-color:#edeff4;font-size:12px;line-height:14px;max-height:40px;min-height:30px;padding:4px}.rtmedia-popup{background:#fff;margin:20px auto;max-width:600px;padding:20px;position:relative;width:auto}.rtmedia-popup .rtm-modal-title{font-size:24px;margin-bottom:20px;margin-top:0}.rtmedia-popup label{display:block;margin-bottom:5px}#rtm-modal-container p{margin-bottom:10px}#rtm-mejs-video-container{margin:0 auto}.rtmedia-media-name{float:left;max-width:140px;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.rtm-single-media.rtm-media-type-video{padding-bottom:40px;padding-top:40px}.rtmedia-gallery-alert-container{position:fixed;top:0;left:0;height:100%;width:100%;background-color:rgba(0,0,0,0.6);z-index:999997}.rtmedia-gallery-message-box{position:fixed;top:40%;left:50%;margin-left:auto;margin-right:auto;z-index:999999}.rtmedia-gallery-message-box span{position:relative;left:-50%}.rtmedia-activity-container{box-sizing:border-box}.rtmedia-activity-container *,.rtmedia-activity-container *:before,.rtmedia-activity-container *:after{box-sizing:inherit}.rtmedia-activity-container .rtmedia-list.masonry{list-style:none;padding:0}.rtmedia-activity-container .rtmedia-list.masonry p{display:none}.rtmedia-activity-container .rtmedia-list.masonry:after{content:'';display:block;clear:both}.rtmedia-activity-container .rtmedia-list-item.masonry-brick{display:inline-block;float:left;width:32%;padding:0 !important}.rtmedia-activity-container .rtmedia-list-item.masonry-brick .mejs-container{min-width:33% !important;margin:0 0 5px 0;width:100% !important}.rtmedia-activity-container .rtmedia-list-item.masonry-brick .mejs-container .mejs-controls{width:100%}.rtmedia-activity-container .rtmedia-list-item.masonry-brick .mejs-container .mejs-controls .mejs-time-total{display:none}.rtmedia-activity-container .rtmedia-list-item.masonry-brick .mejs-container .mejs-controls .mejs-horizontal-volume-slider{width:20%;padding-left:5px}.rtmedia-activity-container .rtmedia-list-item.masonry-brick .mejs-container .mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-total{width:100%}.rtmedia-activity-container .rtmedia-list-item.masonry-brick .mejs-container .mejs-controls .mejs-horizontal-volume-slider .mejs-time-loaded{display:none}.rtmedia-activity-container .rtmedia-list-item.masonry-brick img{display:block;max-width:100%}.rtmedia-activity-container .rtmedia-list-item.masonry-brick .rtmedia-item-title{display:none}#buddypress ul.rtmedia-list li{border-bottom:0;padding-bottom:0}.rtmedia-activity-container .rtmedia-item-actions{display:none}.rtmedia-activity-container .rtmedia-item-title,.rtmedia-activity-container .rtmedia-item-title a{border:0;color:#666;font-size:13px;margin:5px 0 0;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}#rtmedia-whts-new-upload-container div{left:0 !important;position:absolute;top:0 !important}#aw-whats-new-submit,.rtmedia-add-media-button{display:block}.rtm-drag-drop-active{border:4px dashed green !important;display:block;height:100%;opacity:0.5;z-index:9999}#rtm-drop-files-title{background:rgba(0,0,0,0.2);display:none;font-size:14px;height:100%;padding:20px;position:absolute;top:0;width:100%}#rtSelectPrivacy{float:right}form.rt_media_comment_form .rtmedia-plupload-container{overflow:hidden}.rtmedia-plupload-container{position:relative;float:left}.rtm-upload-button-wrapper{float:left;margin-right:5px}#rtmedia-action-update{margin-right:10px}.rtmedia-list-item.media-type-photo,.rtmedia-list-item.media-type-document,.rtmedia-list-item.media-type-music,.rtmedia-list-item.media-type-video{display:inline-block}.media-type-music .mejs-container{margin-bottom:10px}.previous-pagination{float:left;margin-top:10px}.next-pagination{float:right;margin-top:10px}@media screen and (max-width: 500px){#activity-stream li .media-type-video{width:100%}#activity-stream li .media-type-video .mejs-video{max-width:100%;min-width:100%}}#rtmedia_show_all_comment{cursor:pointer}#rtmedia_show_all_comment:hover{text-decoration:underline}#whats-new-options{opacity:0;display:none}#whats-new-options .rtmedia-uploader-div{opacity:0;display:none;visibility:hidden}.ac-form .rtmedia-uploader-div,.rt_media_comment_form .rtmedia-uploader-div{opacity:1;display:block;visibility:visible}#whats-new-options{opacity:0;display:none}a.rtmedia-comment-link{display:none}a.rtmedia-comment-link.rtmedia-comments-link{display:initial}.rtmedia-album-edit .rtm-checkbox-wrap{background:rgba(255,255,255,0.9);height:30px;line-height:1;padding:10px;position:absolute;z-index:10}.rtmedia-album-edit .rtmedia-item-selector{position:relative;top:-7px}.rtmedia-album-edit .rtmedia-move-container{display:none}.rtm-single-actions.rtm-item-actions{float:none}.rtm-media-type-music .rtmedia-media{width:100%}.media-item .describe{border-collapse:collapse;width:100%;border-top-style:solid;border-top-width:1px;clear:both;cursor:default}.media-item.media-blank .describe{border:0}.media-item .describe th{vertical-align:top;text-align:left;padding:5px 10px 10px;width:140px}.media-item .describe .align th{padding-top:0}.media-item .media-item-info tr{background-color:transparent}.media-item .describe td{padding:0 8px 8px 0;vertical-align:top}.media-item thead.media-item-info td{padding:4px 10px 0}.media-item .media-item-info .A1B1{padding:0 0 0 10px}.media-item td.savesend{padding-bottom:15px}.media-item .thumbnail{max-height:128px;max-width:128px}#wpbody-content #async-upload-wrap a{display:none}.media-upload-form{margin-top:20px}.media-upload-form td label{margin-right:6px;margin-left:2px}.media-upload-form .align .field label{display:inline;padding:0 0 0 23px;margin:0 1em 0 3px;font-weight:bold}.media-upload-form tr.image-size label{margin:0 0 0 5px;font-weight:bold}.media-upload-form th.label label{font-weight:bold;margin:0.5em;font-size:13px}.media-upload-form th.label label span{padding:0 5px}abbr.required{border:medium none;text-decoration:none}.media-item .describe input[type="text"],.media-item .describe textarea{width:460px}.media-item .describe p.help{margin:0;padding:0 0 0 5px}.media-item .edit-attachment,.describe-toggle-on,.describe-toggle-off{display:block;line-height:36px;float:right;margin-right:15px}.media-item .describe-toggle-off,.media-item.open .describe-toggle-on{display:none}.media-item.open .describe-toggle-off{display:block}#media-items .media-item{border-style:solid;border-width:1px;min-height:36px;position:relative;margin-top:-1px;width:100%}#media-items{width:623px}.media-new-php #media-items{margin:1em 0}#media-items:empty{border:0 none}.media-item .filename{line-height:36px;overflow:hidden;padding:0 10px}.media-item .error-div{padding-left:10px}.media-item .pinkynail{float:left;margin:2px 2px 0;max-width:40px;max-height:32px}.media-item .startopen,.media-item .startclosed{display:none}.media-item .original{position:relative;height:34px}.media-item .progress{float:right;height:22px;margin:6px 10px 0 0;width:200px;line-height:2em;padding:0;overflow:hidden;margin-bottom:2px;border:1px solid #d1d1d1;background:#f7f7f7;background-image:-webkit-gradient(linear, left bottom, left top, from(#fff), to(#f7f7f7));background-image:-webkit-linear-gradient(bottom, #fff, #f7f7f7);background-image:linear-gradient(to top, #fff, #f7f7f7);border-radius:3px;box-shadow:inset 0 0 3px rgba(0,0,0,0.1)}.media-item .bar{z-index:9;width:0;height:100%;margin-top:-24px;background-color:#8cc1e9;background-image:-webkit-gradient(linear, left bottom, left top, from(#72a7cf), to(#8cc1e9));background-image:-webkit-linear-gradient(bottom, #72a7cf, #8cc1e9);background-image:linear-gradient(to top, #72a7cf, #8cc1e9);border-radius:3px;box-shadow:0 0 3px rgba(0,0,0,0.3)}.media-item .progress .percent{z-index:10;position:relative;width:200px;padding:0 8px;text-shadow:0 1px 0 rgba(255,255,255,0.4);color:rgba(0,0,0,0.6)}.upload-php .fixed .column-parent{width:15%}.js .html-uploader #plupload-upload-ui{display:none}.js .html-uploader #html-upload-ui{display:block}.media-upload-form .media-item.error{margin:0;padding:0}.media-upload-form .media-item.error p,.media-item .error-div{line-height:16px;margin:5px 10px;padding:0}.media-item .error-div a.dismiss{display:block;float:right;margin:5px 4px 0 15px}.find-box{width:600px;height:300px;overflow:hidden;padding:33px 0 51px;position:absolute;z-index:1000}.find-box-head{cursor:move;font-weight:bold;height:2em;line-height:2em;padding:1px 12px;position:absolute;top:5px;width:100%}.find-box-inside{overflow:auto;padding:6px;height:100%}.find-box-search{overflow:hidden;padding:9px;position:relative}.find-box-search .spinner{float:none;left:125px;position:absolute;top:9px}#find-posts-input{float:left;width:140px;height:24px}#find-posts-search{float:left;margin:1px 4px 0 3px}#find-posts-response{margin:8px 0;padding:0 1px 6px}#find-posts-response table{width:100%}#find-posts-response .found-radio{padding:3px 0 0 8px;width:15px}.find-box-buttons{padding:8px;overflow:hidden}.find-box #resize-se{position:absolute;right:1px;bottom:1px}.ui-find-overlay{position:absolute;top:0;left:0;background-color:#000;opacity:0.6;filter:alpha(opacity=60)}ul#dismissed-updates{display:none}form.upgrade{margin-top:8px}form.upgrade .hint{font-style:italic;font-size:85%;margin:-0.5em 0 2em 0}#poststuff .inside .the-tagcloud{margin:5px 0 10px;padding:8px;border-width:1px;border-style:solid;line-height:1.8em;word-spacing:3px;border-radius:6px}.drag-drop #drag-drop-area{border:4px dashed #DDDDDD;height:200px}.drag-drop .drag-drop-inside{margin:70px auto 0;width:250px}.drag-drop-inside p{color:#aaa;font-size:14px;margin:5px 0;display:none}.drag-drop .drag-drop-inside p{text-align:center}.drag-drop-inside p.drag-drop-info{font-size:20px}.drag-drop .drag-drop-inside p,.drag-drop-inside p.drag-drop-buttons{display:block}.drag-drop.drag-over #drag-drop-area{border-color:#83b4d8}#plupload-upload-ui{position:relative}.describe .image-editor{vertical-align:top}.imgedit-wrap{position:relative}#item-body .imgedit-settings .imgedit-group-top h2{display:inline-block;margin:0}.rtmedia-container .rtmedia-image-editor-cotnainer label{display:inline-block;float:none;margin-right:0}.rtmedia-container .rtmedia-image-editor-cotnainer .dashicons-editor-help{padding:0;height:auto;margin-top:10px}.rtmedia-container .rtmedia-image-editor-cotnainer .hidden{display:none}.imgedit-settings p{margin:8px 0}.post-php .imgedit-wrap table{width:100%}.describe .imgedit-wrap table td,.wp_attachment_holder .imgedit-wrap table td{vertical-align:top;padding-top:0}.describe .imgedit-wrap table td.imgedit-settings{padding:0 5px}.wp_attachment_holder .imgedit-wrap table td.imgedit-settings{width:250px}td.imgedit-settings input{margin-top:0;vertical-align:middle}.imgedit-wait{position:absolute;top:0;background:#fff url(../../../../../../wp-admin/images/wpspin_light.gif) no-repeat scroll 22px 10px;background-size:16px 16px;opacity:0.7;filter:alpha(opacity=70);width:100%;height:500px;display:none}.spinner{background:url(../../../../../../wp-admin/images/wpspin_light.gif) no-repeat;background-size:16px 16px;display:none;float:right;opacity:0.7;filter:alpha(opacity=70);width:16px;height:16px;margin:5px 5px 0}.no-float{float:none}.media-disabled,.imgedit-settings .disabled{color:grey}.wp_attachment_image,.A1B1{overflow:hidden}.wp_attachment_image .button,.A1B1 .button{float:left}.no-js .wp_attachment_image .button{display:none}.wp_attachment_image .spinner,.A1B1 .spinner{float:left;padding:0 4px 4px;vertical-align:bottom}.imgedit-menu{margin:0 0 12px;min-width:300px}.imgedit-menu div{float:left;width:32px;height:32px}.imgedit-crop-wrap{position:relative}.imgedit-crop{margin:0 8px 0 0}.imgedit-crop.disabled:hover{background-position:-9px -31px}.imgedit-crop:hover{background-position:-9px -1px}.imgedit-rleft{margin:0 3px}.imgedit-rleft.disabled:hover{background-position:-46px -31px}.imgedit-rleft:hover{background-position:-46px -1px}.imgedit-rright{margin:0 8px 0 3px}.imgedit-rright.disabled:hover{background-position:-77px -31px}.imgedit-rright:hover{background-position:-77px -1px}.imgedit-flipv{margin:0 3px}.imgedit-flipv.disabled:hover{background-position:-115px -31px}.imgedit-flipv:hover{background-position:-115px -1px}.imgedit-fliph{margin:0 8px 0 3px}.imgedit-fliph.disabled:hover{background-position:-147px -31px}.imgedit-fliph:hover{background-position:-147px -1px}.imgedit-undo{margin:0 3px}.imgedit-undo.disabled:hover{background-position:-184px -31px}.imgedit-undo:hover{background-position:-184px -1px}.imgedit-redo{margin:0 8px 0 3px}.imgedit-redo.disabled:hover{background-position:-215px -31px}.imgedit-redo:hover{background-position:-215px -1px}.imgedit-applyto img{margin:0 8px 0 0}.imgedit-group h3{font-size:18px}.imgedit-group .dashicons{border:0;line-height:1.2}.imgedit-group-top{margin:5px 0}.imgedit-applyto .imgedit-label{padding:2px 0 0;display:block}.imgedit-help{display:none;font-style:italic;margin-bottom:8px}a.imgedit-help-toggle{text-decoration:none}.form-table td.imgedit-response{padding:0}.imgedit-submit{margin:8px 0}.imgedit-submit-btn{margin-left:20px}.imgedit-wrap .nowrap{white-space:nowrap}span.imgedit-scale-warn{color:red;font-size:20px;font-style:normal;visibility:hidden;vertical-align:middle}.wp_attachment_details{margin-bottom:20px}.imgedit-menu div{border-color:#d5d5d5;background-color:#f1f1f1}.imgedit-menu div:hover{border-color:#c1c1c1;background-color:#eaeaea}.imgedit-menu div.disabled{border-color:#ccc;background-color:#ddd;filter:alpha(opacity=50);opacity:0.5}.bp-media-image-editor-cotnainer{margin-top:35px}.wp_attachment_image .bp-media-image-edit{float:left}.wp_attachment_image .spinner{display:none}.bp-media-image-editor-cotnainer .hidden{display:none}.bp-media-image-editor-cotnainer div.updated{margin:5px 0 15px;background-color:#ffffe0;border-color:#e6db55;padding:0 .6em;border-radius:3px;border-width:1px;border-style:solid}.bp-media-image-editor-cotnainer div.updated p{margin:.5em 0;padding:2px}body article.bp_members.bp_member .entry-content,body div.bp_members.bp_member .entry-content{width:100%}.rtm-media-gallery-uploader{display:none}.rtmedia-uploader .drag-drop{border:4px dashed #DDD;text-align:center;background:#fafafa;overflow:hidden;color:#AAAAAA;margin-top:20px;padding:25px 0}.rtmedia-uploader .drag-drop.dragover{border-color:#83b4d8}.rtmedia-uploader .drag-drop .drag-drop-info{font-size:20px;line-height:24px}.rtmedia-uploader .drag-drop .rtm-select-files span{vertical-align:middle}.rtmedia-uploader .drag-drop .rtm-seperator{margin:0px 20px}.rtmedia-uploader .drag-drop .start-media-upload{display:none;margin-top:20px}.rtmedia-uploader .drag-drop .rtm-file-size-limit{vertical-align:middle;font-size:16px;line-height:24px}.rtm-uploader-main-wrapper .rtm-uploader-tabs{margin-bottom:10px;text-align:left}.rtm-uploader-main-wrapper ul{border-bottom:1px solid #CCC}.rtm-uploader-main-wrapper li{margin:0 0 -1px 10px;display:inline-block;padding:5px 10px;line-height:25px;background-color:#e4e4e4;border:1px solid #CCC}.rtm-uploader-main-wrapper li.active{background:transparent;border-left:1px solid #CCC;border-top:1px solid #CCC;border-right:1px solid #CCC;border-bottom:1px solid #fafafa}.rtm-uploader-main-wrapper li:hover{cursor:pointer}.rtmedia-container .rtmedia-list{margin:10px -5px}.rtmedia-container .rtmedia-list .rtmedia-list-item{float:left;margin:5px;position:relative}.rtmedia-container .rtmedia-list .rtmedia-list-item>a{display:block}.rtmedia-container .rtmedia-list .rtmedia_time{background-color:#000;color:#fff;display:inline-block;font-size:11px;font-weight:bold;line-height:14px;opacity:0.75;padding:0 4px;position:absolute;right:2px;top:2px}.rtmedia-container .rtmedia-list img{vertical-align:top}.rtmedia-container .rtmedia-list .rtmedia-item-title h4{color:#666;font-size:12px;font-weight:normal;margin:5px 0 0;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.rtm-load-more{background:#eee;text-align:center}.rtmedia-container .rtm-load-more a{border:0;padding:10px 0}.rtm-load-more .rtm-media-loading{padding:10px 0}.rtm-media-options.rtm-media-search-enable>*:nth-last-child(2){border-right:none}.rtm-media-options{line-height:1.4;margin-bottom:10px;clear:both}.rtm-media-options>div{display:inline-block;cursor:pointer}.rtm-media-options .rtm-media-options-list{margin-right:5px;padding-right:10px;position:relative}.rtm-media-options>*{border-right:1px solid #999}.rtm-media-options>*:last-child{border-right:none}.rtm-media-options .dashicons{font-size:inherit;line-height:1.4}#buddypress .media_search.media_search .search_by{margin-top:3px}.media_search.media_search{float:right;border:1px solid #ccc;margin-left:5px;padding:3px 0}.media_search.media_search .media_search_input{width:200px;outline:0;max-width:200px;margin:0;box-shadow:none;padding:5px 6px;border:none;background:transparent;float:left;max-height:30px}.media_search.media_search #media_fatch_loader.load{float:left;width:20px;height:30px;position:relative}.media_search.media_search #media_fatch_loader.load:before{content:'';border-radius:50%;border:1px solid #aaa;border-top-color:rgba(255,255,255,0.9);animation:spinner .8s linear infinite;-webkit-animation:spinner .8s linear infinite;position:absolute;width:15px;height:15px;top:24%}.media_search.media_search .search_option{padding:0;background:transparent;color:#000;margin-bottom:0;line-height:1;border:none}.media_search.media_search .media_search_remove.search_option{display:none}.media_search.media_search .media_search_remove.search_option i{margin-top:4px}.media_search.media_search .search_by{background:transparent;margin-top:3px;float:left;width:auto;margin-bottom:0;height:auto;padding-top:0;padding-bottom:0}@keyframes spinner{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes spinner{to{-webkit-transform:rotate(360deg)}}.rtmedia-upload-media-link{cursor:pointer}a.rtmedia-upload-media-link{border:none}.rtm-album-privacy span{font-size:16px;display:inline-block;margin:0 20px 20px 20px;vertical-align:top}.rtm-album-privacy label{margin-right:8px}.rtm-album-privacy .dashicons{font-size:16px;line-height:1.6;margin-right:5px}#rtm-media-options-list .rtmedia-delete-album{background:transparent;border:0;color:#fff;font-family:inherit;font-size:inherit;font-weight:inherit;padding:0;text-transform:inherit}#rtm-media-options-list .rtmedia-delete-album:hover{background:transparent;border:0;color:#fff}.rtmedia-single-container button.rtmedia-like{background-color:transparent;color:inherit}#buddypress #item-body{padding:0 0 20px 20px}#buddypress .mejs-controls button{padding:4px 8px;border:none;background:transparent url("../../../lib/media-element/controls.png") no-repeat}#buddypress .mejs-controls .mejs-play button{background-position:0 0}#buddypress .mejs-controls .mejs-pause button{background-position:0 -16px}#buddypress .mejs-controls .mejs-unmute button{background-position:-16px 0}#buddypress .mejs-controls .mejs-mute button{background-position:-16px -16px}#buddypress .mejs-controls .mejs-fullscreen-button button{background-position:-32px 0}#buddypress .mejs-controls .mejs-unfullscreen button{background-position:-32px -16px}.mejs-container .mejs-controls .mejs-time{padding:10px 3px 0;content:''}.rtmedia-activity-container .mejs-playpause-button.mejs-play button:before,.rtmedia-activity-container .mejs-playpause-button.mejs-pause button:before,.rtmedia-activity-container .mejs-volume-button.mejs-mute button:before,.rtmedia-activity-container .mejs-fullscreen-button button:before,.rtmedia-media .mejs-playpause-button.mejs-play button:before,.rtmedia-media .mejs-playpause-button.mejs-pause button:before,.rtmedia-media .mejs-volume-button.mejs-mute button:before,.rtmedia-media .mejs-fullscreen-button button:before{content:''}@media only screen and (min-width: 1025px){.mfp-content .rtm-lightbox-container{display:-webkit-box;display:-ms-flexbox;display:flex;table-layout:fixed;width:100%;min-height:473px}.mfp-content .rtm-mfp-close{background:transparent}.mfp-content .rtm-single-media{display:-webkit-box;display:-ms-flexbox;display:flex;width:66.6667%;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.mfp-content .rtm-single-meta{display:block;width:33.3333%;padding:20px}.mfp-content .rtm-single-meta .rtmedia-scroll{height:100%;overflow-X:hidden}}.rtl #rtSelectPrivacy{float:left}.rtl .rtmedia-plupload-container{float:right}.rtl .rtm-upload-button-wrapper{float:right}.rtl #whats-new-post-in-box{float:right}.rtl .describe-toggle-off{float:left}.rtl .media-item .pinkynail{float:right}.rtl .media-item .progress{float:left}.rtl .media-item .error-div a.dismiss{float:left}.rtl #find-posts-input{float:right}.rtl #find-posts-search{float:right}.rtl .spinner{float:left}.rtl .wp_attachment_image .button,.rtl .A1B1 .button{float:right}.rtl .wp_attachment_image .spinner,.rtl .A1B1 .spinner{float:right}.rtl .imgedit-menu div{float:right}.rtl .wp_attachment_image .bp-media-image-edit{float:right}.rtl .rtmedia-container .rtmedia-list .rtmedia-list-item{float:right}.rtl #buddypress #rtm-media-options-list .rtm-options .button{float:right}.rtl .rtm-ltb-title{float:right}.rtl .rtm-item-actions{float:left}.rtl .rtm-item-actions>div,.rtl .rtm-item-actions>form{float:right}.rtl .userprofile{float:right}.rtl .rtmedia-actions-before-comments>span{float:right}.rtl .rtmedia-comment-user-pic{float:right}.rtl .rtmedia-media-name{float:right}.rtl #rtmedia-uploader-form .rtm-plupload-list li,.rtl #rtmedia_uploader_filelist li{float:right}.rtl .rtm-page-number{float:right}.rtl .rtm-page-number .rtmedia-page-link{float:right}.rtl .rtm-pagination{float:right}.rtl .rtm-pagination .rtm-paginate{float:left}.rtl .rtm-tabs li{float:right}.rtl .alignleft{float:right}.rtl .alignright{float:left}
|
1 |
+
.alignleft{float:left}.alignright{float:right}.aligncenter{display:block;margin-left:auto;margin-right:auto;text-align:center}.clear-both{clear:both}.clear-none{clear:none}.clear-left{clear:left}.clear-right{clear:right}.rtm-inline-block{display:inline-block}.rtm-text-left{text-align:left}.rtm-text-right{text-align:right}.rtm-text-center{text-align:center}.rtm-border-0{border:0 !important}.hide{display:none}.rtmedia-success,.rtmedia-warning{margin:10px 0;padding:8px 14px 8px 14px;text-shadow:0 1px 0 rgba(255,255,255,0.5);border-bottom:1px solid #e7e7e7;cursor:pointer}.rtmedia-success{background-color:#dff0d8;color:#468847}.rtmedia-warning{background-color:#F0D8DD;color:#884646}.clearfix:after{content:"";display:table;clear:both}#buddypress form#whats-new-form textarea{box-sizing:border-box;min-height:70px;width:100%}#buddypress #whats-new-form .rtmedia-uploader-div{display:none}#buddypress #whats-new-form #whats-new-options .rtmedia-uploader-div{display:block}#buddypress #whats-new-options{height:auto !important;overflow:hidden}#buddypress form#whats-new-form p.activity-greeting{line-height:1}#buddypress form#whats-new-form #whats-new-options select{border:1px solid #ccc;font-size:13px;margin-top:0;padding:3px 2px}#whats-new-submit #aw-whats-new-submit{font-size:12px;line-height:18px;padding:4px 6px}#whats-new-post-in-box{float:left;font-size:13px}#buddypress form#whats-new-form #whats-new-submit{margin-top:0}#whats-new-textarea{margin-bottom:10px}body.media.buddypress{overflow-y:auto}#buddypress input[type=submit]:focus{background:#ededed;border:1px solid #bbb;color:#555;outline:0;text-decoration:none}#buddypress ul.activity-list li.activity-item .activity-comments .rtmedia-uploader-div{color:#767676;margin-left:50px;padding-left:15px}#buddypress form#whats-new-form #whats-new-content.active #whats-new-options[style] #whats-new-post-in-box{margin-top:0}#whats-new-post-in-box{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.rtmedia-container{box-sizing:border-box}.rtmedia-container *,.rtmedia-container *:before,.rtmedia-container *:after{box-sizing:inherit}.rtmedia-list.rtmedia-list{list-style:none;margin:0;padding:0}.rtmedia-list-item>a{border:0;display:inline-block;text-decoration:none}.rtmedia-list-item>a:focus{outline:0}.rtmedia-list-item>a+p{display:none}.rtmedia-list-item>a .rtmedia-item-thumbnail img{display:inline-block}#rtmedia-uploader-form .rtm-plupload-list,form .rtmedia-container .rtm-plupload-list,#rtmedia_uploader_filelist{list-style:none;margin-left:-4px;margin-right:-4px;padding-left:0;padding-top:10px}#rtmedia-uploader-form .rtm-plupload-list li,form .rtmedia-container .rtm-plupload-list li,#rtmedia_uploader_filelist li{background:#eee;float:left;margin:4px;max-width:110px;padding:5px;z-index:1;position:relative}#rtmedia-uploader-form .rtm-plupload-list li.upload-error,form .rtmedia-container .rtm-plupload-list li.upload-error,#rtmedia_uploader_filelist li.upload-error{border:1px solid red}#rtmedia-uploader-form .rtm-plupload-list img,form .rtmedia-container .rtm-plupload-list img,#rtmedia_uploader_filelist img{max-width:100%}#rtmedia-uploader-form .rtm-plupload-list canvas,form .rtmedia-container .rtm-plupload-list canvas,#rtmedia_uploader_filelist canvas{display:block;max-width:100%}#rtmedia-uploader-form .rtm-plupload-list .rtm-upload-edit-title,form .rtmedia-container .rtm-plupload-list .rtm-upload-edit-title,#rtmedia_uploader_filelist .rtm-upload-edit-title{font-size:12px}#rtmedia-uploader-form .rtm-plupload-list .rtm-upload-edit-desc,form .rtmedia-container .rtm-plupload-list .rtm-upload-edit-desc,#rtmedia_uploader_filelist .rtm-upload-edit-desc{font-size:12px;display:block}#rtmedia-uploader-form .rtm-plupload-list .rtm-upload-edit-title-wrapper label,#rtmedia-uploader-form .rtm-plupload-list .rtm-upload-edit-desc-wrapper label,form .rtmedia-container .rtm-plupload-list .rtm-upload-edit-title-wrapper label,form .rtmedia-container .rtm-plupload-list .rtm-upload-edit-desc-wrapper label,#rtmedia_uploader_filelist .rtm-upload-edit-title-wrapper label,#rtmedia_uploader_filelist .rtm-upload-edit-desc-wrapper label{display:block}#rtmedia-uploader-form .rtm-plupload-list .rtm-upload-edit-title-wrapper input.rtm-upload-edit-title,#rtmedia-uploader-form .rtm-plupload-list .rtm-upload-edit-desc-wrapper input.rtm-upload-edit-title,form .rtmedia-container .rtm-plupload-list .rtm-upload-edit-title-wrapper input.rtm-upload-edit-title,form .rtmedia-container .rtm-plupload-list .rtm-upload-edit-desc-wrapper input.rtm-upload-edit-title,#rtmedia_uploader_filelist .rtm-upload-edit-title-wrapper input.rtm-upload-edit-title,#rtmedia_uploader_filelist .rtm-upload-edit-desc-wrapper input.rtm-upload-edit-title{min-width:100%;margin-top:1px}.rtm-plupload-list:empty{display:none}.rtmedia-uploader-div,.rtmedia-uploader{clear:both}.rtm-upload-button-wrapper button.rtmedia-comment-media-upload,button.rtmedia-comment-media-upload{padding:3px 6px}.rtm-upload-button-wrapper button.rtmedia-comment-media-upload .dashicons,button.rtmedia-comment-media-upload .dashicons{font-size:18px;line-height:20px}button#rtmedia-add-media-button-post-update{padding:3px 6px}button#rtmedia-add-media-button-post-update .dashicons{font-size:18px;line-height:20px}.plupload_file_name{font-size:11px;font-weight:bold;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plupload_file_size{color:#666;font-size:10px}.plupload_file_action{background:#eee;position:absolute;height:18px;right:4px;top:0;width:18px;z-index:10}.plupload_file_action .dashicons{color:#DD3D36;cursor:pointer;font-size:16px;height:18px;padding:2px 1px;width:18px}.plupload_file_status{height:18px;overflow:hidden;position:relative}.plupload_file_progress{background:#7AD03A;height:4px;position:absolute;top:0}.rtm-form .rtm-field-wrap{margin-bottom:20px}.rtmedia_next_prev{padding:0 10px}.rtm-page-number{float:left}.rtm-page-number .rtm-label{line-height:30px}.rtm-page-number .rtm-label,.rtm-page-number .rtm-go-to-num,.rtm-page-number .rtmedia-page-link{float:left}.rtm-pagination{background:transparent;border:none;color:#888;font-size:small;margin:0;position:relative;display:block;float:left;width:100%;padding:10px 0}.rtm-pagination .rtm-paginate{float:right;font-size:15px}.rtm-pagination .rtm-paginate a,.rtm-pagination .rtm-paginate span{display:inline-block;line-height:1;margin:0 2px;padding:8px;text-decoration:none}.rtm-pagination .rtm-paginate a.rtmedia-page-link{padding:8px}.rtm-pagination .dashicons{font-size:14px;height:auto;line-height:1.2;margin:0;padding:0;width:auto}#rtmedia_go_to_num{font-size:16px;margin:0 5px;padding:4px 5px;width:80px}.rtmedia-upload-not-allowed{background-color:#fcf8e3;border-bottom:1px solid #EEE;color:#c09853;margin-bottom:20px;padding:10px 15px}.plupload_file_name{position:relative}.plupload_file_name .dashicons{background:#eee;color:#DD3D36;cursor:pointer;font-size:14px;height:auto;padding:0 2px 0 5px;position:absolute;right:0;top:0;width:auto}.plupload_file_name .dashicons-yes{color:#7AD03A}.rtmedia-gallery-item-actions{background-color:rgba(0,0,0,0.6);opacity:0;position:absolute;text-align:center;-webkit-transition:all ease-in-out 0.4s;transition:all ease-in-out 0.4s;width:100%;z-index:9}.rtmedia-gallery-item-actions a{border:0;box-shadow:0 0 0;color:#fff;display:inline-block;font-size:12px;outline:none;padding:4px;text-align:left;text-decoration:none;text-transform:uppercase}.rtmedia-gallery-item-actions .dashicons{font-size:17px;margin-right:2px;position:relative;top:1px}.rtmedia-gallery-item-actions .dashicons-trash{font-size:15px}.rtm-pro-allow-action .rtmedia-list-item:hover .rtmedia-gallery-item-actions{opacity:1}.rtm-pro-allow-action .rtmedia-list-item:hover .rtmedia-bulk-edit-item-wrap+.rtmedia-gallery-item-actions{opacity:0}.rtmedia-footer-link{clear:both;overflow:hidden;padding:16px 0;position:relative;text-align:center}.rtmedia-text-link-decoration,table.rtmedia-edit-media-list tr td.rtm-edit-media-list-edit a,table.rtmedia-edit-media-list tr td.rtm-edit-media-list-edit span,table.rtmedia-edit-media-list tr td.rtm-edit-media-list-delete a,table.rtmedia-edit-media-list tr td.rtm-edit-media-list-delete span,table.rtmedia-edit-media-list tr td.rtm-edit-media-list-title a,table.rtmedia-edit-media-list tr td.rtm-edit-media-list-title span{text-decoration:none}.rtmedia-text-link-decoration:hover,table.rtmedia-edit-media-list tr td.rtm-edit-media-list-edit a:hover,table.rtmedia-edit-media-list tr td.rtm-edit-media-list-edit span:hover,table.rtmedia-edit-media-list tr td.rtm-edit-media-list-delete a:hover,table.rtmedia-edit-media-list tr td.rtm-edit-media-list-delete span:hover,table.rtmedia-edit-media-list tr td.rtm-edit-media-list-title a:hover,table.rtmedia-edit-media-list tr td.rtm-edit-media-list-title span:hover{text-decoration:underline}.rtmedia-container .rtmedia-edit-list-media-table{max-height:300px;overflow-y:auto}.rtmedia-container .rtmedia-edit-list-media-table thead tr{background-color:#50A1D7}.rtmedia-container .rtmedia-edit-list-media-table thead th{text-align:center;color:#FFF}.rtmedia-container .rtmedia-edit-list-media-table tbody tr:nth-child(odd){background:#FFF}.rtmedia-container .rtmedia-edit-list-media-table tbody tr:nth-child(even){background:#DCDCDC}table.rtmedia-edit-media-list tr{line-height:30px}table.rtmedia-edit-media-list tr th{color:#333;padding:4px 10px;line-height:20px}table.rtmedia-edit-media-list tr .rtm-edit-media-list-heading{width:44%}table.rtmedia-edit-media-list tr .rtm-edit-media-list-title-heading{width:56%}table.rtmedia-edit-media-list tr td.rtm-edit-media-list-edit,table.rtmedia-edit-media-list tr td.rtm-edit-media-list-delete,table.rtmedia-edit-media-list tr td.rtm-edit-media-list-title{padding:4px;font-size:14px;line-height:24px}table.rtmedia-edit-media-list tr td.rtm-edit-media-list-title a{text-decoration:none;color:#333}table.rtmedia-edit-media-list tr td.rtm-edit-media-list-edit{text-align:center}table.rtmedia-edit-media-list tr td.rtm-edit-media-list-edit a{color:#333;font-size:13px}table.rtmedia-edit-media-list tr td.rtm-edit-media-list-delete{text-align:center}table.rtmedia-edit-media-list tr td.rtm-edit-media-list-delete span{color:#FF0000;cursor:pointer;font-size:13px}.rtm-hide{display:none}.rtmedia-list-item .rtmedia-album-media-count{position:absolute;top:0;right:0;background-color:black;color:white;padding:0 5px}.rtm-tabs.rtm-tabs{border-bottom:1px solid #eee;list-style:none;margin:0 0 20px;padding:0}.rtm-tabs li{border:1px solid #eee;border-bottom:0;float:left;margin:0 5px;padding:0}.rtm-tabs a{border:0;display:block;padding:5px 15px;text-decoration:none}.rtm-tabs a:focus{background:transparent;box-shadow:0 0 0}.rtm-tabs .active{position:relative}.rtm-tabs .active:after{background:#fff;bottom:-1px;content:' ';height:1px;left:0;position:absolute;width:100%}.rtm-tabs .dashicons{font-size:16px;height:auto;line-height:20px;margin-right:8px;width:auto}.rtmedia-edit-media-tabs .rtm-tabs a{border-bottom:0 none}.mfp-bg{top:0;left:0;width:100%;height:100%;z-index:104211;overflow:hidden;position:fixed;background:rgba(0,0,0,0.9)}.mfp-wrap{top:0;left:0;width:100%;height:100%;z-index:104311;position:fixed;outline:none !important;-webkit-backface-visibility:hidden}.mfp-container{text-align:center;position:absolute;width:100%;max-width:84%;margin:0 auto;right:0;height:100%;left:0;top:0;padding:0 8px;box-sizing:border-box}.mfp-container:before{content:' ';display:inline-block;height:100%;vertical-align:middle}.mfp-align-top .mfp-container:before{display:none}.mfp-content{position:relative;display:inline-block;vertical-align:middle;margin:0 auto;text-align:left;z-index:1045}.mfp-inline-holder .mfp-content,.mfp-ajax-holder .mfp-content{width:100%;cursor:auto}.mfp-ajax-cur{cursor:progress}.mfp-zoom-out-cur,.mfp-zoom-out-cur .mfp-image-holder .mfp-close{cursor:zoom-out}.mfp-zoom{cursor:pointer;cursor:zoom-in}.mfp-auto-cursor .mfp-content{cursor:auto}.mfp-close,.mfp-arrow,.mfp-preloader,.mfp-counter{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mfp-loading.mfp-figure{display:none}.mfp-hide{display:none !important}.mfp-s-ready .mfp-preloader{display:none}.mfp-s-error .mfp-content{display:none}button.mfp-close,button.mfp-arrow{overflow:visible;cursor:pointer;background:transparent;border:0;-webkit-appearance:none;display:block;outline:none;padding:0;z-index:1046;box-shadow:none}button::-moz-focus-inner{padding:0;border:0}.mfp-close{background:#fff;color:#999;cursor:pointer;font-size:24px;font-style:normal;height:30px;line-height:30px;padding:0;position:absolute;right:1px;text-align:center;text-decoration:none;text-indent:2px;top:0;width:32px;z-index:12}.mfp-close:hover,.mfp-close:focus{opacity:1;filter:alpha(opacity=100)}.mfp-close:active{top:1px}.mfp-image-holder .mfp-close,.mfp-iframe-holder .mfp-close{color:#FFF;right:-6px;text-align:right;padding-right:6px;width:100%}.mfp-counter{position:absolute;top:0;right:0;color:#CCC;font-size:12px;line-height:18px;white-space:nowrap}.mfp-arrow{cursor:pointer;position:absolute;opacity:0.65;filter:alpha(opacity=65);margin:0;top:50%;margin-top:-55px;padding:0;width:90px;height:110px;-webkit-tap-highlight-color:transparent;opacity:0;z-index:10;-webkit-transition:all 300ms ease-out;transition:all 300ms ease-out}.rtm-single-media:hover .mfp-arrow{opacity:1}@media (max-device-width: 640px){.mfp-arrow{display:none}.rtm-single-media:hover .mfp-arrow{display:none}}.mfp-arrow:active{margin-top:-54px}.mfp-arrow:hover,.mfp-arrow:focus{opacity:1;filter:alpha(opacity=100)}.mfp-arrow:before,.mfp-arrow:after,.mfp-arrow .mfp-b,.mfp-arrow .mfp-a{content:'';display:block;width:0;height:0;position:absolute;left:0;top:0;margin-top:35px;margin-left:35px;border:medium inset transparent}.mfp-arrow:after,.mfp-arrow .mfp-a{border-top-width:13px;border-bottom-width:13px;top:8px}.mfp-arrow:before,.mfp-arrow .mfp-b{border-top-width:21px;border-bottom-width:21px;opacity:0.7}.mfp-arrow-left{left:0}.mfp-arrow-left:after,.mfp-arrow-left .mfp-a{border-right:17px solid #FFF;margin-left:31px}.mfp-arrow-left:before,.mfp-arrow-left .mfp-b{margin-left:25px;border-right:27px solid #3F3F3F}.mfp-arrow-right{right:0}.mfp-arrow-right:after,.mfp-arrow-right .mfp-a{border-left:17px solid #FFF;margin-left:39px}.mfp-arrow-right:before,.mfp-arrow-right .mfp-b{border-left:27px solid #3F3F3F}.mfp-iframe-holder{padding-top:40px;padding-bottom:40px}.mfp-iframe-holder .mfp-content{line-height:0;width:100%;max-width:900px}.mfp-iframe-holder .mfp-close{top:-40px}.mfp-iframe-scaler{width:100%;height:0;overflow:hidden;padding-top:56.25%}.mfp-iframe-scaler iframe{position:absolute;display:block;top:0;left:0;width:100%;height:100%;box-shadow:0 0 8px rgba(0,0,0,0.6);background:#000}img.mfp-img{width:auto;max-width:100%;height:auto;display:block;line-height:0;box-sizing:border-box;padding:40px 0 40px;margin:0 auto}.mfp-figure{line-height:0}.mfp-figure:after{content:'';position:absolute;left:0;top:40px;bottom:40px;display:block;right:0;width:auto;height:auto;z-index:-1;box-shadow:0 0 8px rgba(0,0,0,0.6);background:#444}.mfp-figure small{color:#BDBDBD;display:block;font-size:12px;line-height:14px}.mfp-figure figure{margin:0}.mfp-bottom-bar{margin-top:-36px;position:absolute;top:100%;left:0;width:100%;cursor:auto}.mfp-title{text-align:left;line-height:18px;color:#F3F3F3;word-wrap:break-word;padding-right:36px}.mfp-image-holder .mfp-content{max-width:100%}.mfp-gallery .mfp-image-holder .mfp-figure{cursor:pointer}.mfp-preloader{position:absolute;top:50%;left:0;right:0;margin-top:-36px;z-index:1044;font-size:0;width:36px;height:36px;margin-left:auto;margin-right:auto}.mfp-preloader:before{content:'Loading…';position:absolute;width:30px;height:30px}.mfp-preloader:not(:required):before{content:'';border-radius:50%;border:3px solid rgba(255,255,255,0.27);border-top-color:rgba(255,255,255,0.9);animation:spinner .6s linear infinite;-webkit-animation:spinner .6s linear infinite}@keyframes spinner{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes spinner{to{-webkit-transform:rotate(360deg)}}@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px){.mfp-img-mobile .mfp-image-holder{padding-left:0;padding-right:0}.mfp-img-mobile img.mfp-img{padding:0}.mfp-img-mobile .mfp-figure:after{top:0;bottom:0}.mfp-img-mobile .mfp-figure small{display:inline;margin-left:5px}.mfp-img-mobile .mfp-bottom-bar{background:rgba(0,0,0,0.6);bottom:0;margin:0;top:auto;padding:3px 5px;position:fixed;box-sizing:border-box}.mfp-img-mobile .mfp-bottom-bar:empty{padding:0}.mfp-img-mobile .mfp-counter{right:5px;top:3px}.mfp-img-mobile .mfp-close{top:0;right:0;width:35px;height:35px;line-height:35px;background:rgba(0,0,0,0.6);position:fixed;text-align:center;padding:0}}@media all and (max-width: 900px){.mfp-arrow{-webkit-transform:scale(0.75);-ms-transform:scale(0.75);transform:scale(0.75)}.mfp-arrow-left{-webkit-transform-origin:0;-ms-transform-origin:0;transform-origin:0}.mfp-arrow-right{-webkit-transform-origin:100%;-ms-transform-origin:100%;transform-origin:100%}.mfp-container{padding-left:6px;padding-right:6px}}#atwho-container #atwho-ground-comment_content .atwho-view{z-index:2147483647}.mfp-content .rtm-lightbox-container{background:#000;margin:0 auto;position:relative}.mfp-content .rtm-lightbox-container .rtmedia-comment-media-list .mejs-container.mejs-video{min-height:200px;min-width:200px}.mfp-content .rtm-single-meta{background:#fff;overflow:hidden;padding:20px 20px 110px;position:relative;vertical-align:top}.rtm-single-media{overflow:hidden;position:relative;text-align:center;vertical-align:middle}.rtm-single-media .mejs-container{margin:0 auto;max-width:inherit}.rtm-single-media .rtmedia-message-container{position:absolute;top:45%;left:0;right:0;margin-left:auto;margin-right:auto}@media (max-device-width: 640px){.rtm-single-media .rtmedia-message-container{top:25%}}.rtm-ltb-action-container{background-color:rgba(0,0,0,0.6);bottom:0;color:#fff;line-height:38px;opacity:0;padding:0 10px;position:absolute;width:100%;-webkit-transition:all 300ms ease-out;transition:all 300ms ease-out}.rtm-single-media:hover .rtm-ltb-action-container{opacity:1}@media (max-device-width: 640px){.rtm-ltb-action-container{clear:both;position:relative;opacity:1}.rtm-single-media:hover .rtm-ltb-action-container{opacity:1}}#buddypress #rtmedia-single-media-container.rtmedia-single-media .button{background:transparent;border:0 none;border-radius:2px;color:rgba(255,255,255,0.5);display:block;font-family:inherit;font-weight:normal;line-height:24px;margin:0;padding:0 6px;text-shadow:0 0 0;text-transform:none}#buddypress #rtmedia-single-media-container.rtmedia-single-media .button:hover{background:rgba(255,255,255,0.2);color:rgba(255,255,255,0.8)}#buddypress #rtmedia-single-media-container.rtmedia-single-media .rtm-options .button{color:#333;margin:0 auto;padding:0 4px 0 0}#buddypress #rtm-media-options-list .rtm-options form button{font-size:small}#buddypress #rtm-media-options-list .rtm-options .button{background:transparent;border:0 none;border-radius:2px;color:rgba(255,255,255,0.5);float:left;font-family:inherit;font-weight:normal;line-height:24px;padding:0 6px;text-shadow:0 0 0;text-transform:none}#buddypress #rtm-media-options-list .rtm-options .rtmedia-delete-favlist{color:#fff;padding:0}.rtm-options.rtm-options{background:#666;color:#fff;display:none;font-size:14px;list-style:none;margin:0;padding:8px 10px;position:absolute;left:0;top:38px;width:190px;z-index:10}.rtm-options li{margin:0;overflow:hidden;padding:2px 0}.rtm-media-options .rtm-options:after{bottom:100%;left:20px;border:solid transparent;content:' ';height:0;width:0;position:absolute;pointer-events:none;border-color:rgba(255,255,255,0);border-bottom-color:#666;border-width:6px;margin-left:-6px}.mfp-content .rtm-options{background:#fff;color:#333;bottom:38px;right:0;left:auto;top:auto}.mfp-content .rtm-options:after{top:100%;right:22px;border:solid transparent;content:' ';height:0;width:0;position:absolute;pointer-events:none;border-color:rgba(255,255,255,0);border-top-color:#fff;border-width:6px;margin-left:-6px}.rtm-options .dashicons{font-size:14px;line-height:24px;margin-right:2px}.rtm-media-options .rtm-options a{border:0;color:#fff;display:block;text-decoration:none}.rtm-ltb-title{color:rgba(255,255,255,0.7);float:left;font-size:13px}.rtm-ltb-title a{color:inherit}.rtm-ltb-title a:hover{border-bottom:1px dotted;color:#fff}.rtm-item-actions{float:right}.rtm-item-actions>div,.rtm-item-actions>form{float:left;margin:0 4px 0 0;padding:7px 0;position:relative}.rtmedia-media{margin:0 auto}.rtmedia-media img{display:inline-block;max-height:inherit;height:auto;max-width:100%;width:auto}@media only screen and (max-device-width: 1024px){.rtmedia-media{margin:40px 0}}.rtm-user-meta-details .username{font-size:16px;line-height:1;margin-bottom:6px}.userprofile{float:left;margin:0 16px 16px 0;max-width:54px}.userprofile a{display:block}.userprofile img{height:auto;max-width:100%}.rtm-time-privacy{color:#999;font-size:12px}.rtm-time-privacy .dashicons{font-size:14px;line-height:1.5;margin-top:-2px}.rtmedia-actions-before-comments>span{float:left;margin-right:10px}.rtmedia-actions-before-comments .rtmedia-comment-link,.rtmedia-actions-before-comments .rtmedia-view-conversation,#buddypress .rtmedia-actions-before-comments .rtmedia-like{border:0;font-size:13px;font-weight:normal;line-height:2;padding:0;text-transform:none}.rtmedia-actions-before-comments .rtmedia-comment-link:hover,.rtmedia-actions-before-comments .rtmedia-view-conversation:hover,#buddypress .rtmedia-actions-before-comments .rtmedia-like:hover{background:transparent}.rtmedia-comment-user-pic{float:left;margin-right:10px;max-width:36px}.rtmedia-comment-user-pic img{height:auto;max-width:100%}.rtm-like-comments-info{position:relative}.rtm-like-comments-info:after{bottom:100%;left:15px;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none;border-color:rgba(237,239,244,0);border-bottom-color:#edeff4;border-width:4px;margin-left:-4px}.rtm-comment-list.rtm-comment-list{list-style:none;margin:0;padding:0}.rtm-comment-list li{background:#edeff4;font-size:12px;margin-bottom:1px;padding:10px;position:relative}.rtm-comment-list li:hover .rtmedia-delete-comment{opacity:1}.rtm-comment-list .rtmedia-no-comments{margin:0;padding:5px 10px}.rtmedia-like-info{background:#edeff4;font-size:12px;margin-bottom:1px;padding:5px 10px;position:relative}.rtm-comment-wrap{overflow:hidden}.rtm-comment-wrap .rtmedia-comment-author{font-weight:700}.rtm-comment-wrap .rtmedia-comment-date{color:#999;font-size:11px}.rtmedia-comment-content{margin-top:2px}.rtmedia-delete-comment{color:#999;cursor:pointer;font-size:16px;opacity:0;position:absolute;right:5px;top:5px}.rtmedia-comment-content p{margin:0}.rtmedia-comment-details{line-height:1.5;margin-top:-3px}.rtmedia-item-comments textarea{font-size:14px;padding:4px}.rtm-media-single-comments{bottom:20px;padding:10px;width:100%}.rtm-media-single-comments textarea{background-color:#edeff4;font-size:12px;line-height:14px;max-height:40px;min-height:30px;padding:4px}.rtmedia-popup{background:#fff;margin:20px auto;max-width:600px;padding:20px;position:relative;width:auto}.rtmedia-popup .rtm-modal-title{font-size:24px;margin-bottom:20px;margin-top:0}.rtmedia-popup label{display:block;margin-bottom:5px}#rtm-modal-container p{margin-bottom:10px}#rtm-mejs-video-container{margin:0 auto}.rtmedia-media-name{float:left;max-width:140px;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.rtm-single-media.rtm-media-type-video{padding-bottom:40px;padding-top:40px}.rtmedia-gallery-alert-container{position:fixed;top:0;left:0;height:100%;width:100%;background-color:rgba(0,0,0,0.6);z-index:999997}.rtmedia-gallery-message-box{position:fixed;top:40%;left:50%;margin-left:auto;margin-right:auto;z-index:999999}.rtmedia-gallery-message-box span{position:relative;left:-50%}.rtmedia-activity-container{box-sizing:border-box}.rtmedia-activity-container *,.rtmedia-activity-container *:before,.rtmedia-activity-container *:after{box-sizing:inherit}.rtmedia-activity-container .rtmedia-list.masonry{list-style:none;padding:0}.rtmedia-activity-container .rtmedia-list.masonry p{display:none}.rtmedia-activity-container .rtmedia-list.masonry:after{content:'';display:block;clear:both}.rtmedia-activity-container .rtmedia-list-item.masonry-brick{display:inline-block;float:left;width:32%;padding:0 !important}.rtmedia-activity-container .rtmedia-list-item.masonry-brick .mejs-container{min-width:33% !important;margin:0 0 5px 0;width:100% !important}.rtmedia-activity-container .rtmedia-list-item.masonry-brick .mejs-container .mejs-controls{width:100%}.rtmedia-activity-container .rtmedia-list-item.masonry-brick .mejs-container .mejs-controls .mejs-time-total{display:none}.rtmedia-activity-container .rtmedia-list-item.masonry-brick .mejs-container .mejs-controls .mejs-horizontal-volume-slider{width:20%;padding-left:5px}.rtmedia-activity-container .rtmedia-list-item.masonry-brick .mejs-container .mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-total{width:100%}.rtmedia-activity-container .rtmedia-list-item.masonry-brick .mejs-container .mejs-controls .mejs-horizontal-volume-slider .mejs-time-loaded{display:none}.rtmedia-activity-container .rtmedia-list-item.masonry-brick img{display:block;max-width:100%}.rtmedia-activity-container .rtmedia-list-item.masonry-brick .rtmedia-item-title{display:none}#buddypress ul.rtmedia-list li{border-bottom:0;padding-bottom:0}.rtmedia-activity-container .rtmedia-item-actions{display:none}.rtmedia-activity-container .rtmedia-item-title,.rtmedia-activity-container .rtmedia-item-title a{border:0;color:#666;font-size:13px;margin:5px 0 0;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}#rtmedia-whts-new-upload-container div{left:0 !important;position:absolute;top:0 !important}#aw-whats-new-submit,.rtmedia-add-media-button{display:block}.rtm-drag-drop-active{border:4px dashed green !important;display:block;height:100%;opacity:0.5;z-index:9999}#rtm-drop-files-title{background:rgba(0,0,0,0.2);display:none;font-size:14px;height:100%;padding:20px;position:absolute;top:0;width:100%}#rtSelectPrivacy{float:right}form.rt_media_comment_form .rtmedia-plupload-container{overflow:hidden}.rtmedia-plupload-container{position:relative;float:left}.rtm-upload-button-wrapper{float:left;margin-right:5px}#rtmedia-action-update{margin-right:10px}.rtmedia-list-item.media-type-photo,.rtmedia-list-item.media-type-document,.rtmedia-list-item.media-type-music,.rtmedia-list-item.media-type-video{display:inline-block}.media-type-music .mejs-container{margin-bottom:10px}.previous-pagination{float:left;margin-top:10px}.next-pagination{float:right;margin-top:10px}@media screen and (max-width: 500px){#activity-stream li .media-type-video{width:100%}#activity-stream li .media-type-video .mejs-video{max-width:100%;min-width:100%}}#rtmedia_show_all_comment{cursor:pointer}#rtmedia_show_all_comment:hover{text-decoration:underline}#whats-new-options{opacity:0;display:none}#whats-new-options .rtmedia-uploader-div{opacity:0;display:none;visibility:hidden}.ac-form .rtmedia-uploader-div,.rt_media_comment_form .rtmedia-uploader-div{opacity:1;display:block;visibility:visible}#whats-new-options{opacity:0;display:none}a.rtmedia-comment-link{display:none}a.rtmedia-comment-link.rtmedia-comments-link{display:initial}.rtmedia-album-edit .rtm-checkbox-wrap{background:rgba(255,255,255,0.9);height:30px;line-height:1;padding:10px;position:absolute;z-index:10}.rtmedia-album-edit .rtmedia-item-selector{position:relative;top:-7px}.rtmedia-album-edit .rtmedia-move-container{display:none}.rtm-single-actions.rtm-item-actions{float:none}.rtm-media-type-music .rtmedia-media{width:100%}.media-item .describe{border-collapse:collapse;width:100%;border-top-style:solid;border-top-width:1px;clear:both;cursor:default}.media-item.media-blank .describe{border:0}.media-item .describe th{vertical-align:top;text-align:left;padding:5px 10px 10px;width:140px}.media-item .describe .align th{padding-top:0}.media-item .media-item-info tr{background-color:transparent}.media-item .describe td{padding:0 8px 8px 0;vertical-align:top}.media-item thead.media-item-info td{padding:4px 10px 0}.media-item .media-item-info .A1B1{padding:0 0 0 10px}.media-item td.savesend{padding-bottom:15px}.media-item .thumbnail{max-height:128px;max-width:128px}#wpbody-content #async-upload-wrap a{display:none}.media-upload-form{margin-top:20px}.media-upload-form td label{margin-right:6px;margin-left:2px}.media-upload-form .align .field label{display:inline;padding:0 0 0 23px;margin:0 1em 0 3px;font-weight:bold}.media-upload-form tr.image-size label{margin:0 0 0 5px;font-weight:bold}.media-upload-form th.label label{font-weight:bold;margin:0.5em;font-size:13px}.media-upload-form th.label label span{padding:0 5px}abbr.required{border:medium none;text-decoration:none}.media-item .describe input[type="text"],.media-item .describe textarea{width:460px}.media-item .describe p.help{margin:0;padding:0 0 0 5px}.media-item .edit-attachment,.describe-toggle-on,.describe-toggle-off{display:block;line-height:36px;float:right;margin-right:15px}.media-item .describe-toggle-off,.media-item.open .describe-toggle-on{display:none}.media-item.open .describe-toggle-off{display:block}#media-items .media-item{border-style:solid;border-width:1px;min-height:36px;position:relative;margin-top:-1px;width:100%}#media-items{width:623px}.media-new-php #media-items{margin:1em 0}#media-items:empty{border:0 none}.media-item .filename{line-height:36px;overflow:hidden;padding:0 10px}.media-item .error-div{padding-left:10px}.media-item .pinkynail{float:left;margin:2px 2px 0;max-width:40px;max-height:32px}.media-item .startopen,.media-item .startclosed{display:none}.media-item .original{position:relative;height:34px}.media-item .progress{float:right;height:22px;margin:6px 10px 0 0;width:200px;line-height:2em;padding:0;overflow:hidden;margin-bottom:2px;border:1px solid #d1d1d1;background:#f7f7f7;background-image:-webkit-gradient(linear, left bottom, left top, from(#fff), to(#f7f7f7));background-image:-webkit-linear-gradient(bottom, #fff, #f7f7f7);background-image:linear-gradient(to top, #fff, #f7f7f7);border-radius:3px;box-shadow:inset 0 0 3px rgba(0,0,0,0.1)}.media-item .bar{z-index:9;width:0;height:100%;margin-top:-24px;background-color:#8cc1e9;background-image:-webkit-gradient(linear, left bottom, left top, from(#72a7cf), to(#8cc1e9));background-image:-webkit-linear-gradient(bottom, #72a7cf, #8cc1e9);background-image:linear-gradient(to top, #72a7cf, #8cc1e9);border-radius:3px;box-shadow:0 0 3px rgba(0,0,0,0.3)}.media-item .progress .percent{z-index:10;position:relative;width:200px;padding:0 8px;text-shadow:0 1px 0 rgba(255,255,255,0.4);color:rgba(0,0,0,0.6)}.upload-php .fixed .column-parent{width:15%}.js .html-uploader #plupload-upload-ui{display:none}.js .html-uploader #html-upload-ui{display:block}.media-upload-form .media-item.error{margin:0;padding:0}.media-upload-form .media-item.error p,.media-item .error-div{line-height:16px;margin:5px 10px;padding:0}.media-item .error-div a.dismiss{display:block;float:right;margin:5px 4px 0 15px}.find-box{width:600px;height:300px;overflow:hidden;padding:33px 0 51px;position:absolute;z-index:1000}.find-box-head{cursor:move;font-weight:bold;height:2em;line-height:2em;padding:1px 12px;position:absolute;top:5px;width:100%}.find-box-inside{overflow:auto;padding:6px;height:100%}.find-box-search{overflow:hidden;padding:9px;position:relative}.find-box-search .spinner{float:none;left:125px;position:absolute;top:9px}#find-posts-input{float:left;width:140px;height:24px}#find-posts-search{float:left;margin:1px 4px 0 3px}#find-posts-response{margin:8px 0;padding:0 1px 6px}#find-posts-response table{width:100%}#find-posts-response .found-radio{padding:3px 0 0 8px;width:15px}.find-box-buttons{padding:8px;overflow:hidden}.find-box #resize-se{position:absolute;right:1px;bottom:1px}.ui-find-overlay{position:absolute;top:0;left:0;background-color:#000;opacity:0.6;filter:alpha(opacity=60)}ul#dismissed-updates{display:none}form.upgrade{margin-top:8px}form.upgrade .hint{font-style:italic;font-size:85%;margin:-0.5em 0 2em 0}#poststuff .inside .the-tagcloud{margin:5px 0 10px;padding:8px;border-width:1px;border-style:solid;line-height:1.8em;word-spacing:3px;border-radius:6px}.drag-drop #drag-drop-area{border:4px dashed #DDDDDD;height:200px}.drag-drop .drag-drop-inside{margin:70px auto 0;width:250px}.drag-drop-inside p{color:#aaa;font-size:14px;margin:5px 0;display:none}.drag-drop .drag-drop-inside p{text-align:center}.drag-drop-inside p.drag-drop-info{font-size:20px}.drag-drop .drag-drop-inside p,.drag-drop-inside p.drag-drop-buttons{display:block}.drag-drop.drag-over #drag-drop-area{border-color:#83b4d8}#plupload-upload-ui{position:relative}.describe .image-editor{vertical-align:top}.imgedit-wrap{position:relative}#item-body .imgedit-settings .imgedit-group-top h2{display:inline-block;margin:0}.rtmedia-container .rtmedia-image-editor-cotnainer label{display:inline-block;float:none;margin-right:0}.rtmedia-container .rtmedia-image-editor-cotnainer .dashicons-editor-help{padding:0;height:auto;margin-top:10px}.rtmedia-container .rtmedia-image-editor-cotnainer .hidden{display:none}.imgedit-settings p{margin:8px 0}.post-php .imgedit-wrap table{width:100%}.describe .imgedit-wrap table td,.wp_attachment_holder .imgedit-wrap table td{vertical-align:top;padding-top:0}.describe .imgedit-wrap table td.imgedit-settings{padding:0 5px}.wp_attachment_holder .imgedit-wrap table td.imgedit-settings{width:250px}td.imgedit-settings input{margin-top:0;vertical-align:middle}.imgedit-wait{position:absolute;top:0;background:#fff url(../../../../../../wp-admin/images/wpspin_light.gif) no-repeat scroll 22px 10px;background-size:16px 16px;opacity:0.7;filter:alpha(opacity=70);width:100%;height:500px;display:none}.spinner{background:url(../../../../../../wp-admin/images/wpspin_light.gif) no-repeat;background-size:16px 16px;display:none;float:right;opacity:0.7;filter:alpha(opacity=70);width:16px;height:16px;margin:5px 5px 0}.no-float{float:none}.media-disabled,.imgedit-settings .disabled{color:grey}.wp_attachment_image,.A1B1{overflow:hidden}.wp_attachment_image .button,.A1B1 .button{float:left}.no-js .wp_attachment_image .button{display:none}.wp_attachment_image .spinner,.A1B1 .spinner{float:left;padding:0 4px 4px;vertical-align:bottom}.imgedit-menu{margin:0 0 12px;min-width:300px}.imgedit-menu div{float:left;width:32px;height:32px}.imgedit-crop-wrap{position:relative}.imgedit-crop{margin:0 8px 0 0}.imgedit-crop.disabled:hover{background-position:-9px -31px}.imgedit-crop:hover{background-position:-9px -1px}.imgedit-rleft{margin:0 3px}.imgedit-rleft.disabled:hover{background-position:-46px -31px}.imgedit-rleft:hover{background-position:-46px -1px}.imgedit-rright{margin:0 8px 0 3px}.imgedit-rright.disabled:hover{background-position:-77px -31px}.imgedit-rright:hover{background-position:-77px -1px}.imgedit-flipv{margin:0 3px}.imgedit-flipv.disabled:hover{background-position:-115px -31px}.imgedit-flipv:hover{background-position:-115px -1px}.imgedit-fliph{margin:0 8px 0 3px}.imgedit-fliph.disabled:hover{background-position:-147px -31px}.imgedit-fliph:hover{background-position:-147px -1px}.imgedit-undo{margin:0 3px}.imgedit-undo.disabled:hover{background-position:-184px -31px}.imgedit-undo:hover{background-position:-184px -1px}.imgedit-redo{margin:0 8px 0 3px}.imgedit-redo.disabled:hover{background-position:-215px -31px}.imgedit-redo:hover{background-position:-215px -1px}.imgedit-applyto img{margin:0 8px 0 0}.imgedit-group h3{font-size:18px}.imgedit-group .dashicons{border:0;line-height:1.2}.imgedit-group-top{margin:5px 0}.imgedit-applyto .imgedit-label{padding:2px 0 0;display:block}.imgedit-help{display:none;font-style:italic;margin-bottom:8px}a.imgedit-help-toggle{text-decoration:none}.form-table td.imgedit-response{padding:0}.imgedit-submit{margin:8px 0}.imgedit-submit-btn{margin-left:20px}.imgedit-wrap .nowrap{white-space:nowrap}span.imgedit-scale-warn{color:red;font-size:20px;font-style:normal;visibility:hidden;vertical-align:middle}.wp_attachment_details{margin-bottom:20px}.imgedit-menu div{border-color:#d5d5d5;background-color:#f1f1f1}.imgedit-menu div:hover{border-color:#c1c1c1;background-color:#eaeaea}.imgedit-menu div.disabled{border-color:#ccc;background-color:#ddd;filter:alpha(opacity=50);opacity:0.5}.bp-media-image-editor-cotnainer{margin-top:35px}.wp_attachment_image .bp-media-image-edit{float:left}.wp_attachment_image .spinner{display:none}.bp-media-image-editor-cotnainer .hidden{display:none}.bp-media-image-editor-cotnainer div.updated{margin:5px 0 15px;background-color:#ffffe0;border-color:#e6db55;padding:0 .6em;border-radius:3px;border-width:1px;border-style:solid}.bp-media-image-editor-cotnainer div.updated p{margin:.5em 0;padding:2px}body article.bp_members.bp_member .entry-content,body div.bp_members.bp_member .entry-content{width:100%}.rtm-media-gallery-uploader{display:none}.rtmedia-uploader .drag-drop{border:4px dashed #DDD;text-align:center;background:#fafafa;overflow:hidden;color:#AAAAAA;margin-top:20px;padding:25px 0}.rtmedia-uploader .drag-drop.dragover{border-color:#83b4d8}.rtmedia-uploader .drag-drop .drag-drop-info{font-size:20px;line-height:24px}.rtmedia-uploader .drag-drop .rtm-select-files span{vertical-align:middle}.rtmedia-uploader .drag-drop .rtm-seperator{margin:0px 20px}.rtmedia-uploader .drag-drop .start-media-upload{display:none;margin-top:20px}.rtmedia-uploader .drag-drop .rtm-file-size-limit{vertical-align:middle;font-size:16px;line-height:24px}.rtm-uploader-main-wrapper .rtm-uploader-tabs{margin-bottom:10px;text-align:left}.rtm-uploader-main-wrapper ul{border-bottom:1px solid #CCC}.rtm-uploader-main-wrapper li{margin:0 0 -1px 10px;display:inline-block;padding:5px 10px;line-height:25px;background-color:#e4e4e4;border:1px solid #CCC}.rtm-uploader-main-wrapper li.active{background:transparent;border-left:1px solid #CCC;border-top:1px solid #CCC;border-right:1px solid #CCC;border-bottom:1px solid #fafafa}.rtm-uploader-main-wrapper li:hover{cursor:pointer}.rtmedia-container .rtmedia-list{margin:10px -5px}.rtmedia-container .rtmedia-list .rtmedia-list-item{float:left;margin:5px;position:relative}.rtmedia-container .rtmedia-list .rtmedia-list-item>a{display:block}.rtmedia-container .rtmedia-list .rtmedia_time{background-color:#000;color:#fff;display:inline-block;font-size:11px;font-weight:bold;line-height:14px;opacity:0.75;padding:0 4px;position:absolute;right:2px;top:2px}.rtmedia-container .rtmedia-list img{vertical-align:top}.rtmedia-container .rtmedia-list .rtmedia-item-title h4{color:#666;font-size:12px;font-weight:normal;margin:5px 0 0;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.rtm-load-more{background:#eee;text-align:center}.rtmedia-container .rtm-load-more a{border:0;padding:10px 0}.rtm-load-more .rtm-media-loading{padding:10px 0}.rtm-media-options.rtm-media-search-enable>*:nth-last-child(2){border-right:none}.rtm-media-options{line-height:1.4;margin-bottom:10px;clear:both}.rtm-media-options>div{display:inline-block;cursor:pointer}.rtm-media-options .rtm-media-options-list{margin-right:5px;padding-right:10px;position:relative}.rtm-media-options>*{border-right:1px solid #999}.rtm-media-options>*:last-child{border-right:none}.rtm-media-options .dashicons{font-size:inherit;line-height:1.4}#buddypress .media_search.media_search .search_by{margin-top:3px}.media_search.media_search{float:right;border:1px solid #ccc;margin-left:5px;padding:3px 0}.media_search.media_search .media_search_input{width:200px;outline:0;max-width:200px;margin:0;box-shadow:none;padding:5px 6px;border:none;background:transparent;float:left;max-height:30px}.media_search.media_search #media_fatch_loader.load{float:left;width:20px;height:30px;position:relative}.media_search.media_search #media_fatch_loader.load:before{content:'';border-radius:50%;border:1px solid #aaa;border-top-color:rgba(255,255,255,0.9);animation:spinner .8s linear infinite;-webkit-animation:spinner .8s linear infinite;position:absolute;width:15px;height:15px;top:24%}.media_search.media_search .search_option{padding:0;background:transparent;color:#000;margin-bottom:0;line-height:1;border:none}.media_search.media_search .media_search_remove.search_option{display:none}.media_search.media_search .media_search_remove.search_option i{margin-top:4px}.media_search.media_search .search_by{background:transparent;margin-top:3px;float:left;width:auto;margin-bottom:0;height:auto;padding-top:0;padding-bottom:0}@keyframes spinner{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes spinner{to{-webkit-transform:rotate(360deg)}}.rtmedia-upload-media-link{cursor:pointer}a.rtmedia-upload-media-link{border:none}.rtm-album-privacy span{font-size:16px;display:inline-block;margin:0 20px 20px 20px;vertical-align:top}.rtm-album-privacy label{margin-right:8px}.rtm-album-privacy .dashicons{font-size:16px;line-height:1.6;margin-right:5px}#rtm-media-options-list .rtmedia-delete-album{background:transparent;border:0;color:#fff;font-family:inherit;font-size:inherit;font-weight:inherit;padding:0;text-transform:inherit}#rtm-media-options-list .rtmedia-delete-album:hover{background:transparent;border:0;color:#fff}.rtmedia-single-container button.rtmedia-like{background-color:transparent;color:inherit}#buddypress #item-body{padding:0 0 20px 20px}#buddypress .mejs-controls button{padding:4px 8px;border:none;background:transparent url("../../../lib/media-element/mejs-controls.png") no-repeat}#buddypress .mejs-controls .mejs-play>button{background-position:0 0}#buddypress .mejs-controls .mejs-pause>button{background-position:-20px 0}#buddypress .mejs-controls .mejs-unmute>button{background-position:-40px 0}#buddypress .mejs-controls .mejs-mute>button{background-position:-60px 0}#buddypress .mejs-controls .mejs-fullscreen-button>button{background-position:-80px 0}#buddypress .mejs-controls .mejs-unfullscreen>button{background-position:-100px 0}#buddypress .mejs-controls .mejs-replay>button{background-position:-160px 0}.mejs-container .mejs-controls .mejs-time{padding:15px 3px 0;content:''}.rtmedia-activity-container .mejs-playpause-button.mejs-play button:before,.rtmedia-activity-container .mejs-playpause-button.mejs-pause button:before,.rtmedia-activity-container .mejs-volume-button.mejs-mute button:before,.rtmedia-activity-container .mejs-fullscreen-button button:before,.rtmedia-media .mejs-playpause-button.mejs-play button:before,.rtmedia-media .mejs-playpause-button.mejs-pause button:before,.rtmedia-media .mejs-volume-button.mejs-mute button:before,.rtmedia-media .mejs-fullscreen-button button:before{content:''}@media only screen and (min-width: 1025px){.mfp-content .rtm-lightbox-container{display:-webkit-box;display:-ms-flexbox;display:flex;table-layout:fixed;width:100%;min-height:473px}.mfp-content .rtm-mfp-close{background:transparent}.mfp-content .rtm-single-media{display:-webkit-box;display:-ms-flexbox;display:flex;width:66.6667%;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.mfp-content .rtm-single-meta{display:block;width:33.3333%;padding:20px}.mfp-content .rtm-single-meta .rtmedia-scroll{height:100%;overflow-X:hidden}}.rtl #rtSelectPrivacy{float:left}.rtl .rtmedia-plupload-container{float:right}.rtl .rtm-upload-button-wrapper{float:right}.rtl #whats-new-post-in-box{float:right}.rtl .describe-toggle-off{float:left}.rtl .media-item .pinkynail{float:right}.rtl .media-item .progress{float:left}.rtl .media-item .error-div a.dismiss{float:left}.rtl #find-posts-input{float:right}.rtl #find-posts-search{float:right}.rtl .spinner{float:left}.rtl .wp_attachment_image .button,.rtl .A1B1 .button{float:right}.rtl .wp_attachment_image .spinner,.rtl .A1B1 .spinner{float:right}.rtl .imgedit-menu div{float:right}.rtl .wp_attachment_image .bp-media-image-edit{float:right}.rtl .rtmedia-container .rtmedia-list .rtmedia-list-item{float:right}.rtl #buddypress #rtm-media-options-list .rtm-options .button{float:right}.rtl .rtm-ltb-title{float:right}.rtl .rtm-item-actions{float:left}.rtl .rtm-item-actions>div,.rtl .rtm-item-actions>form{float:right}.rtl .userprofile{float:right}.rtl .rtmedia-actions-before-comments>span{float:right}.rtl .rtmedia-comment-user-pic{float:right}.rtl .rtmedia-media-name{float:right}.rtl #rtmedia-uploader-form .rtm-plupload-list li,.rtl #rtmedia_uploader_filelist li{float:right}.rtl .rtm-page-number{float:right}.rtl .rtm-page-number .rtmedia-page-link{float:right}.rtl .rtm-pagination{float:right}.rtl .rtm-pagination .rtm-paginate{float:left}.rtl .rtm-tabs li{float:right}.rtl .alignleft{float:right}.rtl .alignright{float:left}
|
app/assets/css/sass/_media-element.scss
CHANGED
@@ -9,49 +9,41 @@
|
|
9 |
button {
|
10 |
padding: 4px 8px;
|
11 |
border: none;
|
12 |
-
background: rgba(0, 0, 0, 0) url('../../../lib/media-element/controls.png') no-repeat;
|
13 |
}
|
14 |
|
15 |
-
.mejs-play {
|
16 |
-
|
17 |
-
background-position: 0 0;
|
18 |
-
}
|
19 |
}
|
20 |
|
21 |
-
.mejs-pause {
|
22 |
-
|
23 |
-
background-position: 0 -16px;
|
24 |
-
}
|
25 |
}
|
26 |
|
27 |
-
.mejs-unmute {
|
28 |
-
|
29 |
-
background-position: -16px 0;
|
30 |
-
}
|
31 |
}
|
32 |
|
33 |
-
.mejs-mute {
|
34 |
-
|
35 |
-
background-position: -16px -16px;
|
36 |
-
}
|
37 |
}
|
38 |
|
39 |
-
.mejs-fullscreen-button {
|
40 |
-
|
41 |
-
background-position: -32px 0;
|
42 |
-
}
|
43 |
}
|
44 |
|
45 |
-
.mejs-unfullscreen {
|
46 |
-
|
47 |
-
background-position: -32px -16px;
|
48 |
-
}
|
49 |
}
|
|
|
|
|
|
|
|
|
50 |
}
|
51 |
}
|
52 |
|
53 |
.mejs-container .mejs-controls .mejs-time {
|
54 |
-
padding:
|
55 |
}
|
56 |
|
57 |
.rtmedia-activity-container, .rtmedia-media {
|
9 |
button {
|
10 |
padding: 4px 8px;
|
11 |
border: none;
|
12 |
+
background: rgba(0, 0, 0, 0) url('../../../lib/media-element/mejs-controls.png') no-repeat;
|
13 |
}
|
14 |
|
15 |
+
.mejs-play > button {
|
16 |
+
background-position: 0 0;
|
|
|
|
|
17 |
}
|
18 |
|
19 |
+
.mejs-pause > button {
|
20 |
+
background-position: -20px 0;
|
|
|
|
|
21 |
}
|
22 |
|
23 |
+
.mejs-unmute > button {
|
24 |
+
background-position: -40px 0;
|
|
|
|
|
25 |
}
|
26 |
|
27 |
+
.mejs-mute > button {
|
28 |
+
background-position: -60px 0;
|
|
|
|
|
29 |
}
|
30 |
|
31 |
+
.mejs-fullscreen-button > button {
|
32 |
+
background-position: -80px 0;
|
|
|
|
|
33 |
}
|
34 |
|
35 |
+
.mejs-unfullscreen > button {
|
36 |
+
background-position: -100px 0;
|
|
|
|
|
37 |
}
|
38 |
+
|
39 |
+
.mejs-replay > button {
|
40 |
+
background-position: -160px 0;
|
41 |
+
}
|
42 |
}
|
43 |
}
|
44 |
|
45 |
.mejs-container .mejs-controls .mejs-time {
|
46 |
+
padding: 15px 3px 0;content: '';
|
47 |
}
|
48 |
|
49 |
.rtmedia-activity-container, .rtmedia-media {
|
app/assets/js/rtMedia.backbone.js
CHANGED
@@ -1353,7 +1353,9 @@ jQuery( document ).ready( function( $ ) {
|
|
1353 |
//$("#div-attache-rtmedia").hide();
|
1354 |
apply_rtMagnificPopup( jQuery( '.rtmedia-list-media, .rtmedia-activity-container ul.rtmedia-list, #bp-media-list,.widget-item-listing,.bp-media-sc-list, li.media.album_updated ul,ul.bp-media-list-media, li.activity-item div.activity-content div.activity-inner div.bp_media_content' ) );
|
1355 |
jQuery( 'ul.activity-list li.rtmedia_update:first-child .wp-audio-shortcode, ul.activity-list li.rtmedia_update:first-child .wp-video-shortcode' ).mediaelementplayer( {
|
1356 |
-
//
|
|
|
|
|
1357 |
defaultVideoWidth: 480,
|
1358 |
// If the <video height> is not specified, this is the default
|
1359 |
defaultVideoHeight: 270
|
@@ -1787,7 +1789,9 @@ jQuery(document).ready(function($) {
|
|
1787 |
|
1788 |
function rtmedia_reset_video_and_audio(){
|
1789 |
jQuery( 'ul.activity-list li.activity-item div.rtmedia-item-thumbnail > audio.wp-audio-shortcode, ul.activity-list li.activity-item div.rtmedia-item-thumbnail > video.wp-video-shortcode' ).mediaelementplayer( {
|
1790 |
-
//
|
|
|
|
|
1791 |
defaultVideoWidth: 480,
|
1792 |
// If the <video height> is not specified, this is the default
|
1793 |
defaultVideoHeight: 270
|
@@ -1821,7 +1825,9 @@ function rtmedia_single_page_popup_close(){
|
|
1821 |
|
1822 |
function rtmedia_reset_video_and_audio_for_popup(){
|
1823 |
jQuery( '.rtm-lightbox-container .rtmedia-comments-container ul.rtm-comment-list li.rtmedia-comment div.rtmedia-item-thumbnail > audio.wp-audio-shortcode, .rtm-lightbox-container .rtmedia-comments-container ul.rtm-comment-list li.rtmedia-comment div.rtmedia-item-thumbnail > video.wp-video-shortcode' ).mediaelementplayer( {
|
1824 |
-
//
|
|
|
|
|
1825 |
defaultVideoWidth: 200,
|
1826 |
// If the <video height> is not specified, this is the default
|
1827 |
defaultVideoHeight: 200
|
1353 |
//$("#div-attache-rtmedia").hide();
|
1354 |
apply_rtMagnificPopup( jQuery( '.rtmedia-list-media, .rtmedia-activity-container ul.rtmedia-list, #bp-media-list,.widget-item-listing,.bp-media-sc-list, li.media.album_updated ul,ul.bp-media-list-media, li.activity-item div.activity-content div.activity-inner div.bp_media_content' ) );
|
1355 |
jQuery( 'ul.activity-list li.rtmedia_update:first-child .wp-audio-shortcode, ul.activity-list li.rtmedia_update:first-child .wp-video-shortcode' ).mediaelementplayer( {
|
1356 |
+
// This is required to work with new MediaElement version.
|
1357 |
+
classPrefix: 'mejs-',
|
1358 |
+
// If the <video width> is not specified, this is the default
|
1359 |
defaultVideoWidth: 480,
|
1360 |
// If the <video height> is not specified, this is the default
|
1361 |
defaultVideoHeight: 270
|
1789 |
|
1790 |
function rtmedia_reset_video_and_audio(){
|
1791 |
jQuery( 'ul.activity-list li.activity-item div.rtmedia-item-thumbnail > audio.wp-audio-shortcode, ul.activity-list li.activity-item div.rtmedia-item-thumbnail > video.wp-video-shortcode' ).mediaelementplayer( {
|
1792 |
+
// This is required to work with new MediaElement version.
|
1793 |
+
classPrefix: 'mejs-',
|
1794 |
+
// If the <video width> is not specified, this is the default
|
1795 |
defaultVideoWidth: 480,
|
1796 |
// If the <video height> is not specified, this is the default
|
1797 |
defaultVideoHeight: 270
|
1825 |
|
1826 |
function rtmedia_reset_video_and_audio_for_popup(){
|
1827 |
jQuery( '.rtm-lightbox-container .rtmedia-comments-container ul.rtm-comment-list li.rtmedia-comment div.rtmedia-item-thumbnail > audio.wp-audio-shortcode, .rtm-lightbox-container .rtmedia-comments-container ul.rtm-comment-list li.rtmedia-comment div.rtmedia-item-thumbnail > video.wp-video-shortcode' ).mediaelementplayer( {
|
1828 |
+
// This is required to work with new MediaElement version.
|
1829 |
+
classPrefix: 'mejs-',
|
1830 |
+
// If the <video width> is not specified, this is the default
|
1831 |
defaultVideoWidth: 200,
|
1832 |
// If the <video height> is not specified, this is the default
|
1833 |
defaultVideoHeight: 200
|
app/assets/js/rtMedia.js
CHANGED
@@ -81,7 +81,9 @@ function apply_rtMagnificPopup( selector ) {
|
|
81 |
}
|
82 |
|
83 |
$( '.mfp-content .rtmedia-single-media .wp-audio-shortcode,.mfp-content .rtmedia-single-media .wp-video-shortcode,.mfp-content .rtmedia-single-media .bp_media_content video' ).mediaelementplayer( {
|
84 |
-
//
|
|
|
|
|
85 |
defaultVideoWidth: 480,
|
86 |
// always show the volume button
|
87 |
hideVolumeOnTouchDevices: false,
|
@@ -274,7 +276,9 @@ jQuery( 'document' ).ready( function( $ ) {
|
|
274 |
setTimeout( function() {
|
275 |
apply_rtMagnificPopup( '.rtmedia-activity-container ul.rtmedia-list, #bp-media-list, .bp-media-sc-list, li.media.album_updated ul,ul.bp-media-list-media, li.activity-item div.activity-content div.activity-inner div.bp_media_content' );
|
276 |
jQuery( 'ul.activity-list li.rtmedia_update:first-child .wp-audio-shortcode, ul.activity-list li.rtmedia_update:first-child .wp-video-shortcode' ).mediaelementplayer( {
|
277 |
-
//
|
|
|
|
|
278 |
defaultVideoWidth: 480,
|
279 |
// If the <video height> is not specified, this is the default
|
280 |
defaultVideoHeight: 270
|
@@ -299,7 +303,9 @@ jQuery( 'document' ).ready( function( $ ) {
|
|
299 |
apply_rtMagnificPopup( '.rtmedia-activity-container ul.rtmedia-list, #bp-media-list, .bp-media-sc-list, li.media.album_updated ul,ul.bp-media-list-media, li.activity-item div.activity-content div.activity-inner div.bp_media_content' );
|
300 |
|
301 |
jQuery( 'ul.activity-list li.rtmedia_update div.rtmedia-item-thumbnail > audio.wp-audio-shortcode, ul.activity-list li.rtmedia_update div.rtmedia-item-thumbnail > video.wp-video-shortcode' ).mediaelementplayer( {
|
302 |
-
//
|
|
|
|
|
303 |
defaultVideoWidth: 480,
|
304 |
// If the <video height> is not specified, this is the default
|
305 |
defaultVideoHeight: 270
|
81 |
}
|
82 |
|
83 |
$( '.mfp-content .rtmedia-single-media .wp-audio-shortcode,.mfp-content .rtmedia-single-media .wp-video-shortcode,.mfp-content .rtmedia-single-media .bp_media_content video' ).mediaelementplayer( {
|
84 |
+
// This is required to work with new MediaElement version.
|
85 |
+
classPrefix: 'mejs-',
|
86 |
+
// If the <video width> is not specified, this is the default
|
87 |
defaultVideoWidth: 480,
|
88 |
// always show the volume button
|
89 |
hideVolumeOnTouchDevices: false,
|
276 |
setTimeout( function() {
|
277 |
apply_rtMagnificPopup( '.rtmedia-activity-container ul.rtmedia-list, #bp-media-list, .bp-media-sc-list, li.media.album_updated ul,ul.bp-media-list-media, li.activity-item div.activity-content div.activity-inner div.bp_media_content' );
|
278 |
jQuery( 'ul.activity-list li.rtmedia_update:first-child .wp-audio-shortcode, ul.activity-list li.rtmedia_update:first-child .wp-video-shortcode' ).mediaelementplayer( {
|
279 |
+
// This is required to work with new MediaElement version.
|
280 |
+
classPrefix: 'mejs-',
|
281 |
+
// If the <video width> is not specified, this is the default
|
282 |
defaultVideoWidth: 480,
|
283 |
// If the <video height> is not specified, this is the default
|
284 |
defaultVideoHeight: 270
|
303 |
apply_rtMagnificPopup( '.rtmedia-activity-container ul.rtmedia-list, #bp-media-list, .bp-media-sc-list, li.media.album_updated ul,ul.bp-media-list-media, li.activity-item div.activity-content div.activity-inner div.bp_media_content' );
|
304 |
|
305 |
jQuery( 'ul.activity-list li.rtmedia_update div.rtmedia-item-thumbnail > audio.wp-audio-shortcode, ul.activity-list li.rtmedia_update div.rtmedia-item-thumbnail > video.wp-video-shortcode' ).mediaelementplayer( {
|
306 |
+
// This is required to work with new MediaElement version.
|
307 |
+
classPrefix: 'mejs-',
|
308 |
+
// If the <video width> is not specified, this is the default
|
309 |
defaultVideoWidth: 480,
|
310 |
// If the <video height> is not specified, this is the default
|
311 |
defaultVideoHeight: 270
|
app/assets/js/rtmedia.min.js
CHANGED
@@ -3,5 +3,5 @@
|
|
3 |
* @package rtMedia
|
4 |
*/
|
5 |
|
6 |
-
function apply_rtMagnificPopup(a){jQuery("document").ready(function(b){var c="";c="undefined"==typeof rtmedia_load_more?"Loading media":rtmedia_load_more,"undefined"!=typeof rtmedia_lightbox_enabled&&"1"==rtmedia_lightbox_enabled&&(b(".activity-item .rtmedia-activity-container .rtmedia-list-item > a").siblings("p").children("a").length>0&&b(".activity-item .rtmedia-activity-container .rtmedia-list-item > a").siblings("p").children("a").addClass("no-popup"),rtMagnificPopup=jQuery(a).magnificPopup({delegate:"a:not(.no-popup, .mejs-time-slider, .mejs-volume-slider, .mejs-horizontal-volume-slider)",type:"ajax",tLoading:c+" #%curr%...",mainClass:"mfp-img-mobile",preload:[1,3],closeOnBgClick:!0,gallery:{enabled:!0,navigateByImgClick:!0,arrowMarkup:"",preload:[0,1]},image:{tError:'<a href="%url%">The image #%curr%</a> could not be loaded.',titleSrc:function(a){return a.el.attr("title")+"<small>by Marsel Van Oosten</small>"}},callbacks:{ajaxContentAdded:function(){a=jQuery.magnificPopup.instance,1===jQuery(a.items).size()&&jQuery(".mfp-arrow").remove();var a=jQuery.magnificPopup.instance,c=a.currItem.el,d=c.parent();if(d.is("li")||(d=d.parent()),(d.is(":nth-last-child(2)")||d.is(":last-child"))&&d.find("a").hasClass("rtmedia-list-item-a")){d.next();"block"==jQuery("#rtMedia-galary-next").css("display")&&jQuery("#rtMedia-galary-next").click()}var e=a.items.length;if(a.index==e-1&&!d.is(":last-child"))return void c.click();var f={};"undefined"!=typeof _wpmejsSettings&&(f.pluginPath=_wpmejsSettings.pluginPath);var g=jQuery(".rtmedia-container .rtmedia-single-meta").height(),h=!1;void 0!==a&&void 0!==a.probablyMobile&&1==a.probablyMobile&&(h=!0),b(".mfp-content .rtmedia-single-media .wp-audio-shortcode,.mfp-content .rtmedia-single-media .wp-video-shortcode,.mfp-content .rtmedia-single-media .bp_media_content video").attr("autoplay",!0),h&&b(".mfp-content .rtmedia-single-media .wp-video-shortcode,.mfp-content .rtmedia-single-media .bp_media_content video").attr("muted",!1),b(".mfp-content .rtmedia-single-media .wp-audio-shortcode,.mfp-content .rtmedia-single-media .wp-video-shortcode,.mfp-content .rtmedia-single-media .bp_media_content video").mediaelementplayer({defaultVideoWidth:480,hideVolumeOnTouchDevices:!1,features:["playpause","progress","current","volume","fullscreen"],defaultVideoHeight:270,alwaysShowControls:h,enableAutosize:!0,clickToPlayPause:!0,videoHeight:-1,success:function(a,c){a.addEventListener("loadeddata",function(c){var d=b(a).height(),e=b(window).height(),f=jQuery("div.rtm-ltb-action-container").height(),f=f+50,h=g-f;d>e&&jQuery(".rtmedia-container #rtmedia-single-media-container .mejs-container").attr("style","height:"+h+"px !important; transition:0.2s")},!1),h&&b(a).hasClass("wp-video-shortcode")?jQuery("body").on("touchstart",".mejs-overlay-button",function(b){a.paused?a.play():a.pause()}):a.play()}}),b(".mfp-content .mejs-audio .mejs-controls").css("position","relative"),rtMediaHook.call("rtmedia_js_popup_after_content_added",[]),"undefined"!=typeof bp&&void 0!==bp.mentions&&void 0!==bp.mentions.users&&(b("#atwho-container #atwho-ground-comment_content").remove(),b("#comment_content").bp_mentions(bp.mentions.users)),rtmedia_reset_video_and_audio_for_popup(),apply_rtMagnificPopup(".rtmedia-list-media.rtm-gallery-list, .rtmedia-activity-container ul.rtmedia-list, #bp-media-list,.bp-media-sc-list, li.media.album_updated ul,ul.bp-media-list-media, li.activity-item div.activity-content div.activity-inner div.bp_media_content, .rtm-bbp-container, ul.rtm-comment-container")},close:function(a){rtmedia_single_page_popup_close()},BeforeChange:function(a){}}})),jQuery(document).ajaxComplete(function(){jQuery("[id^=imgedit-leaving]").filter(function(){var a=jQuery(this).text();jQuery(this).text(a.replace("OK","Save"))})})})}function rtmedia_init_action_dropdown(a){var b,c;jQuery(a+" .click-nav > span,"+a+" .click-nav > div").toggleClass("no-js js"),jQuery(a+" .click-nav .js ul").hide(),jQuery(a+" .click-nav .clicker").click(function(a){b=jQuery("#rtm-media-options .click-nav .clicker").next("ul"),c=jQuery(this).next("ul"),jQuery.each(b,function(a,b){jQuery(b).html()!=c.html()&&jQuery(b).hide()}),jQuery(c).toggle(),a.stopPropagation()})}function bp_media_create_element(a){return!1}function rtmedia_version_compare(a,b){if(typeof a+typeof b!="stringstring")return!1;for(var c=a.split("."),d=b.split("."),e=0,f=Math.max(c.length,d.length);e<f;e++){if(c[e]&&!d[e]&&parseInt(c[e])>0||parseInt(c[e])>parseInt(d[e]))return!0;if(d[e]&&!c[e]&&parseInt(d[e])>0||parseInt(c[e])<parseInt(d[e]))return!1}return!0}function rtm_is_element_exist(a){return jQuery(a).length>0}function rtm_masonry_reload(a){setTimeout(function(){a.masonry("reload")},250)}function rtm_search_media_text_validation(){""===jQuery("#media_search_input").val()?jQuery("#media_search").css("cursor","not-allowed"):jQuery("#media_search").css("cursor","pointer")}function rtmediaGetParameterByName(a){a=a.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var b=new RegExp("[\\?&]"+a+"=([^&#]*)"),c=b.exec(location.search);return null==c?"":decodeURIComponent(c[1].replace(/\+/g," "))}function rtmedia_single_media_alert_message(a,b){var c="rtmedia-success";"warning"==b&&(c="rtmedia-warning"),jQuery(".rtmedia-single-media .rtmedia-media").css("opacity","0.2"),jQuery(".rtmedia-single-media .rtmedia-media").after("<div class='rtmedia-message-container'><span class='"+c+"'>"+a+" </span></div>"),setTimeout(function(){jQuery(".rtmedia-single-media .rtmedia-media").css("opacity","1"),jQuery(".rtmedia-message-container").remove()},3e3),jQuery(".rtmedia-message-container").click(function(){jQuery(".rtmedia-single-media .rtmedia-media").css("opacity","1"),jQuery(".rtmedia-message-container").remove()})}function rtmedia_gallery_action_alert_message(a,b){var c="rtmedia-success";"warning"==b&&(c="rtmedia-warning");jQuery("body").append('<div class="rtmedia-gallery-alert-container"> </div>'),jQuery(".rtmedia-gallery-alert-container").append("<div class='rtmedia-gallery-message-box'><span class='"+c+"'>"+a+" </span></div>"),setTimeout(function(){jQuery(".rtmedia-gallery-alert-container").remove()},3e3),jQuery(".rtmedia-gallery-message-box").click(function(){jQuery(".rtmedia-gallery-alert-container").remove()})}function rtmedia_activity_masonry(){jQuery("#activity-stream .rtmedia-activity-container .rtmedia-list").masonry({itemSelector:".rtmedia-list-item",gutter:7});var a=0,b=setInterval(function(){a+=1,5===a&&clearInterval(b),jQuery.each(jQuery(".rtmedia-activity-container .rtmedia-list.masonry .rtmedia-item-title"),function(a,b){jQuery(b).width(jQuery(b).siblings(".rtmedia-item-thumbnail").children("img").width())}),rtm_masonry_reload(jQuery("#activity-stream .rtmedia-activity-container .rtmedia-list"))},1e3)}function get_parameter(a,b){if(!a)return!1;b||(b=window.location.href);var a=a.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]"),c=a+"=([^&#]*)",d=new RegExp(c),e=d.exec(b);return null!==e&&e[1]}!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports?require("jquery"):window.jQuery||window.Zepto)}(function(a){var b,c,d,e,f,g,h=function(){},i=!!window.jQuery,j=a(window),k=function(a,c){b.ev.on("mfp"+a+".mfp",c)},l=function(b,c,d,e){var f=document.createElement("div");return f.className="mfp-"+b,d&&(f.innerHTML=d),e?c&&c.appendChild(f):(f=a(f),c&&f.appendTo(c)),f},m=function(c,d){b.ev.triggerHandler("mfp"+c,d),b.st.callbacks&&(c=c.charAt(0).toLowerCase()+c.slice(1),b.st.callbacks[c]&&b.st.callbacks[c].apply(b,a.isArray(d)?d:[d]))},n=function(c){return c===g&&b.currTemplate.closeBtn||(b.currTemplate.closeBtn=a(b.st.closeMarkup.replace("%title%",b.st.tClose)),g=c),b.currTemplate.closeBtn},o=function(){a.magnificPopup.instance||(b=new h,b.init(),a.magnificPopup.instance=b)},p=function(){var a=document.createElement("p").style,b=["ms","O","Moz","Webkit"];if(void 0!==a.transition)return!0;for(;b.length;)if(b.pop()+"Transition"in a)return!0;return!1};h.prototype={constructor:h,init:function(){var c=navigator.appVersion;b.isIE7=-1!==c.indexOf("MSIE 7."),b.isIE8=-1!==c.indexOf("MSIE 8."),b.isLowIE=b.isIE7||b.isIE8,b.isAndroid=/android/gi.test(c),b.isIOS=/iphone|ipad|ipod/gi.test(c),b.supportsTransition=p(),b.probablyMobile=b.isAndroid||b.isIOS||/(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test(navigator.userAgent),d=a(document),b.popupsCache={}},open:function(c){var e;if(!1===c.isObj){b.items=c.items.toArray(),b.index=0;var g,h=c.items;for(e=0;e<h.length;e++)if(g=h[e],g.parsed&&(g=g.el[0]),g===c.el[0]){b.index=e;break}}else b.items=a.isArray(c.items)?c.items:[c.items],b.index=c.index||0;if(b.isOpen)return void b.updateItemHTML();b.types=[],f="",c.mainEl&&c.mainEl.length?b.ev=c.mainEl.eq(0):b.ev=d,c.key?(b.popupsCache[c.key]||(b.popupsCache[c.key]={}),b.currTemplate=b.popupsCache[c.key]):b.currTemplate={},b.st=a.extend(!0,{},a.magnificPopup.defaults,c),b.fixedContentPos="auto"===b.st.fixedContentPos?!b.probablyMobile:b.st.fixedContentPos,b.st.modal&&(b.st.closeOnContentClick=!1,b.st.closeOnBgClick=!1,b.st.showCloseBtn=!1,b.st.enableEscapeKey=!1),b.bgOverlay||(b.bgOverlay=l("bg").on("click.mfp",function(){b.close()}),b.wrap=l("wrap").attr("tabindex",-1).on("click.mfp",function(a){b._checkIfClose(a.target)&&b.close()}),b.container=l("container",b.wrap)),b.contentContainer=l("content"),b.st.preloader&&(b.preloader=l("preloader",b.container,b.st.tLoading));var i=a.magnificPopup.modules;for(e=0;e<i.length;e++){var o=i[e];o=o.charAt(0).toUpperCase()+o.slice(1),b["init"+o].call(b)}m("BeforeOpen"),b.st.showCloseBtn&&(b.st.closeBtnInside?(k("MarkupParse",function(a,b,c,d){c.close_replaceWith=n(d.type)}),f+=" mfp-close-btn-in"):b.wrap.append(n())),b.st.alignTop&&(f+=" mfp-align-top"),b.fixedContentPos?b.wrap.css({overflow:b.st.overflowY,overflowX:"hidden",overflowY:b.st.overflowY}):b.wrap.css({top:j.scrollTop(),position:"absolute"}),(!1===b.st.fixedBgPos||"auto"===b.st.fixedBgPos&&!b.fixedContentPos)&&b.bgOverlay.css({height:d.height(),position:"absolute"}),b.st.enableEscapeKey&&d.on("keyup.mfp",function(a){27===a.keyCode&&b.close()}),j.on("resize.mfp",function(){b.updateSize()}),b.st.closeOnContentClick||(f+=" mfp-auto-cursor"),f&&b.wrap.addClass(f);var p=b.wH=j.height(),q={};if(b.fixedContentPos&&b._hasScrollBar(p)){var r=b._getScrollbarSize();r&&(q.marginRight=r)}b.fixedContentPos&&(b.isIE7?a("body, html").css("overflow","hidden"):q.overflow="hidden");var s=b.st.mainClass;return b.isIE7&&(s+=" mfp-ie7"),s&&b._addClassToMFP(s),b.updateItemHTML(),m("BuildControls"),a("html").css(q),b.bgOverlay.add(b.wrap).prependTo(b.st.prependTo||a(document.body)),b._lastFocusedEl=document.activeElement,setTimeout(function(){b.content?(b._addClassToMFP("mfp-ready"),b._setFocus()):b.bgOverlay.addClass("mfp-ready"),d.on("focusin.mfp",b._onFocusIn)},16),b.isOpen=!0,b.updateSize(p),m("Open"),c},close:function(){b.isOpen&&(m("BeforeClose"),b.isOpen=!1,b.st.removalDelay&&!b.isLowIE&&b.supportsTransition?(b._addClassToMFP("mfp-removing"),setTimeout(function(){b._close()},b.st.removalDelay)):b._close())},_close:function(){m("Close");var c="mfp-removing mfp-ready ";if(b.bgOverlay.detach(),b.wrap.detach(),b.container.empty(),b.st.mainClass&&(c+=b.st.mainClass+" "),b._removeClassFromMFP(c),b.fixedContentPos){var e={marginRight:""};b.isIE7?a("body, html").css("overflow",""):e.overflow="",a("html").css(e)}d.off("keyup.mfp focusin.mfp"),b.ev.off(".mfp"),b.wrap.attr("class","mfp-wrap").removeAttr("style"),b.bgOverlay.attr("class","mfp-bg"),b.container.attr("class","mfp-container"),!b.st.showCloseBtn||b.st.closeBtnInside&&!0!==b.currTemplate[b.currItem.type]||b.currTemplate.closeBtn&&b.currTemplate.closeBtn.detach(),b._lastFocusedEl&&a(b._lastFocusedEl).focus(),b.currItem=null,b.content=null,b.currTemplate=null,b.prevHeight=0,m("AfterClose")},updateSize:function(a){if(b.isIOS){var c=document.documentElement.clientWidth/window.innerWidth,d=window.innerHeight*c;b.wrap.css("height",d),b.wH=d}else b.wH=a||j.height();b.fixedContentPos||b.wrap.css("height",b.wH),m("Resize")},updateItemHTML:function(){var c=b.items[b.index];b.contentContainer.detach(),b.content&&b.content.detach(),c.parsed||(c=b.parseEl(b.index));var d=c.type;if(m("BeforeChange",[b.currItem?b.currItem.type:"",d]),b.currItem=c,!b.currTemplate[d]){var f=!!b.st[d]&&b.st[d].markup;m("FirstMarkupParse",f),b.currTemplate[d]=!f||a(f)}e&&e!==c.type&&b.container.removeClass("mfp-"+e+"-holder");var g=b["get"+d.charAt(0).toUpperCase()+d.slice(1)](c,b.currTemplate[d]);b.appendContent(g,d),c.preloaded=!0,m("Change",c),e=c.type,b.container.prepend(b.contentContainer),m("AfterChange")},appendContent:function(a,c){b.content=a,a?b.st.showCloseBtn&&b.st.closeBtnInside&&!0===b.currTemplate[c]?b.content.find(".mfp-close").length||b.content.append(n()):b.content=a:b.content="",m("BeforeAppend"),b.container.addClass("mfp-"+c+"-holder"),b.contentContainer.append(b.content)},parseEl:function(c){var d,e=b.items[c];if(e.tagName?e={el:a(e)}:(d=e.type,e={data:e,src:e.src}),e.el){for(var f=b.types,g=0;g<f.length;g++)if(e.el.hasClass("mfp-"+f[g])){d=f[g];break}e.src=e.el.attr("data-mfp-src"),e.src||(e.src=e.el.attr("href"))}return e.type=d||b.st.type||"inline",e.index=c,e.parsed=!0,b.items[c]=e,m("ElementParse",e),b.items[c]},addGroup:function(a,c){var d=function(d){d.mfpEl=this,b._openClick(d,a,c)};c||(c={});var e="click.magnificPopup";c.mainEl=a,c.items?(c.isObj=!0,a.off(e).on(e,d)):(c.isObj=!1,c.delegate?a.off(e).on(e,c.delegate,d):(c.items=a,a.off(e).on(e,d)))},_openClick:function(c,d,e){if((void 0!==e.midClick?e.midClick:a.magnificPopup.defaults.midClick)||2!==c.which&&!c.ctrlKey&&!c.metaKey){var f=void 0!==e.disableOn?e.disableOn:a.magnificPopup.defaults.disableOn;if(f)if(a.isFunction(f)){if(!f.call(b))return!0}else if(j.width()<f)return!0;c.type&&(c.preventDefault(),b.isOpen&&c.stopPropagation()),e.el=a(c.mfpEl),e.delegate&&(e.items=d.find(e.delegate)),b.open(e)}},updateStatus:function(a,d){if(b.preloader){c!==a&&b.container.removeClass("mfp-s-"+c),d||"loading"!==a||(d=b.st.tLoading);var e={status:a,text:d};m("UpdateStatus",e),a=e.status,d=e.text,b.preloader.html(d),b.preloader.find("a").on("click",function(a){a.stopImmediatePropagation()}),b.container.addClass("mfp-s-"+a),c=a}},_checkIfClose:function(c){if(!a(c).hasClass("mfp-prevent-close")){var d=b.st.closeOnContentClick,e=b.st.closeOnBgClick;if(d&&e)return!0;if(!b.content||a(c).hasClass("mfp-close")||b.preloader&&c===b.preloader[0])return!0;if(c===b.content[0]||a.contains(b.content[0],c)){if(d)return!0}else if(e&&a.contains(document,c))return!0;return!1}},_addClassToMFP:function(a){b.bgOverlay.addClass(a),b.wrap.addClass(a)},_removeClassFromMFP:function(a){this.bgOverlay.removeClass(a),b.wrap.removeClass(a)},_hasScrollBar:function(a){return(b.isIE7?d.height():document.body.scrollHeight)>(a||j.height())},_setFocus:function(){(b.st.focus?b.content.find(b.st.focus).eq(0):b.wrap).focus()},_onFocusIn:function(c){if(c.target!==b.wrap[0]&&!a.contains(b.wrap[0],c.target))return b._setFocus(),!1},_parseMarkup:function(b,c,d){var e;d.data&&(c=a.extend(d.data,c)),m("MarkupParse",[b,c,d]),a.each(c,function(a,c){if(void 0===c||!1===c)return!0;if(e=a.split("_"),e.length>1){var d=b.find(".mfp-"+e[0]);if(d.length>0){var f=e[1];"replaceWith"===f?d[0]!==c[0]&&d.replaceWith(c):"img"===f?d.is("img")?d.attr("src",c):d.replaceWith('<img src="'+c+'" class="'+d.attr("class")+'" />'):d.attr(e[1],c)}}else b.find(".mfp-"+a).html(c)})},_getScrollbarSize:function(){if(void 0===b.scrollbarSize){var a=document.createElement("div");a.style.cssText="width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;",document.body.appendChild(a),b.scrollbarSize=a.offsetWidth-a.clientWidth,document.body.removeChild(a)}return b.scrollbarSize}},a.magnificPopup={instance:null,proto:h.prototype,modules:[],open:function(b,c){return o(),b=b?a.extend(!0,{},b):{},b.isObj=!0,b.index=c||0,this.instance.open(b)},close:function(){return a.magnificPopup.instance&&a.magnificPopup.instance.close()},registerModule:function(b,c){c.options&&(a.magnificPopup.defaults[b]=c.options),a.extend(this.proto,c.proto),this.modules.push(b)},defaults:{disableOn:0,key:null,midClick:!1,mainClass:"",preloader:!0,focus:"",closeOnContentClick:!1,closeOnBgClick:!0,closeBtnInside:!0,showCloseBtn:!0,enableEscapeKey:!0,modal:!1,alignTop:!1,removalDelay:0,prependTo:null,fixedContentPos:"auto",fixedBgPos:"auto",overflowY:"auto",closeMarkup:'<button title="%title%" type="button" class="mfp-close">×</button>',tClose:"Close (Esc)",tLoading:"Loading..."}},a.fn.magnificPopup=function(c){o();var d=a(this);if("string"==typeof c)if("open"===c){var e,f=i?d.data("magnificPopup"):d[0].magnificPopup,g=parseInt(arguments[1],10)||0;f.items?e=f.items[g]:(e=d,f.delegate&&(e=e.find(f.delegate)),e=e.eq(g)),b._openClick({mfpEl:e},d,f)}else b.isOpen&&b[c].apply(b,Array.prototype.slice.call(arguments,1));else c=a.extend(!0,{},c),i?d.data("magnificPopup",c):d[0].magnificPopup=c,b.addGroup(d,c);return d};var q,r,s,t=function(){s&&(r.after(s.addClass(q)).detach(),s=null)};a.magnificPopup.registerModule("inline",{options:{hiddenClass:"hide",markup:"",tNotFound:"Content not found"},proto:{initInline:function(){b.types.push("inline"),k("Close.inline",function(){t()})},getInline:function(c,d){if(t(),c.src){var e=b.st.inline,f=a(c.src);if(f.length){var g=f[0].parentNode;g&&g.tagName&&(r||(q=e.hiddenClass,r=l(q),q="mfp-"+q),s=f.after(r).detach().removeClass(q)),b.updateStatus("ready")}else b.updateStatus("error",e.tNotFound),f=a("<div>");return c.inlineElement=f,f}return b.updateStatus("ready"),b._parseMarkup(d,{},c),d}}});var u,v=function(){u&&a(document.body).removeClass(u)},w=function(){v(),b.req&&b.req.abort()};a.magnificPopup.registerModule("ajax",{options:{settings:null,cursor:"mfp-ajax-cur",tError:'<a href="%url%">The content</a> could not be loaded.'},proto:{initAjax:function(){b.types.push("ajax"),u=b.st.ajax.cursor,k("Close.ajax",w),k("BeforeChange.ajax",w)},getAjax:function(c){u&&a(document.body).addClass(u),b.updateStatus("loading");var d=a.extend({url:c.src,success:function(d,e,f){var g={data:d,xhr:f};m("ParseAjax",g),b.appendContent(a(g.data),"ajax"),c.finished=!0,v(),b._setFocus(),setTimeout(function(){b.wrap.addClass("mfp-ready")},16),b.updateStatus("ready"),m("AjaxContentAdded")},error:function(){v(),c.finished=c.loadError=!0,b.updateStatus("error",b.st.ajax.tError.replace("%url%",c.src))}},b.st.ajax.settings);return b.req=a.ajax(d),""}}});var x,y=function(c){if(c.data&&void 0!==c.data.title)return c.data.title;var d=b.st.image.titleSrc;if(d){if(a.isFunction(d))return d.call(b,c);if(c.el)return c.el.attr(d)||""}return""};a.magnificPopup.registerModule("image",{options:{markup:'<div class="mfp-figure"><div class="mfp-close"></div><figure><div class="mfp-img"></div><figcaption><div class="mfp-bottom-bar"><div class="mfp-title"></div><div class="mfp-counter"></div></div></figcaption></figure></div>',cursor:"mfp-zoom-out-cur",titleSrc:"title",verticalFit:!0,tError:'<a href="%url%">The image</a> could not be loaded.'},proto:{initImage:function(){var c=b.st.image,d=".image";b.types.push("image"),k("Open"+d,function(){"image"===b.currItem.type&&c.cursor&&a(document.body).addClass(c.cursor)}),k("Close"+d,function(){c.cursor&&a(document.body).removeClass(c.cursor),j.off("resize.mfp")}),k("Resize"+d,b.resizeImage),b.isLowIE&&k("AfterChange",b.resizeImage)},resizeImage:function(){var a=b.currItem;if(a&&a.img&&b.st.image.verticalFit){var c=0;b.isLowIE&&(c=parseInt(a.img.css("padding-top"),10)+parseInt(a.img.css("padding-bottom"),10)),a.img.css("max-height",b.wH-c)}},_onImageHasSize:function(a){a.img&&(a.hasSize=!0,x&&clearInterval(x),a.isCheckingImgSize=!1,m("ImageHasSize",a),a.imgHidden&&(b.content&&b.content.removeClass("mfp-loading"),a.imgHidden=!1))},findImageSize:function(a){var c=0,d=a.img[0],e=function(f){x&&clearInterval(x),x=setInterval(function(){if(d.naturalWidth>0)return void b._onImageHasSize(a);c>200&&clearInterval(x),c++,3===c?e(10):40===c?e(50):100===c&&e(500)},f)};e(1)},getImage:function(c,d){var e=0,f=function(){c&&(c.img[0].complete?(c.img.off(".mfploader"),c===b.currItem&&(b._onImageHasSize(c),b.updateStatus("ready")),c.hasSize=!0,c.loaded=!0,m("ImageLoadComplete")):(e++,e<200?setTimeout(f,100):g()))},g=function(){c&&(c.img.off(".mfploader"),c===b.currItem&&(b._onImageHasSize(c),b.updateStatus("error",h.tError.replace("%url%",c.src))),c.hasSize=!0,c.loaded=!0,c.loadError=!0)},h=b.st.image,i=d.find(".mfp-img");if(i.length){var j=document.createElement("img");j.className="mfp-img",c.el&&c.el.find("img").length&&(j.alt=c.el.find("img").attr("alt")),c.img=a(j).on("load.mfploader",f).on("error.mfploader",g),j.src=c.src,i.is("img")&&(c.img=c.img.clone()),j=c.img[0],j.naturalWidth>0?c.hasSize=!0:j.width||(c.hasSize=!1)}return b._parseMarkup(d,{title:y(c),img_replaceWith:c.img},c),b.resizeImage(),c.hasSize?(x&&clearInterval(x),c.loadError?(d.addClass("mfp-loading"),b.updateStatus("error",h.tError.replace("%url%",c.src))):(d.removeClass("mfp-loading"),b.updateStatus("ready")),d):(b.updateStatus("loading"),c.loading=!0,c.hasSize||(c.imgHidden=!0,d.addClass("mfp-loading"),b.findImageSize(c)),d)}}});var z,A=function(){return void 0===z&&(z=void 0!==document.createElement("p").style.MozTransform),z};a.magnificPopup.registerModule("zoom",{options:{enabled:!1,easing:"ease-in-out",duration:300,opener:function(a){return a.is("img")?a:a.find("img")}},proto:{initZoom:function(){var a,c=b.st.zoom,d=".zoom";if(c.enabled&&b.supportsTransition){var e,f,g=c.duration,h=function(a){var b=a.clone().removeAttr("style").removeAttr("class").addClass("mfp-animated-image"),d="all "+c.duration/1e3+"s "+c.easing,e={position:"fixed",zIndex:9999,left:0,top:0,"-webkit-backface-visibility":"hidden"},f="transition";return e["-webkit-"+f]=e["-moz-"+f]=e["-o-"+f]=e[f]=d,b.css(e),b},i=function(){b.content.css("visibility","visible")};k("BuildControls"+d,function(){if(b._allowZoom()){if(clearTimeout(e),b.content.css("visibility","hidden"),!(a=b._getItemToZoom()))return void i();f=h(a),f.css(b._getOffset()),b.wrap.append(f),e=setTimeout(function(){f.css(b._getOffset(!0)),e=setTimeout(function(){i(),setTimeout(function(){f.remove(),a=f=null,m("ZoomAnimationEnded")},16)},g)},16)}}),k("BeforeClose"+d,function(){if(b._allowZoom()){if(clearTimeout(e),b.st.removalDelay=g,!a){if(!(a=b._getItemToZoom()))return;f=h(a)}f.css(b._getOffset(!0)),b.wrap.append(f),b.content.css("visibility","hidden"),setTimeout(function(){f.css(b._getOffset())},16)}}),k("Close"+d,function(){b._allowZoom()&&(i(),f&&f.remove(),a=null)})}},_allowZoom:function(){return"image"===b.currItem.type},_getItemToZoom:function(){return!!b.currItem.hasSize&&b.currItem.img},_getOffset:function(c){var d;d=c?b.currItem.img:b.st.zoom.opener(b.currItem.el||b.currItem);var e=d.offset(),f=parseInt(d.css("padding-top"),10),g=parseInt(d.css("padding-bottom"),10);e.top-=a(window).scrollTop()-f;var h={width:d.width(),height:(i?d.innerHeight():d[0].offsetHeight)-g-f};return A()?h["-moz-transform"]=h.transform="translate("+e.left+"px,"+e.top+"px)":(h.left=e.left,h.top=e.top),h}}});var B=function(a){if(b.currTemplate.iframe){var c=b.currTemplate.iframe.find("iframe");c.length&&(a||(c[0].src="//about:blank"),b.isIE8&&c.css("display",a?"block":"none"))}};a.magnificPopup.registerModule("iframe",{options:{markup:'<div class="mfp-iframe-scaler"><div class="mfp-close"></div><iframe class="mfp-iframe" src="//about:blank" frameborder="0" allowfullscreen></iframe></div>',srcAction:"iframe_src",patterns:{youtube:{index:"youtube.com",id:"v=",src:"//www.youtube.com/embed/%id%?autoplay=1"},vimeo:{index:"vimeo.com/",id:"/",src:"//player.vimeo.com/video/%id%?autoplay=1"},gmaps:{index:"//maps.google.",src:"%id%&output=embed"}}},proto:{initIframe:function(){b.types.push("iframe"),k("BeforeChange",function(a,b,c){b!==c&&("iframe"===b?B():"iframe"===c&&B(!0))}),k("Close.iframe",function(){B()})},getIframe:function(c,d){var e=c.src,f=b.st.iframe;a.each(f.patterns,function(){if(e.indexOf(this.index)>-1)return this.id&&(e="string"==typeof this.id?e.substr(e.lastIndexOf(this.id)+this.id.length,e.length):this.id.call(this,e)),e=this.src.replace("%id%",e),!1});var g={};return f.srcAction&&(g[f.srcAction]=e),b._parseMarkup(d,g,c),b.updateStatus("ready"),d}}});var C=function(a){var c=b.items.length;return a>c-1?a-c:a<0?c+a:a},D=function(a,b,c){return a.replace(/%curr%/gi,b+1).replace(/%total%/gi,c)};a.magnificPopup.registerModule("gallery",{options:{enabled:!1,arrowMarkup:'<button title="%title%" type="button" class="mfp-arrow mfp-arrow-%dir%"></button>',preload:[0,2],navigateByImgClick:!0,arrows:!0,tPrev:"Previous (Left arrow key)",tNext:"Next (Right arrow key)",tCounter:"%curr% of %total%"},proto:{initGallery:function(){var c=b.st.gallery,e=".mfp-gallery",g=Boolean(a.fn.mfpFastClick);if(b.direction=!0,!c||!c.enabled)return!1;f+=" mfp-gallery",k("Open"+e,function(){c.navigateByImgClick&&b.wrap.on("click"+e,".mfp-img",function(){if(b.items.length>1)return b.next(),!1}),d.on("keydown"+e,function(a){37===a.keyCode?b.prev():39===a.keyCode&&b.next()})}),k("UpdateStatus"+e,function(a,c){c.text&&(c.text=D(c.text,b.currItem.index,b.items.length))}),k("MarkupParse"+e,function(a,d,e,f){var g=b.items.length;e.counter=g>1?D(c.tCounter,f.index,g):""}),k("BuildControls"+e,function(){if(b.items.length>1&&c.arrows&&!b.arrowLeft){var d=c.arrowMarkup,e=b.arrowLeft=a(d.replace(/%title%/gi,c.tPrev).replace(/%dir%/gi,"left")).addClass("mfp-prevent-close"),f=b.arrowRight=a(d.replace(/%title%/gi,c.tNext).replace(/%dir%/gi,"right")).addClass("mfp-prevent-close"),h=g?"mfpFastClick":"click";e[h](function(){b.prev()}),f[h](function(){b.next()}),b.isIE7&&(l("b",e[0],!1,!0),l("a",e[0],!1,!0),l("b",f[0],!1,!0),l("a",f[0],!1,!0)),b.container.append(e.add(f))}}),k("Change"+e,function(){b._preloadTimeout&&clearTimeout(b._preloadTimeout),b._preloadTimeout=setTimeout(function(){b.preloadNearbyImages(),b._preloadTimeout=null},16)}),k("Close"+e,function(){d.off(e),b.wrap.off("click"+e),b.arrowLeft&&g&&b.arrowLeft.add(b.arrowRight).destroyMfpFastClick(),b.arrowRight=b.arrowLeft=null})},next:function(){b.direction=!0,b.index=C(b.index+1),b.updateItemHTML()},prev:function(){b.direction=!1,b.index=C(b.index-1),b.updateItemHTML()},goTo:function(a){b.direction=a>=b.index,b.index=a,b.updateItemHTML()},preloadNearbyImages:function(){var a,c=b.st.gallery.preload,d=Math.min(c[0],b.items.length),e=Math.min(c[1],b.items.length);for(a=1;a<=(b.direction?e:d);a++)b._preloadItem(b.index+a);for(a=1;a<=(b.direction?d:e);a++)b._preloadItem(b.index-a)},_preloadItem:function(c){if(c=C(c),!b.items[c].preloaded){var d=b.items[c];d.parsed||(d=b.parseEl(c)),m("LazyLoad",d),"image"===d.type&&(d.img=a('<img class="mfp-img" />').on("load.mfploader",function(){d.hasSize=!0}).on("error.mfploader",function(){d.hasSize=!0,d.loadError=!0,m("LazyLoadError",d)}).attr("src",d.src)),d.preloaded=!0}}}});a.magnificPopup.registerModule("retina",{options:{replaceSrc:function(a){return a.src.replace(/\.\w+$/,function(a){return"@2x"+a})},ratio:1},proto:{initRetina:function(){if(window.devicePixelRatio>1){var a=b.st.retina,c=a.ratio;c=isNaN(c)?c():c,c>1&&(k("ImageHasSize.retina",function(a,b){b.img.css({"max-width":b.img[0].naturalWidth/c,width:"100%"})}),k("ElementParse.retina",function(b,d){d.src=a.replaceSrc(d,c)}))}}}}),function(){var b="ontouchstart"in window,c=function(){j.off("touchmove"+d+" touchend"+d)},d=".mfpFastClick";a.fn.mfpFastClick=function(e){return a(this).each(function(){var f,g=a(this);if(b){var h,i,k,l,m,n;g.on("touchstart"+d,function(a){l=!1,n=1,m=a.originalEvent?a.originalEvent.touches[0]:a.touches[0],i=m.clientX,k=m.clientY,j.on("touchmove"+d,function(a){m=a.originalEvent?a.originalEvent.touches:a.touches,n=m.length,m=m[0],(Math.abs(m.clientX-i)>10||Math.abs(m.clientY-k)>10)&&(l=!0,c())}).on("touchend"+d,function(a){c(),l||n>1||(f=!0,a.preventDefault(),clearTimeout(h),h=setTimeout(function(){f=!1},1e3),e())})})}g.on("click"+d,function(){f||e()})})},a.fn.destroyMfpFastClick=function(){a(this).off("touchstart"+d+" click"+d),b&&j.off("touchmove"+d+" touchend"+d)}}(),o()}),"function"!=typeof Object.create&&(Object.create=function(a){function b(){}return b.prototype=a,new b}),function(a,b,c,d){var e={init:function(b,c){var d=this;d.elem=c,d.$elem=a(c),d.options=a.extend({},a.fn.rtTab.options,b),d.rtTabs()},rtTabs:function(){var c=this,d=c.options.activeTab;if(c.$elem.find("li:nth-child("+d+")").addClass("active"),c.rtTabContent(activeTabContent="yes"),c.rtClick(),!0==("false"!==c.$elem.attr("data-hash"))){var e=b.location.hash;e&&c.$elem.find("li").find('a[href="'+e+'"]').trigger("click"),a(b).on("hashchange",function(){var a=b.location.hash;c.$elem.find("li").find('a[href="'+a+'"]').trigger("click")})}},rtClick:function(){var c=this,d=c.$elem.find("li");d.find("a").on("click",function(e){e.preventDefault(),d.removeClass("active"),c.rtTabContent(),a(this).parent().addClass("active");var f=a(this).attr("href");if(a(f).removeClass("hide"),1==("false"!==c.$elem.attr("data-hash"))){var g=a(b).scrollTop();location.hash=a(this).attr("href"),a(b).scrollTop(g)}"function"==typeof c.options.onComplete&&c.options.onComplete.apply(c.elem,arguments)})},rtTabContent:function(b){this.$elem.find("li").find("a").each(function(){var c=a(this),d=c.attr("href");"yes"===b?c.parent().hasClass("active")||a(d).addClass("hide"):a(d).addClass("hide")})}};a.fn.rtTab=function(b){return this.each(function(){var c=Object.create(e);c.init(b,this),a.data(this,"rtTab",c)})},a.fn.rtTab.options={activeTab:1,onComplete:null}}(jQuery,window,document);var rtMagnificPopup,rtm_masonry_container,comment_media=!1,rtMediaHook={hooks:[],is_break:!1,register:function(a,b){void 0===rtMediaHook.hooks[a]&&(rtMediaHook.hooks[a]=[]),rtMediaHook.hooks[a].push(b)},call:function(a,arguments){if(void 0!==rtMediaHook.hooks[a])for(i=0;i<rtMediaHook.hooks[a].length;++i)if(1!=rtMediaHook.hooks[a][i](arguments))return rtMediaHook.is_break=!0,!1;return!0}};jQuery("document").ready(function(a){function b(){if(jQuery("#rtmedia-media-view-form").length>0){var a=jQuery("#rtmedia-media-view-form").attr("action");jQuery.post(a,{},function(a){})}}function c(){var a=jQuery.magnificPopup.instance;jQuery(".mfp-arrow-right").on("click",function(b){a.next()}),jQuery(".mfp-arrow-left").on("click",function(b){a.prev()}),jQuery(".mfp-content .rtmedia-media").swipe({swipeLeft:function(b,c,d,e,f){a.next()},swipeRight:function(b,c,d,e,f){a.prev()},threshold:0})}function d(){jQuery(".mfp-arrow-right").hide(),jQuery(".mfp-arrow-left").hide(),jQuery(document).unbind("keydown")}function e(){rtmedia_disable_popup_navigation("#comment_content")}function f(){jQuery(".rtmedia-container").on("click",".rtmedia-delete-media",function(a){a.preventDefault(),confirm(rtmedia_media_delete_confirmation)&&jQuery(this).closest("form").submit()})}jQuery(".rtmedia-uploader-div").css({opacity:"1",display:"block",visibility:"visible"}),jQuery(" #whats-new-options ").css({opacity:"1"}),void 0!==a.fn.rtTab&&a(".rtm-tabs").rtTab(),jQuery(".rtmedia-modal-link").length>0&&a(".rtmedia-modal-link").magnificPopup({type:"inline",midClick:!0,closeBtnInside:!0}),a("#rt_media_comment_form").submit(function(b){return""!=a.trim(a("#comment_content").val())||(0==jQuery("#rtmedia-single-media-container").length?rtmedia_gallery_action_alert_message(rtmedia_empty_comment_msg,"warning"):rtmedia_single_media_alert_message(rtmedia_empty_comment_msg,"warning"),!1)}),a("li.rtmedia-list-item p a").each(function(b){a(this).addClass("no-popup")}),a("li.rtmedia-list-item p a").each(function(b){a(this).addClass("no-popup")}),"undefined"!=typeof rtmedia_lightbox_enabled&&"1"==rtmedia_lightbox_enabled&&apply_rtMagnificPopup(".rtmedia-list-media.rtm-gallery-list, .rtmedia-activity-container ul.rtmedia-list, #bp-media-list,.bp-media-sc-list, li.media.album_updated ul,ul.bp-media-list-media, li.activity-item div.activity-content div.activity-inner div.bp_media_content, .rtm-bbp-container, ul.rtm-comment-container"),
|
7 |
-
jQuery.ajaxPrefilter(function(a,b,c){try{if(null==b.data||void 0===b.data||void 0===b.data.action)return!0}catch(a){return!0}if("activity_get_older_updates"==b.data.action){var d=b.success;a.success=function(a){d(a),apply_rtMagnificPopup(".rtmedia-activity-container ul.rtmedia-list, #bp-media-list, .bp-media-sc-list, li.media.album_updated ul,ul.bp-media-list-media, li.activity-item div.activity-content div.activity-inner div.bp_media_content"),rtMediaHook.call("rtmedia_js_after_activity_added",[])}}else if("get_single_activity_content"==b.data.action){var d=b.success;a.success=function(a){d(a),setTimeout(function(){apply_rtMagnificPopup(".rtmedia-activity-container ul.rtmedia-list, #bp-media-list, .bp-media-sc-list, li.media.album_updated ul,ul.bp-media-list-media, li.activity-item div.activity-content div.activity-inner div.bp_media_content"),jQuery("ul.activity-list li.rtmedia_update:first-child .wp-audio-shortcode, ul.activity-list li.rtmedia_update:first-child .wp-video-shortcode").mediaelementplayer({defaultVideoWidth:480,defaultVideoHeight:270})},900)}}}),jQuery.ajaxPrefilter(function(a,b,c){try{if(null==b.data||void 0===b.data||void 0===b.data.action)return!0}catch(a){return!0}if("activity_get_older_updates"==b.data.action){var d=b.success;a.success=function(a){d(a),apply_rtMagnificPopup(".rtmedia-activity-container ul.rtmedia-list, #bp-media-list, .bp-media-sc-list, li.media.album_updated ul,ul.bp-media-list-media, li.activity-item div.activity-content div.activity-inner div.bp_media_content"),jQuery("ul.activity-list li.rtmedia_update div.rtmedia-item-thumbnail > audio.wp-audio-shortcode, ul.activity-list li.rtmedia_update div.rtmedia-item-thumbnail > video.wp-video-shortcode").mediaelementplayer({defaultVideoWidth:480,defaultVideoHeight:270}),setTimeout(function(){rtmedia_activity_stream_comment_media()},900),rtMediaHook.call("rtmedia_js_after_activity_added",[])}}}),jQuery(".rtmedia-container").on("click",".select-all",function(a){jQuery(this).toggleClass("unselect-all").toggleClass("select-all"),jQuery(this).attr("title",rtmedia_unselect_all_visible),jQuery(".rtmedia-list input").each(function(){jQuery(this).prop("checked",!0)}),jQuery(".rtmedia-list-item").addClass("bulk-selected")}),jQuery(".rtmedia-container").on("click",".unselect-all",function(a){jQuery(this).toggleClass("select-all").toggleClass("unselect-all"),jQuery(this).attr("title",rtmedia_select_all_visible),jQuery(".rtmedia-list input").each(function(){jQuery(this).prop("checked",!1)}),jQuery(".rtmedia-list-item").removeClass("bulk-selected")}),jQuery(".rtmedia-container").on("click",".rtmedia-move",function(a){jQuery(".rtmedia-delete-container").slideUp(),jQuery(".rtmedia-move-container").slideToggle()}),jQuery("#rtmedia-create-album-modal").on("click","#rtmedia_create_new_album",function(b){if($albumname=jQuery("<span/>").text(jQuery.trim(jQuery("#rtmedia_album_name").val())).html(),$album_description=jQuery("#rtmedia_album_description"),$context=jQuery.trim(jQuery("#rtmedia_album_context").val()),$context_id=jQuery.trim(jQuery("#rtmedia_album_context_id").val()),$privacy=jQuery.trim(jQuery("#rtmedia_select_album_privacy").val()),$create_album_nonce=jQuery.trim(jQuery("#rtmedia_create_album_nonce").val()),""!=$albumname){var c={action:"rtmedia_create_album",name:$albumname,description:$album_description.val(),context:$context,context_id:$context_id,create_album_nonce:$create_album_nonce};""!==$privacy&&(c.privacy=$privacy),a("#rtmedia_create_new_album").attr("disabled","disabled");var d=a("#rtmedia_create_new_album").html();a("#rtmedia_create_new_album").prepend("<img src='"+rMedia_loading_file+"' />"),jQuery.post(rtmedia_ajax_url,c,function(b){if(void 0!==b.album){b=jQuery.trim(b.album);var c=!0;$album_description.val(""),a("#rtmedia_album_name").focus(),jQuery(".rtmedia-user-album-list").each(function(){if(jQuery(this).children("optgroup").each(function(){if(jQuery(this).attr("value")===$context)return c=!1,void jQuery(this).append('<option value="'+b+'">'+$albumname+"</option>")}),c){var a=$context.charAt(0).toUpperCase()+$context.slice(1)+" "+rtmedia_main_js_strings.rtmedia_albums,d='<optgroup value="'+$context+'" label="'+a+'"><option value="'+b+'">'+$albumname+"</option></optgroup>";jQuery(this).append(d)}}),jQuery('select.rtmedia-user-album-list option[value="'+b+'"]').prop("selected",!0),jQuery(".rtmedia-create-new-album-container").slideToggle(),jQuery("#rtmedia_album_name").val(""),jQuery("#rtmedia-create-album-modal").append("<div class='rtmedia-success rtmedia-create-album-alert'><b>"+$albumname+"</b>"+rtmedia_album_created_msg+"</div>"),setTimeout(function(){jQuery(".rtmedia-create-album-alert").remove()},4e3),setTimeout(function(){galleryObj.reloadView(),jQuery(".close-reveal-modal").click()},2e3)}else void 0!==b.error?rtmedia_gallery_action_alert_message(b.error,"warning"):rtmedia_gallery_action_alert_message(rtmedia_something_wrong_msg,"warning");a("#rtmedia_create_new_album").removeAttr("disabled"),a("#rtmedia_create_new_album").html(d)})}else rtmedia_gallery_action_alert_message(rtmedia_empty_album_name_msg,"warning")}),jQuery(".rtmedia-container").on("click",".rtmedia-delete-selected",function(a){jQuery(".rtmedia-list :checkbox:checked").length>0?confirm(rtmedia_selected_media_delete_confirmation)&&jQuery(this).closest("form").attr("action","../../../"+rtmedia_media_slug+"/delete").submit():rtmedia_gallery_action_alert_message(rtmedia_no_media_selected,"warning")}),jQuery(".rtmedia-container").on("click",".rtmedia-move-selected",function(a){jQuery(".rtmedia-list :checkbox:checked").length>0?confirm(rtmedia_selected_media_move_confirmation)&&jQuery(this).closest("form").attr("action","").submit():rtmedia_gallery_action_alert_message(rtmedia_no_media_selected,"warning")}),jQuery("#buddypress").on("change",".rtm-activity-privacy-opt",function(){var a=jQuery(this).attr("id");a=a.split("-"),a=a[a.length-1];var b=this;data={activity_id:a,privacy:jQuery(this).val(),nonce:jQuery("#rtmedia_activity_privacy_nonce").val(),action:"rtm_change_activity_privacy"},jQuery.post(ajaxurl,data,function(a){var c="",d="";"true"==a?(c=rtmedia_main_js_strings.privacy_update_success,d="success"):(c=rtmedia_main_js_strings.privacy_update_error,d="fail"),jQuery(b).after('<p class="rtm-ac-privacy-updated '+d+'">'+c+"</p>"),setTimeout(function(){jQuery(b).siblings(".rtm-ac-privacy-updated").remove()},2e3)})}),jQuery(".media_search_input").on("keyup",function(){rtm_search_media_text_validation()}),b(),rtMediaHook.register("rtmedia_js_popup_after_content_added",function(){b(),f(),mfp=jQuery.magnificPopup.instance,jQuery(mfp.items).size()>1&&0==comment_media?c():d(),e(),rtmedia_disable_popup_navigation_comment_media_focus();var g=a(window).height();jQuery(".rtm-lightbox-container .mejs-video").css({height:.8*g,"over-flow":"hidden"}),jQuery(".mfp-content .rtmedia-media").css({"max-height":.87*g,"over-flow":"hidden"}),rtmedia_init_action_dropdown(".rtm-lightbox-container .rtmedia-actions"),jQuery(".rtmedia-comment-link").on("click",function(a){a.preventDefault(),jQuery("#comment_content").focus()}),jQuery(".rtm-more").shorten({showChars:130});var h=a(".rtm-gallery-title"),i="";""!=(i=a.isEmptyObject(h)?a("#subnav.item-list-tabs li.selected ").html():h.html())&&a(".rtm-ltb-gallery-title .ltb-title").html(i);var j=a("#subnav.item-list-tabs li.selected span").html();return a("li.total").html(j),!0});var g=jQuery("#drag-drop-area"),h=jQuery("#whats-new");g.html();jQuery("#rtmedia-upload-container").after("<div id='rtm-drop-files-title'>"+rtmedia_drop_media_msg+"</div>"),"undefined"!=typeof rtmedia_bp_enable_activity&&"1"==rtmedia_bp_enable_activity&&jQuery("#whats-new-textarea").append("<div id='rtm-drop-files-title'>"+rtmedia_drop_media_msg+"</div>"),jQuery(document).on("dragover",function(a){a.preventDefault(),a.target!=this&&(jQuery("#rtm-media-gallery-uploader").show(),"undefined"!=typeof rtmedia_bp_enable_activity&&"1"==rtmedia_bp_enable_activity&&h.addClass("rtm-drag-drop-active"),g.addClass("rtm-drag-drop-active"),jQuery("#rtm-drop-files-title").show())}).on("dragleave",function(a){if(a.preventDefault(),0!=a.originalEvent.pageX&&0!=a.originalEvent.pageY)return!1;"undefined"!=typeof rtmedia_bp_enable_activity&&"1"==rtmedia_bp_enable_activity&&(h.removeClass("rtm-drag-drop-active"),h.removeAttr("style")),g.removeClass("rtm-drag-drop-active"),jQuery("#rtm-drop-files-title").hide()}).on("drop",function(a){a.preventDefault(),jQuery(".bp-suggestions").focus(),"undefined"!=typeof rtmedia_bp_enable_activity&&"1"==rtmedia_bp_enable_activity&&(h.removeClass("rtm-drag-drop-active"),h.removeAttr("style")),g.removeClass("rtm-drag-drop-active"),jQuery("#rtm-drop-files-title").hide()}),jQuery(".rtmedia-container").on("click",".rtmedia-delete-album",function(a){a.preventDefault(),confirm(rtmedia_album_delete_confirmation)&&jQuery(this).closest("form").submit()}),jQuery(".rtmedia-container").on("click",".rtmedia-delete-media",function(a){a.preventDefault(),confirm(rtmedia_media_delete_confirmation)&&jQuery(this).closest("form").submit()}),rtmedia_init_action_dropdown(""),a(document).click(function(){a(".click-nav ul").is(":visible")&&a(".click-nav ul",this).hide()}),jQuery(".rtmedia-comment-link").on("click",function(a){a.preventDefault(),jQuery("#comment_content").focus()}),jQuery(".rtm-more").length>0&&a(".rtm-more").shorten({showChars:200}),"undefined"!=typeof rtmedia_masonry_layout&&"true"==rtmedia_masonry_layout&&"undefined"!=typeof rtmedia_masonry_layout_activity&&"true"==rtmedia_masonry_layout_activity&&rtmedia_activity_masonry(),jQuery(document).ajaxComplete(function(a,b,c){var d=get_parameter("action",c.data);"post_update"!==d&&"get_single_activity_content"!==d&&"activity_get_older_updates"!==d||"undefined"==typeof rtmedia_masonry_layout||"true"!=rtmedia_masonry_layout||"undefined"==typeof rtmedia_masonry_layout_activity||"true"!=rtmedia_masonry_layout_activity||rtmedia_activity_masonry()}),"undefined"!=typeof rtmedia_masonry_layout&&"true"==rtmedia_masonry_layout&&0==jQuery(".rtmedia-container .rtmedia-list.rtm-no-masonry").length&&(rtm_masonry_container=jQuery(".rtmedia-container .rtmedia-list"),rtm_masonry_container.masonry({itemSelector:".rtmedia-list-item"}),setInterval(function(){jQuery.each(jQuery(".rtmedia-list.masonry .rtmedia-item-title"),function(a,b){jQuery(b).width(jQuery(b).siblings(".rtmedia-item-thumbnail").children("img").width())}),rtm_masonry_reload(rtm_masonry_container)},1e3),jQuery.each(jQuery(".rtmedia-list.masonry .rtmedia-item-title"),function(a,b){jQuery(b).width(jQuery(b).siblings(".rtmedia-item-thumbnail").children("img").width())})),jQuery(".rtm-uploader-tabs").length>0&&jQuery(".rtm-uploader-tabs li").click(function(a){jQuery(this).hasClass("active")||(jQuery(this).siblings().removeClass("active"),jQuery(this).parents(".rtm-uploader-tabs").siblings().hide(),class_name=jQuery(this).attr("class"),jQuery(this).parents(".rtm-uploader-tabs").siblings('[data-id="'+class_name+'"]').show(),jQuery(this).addClass("active"),"rtm-upload-tab"!=class_name?jQuery("div.moxie-shim").hide():jQuery("div.moxie-shim").show())}),jQuery(".rtmedia-container").on("click",".rtm-delete-media",function(a){a.preventDefault();var b="Are you sure you want to delete this media?";if("undefined"!=typeof rtmedia_media_delete_confirmation&&(b=rtmedia_media_delete_confirmation),confirm(b)){var c=jQuery(this).closest("li"),d=jQuery("#rtmedia_media_delete_nonce").val(),e={action:"delete_uploaded_media",nonce:d,media_id:c.attr("id")};jQuery.ajax({url:ajaxurl,type:"post",data:e,success:function(a){"1"==a?(rtmedia_gallery_action_alert_message(rtmedia_main_js_strings.file_delete_success,"success"),c.remove(),"undefined"!=typeof rtmedia_masonry_layout&&"true"==rtmedia_masonry_layout&&0==jQuery(".rtmedia-container .rtmedia-list.rtm-no-masonry").length&&rtm_masonry_reload(rtm_masonry_container)):rtmedia_gallery_action_alert_message(rtmedia_file_not_deleted,"warning")}})}})}),function(a){a.fn.shorten=function(b){"use strict";var c={showChars:100,minHideChars:10,ellipsesText:"...",moreText:rtmedia_read_more,lessText:rtmedia__show_less,onLess:function(){},onMore:function(){},errMsg:null,force:!1};return b&&a.extend(c,b),!(a(this).data("jquery.shorten")&&!c.force)&&(a(this).data("jquery.shorten",!0),a(document).off("click",".morelink"),a(document).on({click:function(){var b=a(this);return b.hasClass("less")?(b.removeClass("less"),b.html(c.moreText),b.parent().prev().hide(0,function(){b.parent().prev().prev().show()}).hide(0,function(){c.onLess()})):(b.addClass("less"),b.html(c.lessText),b.parent().prev().show(0,function(){b.parent().prev().prev().hide()}).show(0,function(){c.onMore()})),!1}},".morelink"),this.each(function(){var b=a(this),d=b.html();if(b.text().length>c.showChars+c.minHideChars){var e=d.substr(0,c.showChars);if(e.indexOf("<")>=0){for(var f=!1,g="",h=0,i=[],k=null,l=0,m=0;m<=c.showChars;l++)if("<"!=d[l]||f||(f=!0,k=d.substring(l+1,d.indexOf(">",l)),"/"==k[0]?k!="/"+i[0]?c.errMsg="ERROR en HTML: the top of the stack should be the tag that closes":i.shift():"br"!=k.toLowerCase()&&i.unshift(k)),f&&">"==d[l]&&(f=!1),f)g+=d.charAt(l);else if(m++,h<=c.showChars)g+=d.charAt(l),h++;else if(i.length>0){for(j=0;j<i.length;j++)g+="</"+i[j]+">";break}e=a("<div/>").html(g+'<span class="ellip">'+c.ellipsesText+"</span>").html()}else e+=c.ellipsesText;var n='<div class="shortcontent">'+e+'</div><div class="allcontent">'+d+'</div><span><a href="javascript://nop/" class="morelink">'+c.moreText+"</a></span>";b.html(n),b.find(".allcontent").hide(),a(".shortcontent p:last",b).css("margin-bottom",0)}}))}}(jQuery),window.onload=function(){"undefined"!=typeof rtmedia_masonry_layout&&"true"==rtmedia_masonry_layout&&0==jQuery(".rtmedia-container .rtmedia-list.rtm-no-masonry").length&&rtm_masonry_reload(rtm_masonry_container),rtm_search_media_text_validation(),check_condition("search")&&jQuery("#media_search_remove").show()};
|
3 |
* @package rtMedia
|
4 |
*/
|
5 |
|
6 |
+
function apply_rtMagnificPopup(a){jQuery("document").ready(function(b){var c="";c="undefined"==typeof rtmedia_load_more?"Loading media":rtmedia_load_more,"undefined"!=typeof rtmedia_lightbox_enabled&&"1"==rtmedia_lightbox_enabled&&(b(".activity-item .rtmedia-activity-container .rtmedia-list-item > a").siblings("p").children("a").length>0&&b(".activity-item .rtmedia-activity-container .rtmedia-list-item > a").siblings("p").children("a").addClass("no-popup"),rtMagnificPopup=jQuery(a).magnificPopup({delegate:"a:not(.no-popup, .mejs-time-slider, .mejs-volume-slider, .mejs-horizontal-volume-slider)",type:"ajax",tLoading:c+" #%curr%...",mainClass:"mfp-img-mobile",preload:[1,3],closeOnBgClick:!0,gallery:{enabled:!0,navigateByImgClick:!0,arrowMarkup:"",preload:[0,1]},image:{tError:'<a href="%url%">The image #%curr%</a> could not be loaded.',titleSrc:function(a){return a.el.attr("title")+"<small>by Marsel Van Oosten</small>"}},callbacks:{ajaxContentAdded:function(){a=jQuery.magnificPopup.instance,1===jQuery(a.items).size()&&jQuery(".mfp-arrow").remove();var a=jQuery.magnificPopup.instance,c=a.currItem.el,d=c.parent();if(d.is("li")||(d=d.parent()),(d.is(":nth-last-child(2)")||d.is(":last-child"))&&d.find("a").hasClass("rtmedia-list-item-a")){d.next();"block"==jQuery("#rtMedia-galary-next").css("display")&&jQuery("#rtMedia-galary-next").click()}var e=a.items.length;if(a.index==e-1&&!d.is(":last-child"))return void c.click();var f={};"undefined"!=typeof _wpmejsSettings&&(f.pluginPath=_wpmejsSettings.pluginPath);var g=jQuery(".rtmedia-container .rtmedia-single-meta").height(),h=!1;void 0!==a&&void 0!==a.probablyMobile&&1==a.probablyMobile&&(h=!0),b(".mfp-content .rtmedia-single-media .wp-audio-shortcode,.mfp-content .rtmedia-single-media .wp-video-shortcode,.mfp-content .rtmedia-single-media .bp_media_content video").attr("autoplay",!0),h&&b(".mfp-content .rtmedia-single-media .wp-video-shortcode,.mfp-content .rtmedia-single-media .bp_media_content video").attr("muted",!1),b(".mfp-content .rtmedia-single-media .wp-audio-shortcode,.mfp-content .rtmedia-single-media .wp-video-shortcode,.mfp-content .rtmedia-single-media .bp_media_content video").mediaelementplayer({classPrefix:"mejs-",defaultVideoWidth:480,hideVolumeOnTouchDevices:!1,features:["playpause","progress","current","volume","fullscreen"],defaultVideoHeight:270,alwaysShowControls:h,enableAutosize:!0,clickToPlayPause:!0,videoHeight:-1,success:function(a,c){a.addEventListener("loadeddata",function(c){var d=b(a).height(),e=b(window).height(),f=jQuery("div.rtm-ltb-action-container").height(),f=f+50,h=g-f;d>e&&jQuery(".rtmedia-container #rtmedia-single-media-container .mejs-container").attr("style","height:"+h+"px !important; transition:0.2s")},!1),h&&b(a).hasClass("wp-video-shortcode")?jQuery("body").on("touchstart",".mejs-overlay-button",function(b){a.paused?a.play():a.pause()}):a.play()}}),b(".mfp-content .mejs-audio .mejs-controls").css("position","relative"),rtMediaHook.call("rtmedia_js_popup_after_content_added",[]),"undefined"!=typeof bp&&void 0!==bp.mentions&&void 0!==bp.mentions.users&&(b("#atwho-container #atwho-ground-comment_content").remove(),b("#comment_content").bp_mentions(bp.mentions.users)),rtmedia_reset_video_and_audio_for_popup(),apply_rtMagnificPopup(".rtmedia-list-media.rtm-gallery-list, .rtmedia-activity-container ul.rtmedia-list, #bp-media-list,.bp-media-sc-list, li.media.album_updated ul,ul.bp-media-list-media, li.activity-item div.activity-content div.activity-inner div.bp_media_content, .rtm-bbp-container, ul.rtm-comment-container")},close:function(a){rtmedia_single_page_popup_close()},BeforeChange:function(a){}}})),jQuery(document).ajaxComplete(function(){jQuery("[id^=imgedit-leaving]").filter(function(){var a=jQuery(this).text();jQuery(this).text(a.replace("OK","Save"))})})})}function rtmedia_init_action_dropdown(a){var b,c;jQuery(a+" .click-nav > span,"+a+" .click-nav > div").toggleClass("no-js js"),jQuery(a+" .click-nav .js ul").hide(),jQuery(a+" .click-nav .clicker").click(function(a){b=jQuery("#rtm-media-options .click-nav .clicker").next("ul"),c=jQuery(this).next("ul"),jQuery.each(b,function(a,b){jQuery(b).html()!=c.html()&&jQuery(b).hide()}),jQuery(c).toggle(),a.stopPropagation()})}function bp_media_create_element(a){return!1}function rtmedia_version_compare(a,b){if(typeof a+typeof b!="stringstring")return!1;for(var c=a.split("."),d=b.split("."),e=0,f=Math.max(c.length,d.length);e<f;e++){if(c[e]&&!d[e]&&parseInt(c[e])>0||parseInt(c[e])>parseInt(d[e]))return!0;if(d[e]&&!c[e]&&parseInt(d[e])>0||parseInt(c[e])<parseInt(d[e]))return!1}return!0}function rtm_is_element_exist(a){return jQuery(a).length>0}function rtm_masonry_reload(a){setTimeout(function(){a.masonry("reload")},250)}function rtm_search_media_text_validation(){""===jQuery("#media_search_input").val()?jQuery("#media_search").css("cursor","not-allowed"):jQuery("#media_search").css("cursor","pointer")}function rtmediaGetParameterByName(a){a=a.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var b=new RegExp("[\\?&]"+a+"=([^&#]*)"),c=b.exec(location.search);return null==c?"":decodeURIComponent(c[1].replace(/\+/g," "))}function rtmedia_single_media_alert_message(a,b){var c="rtmedia-success";"warning"==b&&(c="rtmedia-warning"),jQuery(".rtmedia-single-media .rtmedia-media").css("opacity","0.2"),jQuery(".rtmedia-single-media .rtmedia-media").after("<div class='rtmedia-message-container'><span class='"+c+"'>"+a+" </span></div>"),setTimeout(function(){jQuery(".rtmedia-single-media .rtmedia-media").css("opacity","1"),jQuery(".rtmedia-message-container").remove()},3e3),jQuery(".rtmedia-message-container").click(function(){jQuery(".rtmedia-single-media .rtmedia-media").css("opacity","1"),jQuery(".rtmedia-message-container").remove()})}function rtmedia_gallery_action_alert_message(a,b){var c="rtmedia-success";"warning"==b&&(c="rtmedia-warning");jQuery("body").append('<div class="rtmedia-gallery-alert-container"> </div>'),jQuery(".rtmedia-gallery-alert-container").append("<div class='rtmedia-gallery-message-box'><span class='"+c+"'>"+a+" </span></div>"),setTimeout(function(){jQuery(".rtmedia-gallery-alert-container").remove()},3e3),jQuery(".rtmedia-gallery-message-box").click(function(){jQuery(".rtmedia-gallery-alert-container").remove()})}function rtmedia_activity_masonry(){jQuery("#activity-stream .rtmedia-activity-container .rtmedia-list").masonry({itemSelector:".rtmedia-list-item",gutter:7});var a=0,b=setInterval(function(){a+=1,5===a&&clearInterval(b),jQuery.each(jQuery(".rtmedia-activity-container .rtmedia-list.masonry .rtmedia-item-title"),function(a,b){jQuery(b).width(jQuery(b).siblings(".rtmedia-item-thumbnail").children("img").width())}),rtm_masonry_reload(jQuery("#activity-stream .rtmedia-activity-container .rtmedia-list"))},1e3)}function get_parameter(a,b){if(!a)return!1;b||(b=window.location.href);var a=a.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]"),c=a+"=([^&#]*)",d=new RegExp(c),e=d.exec(b);return null!==e&&e[1]}!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports?require("jquery"):window.jQuery||window.Zepto)}(function(a){var b,c,d,e,f,g,h=function(){},i=!!window.jQuery,j=a(window),k=function(a,c){b.ev.on("mfp"+a+".mfp",c)},l=function(b,c,d,e){var f=document.createElement("div");return f.className="mfp-"+b,d&&(f.innerHTML=d),e?c&&c.appendChild(f):(f=a(f),c&&f.appendTo(c)),f},m=function(c,d){b.ev.triggerHandler("mfp"+c,d),b.st.callbacks&&(c=c.charAt(0).toLowerCase()+c.slice(1),b.st.callbacks[c]&&b.st.callbacks[c].apply(b,a.isArray(d)?d:[d]))},n=function(c){return c===g&&b.currTemplate.closeBtn||(b.currTemplate.closeBtn=a(b.st.closeMarkup.replace("%title%",b.st.tClose)),g=c),b.currTemplate.closeBtn},o=function(){a.magnificPopup.instance||(b=new h,b.init(),a.magnificPopup.instance=b)},p=function(){var a=document.createElement("p").style,b=["ms","O","Moz","Webkit"];if(void 0!==a.transition)return!0;for(;b.length;)if(b.pop()+"Transition"in a)return!0;return!1};h.prototype={constructor:h,init:function(){var c=navigator.appVersion;b.isIE7=-1!==c.indexOf("MSIE 7."),b.isIE8=-1!==c.indexOf("MSIE 8."),b.isLowIE=b.isIE7||b.isIE8,b.isAndroid=/android/gi.test(c),b.isIOS=/iphone|ipad|ipod/gi.test(c),b.supportsTransition=p(),b.probablyMobile=b.isAndroid||b.isIOS||/(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test(navigator.userAgent),d=a(document),b.popupsCache={}},open:function(c){var e;if(!1===c.isObj){b.items=c.items.toArray(),b.index=0;var g,h=c.items;for(e=0;e<h.length;e++)if(g=h[e],g.parsed&&(g=g.el[0]),g===c.el[0]){b.index=e;break}}else b.items=a.isArray(c.items)?c.items:[c.items],b.index=c.index||0;if(b.isOpen)return void b.updateItemHTML();b.types=[],f="",c.mainEl&&c.mainEl.length?b.ev=c.mainEl.eq(0):b.ev=d,c.key?(b.popupsCache[c.key]||(b.popupsCache[c.key]={}),b.currTemplate=b.popupsCache[c.key]):b.currTemplate={},b.st=a.extend(!0,{},a.magnificPopup.defaults,c),b.fixedContentPos="auto"===b.st.fixedContentPos?!b.probablyMobile:b.st.fixedContentPos,b.st.modal&&(b.st.closeOnContentClick=!1,b.st.closeOnBgClick=!1,b.st.showCloseBtn=!1,b.st.enableEscapeKey=!1),b.bgOverlay||(b.bgOverlay=l("bg").on("click.mfp",function(){b.close()}),b.wrap=l("wrap").attr("tabindex",-1).on("click.mfp",function(a){b._checkIfClose(a.target)&&b.close()}),b.container=l("container",b.wrap)),b.contentContainer=l("content"),b.st.preloader&&(b.preloader=l("preloader",b.container,b.st.tLoading));var i=a.magnificPopup.modules;for(e=0;e<i.length;e++){var o=i[e];o=o.charAt(0).toUpperCase()+o.slice(1),b["init"+o].call(b)}m("BeforeOpen"),b.st.showCloseBtn&&(b.st.closeBtnInside?(k("MarkupParse",function(a,b,c,d){c.close_replaceWith=n(d.type)}),f+=" mfp-close-btn-in"):b.wrap.append(n())),b.st.alignTop&&(f+=" mfp-align-top"),b.fixedContentPos?b.wrap.css({overflow:b.st.overflowY,overflowX:"hidden",overflowY:b.st.overflowY}):b.wrap.css({top:j.scrollTop(),position:"absolute"}),(!1===b.st.fixedBgPos||"auto"===b.st.fixedBgPos&&!b.fixedContentPos)&&b.bgOverlay.css({height:d.height(),position:"absolute"}),b.st.enableEscapeKey&&d.on("keyup.mfp",function(a){27===a.keyCode&&b.close()}),j.on("resize.mfp",function(){b.updateSize()}),b.st.closeOnContentClick||(f+=" mfp-auto-cursor"),f&&b.wrap.addClass(f);var p=b.wH=j.height(),q={};if(b.fixedContentPos&&b._hasScrollBar(p)){var r=b._getScrollbarSize();r&&(q.marginRight=r)}b.fixedContentPos&&(b.isIE7?a("body, html").css("overflow","hidden"):q.overflow="hidden");var s=b.st.mainClass;return b.isIE7&&(s+=" mfp-ie7"),s&&b._addClassToMFP(s),b.updateItemHTML(),m("BuildControls"),a("html").css(q),b.bgOverlay.add(b.wrap).prependTo(b.st.prependTo||a(document.body)),b._lastFocusedEl=document.activeElement,setTimeout(function(){b.content?(b._addClassToMFP("mfp-ready"),b._setFocus()):b.bgOverlay.addClass("mfp-ready"),d.on("focusin.mfp",b._onFocusIn)},16),b.isOpen=!0,b.updateSize(p),m("Open"),c},close:function(){b.isOpen&&(m("BeforeClose"),b.isOpen=!1,b.st.removalDelay&&!b.isLowIE&&b.supportsTransition?(b._addClassToMFP("mfp-removing"),setTimeout(function(){b._close()},b.st.removalDelay)):b._close())},_close:function(){m("Close");var c="mfp-removing mfp-ready ";if(b.bgOverlay.detach(),b.wrap.detach(),b.container.empty(),b.st.mainClass&&(c+=b.st.mainClass+" "),b._removeClassFromMFP(c),b.fixedContentPos){var e={marginRight:""};b.isIE7?a("body, html").css("overflow",""):e.overflow="",a("html").css(e)}d.off("keyup.mfp focusin.mfp"),b.ev.off(".mfp"),b.wrap.attr("class","mfp-wrap").removeAttr("style"),b.bgOverlay.attr("class","mfp-bg"),b.container.attr("class","mfp-container"),!b.st.showCloseBtn||b.st.closeBtnInside&&!0!==b.currTemplate[b.currItem.type]||b.currTemplate.closeBtn&&b.currTemplate.closeBtn.detach(),b._lastFocusedEl&&a(b._lastFocusedEl).focus(),b.currItem=null,b.content=null,b.currTemplate=null,b.prevHeight=0,m("AfterClose")},updateSize:function(a){if(b.isIOS){var c=document.documentElement.clientWidth/window.innerWidth,d=window.innerHeight*c;b.wrap.css("height",d),b.wH=d}else b.wH=a||j.height();b.fixedContentPos||b.wrap.css("height",b.wH),m("Resize")},updateItemHTML:function(){var c=b.items[b.index];b.contentContainer.detach(),b.content&&b.content.detach(),c.parsed||(c=b.parseEl(b.index));var d=c.type;if(m("BeforeChange",[b.currItem?b.currItem.type:"",d]),b.currItem=c,!b.currTemplate[d]){var f=!!b.st[d]&&b.st[d].markup;m("FirstMarkupParse",f),b.currTemplate[d]=!f||a(f)}e&&e!==c.type&&b.container.removeClass("mfp-"+e+"-holder");var g=b["get"+d.charAt(0).toUpperCase()+d.slice(1)](c,b.currTemplate[d]);b.appendContent(g,d),c.preloaded=!0,m("Change",c),e=c.type,b.container.prepend(b.contentContainer),m("AfterChange")},appendContent:function(a,c){b.content=a,a?b.st.showCloseBtn&&b.st.closeBtnInside&&!0===b.currTemplate[c]?b.content.find(".mfp-close").length||b.content.append(n()):b.content=a:b.content="",m("BeforeAppend"),b.container.addClass("mfp-"+c+"-holder"),b.contentContainer.append(b.content)},parseEl:function(c){var d,e=b.items[c];if(e.tagName?e={el:a(e)}:(d=e.type,e={data:e,src:e.src}),e.el){for(var f=b.types,g=0;g<f.length;g++)if(e.el.hasClass("mfp-"+f[g])){d=f[g];break}e.src=e.el.attr("data-mfp-src"),e.src||(e.src=e.el.attr("href"))}return e.type=d||b.st.type||"inline",e.index=c,e.parsed=!0,b.items[c]=e,m("ElementParse",e),b.items[c]},addGroup:function(a,c){var d=function(d){d.mfpEl=this,b._openClick(d,a,c)};c||(c={});var e="click.magnificPopup";c.mainEl=a,c.items?(c.isObj=!0,a.off(e).on(e,d)):(c.isObj=!1,c.delegate?a.off(e).on(e,c.delegate,d):(c.items=a,a.off(e).on(e,d)))},_openClick:function(c,d,e){if((void 0!==e.midClick?e.midClick:a.magnificPopup.defaults.midClick)||2!==c.which&&!c.ctrlKey&&!c.metaKey){var f=void 0!==e.disableOn?e.disableOn:a.magnificPopup.defaults.disableOn;if(f)if(a.isFunction(f)){if(!f.call(b))return!0}else if(j.width()<f)return!0;c.type&&(c.preventDefault(),b.isOpen&&c.stopPropagation()),e.el=a(c.mfpEl),e.delegate&&(e.items=d.find(e.delegate)),b.open(e)}},updateStatus:function(a,d){if(b.preloader){c!==a&&b.container.removeClass("mfp-s-"+c),d||"loading"!==a||(d=b.st.tLoading);var e={status:a,text:d};m("UpdateStatus",e),a=e.status,d=e.text,b.preloader.html(d),b.preloader.find("a").on("click",function(a){a.stopImmediatePropagation()}),b.container.addClass("mfp-s-"+a),c=a}},_checkIfClose:function(c){if(!a(c).hasClass("mfp-prevent-close")){var d=b.st.closeOnContentClick,e=b.st.closeOnBgClick;if(d&&e)return!0;if(!b.content||a(c).hasClass("mfp-close")||b.preloader&&c===b.preloader[0])return!0;if(c===b.content[0]||a.contains(b.content[0],c)){if(d)return!0}else if(e&&a.contains(document,c))return!0;return!1}},_addClassToMFP:function(a){b.bgOverlay.addClass(a),b.wrap.addClass(a)},_removeClassFromMFP:function(a){this.bgOverlay.removeClass(a),b.wrap.removeClass(a)},_hasScrollBar:function(a){return(b.isIE7?d.height():document.body.scrollHeight)>(a||j.height())},_setFocus:function(){(b.st.focus?b.content.find(b.st.focus).eq(0):b.wrap).focus()},_onFocusIn:function(c){if(c.target!==b.wrap[0]&&!a.contains(b.wrap[0],c.target))return b._setFocus(),!1},_parseMarkup:function(b,c,d){var e;d.data&&(c=a.extend(d.data,c)),m("MarkupParse",[b,c,d]),a.each(c,function(a,c){if(void 0===c||!1===c)return!0;if(e=a.split("_"),e.length>1){var d=b.find(".mfp-"+e[0]);if(d.length>0){var f=e[1];"replaceWith"===f?d[0]!==c[0]&&d.replaceWith(c):"img"===f?d.is("img")?d.attr("src",c):d.replaceWith('<img src="'+c+'" class="'+d.attr("class")+'" />'):d.attr(e[1],c)}}else b.find(".mfp-"+a).html(c)})},_getScrollbarSize:function(){if(void 0===b.scrollbarSize){var a=document.createElement("div");a.style.cssText="width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;",document.body.appendChild(a),b.scrollbarSize=a.offsetWidth-a.clientWidth,document.body.removeChild(a)}return b.scrollbarSize}},a.magnificPopup={instance:null,proto:h.prototype,modules:[],open:function(b,c){return o(),b=b?a.extend(!0,{},b):{},b.isObj=!0,b.index=c||0,this.instance.open(b)},close:function(){return a.magnificPopup.instance&&a.magnificPopup.instance.close()},registerModule:function(b,c){c.options&&(a.magnificPopup.defaults[b]=c.options),a.extend(this.proto,c.proto),this.modules.push(b)},defaults:{disableOn:0,key:null,midClick:!1,mainClass:"",preloader:!0,focus:"",closeOnContentClick:!1,closeOnBgClick:!0,closeBtnInside:!0,showCloseBtn:!0,enableEscapeKey:!0,modal:!1,alignTop:!1,removalDelay:0,prependTo:null,fixedContentPos:"auto",fixedBgPos:"auto",overflowY:"auto",closeMarkup:'<button title="%title%" type="button" class="mfp-close">×</button>',tClose:"Close (Esc)",tLoading:"Loading..."}},a.fn.magnificPopup=function(c){o();var d=a(this);if("string"==typeof c)if("open"===c){var e,f=i?d.data("magnificPopup"):d[0].magnificPopup,g=parseInt(arguments[1],10)||0;f.items?e=f.items[g]:(e=d,f.delegate&&(e=e.find(f.delegate)),e=e.eq(g)),b._openClick({mfpEl:e},d,f)}else b.isOpen&&b[c].apply(b,Array.prototype.slice.call(arguments,1));else c=a.extend(!0,{},c),i?d.data("magnificPopup",c):d[0].magnificPopup=c,b.addGroup(d,c);return d};var q,r,s,t=function(){s&&(r.after(s.addClass(q)).detach(),s=null)};a.magnificPopup.registerModule("inline",{options:{hiddenClass:"hide",markup:"",tNotFound:"Content not found"},proto:{initInline:function(){b.types.push("inline"),k("Close.inline",function(){t()})},getInline:function(c,d){if(t(),c.src){var e=b.st.inline,f=a(c.src);if(f.length){var g=f[0].parentNode;g&&g.tagName&&(r||(q=e.hiddenClass,r=l(q),q="mfp-"+q),s=f.after(r).detach().removeClass(q)),b.updateStatus("ready")}else b.updateStatus("error",e.tNotFound),f=a("<div>");return c.inlineElement=f,f}return b.updateStatus("ready"),b._parseMarkup(d,{},c),d}}});var u,v=function(){u&&a(document.body).removeClass(u)},w=function(){v(),b.req&&b.req.abort()};a.magnificPopup.registerModule("ajax",{options:{settings:null,cursor:"mfp-ajax-cur",tError:'<a href="%url%">The content</a> could not be loaded.'},proto:{initAjax:function(){b.types.push("ajax"),u=b.st.ajax.cursor,k("Close.ajax",w),k("BeforeChange.ajax",w)},getAjax:function(c){u&&a(document.body).addClass(u),b.updateStatus("loading");var d=a.extend({url:c.src,success:function(d,e,f){var g={data:d,xhr:f};m("ParseAjax",g),b.appendContent(a(g.data),"ajax"),c.finished=!0,v(),b._setFocus(),setTimeout(function(){b.wrap.addClass("mfp-ready")},16),b.updateStatus("ready"),m("AjaxContentAdded")},error:function(){v(),c.finished=c.loadError=!0,b.updateStatus("error",b.st.ajax.tError.replace("%url%",c.src))}},b.st.ajax.settings);return b.req=a.ajax(d),""}}});var x,y=function(c){if(c.data&&void 0!==c.data.title)return c.data.title;var d=b.st.image.titleSrc;if(d){if(a.isFunction(d))return d.call(b,c);if(c.el)return c.el.attr(d)||""}return""};a.magnificPopup.registerModule("image",{options:{markup:'<div class="mfp-figure"><div class="mfp-close"></div><figure><div class="mfp-img"></div><figcaption><div class="mfp-bottom-bar"><div class="mfp-title"></div><div class="mfp-counter"></div></div></figcaption></figure></div>',cursor:"mfp-zoom-out-cur",titleSrc:"title",verticalFit:!0,tError:'<a href="%url%">The image</a> could not be loaded.'},proto:{initImage:function(){var c=b.st.image,d=".image";b.types.push("image"),k("Open"+d,function(){"image"===b.currItem.type&&c.cursor&&a(document.body).addClass(c.cursor)}),k("Close"+d,function(){c.cursor&&a(document.body).removeClass(c.cursor),j.off("resize.mfp")}),k("Resize"+d,b.resizeImage),b.isLowIE&&k("AfterChange",b.resizeImage)},resizeImage:function(){var a=b.currItem;if(a&&a.img&&b.st.image.verticalFit){var c=0;b.isLowIE&&(c=parseInt(a.img.css("padding-top"),10)+parseInt(a.img.css("padding-bottom"),10)),a.img.css("max-height",b.wH-c)}},_onImageHasSize:function(a){a.img&&(a.hasSize=!0,x&&clearInterval(x),a.isCheckingImgSize=!1,m("ImageHasSize",a),a.imgHidden&&(b.content&&b.content.removeClass("mfp-loading"),a.imgHidden=!1))},findImageSize:function(a){var c=0,d=a.img[0],e=function(f){x&&clearInterval(x),x=setInterval(function(){if(d.naturalWidth>0)return void b._onImageHasSize(a);c>200&&clearInterval(x),c++,3===c?e(10):40===c?e(50):100===c&&e(500)},f)};e(1)},getImage:function(c,d){var e=0,f=function(){c&&(c.img[0].complete?(c.img.off(".mfploader"),c===b.currItem&&(b._onImageHasSize(c),b.updateStatus("ready")),c.hasSize=!0,c.loaded=!0,m("ImageLoadComplete")):(e++,e<200?setTimeout(f,100):g()))},g=function(){c&&(c.img.off(".mfploader"),c===b.currItem&&(b._onImageHasSize(c),b.updateStatus("error",h.tError.replace("%url%",c.src))),c.hasSize=!0,c.loaded=!0,c.loadError=!0)},h=b.st.image,i=d.find(".mfp-img");if(i.length){var j=document.createElement("img");j.className="mfp-img",c.el&&c.el.find("img").length&&(j.alt=c.el.find("img").attr("alt")),c.img=a(j).on("load.mfploader",f).on("error.mfploader",g),j.src=c.src,i.is("img")&&(c.img=c.img.clone()),j=c.img[0],j.naturalWidth>0?c.hasSize=!0:j.width||(c.hasSize=!1)}return b._parseMarkup(d,{title:y(c),img_replaceWith:c.img},c),b.resizeImage(),c.hasSize?(x&&clearInterval(x),c.loadError?(d.addClass("mfp-loading"),b.updateStatus("error",h.tError.replace("%url%",c.src))):(d.removeClass("mfp-loading"),b.updateStatus("ready")),d):(b.updateStatus("loading"),c.loading=!0,c.hasSize||(c.imgHidden=!0,d.addClass("mfp-loading"),b.findImageSize(c)),d)}}});var z,A=function(){return void 0===z&&(z=void 0!==document.createElement("p").style.MozTransform),z};a.magnificPopup.registerModule("zoom",{options:{enabled:!1,easing:"ease-in-out",duration:300,opener:function(a){return a.is("img")?a:a.find("img")}},proto:{initZoom:function(){var a,c=b.st.zoom,d=".zoom";if(c.enabled&&b.supportsTransition){var e,f,g=c.duration,h=function(a){var b=a.clone().removeAttr("style").removeAttr("class").addClass("mfp-animated-image"),d="all "+c.duration/1e3+"s "+c.easing,e={position:"fixed",zIndex:9999,left:0,top:0,"-webkit-backface-visibility":"hidden"},f="transition";return e["-webkit-"+f]=e["-moz-"+f]=e["-o-"+f]=e[f]=d,b.css(e),b},i=function(){b.content.css("visibility","visible")};k("BuildControls"+d,function(){if(b._allowZoom()){if(clearTimeout(e),b.content.css("visibility","hidden"),!(a=b._getItemToZoom()))return void i();f=h(a),f.css(b._getOffset()),b.wrap.append(f),e=setTimeout(function(){f.css(b._getOffset(!0)),e=setTimeout(function(){i(),setTimeout(function(){f.remove(),a=f=null,m("ZoomAnimationEnded")},16)},g)},16)}}),k("BeforeClose"+d,function(){if(b._allowZoom()){if(clearTimeout(e),b.st.removalDelay=g,!a){if(!(a=b._getItemToZoom()))return;f=h(a)}f.css(b._getOffset(!0)),b.wrap.append(f),b.content.css("visibility","hidden"),setTimeout(function(){f.css(b._getOffset())},16)}}),k("Close"+d,function(){b._allowZoom()&&(i(),f&&f.remove(),a=null)})}},_allowZoom:function(){return"image"===b.currItem.type},_getItemToZoom:function(){return!!b.currItem.hasSize&&b.currItem.img},_getOffset:function(c){var d;d=c?b.currItem.img:b.st.zoom.opener(b.currItem.el||b.currItem);var e=d.offset(),f=parseInt(d.css("padding-top"),10),g=parseInt(d.css("padding-bottom"),10);e.top-=a(window).scrollTop()-f;var h={width:d.width(),height:(i?d.innerHeight():d[0].offsetHeight)-g-f};return A()?h["-moz-transform"]=h.transform="translate("+e.left+"px,"+e.top+"px)":(h.left=e.left,h.top=e.top),h}}});var B=function(a){if(b.currTemplate.iframe){var c=b.currTemplate.iframe.find("iframe");c.length&&(a||(c[0].src="//about:blank"),b.isIE8&&c.css("display",a?"block":"none"))}};a.magnificPopup.registerModule("iframe",{options:{markup:'<div class="mfp-iframe-scaler"><div class="mfp-close"></div><iframe class="mfp-iframe" src="//about:blank" frameborder="0" allowfullscreen></iframe></div>',srcAction:"iframe_src",patterns:{youtube:{index:"youtube.com",id:"v=",src:"//www.youtube.com/embed/%id%?autoplay=1"},vimeo:{index:"vimeo.com/",id:"/",src:"//player.vimeo.com/video/%id%?autoplay=1"},gmaps:{index:"//maps.google.",src:"%id%&output=embed"}}},proto:{initIframe:function(){b.types.push("iframe"),k("BeforeChange",function(a,b,c){b!==c&&("iframe"===b?B():"iframe"===c&&B(!0))}),k("Close.iframe",function(){B()})},getIframe:function(c,d){var e=c.src,f=b.st.iframe;a.each(f.patterns,function(){if(e.indexOf(this.index)>-1)return this.id&&(e="string"==typeof this.id?e.substr(e.lastIndexOf(this.id)+this.id.length,e.length):this.id.call(this,e)),e=this.src.replace("%id%",e),!1});var g={};return f.srcAction&&(g[f.srcAction]=e),b._parseMarkup(d,g,c),b.updateStatus("ready"),d}}});var C=function(a){var c=b.items.length;return a>c-1?a-c:a<0?c+a:a},D=function(a,b,c){return a.replace(/%curr%/gi,b+1).replace(/%total%/gi,c)};a.magnificPopup.registerModule("gallery",{options:{enabled:!1,arrowMarkup:'<button title="%title%" type="button" class="mfp-arrow mfp-arrow-%dir%"></button>',preload:[0,2],navigateByImgClick:!0,arrows:!0,tPrev:"Previous (Left arrow key)",tNext:"Next (Right arrow key)",tCounter:"%curr% of %total%"},proto:{initGallery:function(){var c=b.st.gallery,e=".mfp-gallery",g=Boolean(a.fn.mfpFastClick);if(b.direction=!0,!c||!c.enabled)return!1;f+=" mfp-gallery",k("Open"+e,function(){c.navigateByImgClick&&b.wrap.on("click"+e,".mfp-img",function(){if(b.items.length>1)return b.next(),!1}),d.on("keydown"+e,function(a){37===a.keyCode?b.prev():39===a.keyCode&&b.next()})}),k("UpdateStatus"+e,function(a,c){c.text&&(c.text=D(c.text,b.currItem.index,b.items.length))}),k("MarkupParse"+e,function(a,d,e,f){var g=b.items.length;e.counter=g>1?D(c.tCounter,f.index,g):""}),k("BuildControls"+e,function(){if(b.items.length>1&&c.arrows&&!b.arrowLeft){var d=c.arrowMarkup,e=b.arrowLeft=a(d.replace(/%title%/gi,c.tPrev).replace(/%dir%/gi,"left")).addClass("mfp-prevent-close"),f=b.arrowRight=a(d.replace(/%title%/gi,c.tNext).replace(/%dir%/gi,"right")).addClass("mfp-prevent-close"),h=g?"mfpFastClick":"click";e[h](function(){b.prev()}),f[h](function(){b.next()}),b.isIE7&&(l("b",e[0],!1,!0),l("a",e[0],!1,!0),l("b",f[0],!1,!0),l("a",f[0],!1,!0)),b.container.append(e.add(f))}}),k("Change"+e,function(){b._preloadTimeout&&clearTimeout(b._preloadTimeout),b._preloadTimeout=setTimeout(function(){b.preloadNearbyImages(),b._preloadTimeout=null},16)}),k("Close"+e,function(){d.off(e),b.wrap.off("click"+e),b.arrowLeft&&g&&b.arrowLeft.add(b.arrowRight).destroyMfpFastClick(),b.arrowRight=b.arrowLeft=null})},next:function(){b.direction=!0,b.index=C(b.index+1),b.updateItemHTML()},prev:function(){b.direction=!1,b.index=C(b.index-1),b.updateItemHTML()},goTo:function(a){b.direction=a>=b.index,b.index=a,b.updateItemHTML()},preloadNearbyImages:function(){var a,c=b.st.gallery.preload,d=Math.min(c[0],b.items.length),e=Math.min(c[1],b.items.length);for(a=1;a<=(b.direction?e:d);a++)b._preloadItem(b.index+a);for(a=1;a<=(b.direction?d:e);a++)b._preloadItem(b.index-a)},_preloadItem:function(c){if(c=C(c),!b.items[c].preloaded){var d=b.items[c];d.parsed||(d=b.parseEl(c)),m("LazyLoad",d),"image"===d.type&&(d.img=a('<img class="mfp-img" />').on("load.mfploader",function(){d.hasSize=!0}).on("error.mfploader",function(){d.hasSize=!0,d.loadError=!0,m("LazyLoadError",d)}).attr("src",d.src)),d.preloaded=!0}}}});a.magnificPopup.registerModule("retina",{options:{replaceSrc:function(a){return a.src.replace(/\.\w+$/,function(a){return"@2x"+a})},ratio:1},proto:{initRetina:function(){if(window.devicePixelRatio>1){var a=b.st.retina,c=a.ratio;c=isNaN(c)?c():c,c>1&&(k("ImageHasSize.retina",function(a,b){b.img.css({"max-width":b.img[0].naturalWidth/c,width:"100%"})}),k("ElementParse.retina",function(b,d){d.src=a.replaceSrc(d,c)}))}}}}),function(){var b="ontouchstart"in window,c=function(){j.off("touchmove"+d+" touchend"+d)},d=".mfpFastClick";a.fn.mfpFastClick=function(e){return a(this).each(function(){var f,g=a(this);if(b){var h,i,k,l,m,n;g.on("touchstart"+d,function(a){l=!1,n=1,m=a.originalEvent?a.originalEvent.touches[0]:a.touches[0],i=m.clientX,k=m.clientY,j.on("touchmove"+d,function(a){m=a.originalEvent?a.originalEvent.touches:a.touches,n=m.length,m=m[0],(Math.abs(m.clientX-i)>10||Math.abs(m.clientY-k)>10)&&(l=!0,c())}).on("touchend"+d,function(a){c(),l||n>1||(f=!0,a.preventDefault(),clearTimeout(h),h=setTimeout(function(){f=!1},1e3),e())})})}g.on("click"+d,function(){f||e()})})},a.fn.destroyMfpFastClick=function(){a(this).off("touchstart"+d+" click"+d),b&&j.off("touchmove"+d+" touchend"+d)}}(),o()}),"function"!=typeof Object.create&&(Object.create=function(a){function b(){}return b.prototype=a,new b}),function(a,b,c,d){var e={init:function(b,c){var d=this;d.elem=c,d.$elem=a(c),d.options=a.extend({},a.fn.rtTab.options,b),d.rtTabs()},rtTabs:function(){var c=this,d=c.options.activeTab;if(c.$elem.find("li:nth-child("+d+")").addClass("active"),c.rtTabContent(activeTabContent="yes"),c.rtClick(),!0==("false"!==c.$elem.attr("data-hash"))){var e=b.location.hash;e&&c.$elem.find("li").find('a[href="'+e+'"]').trigger("click"),a(b).on("hashchange",function(){var a=b.location.hash;c.$elem.find("li").find('a[href="'+a+'"]').trigger("click")})}},rtClick:function(){var c=this,d=c.$elem.find("li");d.find("a").on("click",function(e){e.preventDefault(),d.removeClass("active"),c.rtTabContent(),a(this).parent().addClass("active");var f=a(this).attr("href");if(a(f).removeClass("hide"),1==("false"!==c.$elem.attr("data-hash"))){var g=a(b).scrollTop();location.hash=a(this).attr("href"),a(b).scrollTop(g)}"function"==typeof c.options.onComplete&&c.options.onComplete.apply(c.elem,arguments)})},rtTabContent:function(b){this.$elem.find("li").find("a").each(function(){var c=a(this),d=c.attr("href");"yes"===b?c.parent().hasClass("active")||a(d).addClass("hide"):a(d).addClass("hide")})}};a.fn.rtTab=function(b){return this.each(function(){var c=Object.create(e);c.init(b,this),a.data(this,"rtTab",c)})},a.fn.rtTab.options={activeTab:1,onComplete:null}}(jQuery,window,document);var rtMagnificPopup,rtm_masonry_container,comment_media=!1,rtMediaHook={hooks:[],is_break:!1,register:function(a,b){void 0===rtMediaHook.hooks[a]&&(rtMediaHook.hooks[a]=[]),rtMediaHook.hooks[a].push(b)},call:function(a,arguments){if(void 0!==rtMediaHook.hooks[a])for(i=0;i<rtMediaHook.hooks[a].length;++i)if(1!=rtMediaHook.hooks[a][i](arguments))return rtMediaHook.is_break=!0,!1;return!0}};jQuery("document").ready(function(a){function b(){if(jQuery("#rtmedia-media-view-form").length>0){var a=jQuery("#rtmedia-media-view-form").attr("action");jQuery.post(a,{},function(a){})}}function c(){var a=jQuery.magnificPopup.instance;jQuery(".mfp-arrow-right").on("click",function(b){a.next()}),jQuery(".mfp-arrow-left").on("click",function(b){a.prev()}),jQuery(".mfp-content .rtmedia-media").swipe({swipeLeft:function(b,c,d,e,f){a.next()},swipeRight:function(b,c,d,e,f){a.prev()},threshold:0})}function d(){jQuery(".mfp-arrow-right").hide(),jQuery(".mfp-arrow-left").hide(),jQuery(document).unbind("keydown")}function e(){rtmedia_disable_popup_navigation("#comment_content")}function f(){jQuery(".rtmedia-container").on("click",".rtmedia-delete-media",function(a){a.preventDefault(),confirm(rtmedia_media_delete_confirmation)&&jQuery(this).closest("form").submit()})}jQuery(".rtmedia-uploader-div").css({opacity:"1",display:"block",visibility:"visible"}),jQuery(" #whats-new-options ").css({opacity:"1"}),void 0!==a.fn.rtTab&&a(".rtm-tabs").rtTab(),jQuery(".rtmedia-modal-link").length>0&&a(".rtmedia-modal-link").magnificPopup({type:"inline",midClick:!0,closeBtnInside:!0}),a("#rt_media_comment_form").submit(function(b){return""!=a.trim(a("#comment_content").val())||(0==jQuery("#rtmedia-single-media-container").length?rtmedia_gallery_action_alert_message(rtmedia_empty_comment_msg,"warning"):rtmedia_single_media_alert_message(rtmedia_empty_comment_msg,"warning"),!1)}),a("li.rtmedia-list-item p a").each(function(b){a(this).addClass("no-popup")}),a("li.rtmedia-list-item p a").each(function(b){a(this).addClass("no-popup")}),
|
7 |
+
"undefined"!=typeof rtmedia_lightbox_enabled&&"1"==rtmedia_lightbox_enabled&&apply_rtMagnificPopup(".rtmedia-list-media.rtm-gallery-list, .rtmedia-activity-container ul.rtmedia-list, #bp-media-list,.bp-media-sc-list, li.media.album_updated ul,ul.bp-media-list-media, li.activity-item div.activity-content div.activity-inner div.bp_media_content, .rtm-bbp-container, ul.rtm-comment-container"),jQuery.ajaxPrefilter(function(a,b,c){try{if(null==b.data||void 0===b.data||void 0===b.data.action)return!0}catch(a){return!0}if("activity_get_older_updates"==b.data.action){var d=b.success;a.success=function(a){d(a),apply_rtMagnificPopup(".rtmedia-activity-container ul.rtmedia-list, #bp-media-list, .bp-media-sc-list, li.media.album_updated ul,ul.bp-media-list-media, li.activity-item div.activity-content div.activity-inner div.bp_media_content"),rtMediaHook.call("rtmedia_js_after_activity_added",[])}}else if("get_single_activity_content"==b.data.action){var d=b.success;a.success=function(a){d(a),setTimeout(function(){apply_rtMagnificPopup(".rtmedia-activity-container ul.rtmedia-list, #bp-media-list, .bp-media-sc-list, li.media.album_updated ul,ul.bp-media-list-media, li.activity-item div.activity-content div.activity-inner div.bp_media_content"),jQuery("ul.activity-list li.rtmedia_update:first-child .wp-audio-shortcode, ul.activity-list li.rtmedia_update:first-child .wp-video-shortcode").mediaelementplayer({classPrefix:"mejs-",defaultVideoWidth:480,defaultVideoHeight:270})},900)}}}),jQuery.ajaxPrefilter(function(a,b,c){try{if(null==b.data||void 0===b.data||void 0===b.data.action)return!0}catch(a){return!0}if("activity_get_older_updates"==b.data.action){var d=b.success;a.success=function(a){d(a),apply_rtMagnificPopup(".rtmedia-activity-container ul.rtmedia-list, #bp-media-list, .bp-media-sc-list, li.media.album_updated ul,ul.bp-media-list-media, li.activity-item div.activity-content div.activity-inner div.bp_media_content"),jQuery("ul.activity-list li.rtmedia_update div.rtmedia-item-thumbnail > audio.wp-audio-shortcode, ul.activity-list li.rtmedia_update div.rtmedia-item-thumbnail > video.wp-video-shortcode").mediaelementplayer({classPrefix:"mejs-",defaultVideoWidth:480,defaultVideoHeight:270}),setTimeout(function(){rtmedia_activity_stream_comment_media()},900),rtMediaHook.call("rtmedia_js_after_activity_added",[])}}}),jQuery(".rtmedia-container").on("click",".select-all",function(a){jQuery(this).toggleClass("unselect-all").toggleClass("select-all"),jQuery(this).attr("title",rtmedia_unselect_all_visible),jQuery(".rtmedia-list input").each(function(){jQuery(this).prop("checked",!0)}),jQuery(".rtmedia-list-item").addClass("bulk-selected")}),jQuery(".rtmedia-container").on("click",".unselect-all",function(a){jQuery(this).toggleClass("select-all").toggleClass("unselect-all"),jQuery(this).attr("title",rtmedia_select_all_visible),jQuery(".rtmedia-list input").each(function(){jQuery(this).prop("checked",!1)}),jQuery(".rtmedia-list-item").removeClass("bulk-selected")}),jQuery(".rtmedia-container").on("click",".rtmedia-move",function(a){jQuery(".rtmedia-delete-container").slideUp(),jQuery(".rtmedia-move-container").slideToggle()}),jQuery("#rtmedia-create-album-modal").on("click","#rtmedia_create_new_album",function(b){if($albumname=jQuery("<span/>").text(jQuery.trim(jQuery("#rtmedia_album_name").val())).html(),$album_description=jQuery("#rtmedia_album_description"),$context=jQuery.trim(jQuery("#rtmedia_album_context").val()),$context_id=jQuery.trim(jQuery("#rtmedia_album_context_id").val()),$privacy=jQuery.trim(jQuery("#rtmedia_select_album_privacy").val()),$create_album_nonce=jQuery.trim(jQuery("#rtmedia_create_album_nonce").val()),""!=$albumname){var c={action:"rtmedia_create_album",name:$albumname,description:$album_description.val(),context:$context,context_id:$context_id,create_album_nonce:$create_album_nonce};""!==$privacy&&(c.privacy=$privacy),a("#rtmedia_create_new_album").attr("disabled","disabled");var d=a("#rtmedia_create_new_album").html();a("#rtmedia_create_new_album").prepend("<img src='"+rMedia_loading_file+"' />"),jQuery.post(rtmedia_ajax_url,c,function(b){if(void 0!==b.album){b=jQuery.trim(b.album);var c=!0;$album_description.val(""),a("#rtmedia_album_name").focus(),jQuery(".rtmedia-user-album-list").each(function(){if(jQuery(this).children("optgroup").each(function(){if(jQuery(this).attr("value")===$context)return c=!1,void jQuery(this).append('<option value="'+b+'">'+$albumname+"</option>")}),c){var a=$context.charAt(0).toUpperCase()+$context.slice(1)+" "+rtmedia_main_js_strings.rtmedia_albums,d='<optgroup value="'+$context+'" label="'+a+'"><option value="'+b+'">'+$albumname+"</option></optgroup>";jQuery(this).append(d)}}),jQuery('select.rtmedia-user-album-list option[value="'+b+'"]').prop("selected",!0),jQuery(".rtmedia-create-new-album-container").slideToggle(),jQuery("#rtmedia_album_name").val(""),jQuery("#rtmedia-create-album-modal").append("<div class='rtmedia-success rtmedia-create-album-alert'><b>"+$albumname+"</b>"+rtmedia_album_created_msg+"</div>"),setTimeout(function(){jQuery(".rtmedia-create-album-alert").remove()},4e3),setTimeout(function(){galleryObj.reloadView(),jQuery(".close-reveal-modal").click()},2e3)}else void 0!==b.error?rtmedia_gallery_action_alert_message(b.error,"warning"):rtmedia_gallery_action_alert_message(rtmedia_something_wrong_msg,"warning");a("#rtmedia_create_new_album").removeAttr("disabled"),a("#rtmedia_create_new_album").html(d)})}else rtmedia_gallery_action_alert_message(rtmedia_empty_album_name_msg,"warning")}),jQuery(".rtmedia-container").on("click",".rtmedia-delete-selected",function(a){jQuery(".rtmedia-list :checkbox:checked").length>0?confirm(rtmedia_selected_media_delete_confirmation)&&jQuery(this).closest("form").attr("action","../../../"+rtmedia_media_slug+"/delete").submit():rtmedia_gallery_action_alert_message(rtmedia_no_media_selected,"warning")}),jQuery(".rtmedia-container").on("click",".rtmedia-move-selected",function(a){jQuery(".rtmedia-list :checkbox:checked").length>0?confirm(rtmedia_selected_media_move_confirmation)&&jQuery(this).closest("form").attr("action","").submit():rtmedia_gallery_action_alert_message(rtmedia_no_media_selected,"warning")}),jQuery("#buddypress").on("change",".rtm-activity-privacy-opt",function(){var a=jQuery(this).attr("id");a=a.split("-"),a=a[a.length-1];var b=this;data={activity_id:a,privacy:jQuery(this).val(),nonce:jQuery("#rtmedia_activity_privacy_nonce").val(),action:"rtm_change_activity_privacy"},jQuery.post(ajaxurl,data,function(a){var c="",d="";"true"==a?(c=rtmedia_main_js_strings.privacy_update_success,d="success"):(c=rtmedia_main_js_strings.privacy_update_error,d="fail"),jQuery(b).after('<p class="rtm-ac-privacy-updated '+d+'">'+c+"</p>"),setTimeout(function(){jQuery(b).siblings(".rtm-ac-privacy-updated").remove()},2e3)})}),jQuery(".media_search_input").on("keyup",function(){rtm_search_media_text_validation()}),b(),rtMediaHook.register("rtmedia_js_popup_after_content_added",function(){b(),f(),mfp=jQuery.magnificPopup.instance,jQuery(mfp.items).size()>1&&0==comment_media?c():d(),e(),rtmedia_disable_popup_navigation_comment_media_focus();var g=a(window).height();jQuery(".rtm-lightbox-container .mejs-video").css({height:.8*g,"over-flow":"hidden"}),jQuery(".mfp-content .rtmedia-media").css({"max-height":.87*g,"over-flow":"hidden"}),rtmedia_init_action_dropdown(".rtm-lightbox-container .rtmedia-actions"),jQuery(".rtmedia-comment-link").on("click",function(a){a.preventDefault(),jQuery("#comment_content").focus()}),jQuery(".rtm-more").shorten({showChars:130});var h=a(".rtm-gallery-title"),i="";""!=(i=a.isEmptyObject(h)?a("#subnav.item-list-tabs li.selected ").html():h.html())&&a(".rtm-ltb-gallery-title .ltb-title").html(i);var j=a("#subnav.item-list-tabs li.selected span").html();return a("li.total").html(j),!0});var g=jQuery("#drag-drop-area"),h=jQuery("#whats-new");g.html();jQuery("#rtmedia-upload-container").after("<div id='rtm-drop-files-title'>"+rtmedia_drop_media_msg+"</div>"),"undefined"!=typeof rtmedia_bp_enable_activity&&"1"==rtmedia_bp_enable_activity&&jQuery("#whats-new-textarea").append("<div id='rtm-drop-files-title'>"+rtmedia_drop_media_msg+"</div>"),jQuery(document).on("dragover",function(a){a.preventDefault(),a.target!=this&&(jQuery("#rtm-media-gallery-uploader").show(),"undefined"!=typeof rtmedia_bp_enable_activity&&"1"==rtmedia_bp_enable_activity&&h.addClass("rtm-drag-drop-active"),g.addClass("rtm-drag-drop-active"),jQuery("#rtm-drop-files-title").show())}).on("dragleave",function(a){if(a.preventDefault(),0!=a.originalEvent.pageX&&0!=a.originalEvent.pageY)return!1;"undefined"!=typeof rtmedia_bp_enable_activity&&"1"==rtmedia_bp_enable_activity&&(h.removeClass("rtm-drag-drop-active"),h.removeAttr("style")),g.removeClass("rtm-drag-drop-active"),jQuery("#rtm-drop-files-title").hide()}).on("drop",function(a){a.preventDefault(),jQuery(".bp-suggestions").focus(),"undefined"!=typeof rtmedia_bp_enable_activity&&"1"==rtmedia_bp_enable_activity&&(h.removeClass("rtm-drag-drop-active"),h.removeAttr("style")),g.removeClass("rtm-drag-drop-active"),jQuery("#rtm-drop-files-title").hide()}),jQuery(".rtmedia-container").on("click",".rtmedia-delete-album",function(a){a.preventDefault(),confirm(rtmedia_album_delete_confirmation)&&jQuery(this).closest("form").submit()}),jQuery(".rtmedia-container").on("click",".rtmedia-delete-media",function(a){a.preventDefault(),confirm(rtmedia_media_delete_confirmation)&&jQuery(this).closest("form").submit()}),rtmedia_init_action_dropdown(""),a(document).click(function(){a(".click-nav ul").is(":visible")&&a(".click-nav ul",this).hide()}),jQuery(".rtmedia-comment-link").on("click",function(a){a.preventDefault(),jQuery("#comment_content").focus()}),jQuery(".rtm-more").length>0&&a(".rtm-more").shorten({showChars:200}),"undefined"!=typeof rtmedia_masonry_layout&&"true"==rtmedia_masonry_layout&&"undefined"!=typeof rtmedia_masonry_layout_activity&&"true"==rtmedia_masonry_layout_activity&&rtmedia_activity_masonry(),jQuery(document).ajaxComplete(function(a,b,c){var d=get_parameter("action",c.data);"post_update"!==d&&"get_single_activity_content"!==d&&"activity_get_older_updates"!==d||"undefined"==typeof rtmedia_masonry_layout||"true"!=rtmedia_masonry_layout||"undefined"==typeof rtmedia_masonry_layout_activity||"true"!=rtmedia_masonry_layout_activity||rtmedia_activity_masonry()}),"undefined"!=typeof rtmedia_masonry_layout&&"true"==rtmedia_masonry_layout&&0==jQuery(".rtmedia-container .rtmedia-list.rtm-no-masonry").length&&(rtm_masonry_container=jQuery(".rtmedia-container .rtmedia-list"),rtm_masonry_container.masonry({itemSelector:".rtmedia-list-item"}),setInterval(function(){jQuery.each(jQuery(".rtmedia-list.masonry .rtmedia-item-title"),function(a,b){jQuery(b).width(jQuery(b).siblings(".rtmedia-item-thumbnail").children("img").width())}),rtm_masonry_reload(rtm_masonry_container)},1e3),jQuery.each(jQuery(".rtmedia-list.masonry .rtmedia-item-title"),function(a,b){jQuery(b).width(jQuery(b).siblings(".rtmedia-item-thumbnail").children("img").width())})),jQuery(".rtm-uploader-tabs").length>0&&jQuery(".rtm-uploader-tabs li").click(function(a){jQuery(this).hasClass("active")||(jQuery(this).siblings().removeClass("active"),jQuery(this).parents(".rtm-uploader-tabs").siblings().hide(),class_name=jQuery(this).attr("class"),jQuery(this).parents(".rtm-uploader-tabs").siblings('[data-id="'+class_name+'"]').show(),jQuery(this).addClass("active"),"rtm-upload-tab"!=class_name?jQuery("div.moxie-shim").hide():jQuery("div.moxie-shim").show())}),jQuery(".rtmedia-container").on("click",".rtm-delete-media",function(a){a.preventDefault();var b="Are you sure you want to delete this media?";if("undefined"!=typeof rtmedia_media_delete_confirmation&&(b=rtmedia_media_delete_confirmation),confirm(b)){var c=jQuery(this).closest("li"),d=jQuery("#rtmedia_media_delete_nonce").val(),e={action:"delete_uploaded_media",nonce:d,media_id:c.attr("id")};jQuery.ajax({url:ajaxurl,type:"post",data:e,success:function(a){"1"==a?(rtmedia_gallery_action_alert_message(rtmedia_main_js_strings.file_delete_success,"success"),c.remove(),"undefined"!=typeof rtmedia_masonry_layout&&"true"==rtmedia_masonry_layout&&0==jQuery(".rtmedia-container .rtmedia-list.rtm-no-masonry").length&&rtm_masonry_reload(rtm_masonry_container)):rtmedia_gallery_action_alert_message(rtmedia_file_not_deleted,"warning")}})}})}),function(a){a.fn.shorten=function(b){"use strict";var c={showChars:100,minHideChars:10,ellipsesText:"...",moreText:rtmedia_read_more,lessText:rtmedia__show_less,onLess:function(){},onMore:function(){},errMsg:null,force:!1};return b&&a.extend(c,b),!(a(this).data("jquery.shorten")&&!c.force)&&(a(this).data("jquery.shorten",!0),a(document).off("click",".morelink"),a(document).on({click:function(){var b=a(this);return b.hasClass("less")?(b.removeClass("less"),b.html(c.moreText),b.parent().prev().hide(0,function(){b.parent().prev().prev().show()}).hide(0,function(){c.onLess()})):(b.addClass("less"),b.html(c.lessText),b.parent().prev().show(0,function(){b.parent().prev().prev().hide()}).show(0,function(){c.onMore()})),!1}},".morelink"),this.each(function(){var b=a(this),d=b.html();if(b.text().length>c.showChars+c.minHideChars){var e=d.substr(0,c.showChars);if(e.indexOf("<")>=0){for(var f=!1,g="",h=0,i=[],k=null,l=0,m=0;m<=c.showChars;l++)if("<"!=d[l]||f||(f=!0,k=d.substring(l+1,d.indexOf(">",l)),"/"==k[0]?k!="/"+i[0]?c.errMsg="ERROR en HTML: the top of the stack should be the tag that closes":i.shift():"br"!=k.toLowerCase()&&i.unshift(k)),f&&">"==d[l]&&(f=!1),f)g+=d.charAt(l);else if(m++,h<=c.showChars)g+=d.charAt(l),h++;else if(i.length>0){for(j=0;j<i.length;j++)g+="</"+i[j]+">";break}e=a("<div/>").html(g+'<span class="ellip">'+c.ellipsesText+"</span>").html()}else e+=c.ellipsesText;var n='<div class="shortcontent">'+e+'</div><div class="allcontent">'+d+'</div><span><a href="javascript://nop/" class="morelink">'+c.moreText+"</a></span>";b.html(n),b.find(".allcontent").hide(),a(".shortcontent p:last",b).css("margin-bottom",0)}}))}}(jQuery),window.onload=function(){"undefined"!=typeof rtmedia_masonry_layout&&"true"==rtmedia_masonry_layout&&0==jQuery(".rtmedia-container .rtmedia-list.rtm-no-masonry").length&&rtm_masonry_reload(rtm_masonry_container),rtm_search_media_text_validation(),check_condition("search")&&jQuery("#media_search_remove").show()};
|
app/main/RTMedia.php
CHANGED
@@ -990,14 +990,11 @@ class RTMedia {
|
|
990 |
|
991 |
function enqueue_scripts_styles() {
|
992 |
global $rtmedia;
|
993 |
-
|
994 |
-
|
995 |
-
|
996 |
-
|
997 |
-
|
998 |
-
wp_enqueue_style( 'wp-mediaelement', RTMEDIA_URL . 'lib/media-element/mediaelementplayer.min.css', '', RTMEDIA_VERSION );
|
999 |
-
wp_enqueue_script( 'wp-mediaelement-start', RTMEDIA_URL . 'lib/media-element/wp-mediaelement.js', 'wp-mediaelement', RTMEDIA_VERSION, true );
|
1000 |
-
}
|
1001 |
|
1002 |
// Dashicons: Needs if not loaded by WP
|
1003 |
wp_enqueue_style( 'dashicons' );
|
@@ -1012,20 +1009,20 @@ class RTMedia {
|
|
1012 |
if ( '' === $suffix ) {
|
1013 |
wp_enqueue_script( 'rtmedia-magnific-popup', RTMEDIA_URL . 'app/assets/js/vendors/magnific-popup.js', array(
|
1014 |
'jquery',
|
1015 |
-
'
|
1016 |
), RTMEDIA_VERSION );
|
1017 |
wp_enqueue_script( 'rtmedia-admin-tabs', RTMEDIA_URL . 'app/assets/admin/js/vendors/tabs.js', array(
|
1018 |
'jquery',
|
1019 |
-
'
|
1020 |
), RTMEDIA_VERSION );
|
1021 |
wp_enqueue_script( 'rtmedia-main', RTMEDIA_URL . 'app/assets/js/rtMedia.js', array(
|
1022 |
'jquery',
|
1023 |
-
'
|
1024 |
), RTMEDIA_VERSION );
|
1025 |
} else {
|
1026 |
wp_enqueue_script( 'rtmedia-main', RTMEDIA_URL . 'app/assets/js/rtmedia.min.js', array(
|
1027 |
'jquery',
|
1028 |
-
'
|
1029 |
), RTMEDIA_VERSION );
|
1030 |
}
|
1031 |
|
990 |
|
991 |
function enqueue_scripts_styles() {
|
992 |
global $rtmedia;
|
993 |
+
|
994 |
+
wp_enqueue_script( 'rt-mediaelement', RTMEDIA_URL . 'lib/media-element/mediaelement-and-player.min.js', '', RTMEDIA_VERSION );
|
995 |
+
wp_enqueue_style( 'rt-mediaelement', RTMEDIA_URL . 'lib/media-element/mediaelementplayer-legacy.min.css', '', RTMEDIA_VERSION );
|
996 |
+
wp_enqueue_style( 'rt-mediaelement-wp', RTMEDIA_URL . 'lib/media-element/wp-mediaelement.min.css', '', RTMEDIA_VERSION );
|
997 |
+
wp_enqueue_script( 'rt-mediaelement-wp', RTMEDIA_URL . 'lib/media-element/wp-mediaelement.min.js', 'rt-mediaelement', RTMEDIA_VERSION, true );
|
|
|
|
|
|
|
998 |
|
999 |
// Dashicons: Needs if not loaded by WP
|
1000 |
wp_enqueue_style( 'dashicons' );
|
1009 |
if ( '' === $suffix ) {
|
1010 |
wp_enqueue_script( 'rtmedia-magnific-popup', RTMEDIA_URL . 'app/assets/js/vendors/magnific-popup.js', array(
|
1011 |
'jquery',
|
1012 |
+
'rt-mediaelement-wp',
|
1013 |
), RTMEDIA_VERSION );
|
1014 |
wp_enqueue_script( 'rtmedia-admin-tabs', RTMEDIA_URL . 'app/assets/admin/js/vendors/tabs.js', array(
|
1015 |
'jquery',
|
1016 |
+
'rt-mediaelement-wp',
|
1017 |
), RTMEDIA_VERSION );
|
1018 |
wp_enqueue_script( 'rtmedia-main', RTMEDIA_URL . 'app/assets/js/rtMedia.js', array(
|
1019 |
'jquery',
|
1020 |
+
'rt-mediaelement-wp',
|
1021 |
), RTMEDIA_VERSION );
|
1022 |
} else {
|
1023 |
wp_enqueue_script( 'rtmedia-main', RTMEDIA_URL . 'app/assets/js/rtmedia.min.js', array(
|
1024 |
'jquery',
|
1025 |
+
'rt-mediaelement-wp',
|
1026 |
), RTMEDIA_VERSION );
|
1027 |
}
|
1028 |
|
index.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: rtMedia for WordPress, BuddyPress and bbPress
|
4 |
Plugin URI: https://rtmedia.io/?utm_source=dashboard&utm_medium=plugin&utm_campaign=buddypress-media
|
5 |
Description: This plugin adds missing media rich features like photos, videos and audio uploading to BuddyPress which are essential if you are building social network, seriously!
|
6 |
-
Version: 4.4.
|
7 |
Author: rtCamp
|
8 |
Text Domain: buddypress-media
|
9 |
Author URI: http://rtcamp.com/?utm_source=dashboard&utm_medium=plugin&utm_campaign=buddypress-media
|
@@ -22,7 +22,7 @@ if ( ! defined( 'RTMEDIA_VERSION' ) ) {
|
|
22 |
* The version of the plugin
|
23 |
*
|
24 |
*/
|
25 |
-
define( 'RTMEDIA_VERSION', '4.4.
|
26 |
}
|
27 |
|
28 |
if ( ! defined( 'RTMEDIA_PATH' ) ) {
|
3 |
Plugin Name: rtMedia for WordPress, BuddyPress and bbPress
|
4 |
Plugin URI: https://rtmedia.io/?utm_source=dashboard&utm_medium=plugin&utm_campaign=buddypress-media
|
5 |
Description: This plugin adds missing media rich features like photos, videos and audio uploading to BuddyPress which are essential if you are building social network, seriously!
|
6 |
+
Version: 4.4.5
|
7 |
Author: rtCamp
|
8 |
Text Domain: buddypress-media
|
9 |
Author URI: http://rtcamp.com/?utm_source=dashboard&utm_medium=plugin&utm_campaign=buddypress-media
|
22 |
* The version of the plugin
|
23 |
*
|
24 |
*/
|
25 |
+
define( 'RTMEDIA_VERSION', '4.4.5' );
|
26 |
}
|
27 |
|
28 |
if ( ! defined( 'RTMEDIA_PATH' ) ) {
|
languages/buddypress-media.po
CHANGED
@@ -1,28 +1,28 @@
|
|
1 |
-
# Copyright (C)
|
2 |
# This file is distributed under the same license as the rtMedia for WordPress, BuddyPress and bbPress package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: rtMedia for WordPress, BuddyPress and bbPress 4.4.
|
6 |
"Report-Msgid-Bugs-To: http://community.rtcamp.com/c/rtmedia/\n"
|
7 |
-
"POT-Creation-Date:
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=utf-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
11 |
-
"PO-Revision-Date:
|
12 |
"Last-Translator: rtMedia <rtmedia@rtcamp.com>\n"
|
13 |
"Language-Team: rtMedia <rtmedia@rtcamp.com>\n"
|
14 |
-
"X-Generator: grunt-wp-i18n 0.5.4\n"
|
15 |
-
"X-Poedit-KeywordsList: "
|
16 |
-
"__;_e;_x:1,2c;_ex:1,2c;_n:1,2;_nx:1,2,4c;_n_noop:1,2;_nx_noop:1,2,3c;esc_"
|
17 |
-
"attr__;esc_html__;esc_attr_e;esc_html_e;esc_attr_x:1,2c;esc_html_x:1,2c;\n"
|
18 |
"Language: en\n"
|
19 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
20 |
"X-Poedit-Country: United States\n"
|
21 |
"X-Poedit-SourceCharset: UTF-8\n"
|
|
|
|
|
|
|
22 |
"X-Poedit-Basepath: ../\n"
|
23 |
"X-Poedit-SearchPath-0: .\n"
|
24 |
"X-Poedit-Bookmarks: \n"
|
25 |
"X-Textdomain-Support: yes\n"
|
|
|
26 |
|
27 |
#: app/admin/RTMediaAdmin.php:147
|
28 |
msgid ""
|
@@ -2154,7 +2154,7 @@ msgstr ""
|
|
2154 |
msgid "Album"
|
2155 |
msgstr ""
|
2156 |
|
2157 |
-
#: app/main/RTMedia.php:697 app/main/RTMedia.php:
|
2158 |
#: app/main/controllers/media/RTMediaAlbum.php:53
|
2159 |
#: app/main/controllers/media/RTMediaAlbum.php:65
|
2160 |
msgid "Albums"
|
@@ -2179,95 +2179,95 @@ msgstr ""
|
|
2179 |
msgid ": Can't Create Database table. Please check create table permission."
|
2180 |
msgstr ""
|
2181 |
|
2182 |
-
#: app/main/RTMedia.php:
|
2183 |
msgid "Loading media"
|
2184 |
msgstr ""
|
2185 |
|
2186 |
-
#: app/main/RTMedia.php:
|
2187 |
msgid "Please enter some content to post."
|
2188 |
msgstr ""
|
2189 |
|
2190 |
-
#: app/main/RTMedia.php:
|
2191 |
msgid "Empty Comment is not allowed."
|
2192 |
msgstr ""
|
2193 |
|
2194 |
-
#: app/main/RTMedia.php:
|
2195 |
msgid "Are you sure you want to delete this media?"
|
2196 |
msgstr ""
|
2197 |
|
2198 |
-
#: app/main/RTMedia.php:
|
2199 |
msgid "Are you sure you want to delete this comment?"
|
2200 |
msgstr ""
|
2201 |
|
2202 |
-
#: app/main/RTMedia.php:
|
2203 |
msgid "Are you sure you want to delete this Album?"
|
2204 |
msgstr ""
|
2205 |
|
2206 |
-
#: app/main/RTMedia.php:
|
2207 |
msgid "Drop files here"
|
2208 |
msgstr ""
|
2209 |
|
2210 |
-
#: app/main/RTMedia.php:
|
2211 |
msgid "album created successfully."
|
2212 |
msgstr ""
|
2213 |
|
2214 |
-
#: app/main/RTMedia.php:
|
2215 |
msgid "Something went wrong. Please try again."
|
2216 |
msgstr ""
|
2217 |
|
2218 |
-
#: app/main/RTMedia.php:
|
2219 |
msgid "Enter an album name."
|
2220 |
msgstr ""
|
2221 |
|
2222 |
-
#: app/main/RTMedia.php:
|
2223 |
msgid "Max file Size Limit : "
|
2224 |
msgstr ""
|
2225 |
|
2226 |
-
#: app/main/RTMedia.php:
|
2227 |
msgid "Allowed File Formats"
|
2228 |
msgstr ""
|
2229 |
|
2230 |
-
#: app/main/RTMedia.php:
|
2231 |
msgid "Select All Visible"
|
2232 |
msgstr ""
|
2233 |
|
2234 |
-
#: app/main/RTMedia.php:
|
2235 |
msgid "Unselect All Visible"
|
2236 |
msgstr ""
|
2237 |
|
2238 |
-
#: app/main/RTMedia.php:
|
2239 |
msgid "Please select some media."
|
2240 |
msgstr ""
|
2241 |
|
2242 |
-
#: app/main/RTMedia.php:
|
2243 |
msgid "Are you sure you want to delete the selected media?"
|
2244 |
msgstr ""
|
2245 |
|
2246 |
-
#: app/main/RTMedia.php:
|
2247 |
msgid "Are you sure you want to move the selected media?"
|
2248 |
msgstr ""
|
2249 |
|
2250 |
-
#: app/main/RTMedia.php:
|
2251 |
msgid "Waiting"
|
2252 |
msgstr ""
|
2253 |
|
2254 |
-
#: app/main/RTMedia.php:
|
2255 |
msgid "Uploaded"
|
2256 |
msgstr ""
|
2257 |
|
2258 |
-
#: app/main/RTMedia.php:
|
2259 |
msgid "Uploading"
|
2260 |
msgstr ""
|
2261 |
|
2262 |
-
#: app/main/RTMedia.php:
|
2263 |
msgid "Failed"
|
2264 |
msgstr ""
|
2265 |
|
2266 |
-
#: app/main/RTMedia.php:
|
2267 |
msgid "Close"
|
2268 |
msgstr ""
|
2269 |
|
2270 |
-
#: app/main/RTMedia.php:
|
2271 |
#: app/main/controllers/media/RTMediaGalleryItemAction.php:63
|
2272 |
#: app/main/controllers/media/RTMediaGalleryItemAction.php:80
|
2273 |
#: app/main/controllers/template/rtmedia-functions.php:1163
|
@@ -2275,7 +2275,7 @@ msgstr ""
|
|
2275 |
msgid "Edit"
|
2276 |
msgstr ""
|
2277 |
|
2278 |
-
#: app/main/RTMedia.php:
|
2279 |
#: app/main/controllers/media/RTMediaGalleryItemAction.php:67
|
2280 |
#: app/main/controllers/media/RTMediaGalleryItemAction.php:80
|
2281 |
#: app/main/controllers/template/rtmedia-functions.php:2078
|
@@ -2284,83 +2284,83 @@ msgstr ""
|
|
2284 |
msgid "Delete"
|
2285 |
msgstr ""
|
2286 |
|
2287 |
-
#: app/main/RTMedia.php:
|
2288 |
msgid "Edit Media"
|
2289 |
msgstr ""
|
2290 |
|
2291 |
-
#: app/main/RTMedia.php:
|
2292 |
msgid "Remove from queue"
|
2293 |
msgstr ""
|
2294 |
|
2295 |
-
#: app/main/RTMedia.php:
|
2296 |
msgid "Add more files"
|
2297 |
msgstr ""
|
2298 |
|
2299 |
-
#: app/main/RTMedia.php:
|
2300 |
msgid "File not supported"
|
2301 |
msgstr ""
|
2302 |
|
2303 |
-
#: app/main/RTMedia.php:
|
2304 |
msgid "more"
|
2305 |
msgstr ""
|
2306 |
|
2307 |
-
#: app/main/RTMedia.php:
|
2308 |
msgid "less"
|
2309 |
msgstr ""
|
2310 |
|
2311 |
-
#: app/main/RTMedia.php:
|
2312 |
msgid "Read more"
|
2313 |
msgstr ""
|
2314 |
|
2315 |
-
#: app/main/RTMedia.php:
|
2316 |
msgid "Show less"
|
2317 |
msgstr ""
|
2318 |
|
2319 |
-
#: app/main/RTMedia.php:
|
2320 |
msgid "This media is uploaded. Are you sure you want to delete this media?"
|
2321 |
msgstr ""
|
2322 |
|
2323 |
-
#: app/main/RTMedia.php:
|
2324 |
msgid "Featured media set successfully."
|
2325 |
msgstr ""
|
2326 |
|
2327 |
-
#: app/main/RTMedia.php:
|
2328 |
msgid "Featured media removed successfully."
|
2329 |
msgstr ""
|
2330 |
|
2331 |
-
#: app/main/RTMedia.php:
|
2332 |
msgid "Title:"
|
2333 |
msgstr ""
|
2334 |
|
2335 |
-
#: app/main/RTMedia.php:
|
2336 |
msgid "Description:"
|
2337 |
msgstr ""
|
2338 |
|
2339 |
-
#: app/main/RTMedia.php:
|
2340 |
msgid "Oops !! There's no media found for the request !!"
|
2341 |
msgstr ""
|
2342 |
|
2343 |
-
#: app/main/RTMedia.php:
|
2344 |
msgid "Edit File Name"
|
2345 |
msgstr ""
|
2346 |
|
2347 |
-
#: app/main/RTMedia.php:
|
2348 |
msgid "Privacy updated successfully."
|
2349 |
msgstr ""
|
2350 |
|
2351 |
-
#: app/main/RTMedia.php:
|
2352 |
msgid "Couldn't change privacy, please try again."
|
2353 |
msgstr ""
|
2354 |
|
2355 |
-
#: app/main/RTMedia.php:
|
2356 |
msgid "file deleted successfully."
|
2357 |
msgstr ""
|
2358 |
|
2359 |
-
#: app/main/RTMedia.php:
|
2360 |
msgid "There are some uploads in progress. Do you want to cancel them?"
|
2361 |
msgstr ""
|
2362 |
|
2363 |
-
#: app/main/RTMedia.php:
|
2364 |
msgid "Adding media in Comments is not allowed"
|
2365 |
msgstr ""
|
2366 |
|
1 |
+
# Copyright (C) 2018 rtCamp
|
2 |
# This file is distributed under the same license as the rtMedia for WordPress, BuddyPress and bbPress package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: rtMedia for WordPress, BuddyPress and bbPress 4.4.5\n"
|
6 |
"Report-Msgid-Bugs-To: http://community.rtcamp.com/c/rtmedia/\n"
|
7 |
+
"POT-Creation-Date: 2018-01-19 05:56:06+00:00\n"
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=utf-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
11 |
+
"PO-Revision-Date: 2018-MO-DA HO:MI+ZONE\n"
|
12 |
"Last-Translator: rtMedia <rtmedia@rtcamp.com>\n"
|
13 |
"Language-Team: rtMedia <rtmedia@rtcamp.com>\n"
|
|
|
|
|
|
|
|
|
14 |
"Language: en\n"
|
15 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
16 |
"X-Poedit-Country: United States\n"
|
17 |
"X-Poedit-SourceCharset: UTF-8\n"
|
18 |
+
"X-Poedit-KeywordsList: "
|
19 |
+
"__;_e;_x:1,2c;_ex:1,2c;_n:1,2;_nx:1,2,4c;_n_noop:1,2;_nx_noop:1,2,3c;esc_"
|
20 |
+
"attr__;esc_html__;esc_attr_e;esc_html_e;esc_attr_x:1,2c;esc_html_x:1,2c;\n"
|
21 |
"X-Poedit-Basepath: ../\n"
|
22 |
"X-Poedit-SearchPath-0: .\n"
|
23 |
"X-Poedit-Bookmarks: \n"
|
24 |
"X-Textdomain-Support: yes\n"
|
25 |
+
"X-Generator: grunt-wp-i18n1.0.1\n"
|
26 |
|
27 |
#: app/admin/RTMediaAdmin.php:147
|
28 |
msgid ""
|
2154 |
msgid "Album"
|
2155 |
msgstr ""
|
2156 |
|
2157 |
+
#: app/main/RTMedia.php:697 app/main/RTMedia.php:1098
|
2158 |
#: app/main/controllers/media/RTMediaAlbum.php:53
|
2159 |
#: app/main/controllers/media/RTMediaAlbum.php:65
|
2160 |
msgid "Albums"
|
2179 |
msgid ": Can't Create Database table. Please check create table permission."
|
2180 |
msgstr ""
|
2181 |
|
2182 |
+
#: app/main/RTMedia.php:1040
|
2183 |
msgid "Loading media"
|
2184 |
msgstr ""
|
2185 |
|
2186 |
+
#: app/main/RTMedia.php:1041
|
2187 |
msgid "Please enter some content to post."
|
2188 |
msgstr ""
|
2189 |
|
2190 |
+
#: app/main/RTMedia.php:1042
|
2191 |
msgid "Empty Comment is not allowed."
|
2192 |
msgstr ""
|
2193 |
|
2194 |
+
#: app/main/RTMedia.php:1043
|
2195 |
msgid "Are you sure you want to delete this media?"
|
2196 |
msgstr ""
|
2197 |
|
2198 |
+
#: app/main/RTMedia.php:1044
|
2199 |
msgid "Are you sure you want to delete this comment?"
|
2200 |
msgstr ""
|
2201 |
|
2202 |
+
#: app/main/RTMedia.php:1045
|
2203 |
msgid "Are you sure you want to delete this Album?"
|
2204 |
msgstr ""
|
2205 |
|
2206 |
+
#: app/main/RTMedia.php:1046
|
2207 |
msgid "Drop files here"
|
2208 |
msgstr ""
|
2209 |
|
2210 |
+
#: app/main/RTMedia.php:1047
|
2211 |
msgid "album created successfully."
|
2212 |
msgstr ""
|
2213 |
|
2214 |
+
#: app/main/RTMedia.php:1048
|
2215 |
msgid "Something went wrong. Please try again."
|
2216 |
msgstr ""
|
2217 |
|
2218 |
+
#: app/main/RTMedia.php:1049
|
2219 |
msgid "Enter an album name."
|
2220 |
msgstr ""
|
2221 |
|
2222 |
+
#: app/main/RTMedia.php:1050
|
2223 |
msgid "Max file Size Limit : "
|
2224 |
msgstr ""
|
2225 |
|
2226 |
+
#: app/main/RTMedia.php:1051
|
2227 |
msgid "Allowed File Formats"
|
2228 |
msgstr ""
|
2229 |
|
2230 |
+
#: app/main/RTMedia.php:1052 templates/media/album-single-edit.php:73
|
2231 |
msgid "Select All Visible"
|
2232 |
msgstr ""
|
2233 |
|
2234 |
+
#: app/main/RTMedia.php:1053
|
2235 |
msgid "Unselect All Visible"
|
2236 |
msgstr ""
|
2237 |
|
2238 |
+
#: app/main/RTMedia.php:1054
|
2239 |
msgid "Please select some media."
|
2240 |
msgstr ""
|
2241 |
|
2242 |
+
#: app/main/RTMedia.php:1055
|
2243 |
msgid "Are you sure you want to delete the selected media?"
|
2244 |
msgstr ""
|
2245 |
|
2246 |
+
#: app/main/RTMedia.php:1056
|
2247 |
msgid "Are you sure you want to move the selected media?"
|
2248 |
msgstr ""
|
2249 |
|
2250 |
+
#: app/main/RTMedia.php:1057
|
2251 |
msgid "Waiting"
|
2252 |
msgstr ""
|
2253 |
|
2254 |
+
#: app/main/RTMedia.php:1058
|
2255 |
msgid "Uploaded"
|
2256 |
msgstr ""
|
2257 |
|
2258 |
+
#: app/main/RTMedia.php:1059
|
2259 |
msgid "Uploading"
|
2260 |
msgstr ""
|
2261 |
|
2262 |
+
#: app/main/RTMedia.php:1060
|
2263 |
msgid "Failed"
|
2264 |
msgstr ""
|
2265 |
|
2266 |
+
#: app/main/RTMedia.php:1061
|
2267 |
msgid "Close"
|
2268 |
msgstr ""
|
2269 |
|
2270 |
+
#: app/main/RTMedia.php:1062
|
2271 |
#: app/main/controllers/media/RTMediaGalleryItemAction.php:63
|
2272 |
#: app/main/controllers/media/RTMediaGalleryItemAction.php:80
|
2273 |
#: app/main/controllers/template/rtmedia-functions.php:1163
|
2275 |
msgid "Edit"
|
2276 |
msgstr ""
|
2277 |
|
2278 |
+
#: app/main/RTMedia.php:1063
|
2279 |
#: app/main/controllers/media/RTMediaGalleryItemAction.php:67
|
2280 |
#: app/main/controllers/media/RTMediaGalleryItemAction.php:80
|
2281 |
#: app/main/controllers/template/rtmedia-functions.php:2078
|
2284 |
msgid "Delete"
|
2285 |
msgstr ""
|
2286 |
|
2287 |
+
#: app/main/RTMedia.php:1064 templates/media/media-single-edit.php:8
|
2288 |
msgid "Edit Media"
|
2289 |
msgstr ""
|
2290 |
|
2291 |
+
#: app/main/RTMedia.php:1065
|
2292 |
msgid "Remove from queue"
|
2293 |
msgstr ""
|
2294 |
|
2295 |
+
#: app/main/RTMedia.php:1066
|
2296 |
msgid "Add more files"
|
2297 |
msgstr ""
|
2298 |
|
2299 |
+
#: app/main/RTMedia.php:1067
|
2300 |
msgid "File not supported"
|
2301 |
msgstr ""
|
2302 |
|
2303 |
+
#: app/main/RTMedia.php:1068
|
2304 |
msgid "more"
|
2305 |
msgstr ""
|
2306 |
|
2307 |
+
#: app/main/RTMedia.php:1069
|
2308 |
msgid "less"
|
2309 |
msgstr ""
|
2310 |
|
2311 |
+
#: app/main/RTMedia.php:1070
|
2312 |
msgid "Read more"
|
2313 |
msgstr ""
|
2314 |
|
2315 |
+
#: app/main/RTMedia.php:1071
|
2316 |
msgid "Show less"
|
2317 |
msgstr ""
|
2318 |
|
2319 |
+
#: app/main/RTMedia.php:1073
|
2320 |
msgid "This media is uploaded. Are you sure you want to delete this media?"
|
2321 |
msgstr ""
|
2322 |
|
2323 |
+
#: app/main/RTMedia.php:1081
|
2324 |
msgid "Featured media set successfully."
|
2325 |
msgstr ""
|
2326 |
|
2327 |
+
#: app/main/RTMedia.php:1082
|
2328 |
msgid "Featured media removed successfully."
|
2329 |
msgstr ""
|
2330 |
|
2331 |
+
#: app/main/RTMedia.php:1084
|
2332 |
msgid "Title:"
|
2333 |
msgstr ""
|
2334 |
|
2335 |
+
#: app/main/RTMedia.php:1085
|
2336 |
msgid "Description:"
|
2337 |
msgstr ""
|
2338 |
|
2339 |
+
#: app/main/RTMedia.php:1087 templates/media/media-gallery.php:103
|
2340 |
msgid "Oops !! There's no media found for the request !!"
|
2341 |
msgstr ""
|
2342 |
|
2343 |
+
#: app/main/RTMedia.php:1091
|
2344 |
msgid "Edit File Name"
|
2345 |
msgstr ""
|
2346 |
|
2347 |
+
#: app/main/RTMedia.php:1099
|
2348 |
msgid "Privacy updated successfully."
|
2349 |
msgstr ""
|
2350 |
|
2351 |
+
#: app/main/RTMedia.php:1100
|
2352 |
msgid "Couldn't change privacy, please try again."
|
2353 |
msgstr ""
|
2354 |
|
2355 |
+
#: app/main/RTMedia.php:1101
|
2356 |
msgid "file deleted successfully."
|
2357 |
msgstr ""
|
2358 |
|
2359 |
+
#: app/main/RTMedia.php:1138
|
2360 |
msgid "There are some uploads in progress. Do you want to cancel them?"
|
2361 |
msgstr ""
|
2362 |
|
2363 |
+
#: app/main/RTMedia.php:1239
|
2364 |
msgid "Adding media in Comments is not allowed"
|
2365 |
msgstr ""
|
2366 |
|
lib/media-element/mediaelement-and-player.js
CHANGED
@@ -1,4379 +1,8508 @@
|
|
1 |
/*!
|
2 |
-
* MediaElement.js
|
3 |
-
*
|
4 |
-
*
|
5 |
-
*
|
6 |
-
*
|
7 |
-
*
|
8 |
-
*
|
9 |
-
*
|
10 |
-
*
|
11 |
-
|
12 |
-
*
|
13 |
-
*/
|
14 |
-
// Namespace
|
15 |
-
var mejs = mejs || {};
|
16 |
-
|
17 |
-
// version number
|
18 |
-
mejs.version = '2.9.5';
|
19 |
-
|
20 |
-
// player number (for missing, same id attr)
|
21 |
-
mejs.meIndex = 0;
|
22 |
-
|
23 |
-
// media types accepted by plugins
|
24 |
-
mejs.plugins = {
|
25 |
-
silverlight: [
|
26 |
-
{version: [3,0], types: ['video/mp4','video/m4v','video/mov','video/wmv','audio/wma','audio/m4a','audio/mp3','audio/wav','audio/mpeg']}
|
27 |
-
],
|
28 |
-
flash: [
|
29 |
-
{version: [9,0,124], types: ['video/mp4','video/m4v','video/mov','video/flv','video/rtmp','video/x-flv','audio/flv','audio/x-flv','audio/mp3','audio/m4a','audio/mpeg', 'video/youtube', 'video/x-youtube']}
|
30 |
-
//,{version: [12,0], types: ['video/webm']} // for future reference (hopefully!)
|
31 |
-
],
|
32 |
-
youtube: [
|
33 |
-
{version: null, types: ['video/youtube', 'video/x-youtube']}
|
34 |
-
],
|
35 |
-
vimeo: [
|
36 |
-
{version: null, types: ['video/vimeo']}
|
37 |
-
]
|
38 |
-
};
|
39 |
-
|
40 |
-
/*
|
41 |
-
Utility methods
|
42 |
-
*/
|
43 |
-
mejs.Utility = {
|
44 |
-
encodeUrl: function(url) {
|
45 |
-
return encodeURIComponent(url); //.replace(/\?/gi,'%3F').replace(/=/gi,'%3D').replace(/&/gi,'%26');
|
46 |
-
},
|
47 |
-
escapeHTML: function(s) {
|
48 |
-
return s.toString().split('&').join('&').split('<').join('<').split('"').join('"');
|
49 |
-
},
|
50 |
-
absolutizeUrl: function(url) {
|
51 |
-
var el = document.createElement('div');
|
52 |
-
el.innerHTML = '<a href="' + this.escapeHTML(url) + '">x</a>';
|
53 |
-
return el.firstChild.href;
|
54 |
-
},
|
55 |
-
getScriptPath: function(scriptNames) {
|
56 |
-
var
|
57 |
-
i = 0,
|
58 |
-
j,
|
59 |
-
path = '',
|
60 |
-
name = '',
|
61 |
-
script,
|
62 |
-
scripts = document.getElementsByTagName('script'),
|
63 |
-
il = scripts.length,
|
64 |
-
jl = scriptNames.length;
|
65 |
-
|
66 |
-
for (; i < il; i++) {
|
67 |
-
script = scripts[i].src;
|
68 |
-
for (j = 0; j < jl; j++) {
|
69 |
-
name = scriptNames[j];
|
70 |
-
if (script.indexOf(name) > -1) {
|
71 |
-
path = script.substring(0, script.indexOf(name));
|
72 |
-
break;
|
73 |
-
}
|
74 |
-
}
|
75 |
-
if (path !== '') {
|
76 |
-
break;
|
77 |
-
}
|
78 |
-
}
|
79 |
-
return path;
|
80 |
-
},
|
81 |
-
secondsToTimeCode: function(time, forceHours, showFrameCount, fps) {
|
82 |
-
//add framecount
|
83 |
-
if (typeof showFrameCount == 'undefined') {
|
84 |
-
showFrameCount=false;
|
85 |
-
} else if(typeof fps == 'undefined') {
|
86 |
-
fps = 25;
|
87 |
-
}
|
88 |
-
|
89 |
-
var hours = Math.floor(time / 3600) % 24,
|
90 |
-
minutes = Math.floor(time / 60) % 60,
|
91 |
-
seconds = Math.floor(time % 60),
|
92 |
-
frames = Math.floor(((time % 1)*fps).toFixed(3)),
|
93 |
-
result =
|
94 |
-
( (forceHours || hours > 0) ? (hours < 10 ? '0' + hours : hours) + ':' : '')
|
95 |
-
+ (minutes < 10 ? '0' + minutes : minutes) + ':'
|
96 |
-
+ (seconds < 10 ? '0' + seconds : seconds)
|
97 |
-
+ ((showFrameCount) ? ':' + (frames < 10 ? '0' + frames : frames) : '');
|
98 |
-
|
99 |
-
return result;
|
100 |
-
},
|
101 |
-
|
102 |
-
timeCodeToSeconds: function(hh_mm_ss_ff, forceHours, showFrameCount, fps){
|
103 |
-
if (typeof showFrameCount == 'undefined') {
|
104 |
-
showFrameCount=false;
|
105 |
-
} else if(typeof fps == 'undefined') {
|
106 |
-
fps = 25;
|
107 |
-
}
|
108 |
-
|
109 |
-
var tc_array = hh_mm_ss_ff.split(":"),
|
110 |
-
tc_hh = parseInt(tc_array[0], 10),
|
111 |
-
tc_mm = parseInt(tc_array[1], 10),
|
112 |
-
tc_ss = parseInt(tc_array[2], 10),
|
113 |
-
tc_ff = 0,
|
114 |
-
tc_in_seconds = 0;
|
115 |
-
|
116 |
-
if (showFrameCount) {
|
117 |
-
tc_ff = parseInt(tc_array[3])/fps;
|
118 |
-
}
|
119 |
-
|
120 |
-
tc_in_seconds = ( tc_hh * 3600 ) + ( tc_mm * 60 ) + tc_ss + tc_ff;
|
121 |
-
|
122 |
-
return tc_in_seconds;
|
123 |
-
},
|
124 |
-
|
125 |
|
126 |
-
|
127 |
-
|
128 |
-
|
|
|
|
|
129 |
|
130 |
-
|
131 |
-
|
132 |
-
var secs = 0,
|
133 |
-
decimalLen = (SMPTE.indexOf('.') != -1) ? SMPTE.split('.')[1].length : 0,
|
134 |
-
multiplier = 1;
|
135 |
-
|
136 |
-
SMPTE = SMPTE.split(':').reverse();
|
137 |
-
|
138 |
-
for (var i = 0; i < SMPTE.length; i++) {
|
139 |
-
multiplier = 1;
|
140 |
-
if (i > 0) {
|
141 |
-
multiplier = Math.pow(60, i);
|
142 |
-
}
|
143 |
-
secs += Number(SMPTE[i]) * multiplier;
|
144 |
-
}
|
145 |
-
return Number(secs.toFixed(decimalLen));
|
146 |
-
},
|
147 |
-
|
148 |
-
/* borrowed from SWFObject: http://code.google.com/p/swfobject/source/browse/trunk/swfobject/src/swfobject.js#474 */
|
149 |
-
removeSwf: function(id) {
|
150 |
-
var obj = document.getElementById(id);
|
151 |
-
if (obj && obj.nodeName == "OBJECT") {
|
152 |
-
if (mejs.MediaFeatures.isIE) {
|
153 |
-
obj.style.display = "none";
|
154 |
-
(function(){
|
155 |
-
if (obj.readyState == 4) {
|
156 |
-
mejs.Utility.removeObjectInIE(id);
|
157 |
-
} else {
|
158 |
-
setTimeout(arguments.callee, 10);
|
159 |
-
}
|
160 |
-
})();
|
161 |
-
} else {
|
162 |
-
obj.parentNode.removeChild(obj);
|
163 |
-
}
|
164 |
-
}
|
165 |
-
},
|
166 |
-
removeObjectInIE: function(id) {
|
167 |
-
var obj = document.getElementById(id);
|
168 |
-
if (obj) {
|
169 |
-
for (var i in obj) {
|
170 |
-
if (typeof obj[i] == "function") {
|
171 |
-
obj[i] = null;
|
172 |
-
}
|
173 |
-
}
|
174 |
-
obj.parentNode.removeChild(obj);
|
175 |
-
}
|
176 |
-
}
|
177 |
-
};
|
178 |
|
|
|
|
|
|
|
|
|
179 |
|
180 |
-
|
181 |
-
|
|
|
|
|
182 |
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
190 |
|
191 |
-
|
192 |
-
|
193 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
194 |
|
195 |
-
|
196 |
-
plugins: [],
|
197 |
|
198 |
-
|
199 |
-
addPlugin: function(p, pluginName, mimeType, activeX, axDetect) {
|
200 |
-
this.plugins[p] = this.detectPlugin(pluginName, mimeType, activeX, axDetect);
|
201 |
-
},
|
202 |
|
203 |
-
|
204 |
-
detectPlugin: function(pluginName, mimeType, activeX, axDetect) {
|
205 |
|
206 |
-
|
207 |
-
description,
|
208 |
-
i,
|
209 |
-
ax;
|
210 |
|
211 |
-
|
212 |
-
if (typeof(this.nav.plugins) != 'undefined' && typeof this.nav.plugins[pluginName] == 'object') {
|
213 |
-
description = this.nav.plugins[pluginName].description;
|
214 |
-
if (description && !(typeof this.nav.mimeTypes != 'undefined' && this.nav.mimeTypes[mimeType] && !this.nav.mimeTypes[mimeType].enabledPlugin)) {
|
215 |
-
version = description.replace(pluginName, '').replace(/^\s+/,'').replace(/\sr/gi,'.').split('.');
|
216 |
-
for (i=0; i<version.length; i++) {
|
217 |
-
version[i] = parseInt(version[i].match(/\d+/), 10);
|
218 |
-
}
|
219 |
-
}
|
220 |
-
// Internet Explorer / ActiveX
|
221 |
-
} else if (typeof(window.ActiveXObject) != 'undefined') {
|
222 |
-
try {
|
223 |
-
ax = new ActiveXObject(activeX);
|
224 |
-
if (ax) {
|
225 |
-
version = axDetect(ax);
|
226 |
-
}
|
227 |
-
}
|
228 |
-
catch (e) { }
|
229 |
-
}
|
230 |
-
return version;
|
231 |
-
}
|
232 |
-
};
|
233 |
|
234 |
-
|
235 |
-
mejs.PluginDetector.addPlugin('flash','Shockwave Flash','application/x-shockwave-flash','ShockwaveFlash.ShockwaveFlash', function(ax) {
|
236 |
-
// adapted from SWFObject
|
237 |
-
var version = [],
|
238 |
-
d = ax.GetVariable("$version");
|
239 |
-
if (d) {
|
240 |
-
d = d.split(" ")[1].split(",");
|
241 |
-
version = [parseInt(d[0], 10), parseInt(d[1], 10), parseInt(d[2], 10)];
|
242 |
-
}
|
243 |
-
return version;
|
244 |
-
});
|
245 |
|
246 |
-
|
247 |
-
mejs.PluginDetector.addPlugin('silverlight','Silverlight Plug-In','application/x-silverlight-2','AgControl.AgControl', function (ax) {
|
248 |
-
// Silverlight cannot report its version number to IE
|
249 |
-
// but it does have a isVersionSupported function, so we have to loop through it to get a version number.
|
250 |
-
// adapted from http://www.silverlightversion.com/
|
251 |
-
var v = [0,0,0,0],
|
252 |
-
loopMatch = function(ax, v, i, n) {
|
253 |
-
while(ax.isVersionSupported(v[0]+ "."+ v[1] + "." + v[2] + "." + v[3])){
|
254 |
-
v[i]+=n;
|
255 |
-
}
|
256 |
-
v[i] -= n;
|
257 |
-
};
|
258 |
-
loopMatch(ax, v, 0, 1);
|
259 |
-
loopMatch(ax, v, 1, 1);
|
260 |
-
loopMatch(ax, v, 2, 10000); // the third place in the version number is usually 5 digits (4.0.xxxxx)
|
261 |
-
loopMatch(ax, v, 2, 1000);
|
262 |
-
loopMatch(ax, v, 2, 100);
|
263 |
-
loopMatch(ax, v, 2, 10);
|
264 |
-
loopMatch(ax, v, 2, 1);
|
265 |
-
loopMatch(ax, v, 3, 1);
|
266 |
-
|
267 |
-
return v;
|
268 |
-
});
|
269 |
-
// add adobe acrobat
|
270 |
-
/*
|
271 |
-
PluginDetector.addPlugin('acrobat','Adobe Acrobat','application/pdf','AcroPDF.PDF', function (ax) {
|
272 |
-
var version = [],
|
273 |
-
d = ax.GetVersions().split(',')[0].split('=')[1].split('.');
|
274 |
|
275 |
-
|
276 |
-
|
|
|
277 |
}
|
278 |
-
return version;
|
279 |
-
});
|
280 |
-
*/
|
281 |
-
// necessary detection (fixes for <IE9)
|
282 |
-
mejs.MediaFeatures = {
|
283 |
-
init: function() {
|
284 |
-
var
|
285 |
-
t = this,
|
286 |
-
d = document,
|
287 |
-
nav = mejs.PluginDetector.nav,
|
288 |
-
ua = mejs.PluginDetector.ua.toLowerCase(),
|
289 |
-
i,
|
290 |
-
v,
|
291 |
-
html5Elements = ['source','track','audio','video'];
|
292 |
-
|
293 |
-
// detect browsers (only the ones that have some kind of quirk we need to work around)
|
294 |
-
t.isiPad = (ua.match(/ipad/i) !== null);
|
295 |
-
t.isiPhone = (ua.match(/iphone/i) !== null);
|
296 |
-
t.isiOS = t.isiPhone || t.isiPad;
|
297 |
-
t.isAndroid = (ua.match(/android/i) !== null);
|
298 |
-
t.isBustedAndroid = (ua.match(/android 2\.[12]/) !== null);
|
299 |
-
t.isIE = (nav.appName.toLowerCase().indexOf("microsoft") != -1);
|
300 |
-
t.isChrome = (ua.match(/chrome/gi) !== null);
|
301 |
-
t.isFirefox = (ua.match(/firefox/gi) !== null);
|
302 |
-
t.isWebkit = (ua.match(/webkit/gi) !== null);
|
303 |
-
t.isGecko = (ua.match(/gecko/gi) !== null) && !t.isWebkit;
|
304 |
-
t.isOpera = (ua.match(/opera/gi) !== null);
|
305 |
-
t.hasTouch = ('ontouchstart' in window);
|
306 |
-
|
307 |
-
// create HTML5 media elements for IE before 9, get a <video> element for fullscreen detection
|
308 |
-
for (i=0; i<html5Elements.length; i++) {
|
309 |
-
v = document.createElement(html5Elements[i]);
|
310 |
-
}
|
311 |
-
|
312 |
-
t.supportsMediaTag = (typeof v.canPlayType !== 'undefined' || t.isBustedAndroid);
|
313 |
-
|
314 |
-
// detect native JavaScript fullscreen (Safari/Firefox only, Chrome still fails)
|
315 |
-
|
316 |
-
// iOS
|
317 |
-
t.hasSemiNativeFullScreen = (typeof v.webkitEnterFullscreen !== 'undefined');
|
318 |
-
|
319 |
-
// Webkit/firefox
|
320 |
-
t.hasWebkitNativeFullScreen = (typeof v.webkitRequestFullScreen !== 'undefined');
|
321 |
-
t.hasMozNativeFullScreen = (typeof v.mozRequestFullScreen !== 'undefined');
|
322 |
-
|
323 |
-
t.hasTrueNativeFullScreen = (t.hasWebkitNativeFullScreen || t.hasMozNativeFullScreen);
|
324 |
-
t.nativeFullScreenEnabled = t.hasTrueNativeFullScreen;
|
325 |
-
if (t.hasMozNativeFullScreen) {
|
326 |
-
t.nativeFullScreenEnabled = v.mozFullScreenEnabled;
|
327 |
-
}
|
328 |
-
|
329 |
-
|
330 |
-
if (this.isChrome) {
|
331 |
-
t.hasSemiNativeFullScreen = false;
|
332 |
-
}
|
333 |
-
|
334 |
-
if (t.hasTrueNativeFullScreen) {
|
335 |
-
t.fullScreenEventName = (t.hasWebkitNativeFullScreen) ? 'webkitfullscreenchange' : 'mozfullscreenchange';
|
336 |
-
|
337 |
-
|
338 |
-
t.isFullScreen = function() {
|
339 |
-
if (v.mozRequestFullScreen) {
|
340 |
-
return d.mozFullScreen;
|
341 |
-
} else if (v.webkitRequestFullScreen) {
|
342 |
-
return d.webkitIsFullScreen;
|
343 |
-
}
|
344 |
-
}
|
345 |
-
|
346 |
-
t.requestFullScreen = function(el) {
|
347 |
-
|
348 |
-
if (t.hasWebkitNativeFullScreen) {
|
349 |
-
el.webkitRequestFullScreen();
|
350 |
-
} else if (t.hasMozNativeFullScreen) {
|
351 |
-
el.mozRequestFullScreen();
|
352 |
-
}
|
353 |
-
}
|
354 |
-
|
355 |
-
t.cancelFullScreen = function() {
|
356 |
-
if (t.hasWebkitNativeFullScreen) {
|
357 |
-
document.webkitCancelFullScreen();
|
358 |
-
} else if (t.hasMozNativeFullScreen) {
|
359 |
-
document.mozCancelFullScreen();
|
360 |
-
}
|
361 |
-
}
|
362 |
-
|
363 |
-
}
|
364 |
-
|
365 |
-
|
366 |
-
// OS X 10.5 can't do this even if it says it can :(
|
367 |
-
if (t.hasSemiNativeFullScreen && ua.match(/mac os x 10_5/i)) {
|
368 |
-
t.hasNativeFullScreen = false;
|
369 |
-
t.hasSemiNativeFullScreen = false;
|
370 |
-
}
|
371 |
-
|
372 |
-
}
|
373 |
-
};
|
374 |
-
mejs.MediaFeatures.init();
|
375 |
-
|
376 |
-
|
377 |
-
/*
|
378 |
-
extension methods to <video> or <audio> object to bring it into parity with PluginMediaElement (see below)
|
379 |
-
*/
|
380 |
-
mejs.HtmlMediaElement = {
|
381 |
-
pluginType: 'native',
|
382 |
-
isFullScreen: false,
|
383 |
-
|
384 |
-
setCurrentTime: function (time) {
|
385 |
-
this.currentTime = time;
|
386 |
-
},
|
387 |
|
388 |
-
|
389 |
-
this.muted = muted;
|
390 |
-
},
|
391 |
|
392 |
-
|
393 |
-
|
394 |
-
|
395 |
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
},
|
400 |
|
401 |
-
|
402 |
-
// or an array [{src:'file.mp4',type:'video/mp4'},{src:'file.webm',type:'video/webm'}]
|
403 |
-
setSrc: function (url) {
|
404 |
-
|
405 |
-
// Fix for IE9 which can't set .src when there are <source> elements. Awesome, right?
|
406 |
-
var
|
407 |
-
existingSources = this.getElementsByTagName('source');
|
408 |
-
while (existingSources.length > 0){
|
409 |
-
this.removeChild(existingSources[0]);
|
410 |
-
}
|
411 |
-
|
412 |
-
if (typeof url == 'string') {
|
413 |
-
this.src = url;
|
414 |
-
} else {
|
415 |
-
var i, media;
|
416 |
|
417 |
-
|
418 |
-
|
419 |
-
|
420 |
-
|
421 |
-
|
422 |
-
}
|
423 |
}
|
424 |
-
},
|
425 |
-
|
426 |
-
setVideoSize: function (width, height) {
|
427 |
-
this.width = width;
|
428 |
-
this.height = height;
|
429 |
}
|
430 |
-
};
|
431 |
|
432 |
-
|
433 |
-
Mimics the <video/audio> element by calling Flash's External Interface or Silverlights [ScriptableMember]
|
434 |
-
*/
|
435 |
-
mejs.PluginMediaElement = function (pluginid, pluginType, mediaUrl) {
|
436 |
-
this.id = pluginid;
|
437 |
-
this.pluginType = pluginType;
|
438 |
-
this.src = mediaUrl;
|
439 |
-
this.events = {};
|
440 |
};
|
441 |
|
442 |
-
|
443 |
-
|
444 |
-
// http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html
|
445 |
-
mejs.PluginMediaElement.prototype = {
|
446 |
|
447 |
-
// special
|
448 |
-
pluginElement: null,
|
449 |
-
pluginType: '',
|
450 |
-
isFullScreen: false,
|
451 |
|
452 |
-
|
453 |
-
playbackRate: -1,
|
454 |
-
defaultPlaybackRate: -1,
|
455 |
-
seekable: [],
|
456 |
-
played: [],
|
457 |
|
458 |
-
|
459 |
-
|
460 |
-
ended: false,
|
461 |
-
seeking: false,
|
462 |
-
duration: 0,
|
463 |
-
error: null,
|
464 |
-
tagName: '',
|
465 |
-
|
466 |
-
// HTML5 get/set properties, but only set (updated by event handlers)
|
467 |
-
muted: false,
|
468 |
-
volume: 1,
|
469 |
-
currentTime: 0,
|
470 |
-
|
471 |
-
// HTML5 methods
|
472 |
-
play: function () {
|
473 |
-
if (this.pluginApi != null) {
|
474 |
-
if (this.pluginType == 'youtube') {
|
475 |
-
this.pluginApi.playVideo();
|
476 |
-
} else {
|
477 |
-
this.pluginApi.playMedia();
|
478 |
-
}
|
479 |
-
this.paused = false;
|
480 |
-
}
|
481 |
-
},
|
482 |
-
load: function () {
|
483 |
-
if (this.pluginApi != null) {
|
484 |
-
if (this.pluginType == 'youtube') {
|
485 |
-
} else {
|
486 |
-
this.pluginApi.loadMedia();
|
487 |
-
}
|
488 |
-
|
489 |
-
this.paused = false;
|
490 |
-
}
|
491 |
-
},
|
492 |
-
pause: function () {
|
493 |
-
if (this.pluginApi != null) {
|
494 |
-
if (this.pluginType == 'youtube') {
|
495 |
-
this.pluginApi.pauseVideo();
|
496 |
-
} else {
|
497 |
-
this.pluginApi.pauseMedia();
|
498 |
-
}
|
499 |
-
|
500 |
-
|
501 |
-
this.paused = true;
|
502 |
-
}
|
503 |
-
},
|
504 |
-
stop: function () {
|
505 |
-
if (this.pluginApi != null) {
|
506 |
-
if (this.pluginType == 'youtube') {
|
507 |
-
this.pluginApi.stopVideo();
|
508 |
-
} else {
|
509 |
-
this.pluginApi.stopMedia();
|
510 |
-
}
|
511 |
-
this.paused = true;
|
512 |
-
}
|
513 |
-
},
|
514 |
-
canPlayType: function(type) {
|
515 |
-
var i,
|
516 |
-
j,
|
517 |
-
pluginInfo,
|
518 |
-
pluginVersions = mejs.plugins[this.pluginType];
|
519 |
-
|
520 |
-
for (i=0; i<pluginVersions.length; i++) {
|
521 |
-
pluginInfo = pluginVersions[i];
|
522 |
-
|
523 |
-
// test if user has the correct plugin version
|
524 |
-
if (mejs.PluginDetector.hasPluginVersion(this.pluginType, pluginInfo.version)) {
|
525 |
-
|
526 |
-
// test for plugin playback types
|
527 |
-
for (j=0; j<pluginInfo.types.length; j++) {
|
528 |
-
// find plugin that can play the type
|
529 |
-
if (type == pluginInfo.types[j]) {
|
530 |
-
return true;
|
531 |
-
}
|
532 |
-
}
|
533 |
-
}
|
534 |
-
}
|
535 |
|
536 |
-
|
537 |
-
},
|
538 |
-
|
539 |
-
positionFullscreenButton: function(x,y,visibleAndAbove) {
|
540 |
-
if (this.pluginApi != null && this.pluginApi.positionFullscreenButton) {
|
541 |
-
this.pluginApi.positionFullscreenButton(x,y,visibleAndAbove);
|
542 |
-
}
|
543 |
-
},
|
544 |
-
|
545 |
-
hideFullscreenButton: function() {
|
546 |
-
if (this.pluginApi != null && this.pluginApi.hideFullscreenButton) {
|
547 |
-
this.pluginApi.hideFullscreenButton();
|
548 |
-
}
|
549 |
-
},
|
550 |
-
|
551 |
-
|
552 |
-
// custom methods since not all JavaScript implementations support get/set
|
553 |
-
|
554 |
-
// This can be a url string
|
555 |
-
// or an array [{src:'file.mp4',type:'video/mp4'},{src:'file.webm',type:'video/webm'}]
|
556 |
-
setSrc: function (url) {
|
557 |
-
if (typeof url == 'string') {
|
558 |
-
this.pluginApi.setSrc(mejs.Utility.absolutizeUrl(url));
|
559 |
-
this.src = mejs.Utility.absolutizeUrl(url);
|
560 |
-
} else {
|
561 |
-
var i, media;
|
562 |
|
563 |
-
|
564 |
-
media = url[i];
|
565 |
-
if (this.canPlayType(media.type)) {
|
566 |
-
this.pluginApi.setSrc(mejs.Utility.absolutizeUrl(media.src));
|
567 |
-
this.src = mejs.Utility.absolutizeUrl(url);
|
568 |
-
}
|
569 |
-
}
|
570 |
-
}
|
571 |
|
572 |
-
|
573 |
-
|
574 |
-
if (this.pluginApi != null) {
|
575 |
-
if (this.pluginType == 'youtube') {
|
576 |
-
this.pluginApi.seekTo(time);
|
577 |
-
} else {
|
578 |
-
this.pluginApi.setCurrentTime(time);
|
579 |
-
}
|
580 |
-
|
581 |
-
|
582 |
-
|
583 |
-
this.currentTime = time;
|
584 |
-
}
|
585 |
-
},
|
586 |
-
setVolume: function (volume) {
|
587 |
-
if (this.pluginApi != null) {
|
588 |
-
// same on YouTube and MEjs
|
589 |
-
if (this.pluginType == 'youtube') {
|
590 |
-
this.pluginApi.setVolume(volume * 100);
|
591 |
-
} else {
|
592 |
-
this.pluginApi.setVolume(volume);
|
593 |
-
}
|
594 |
-
this.volume = volume;
|
595 |
-
}
|
596 |
-
},
|
597 |
-
setMuted: function (muted) {
|
598 |
-
if (this.pluginApi != null) {
|
599 |
-
if (this.pluginType == 'youtube') {
|
600 |
-
if (muted) {
|
601 |
-
this.pluginApi.mute();
|
602 |
-
} else {
|
603 |
-
this.pluginApi.unMute();
|
604 |
-
}
|
605 |
-
this.muted = muted;
|
606 |
-
this.dispatchEvent('volumechange');
|
607 |
-
} else {
|
608 |
-
this.pluginApi.setMuted(muted);
|
609 |
}
|
610 |
-
this.muted = muted;
|
611 |
-
}
|
612 |
-
},
|
613 |
|
614 |
-
|
615 |
-
|
616 |
-
|
617 |
-
|
618 |
-
|
619 |
-
|
620 |
-
|
621 |
-
|
622 |
-
|
623 |
-
|
624 |
-
|
625 |
-
|
626 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
627 |
|
628 |
-
|
629 |
-
|
630 |
-
this.pluginApi.setFullscreen(fullscreen);
|
631 |
-
}
|
632 |
-
},
|
633 |
-
|
634 |
-
enterFullScreen: function() {
|
635 |
-
if (this.pluginApi != null && this.pluginApi.setFullscreen) {
|
636 |
-
this.setFullscreen(true);
|
637 |
-
}
|
638 |
-
|
639 |
-
},
|
640 |
-
|
641 |
-
exitFullScreen: function() {
|
642 |
-
if (this.pluginApi != null && this.pluginApi.setFullscreen) {
|
643 |
-
this.setFullscreen(false);
|
644 |
-
}
|
645 |
-
},
|
646 |
|
647 |
-
|
648 |
-
|
649 |
-
|
650 |
-
|
651 |
-
|
652 |
-
removeEventListener: function (eventName, callback) {
|
653 |
-
if (!eventName) { this.events = {}; return true; }
|
654 |
-
var callbacks = this.events[eventName];
|
655 |
-
if (!callbacks) return true;
|
656 |
-
if (!callback) { this.events[eventName] = []; return true; }
|
657 |
-
for (i = 0; i < callbacks.length; i++) {
|
658 |
-
if (callbacks[i] === callback) {
|
659 |
-
this.events[eventName].splice(i, 1);
|
660 |
-
return true;
|
661 |
}
|
662 |
}
|
663 |
-
return false;
|
664 |
-
},
|
665 |
-
dispatchEvent: function (eventName) {
|
666 |
-
var i,
|
667 |
-
args,
|
668 |
-
callbacks = this.events[eventName];
|
669 |
|
670 |
-
if (
|
671 |
-
|
672 |
-
|
673 |
-
|
|
|
674 |
}
|
675 |
}
|
676 |
-
|
677 |
-
|
678 |
-
|
679 |
-
|
680 |
-
|
681 |
-
hasAttribute: function(name){
|
682 |
-
return (name in this.attributes);
|
683 |
-
},
|
684 |
-
removeAttribute: function(name){
|
685 |
-
delete this.attributes[name];
|
686 |
-
},
|
687 |
-
getAttribute: function(name){
|
688 |
-
if (this.hasAttribute(name)) {
|
689 |
-
return this.attributes[name];
|
690 |
}
|
691 |
-
return '';
|
692 |
-
},
|
693 |
-
setAttribute: function(name, value){
|
694 |
-
this.attributes[name] = value;
|
695 |
-
},
|
696 |
|
697 |
-
|
698 |
-
mejs.Utility.removeSwf(this.pluginElement.id);
|
699 |
}
|
|
|
|
|
700 |
};
|
701 |
|
702 |
-
|
703 |
-
mejs.MediaPluginBridge = {
|
704 |
|
705 |
-
|
706 |
-
|
|
|
707 |
|
708 |
-
|
709 |
-
this.pluginMediaElements[id] = pluginMediaElement;
|
710 |
-
this.htmlMediaElements[id] = htmlMediaElement;
|
711 |
-
},
|
712 |
|
713 |
-
|
714 |
-
|
715 |
|
716 |
-
|
717 |
-
|
|
|
718 |
|
719 |
-
|
720 |
-
// find the javascript bridge
|
721 |
-
switch (pluginMediaElement.pluginType) {
|
722 |
-
case "flash":
|
723 |
-
pluginMediaElement.pluginElement = pluginMediaElement.pluginApi = document.getElementById(id);
|
724 |
-
break;
|
725 |
-
case "silverlight":
|
726 |
-
pluginMediaElement.pluginElement = document.getElementById(pluginMediaElement.id);
|
727 |
-
pluginMediaElement.pluginApi = pluginMediaElement.pluginElement.Content.MediaElementJS;
|
728 |
-
break;
|
729 |
-
}
|
730 |
-
|
731 |
-
if (pluginMediaElement.pluginApi != null && pluginMediaElement.success) {
|
732 |
-
pluginMediaElement.success(pluginMediaElement, htmlMediaElement);
|
733 |
-
}
|
734 |
-
}
|
735 |
-
},
|
736 |
|
737 |
-
|
738 |
-
// http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html
|
739 |
-
fireEvent: function (id, eventName, values) {
|
740 |
|
741 |
-
|
742 |
-
e,
|
743 |
-
i,
|
744 |
-
bufferedTime,
|
745 |
-
pluginMediaElement = this.pluginMediaElements[id];
|
746 |
|
747 |
-
|
748 |
-
pluginMediaElement.paused = true;
|
749 |
|
750 |
-
|
751 |
-
e = {
|
752 |
-
type: eventName,
|
753 |
-
target: pluginMediaElement
|
754 |
-
};
|
755 |
|
756 |
-
|
757 |
-
for (i in values) {
|
758 |
-
pluginMediaElement[i] = values[i];
|
759 |
-
e[i] = values[i];
|
760 |
-
}
|
761 |
|
762 |
-
|
763 |
-
bufferedTime = values.bufferedTime || 0;
|
764 |
|
765 |
-
|
766 |
-
start: function(index) {
|
767 |
-
return 0;
|
768 |
-
},
|
769 |
-
end: function (index) {
|
770 |
-
return bufferedTime;
|
771 |
-
},
|
772 |
-
length: 1
|
773 |
-
};
|
774 |
|
775 |
-
|
776 |
-
}
|
777 |
-
};
|
778 |
|
779 |
-
|
780 |
-
Default options
|
781 |
-
*/
|
782 |
-
mejs.MediaElementDefaults = {
|
783 |
-
// allows testing on HTML5, flash, silverlight
|
784 |
-
// auto: attempts to detect what the browser can do
|
785 |
-
// auto_plugin: prefer plugins and then attempt native HTML5
|
786 |
-
// native: forces HTML5 playback
|
787 |
-
// shim: disallows HTML5, will attempt either Flash or Silverlight
|
788 |
-
// none: forces fallback view
|
789 |
-
mode: 'auto',
|
790 |
-
// remove or reorder to change plugin priority and availability
|
791 |
-
plugins: ['flash','silverlight','youtube','vimeo'],
|
792 |
-
// shows debug errors on screen
|
793 |
-
enablePluginDebug: false,
|
794 |
-
// overrides the type specified, useful for dynamic instantiation
|
795 |
-
type: '',
|
796 |
-
// path to Flash and Silverlight plugins
|
797 |
-
pluginPath: mejs.Utility.getScriptPath(['mediaelement.js','mediaelement.min.js','mediaelement-and-player.js','mediaelement-and-player.min.js']),
|
798 |
-
// name of flash file
|
799 |
-
flashName: 'flashmediaelement.swf',
|
800 |
-
// streamer for RTMP streaming
|
801 |
-
flashStreamer: '',
|
802 |
-
// turns on the smoothing filter in Flash
|
803 |
-
enablePluginSmoothing: false,
|
804 |
-
// name of silverlight file
|
805 |
-
silverlightName: 'silverlightmediaelement.xap',
|
806 |
-
// default if the <video width> is not specified
|
807 |
-
defaultVideoWidth: 480,
|
808 |
-
// default if the <video height> is not specified
|
809 |
-
defaultVideoHeight: 270,
|
810 |
-
// overrides <video width>
|
811 |
-
pluginWidth: -1,
|
812 |
-
// overrides <video height>
|
813 |
-
pluginHeight: -1,
|
814 |
-
// additional plugin variables in 'key=value' form
|
815 |
-
pluginVars: [],
|
816 |
-
// rate in milliseconds for Flash and Silverlight to fire the timeupdate event
|
817 |
-
// larger number is less accurate, but less strain on plugin->JavaScript bridge
|
818 |
-
timerRate: 250,
|
819 |
-
// initial volume for player
|
820 |
-
startVolume: 0.8,
|
821 |
-
success: function () { },
|
822 |
-
error: function () { }
|
823 |
-
};
|
824 |
|
825 |
-
|
826 |
-
Determines if a browser supports the <video> or <audio> element
|
827 |
-
and returns either the native element or a Flash/Silverlight version that
|
828 |
-
mimics HTML5 MediaElement
|
829 |
-
*/
|
830 |
-
mejs.MediaElement = function (el, o) {
|
831 |
-
return mejs.HtmlMediaElementShim.create(el,o);
|
832 |
-
};
|
833 |
|
834 |
-
|
835 |
-
|
836 |
-
create: function(el, o) {
|
837 |
-
var
|
838 |
-
options = mejs.MediaElementDefaults,
|
839 |
-
htmlMediaElement = (typeof(el) == 'string') ? document.getElementById(el) : el,
|
840 |
-
tagName = htmlMediaElement.tagName.toLowerCase(),
|
841 |
-
isMediaTag = (tagName === 'audio' || tagName === 'video'),
|
842 |
-
src = (isMediaTag) ? htmlMediaElement.getAttribute('src') : htmlMediaElement.getAttribute('href'),
|
843 |
-
poster = htmlMediaElement.getAttribute('poster'),
|
844 |
-
autoplay = htmlMediaElement.getAttribute('autoplay'),
|
845 |
-
preload = htmlMediaElement.getAttribute('preload'),
|
846 |
-
controls = htmlMediaElement.getAttribute('controls'),
|
847 |
-
playback,
|
848 |
-
prop;
|
849 |
-
|
850 |
-
// extend options
|
851 |
-
for (prop in o) {
|
852 |
-
options[prop] = o[prop];
|
853 |
-
}
|
854 |
-
|
855 |
-
// clean up attributes
|
856 |
-
src = (typeof src == 'undefined' || src === null || src == '') ? null : src;
|
857 |
-
poster = (typeof poster == 'undefined' || poster === null) ? '' : poster;
|
858 |
-
preload = (typeof preload == 'undefined' || preload === null || preload === 'false') ? 'none' : preload;
|
859 |
-
autoplay = !(typeof autoplay == 'undefined' || autoplay === null || autoplay === 'false');
|
860 |
-
controls = !(typeof controls == 'undefined' || controls === null || controls === 'false');
|
861 |
-
|
862 |
-
// test for HTML5 and plugin capabilities
|
863 |
-
playback = this.determinePlayback(htmlMediaElement, options, mejs.MediaFeatures.supportsMediaTag, isMediaTag, src);
|
864 |
-
playback.url = (playback.url !== null) ? mejs.Utility.absolutizeUrl(playback.url) : '';
|
865 |
-
|
866 |
-
if (playback.method == 'native') {
|
867 |
-
// second fix for android
|
868 |
-
if (mejs.MediaFeatures.isBustedAndroid) {
|
869 |
-
htmlMediaElement.src = playback.url;
|
870 |
-
htmlMediaElement.addEventListener('click', function() {
|
871 |
-
htmlMediaElement.play();
|
872 |
-
}, false);
|
873 |
-
}
|
874 |
-
|
875 |
-
// add methods to native HTMLMediaElement
|
876 |
-
return this.updateNative(playback, options, autoplay, preload);
|
877 |
-
} else if (playback.method !== '') {
|
878 |
-
// create plugin to mimic HTMLMediaElement
|
879 |
-
|
880 |
-
return this.createPlugin( playback, options, poster, autoplay, preload, controls);
|
881 |
-
} else {
|
882 |
-
// boo, no HTML5, no Flash, no Silverlight.
|
883 |
-
this.createErrorMessage( playback, options, poster );
|
884 |
-
|
885 |
-
return this;
|
886 |
-
}
|
887 |
-
},
|
888 |
-
|
889 |
-
determinePlayback: function(htmlMediaElement, options, supportsMediaTag, isMediaTag, src) {
|
890 |
-
var
|
891 |
-
mediaFiles = [],
|
892 |
-
i,
|
893 |
-
j,
|
894 |
-
k,
|
895 |
-
l,
|
896 |
-
n,
|
897 |
-
type,
|
898 |
-
result = { method: '', url: '', htmlMediaElement: htmlMediaElement, isVideo: (htmlMediaElement.tagName.toLowerCase() != 'audio')},
|
899 |
-
pluginName,
|
900 |
-
pluginVersions,
|
901 |
-
pluginInfo,
|
902 |
-
dummy;
|
903 |
-
|
904 |
-
// STEP 1: Get URL and type from <video src> or <source src>
|
905 |
-
|
906 |
-
// supplied type overrides <video type> and <source type>
|
907 |
-
if (typeof options.type != 'undefined' && options.type !== '') {
|
908 |
-
|
909 |
-
// accept either string or array of types
|
910 |
-
if (typeof options.type == 'string') {
|
911 |
-
mediaFiles.push({type:options.type, url:src});
|
912 |
-
} else {
|
913 |
-
|
914 |
-
for (i=0; i<options.type.length; i++) {
|
915 |
-
mediaFiles.push({type:options.type[i], url:src});
|
916 |
-
}
|
917 |
-
}
|
918 |
|
919 |
-
|
920 |
-
} else if (src !== null) {
|
921 |
-
type = this.formatType(src, htmlMediaElement.getAttribute('type'));
|
922 |
-
mediaFiles.push({type:type, url:src});
|
923 |
|
924 |
-
|
925 |
-
|
926 |
-
// test <source> types to see if they are usable
|
927 |
-
for (i = 0; i < htmlMediaElement.childNodes.length; i++) {
|
928 |
-
n = htmlMediaElement.childNodes[i];
|
929 |
-
if (n.nodeType == 1 && n.tagName.toLowerCase() == 'source') {
|
930 |
-
src = n.getAttribute('src');
|
931 |
-
type = this.formatType(src, n.getAttribute('type'));
|
932 |
-
mediaFiles.push({type:type, url:src});
|
933 |
-
}
|
934 |
-
}
|
935 |
-
}
|
936 |
-
|
937 |
-
// in the case of dynamicly created players
|
938 |
-
// check for audio types
|
939 |
-
if (!isMediaTag && mediaFiles.length > 0 && mediaFiles[0].url !== null && this.getTypeFromFile(mediaFiles[0].url).indexOf('audio') > -1) {
|
940 |
-
result.isVideo = false;
|
941 |
-
}
|
942 |
-
|
943 |
-
|
944 |
-
// STEP 2: Test for playback method
|
945 |
-
|
946 |
-
// special case for Android which sadly doesn't implement the canPlayType function (always returns '')
|
947 |
-
if (mejs.MediaFeatures.isBustedAndroid) {
|
948 |
-
htmlMediaElement.canPlayType = function(type) {
|
949 |
-
return (type.match(/video\/(mp4|m4v)/gi) !== null) ? 'maybe' : '';
|
950 |
-
};
|
951 |
-
}
|
952 |
-
|
953 |
|
954 |
-
|
955 |
-
if (supportsMediaTag && (options.mode === 'auto' || options.mode === 'auto_plugin' || options.mode === 'native')) {
|
956 |
-
|
957 |
-
if (!isMediaTag) {
|
958 |
|
959 |
-
|
960 |
-
dummy = document.createElement( result.isVideo ? 'video' : 'audio');
|
961 |
-
htmlMediaElement.parentNode.insertBefore(dummy, htmlMediaElement);
|
962 |
-
htmlMediaElement.style.display = 'none';
|
963 |
-
|
964 |
-
// use this one from now on
|
965 |
-
result.htmlMediaElement = htmlMediaElement = dummy;
|
966 |
-
}
|
967 |
-
|
968 |
-
for (i=0; i<mediaFiles.length; i++) {
|
969 |
-
// normal check
|
970 |
-
if (htmlMediaElement.canPlayType(mediaFiles[i].type).replace(/no/, '') !== ''
|
971 |
-
// special case for Mac/Safari 5.0.3 which answers '' to canPlayType('audio/mp3') but 'maybe' to canPlayType('audio/mpeg')
|
972 |
-
|| htmlMediaElement.canPlayType(mediaFiles[i].type.replace(/mp3/,'mpeg')).replace(/no/, '') !== '') {
|
973 |
-
result.method = 'native';
|
974 |
-
result.url = mediaFiles[i].url;
|
975 |
-
break;
|
976 |
-
}
|
977 |
-
}
|
978 |
-
|
979 |
-
if (result.method === 'native') {
|
980 |
-
if (result.url !== null) {
|
981 |
-
htmlMediaElement.src = result.url;
|
982 |
-
}
|
983 |
-
|
984 |
-
// if `auto_plugin` mode, then cache the native result but try plugins.
|
985 |
-
if (options.mode !== 'auto_plugin') {
|
986 |
-
return result;
|
987 |
-
}
|
988 |
-
}
|
989 |
-
}
|
990 |
|
991 |
-
|
992 |
-
if (options.mode === 'auto' || options.mode === 'auto_plugin' || options.mode === 'shim') {
|
993 |
-
for (i=0; i<mediaFiles.length; i++) {
|
994 |
-
type = mediaFiles[i].type;
|
995 |
|
996 |
-
|
997 |
-
|
998 |
|
999 |
-
|
1000 |
-
|
1001 |
-
// test version of plugin (for future features)
|
1002 |
-
pluginVersions = mejs.plugins[pluginName];
|
1003 |
-
|
1004 |
-
for (k=0; k<pluginVersions.length; k++) {
|
1005 |
-
pluginInfo = pluginVersions[k];
|
1006 |
-
|
1007 |
-
// test if user has the correct plugin version
|
1008 |
-
|
1009 |
-
// for youtube/vimeo
|
1010 |
-
if (pluginInfo.version == null ||
|
1011 |
-
|
1012 |
-
mejs.PluginDetector.hasPluginVersion(pluginName, pluginInfo.version)) {
|
1013 |
-
|
1014 |
-
// test for plugin playback types
|
1015 |
-
for (l=0; l<pluginInfo.types.length; l++) {
|
1016 |
-
// find plugin that can play the type
|
1017 |
-
if (type == pluginInfo.types[l]) {
|
1018 |
-
result.method = pluginName;
|
1019 |
-
result.url = mediaFiles[i].url;
|
1020 |
-
return result;
|
1021 |
-
}
|
1022 |
-
}
|
1023 |
-
}
|
1024 |
-
}
|
1025 |
-
}
|
1026 |
-
}
|
1027 |
-
}
|
1028 |
-
|
1029 |
-
// at this point, being in 'auto_plugin' mode implies that we tried plugins but failed.
|
1030 |
-
// if we have native support then return that.
|
1031 |
-
if (options.mode === 'auto_plugin' && result.method === 'native') {
|
1032 |
-
return result;
|
1033 |
-
}
|
1034 |
|
1035 |
-
|
1036 |
-
if (result.method === '' && mediaFiles.length > 0) {
|
1037 |
-
result.url = mediaFiles[0].url;
|
1038 |
-
}
|
1039 |
|
1040 |
-
|
1041 |
-
}
|
1042 |
|
1043 |
-
|
1044 |
-
var ext;
|
1045 |
|
1046 |
-
|
1047 |
-
if (url && !type) {
|
1048 |
-
return this.getTypeFromFile(url);
|
1049 |
-
} else {
|
1050 |
-
// only return the mime part of the type in case the attribute contains the codec
|
1051 |
-
// see http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html#the-source-element
|
1052 |
-
// `video/mp4; codecs="avc1.42E01E, mp4a.40.2"` becomes `video/mp4`
|
1053 |
-
|
1054 |
-
if (type && ~type.indexOf(';')) {
|
1055 |
-
return type.substr(0, type.indexOf(';'));
|
1056 |
-
} else {
|
1057 |
-
return type;
|
1058 |
-
}
|
1059 |
-
}
|
1060 |
-
},
|
1061 |
-
|
1062 |
-
getTypeFromFile: function(url) {
|
1063 |
-
var ext = url.substring(url.lastIndexOf('.') + 1);
|
1064 |
-
return (/(mp4|m4v|ogg|ogv|webm|webmv|flv|wmv|mpeg|mov)/gi.test(ext) ? 'video' : 'audio') + '/' + this.getTypeFromExtension(ext);
|
1065 |
-
},
|
1066 |
-
|
1067 |
-
getTypeFromExtension: function(ext) {
|
1068 |
-
|
1069 |
-
switch (ext) {
|
1070 |
-
case 'mp4':
|
1071 |
-
case 'm4v':
|
1072 |
-
return 'mp4';
|
1073 |
-
case 'webm':
|
1074 |
-
case 'webma':
|
1075 |
-
case 'webmv':
|
1076 |
-
return 'webm';
|
1077 |
-
case 'ogg':
|
1078 |
-
case 'oga':
|
1079 |
-
case 'ogv':
|
1080 |
-
return 'ogg';
|
1081 |
-
default:
|
1082 |
-
return ext;
|
1083 |
-
}
|
1084 |
-
},
|
1085 |
|
1086 |
-
|
1087 |
-
|
1088 |
-
htmlMediaElement = playback.htmlMediaElement,
|
1089 |
-
errorContainer = document.createElement('div');
|
1090 |
-
|
1091 |
-
errorContainer.className = 'me-cannotplay';
|
1092 |
|
1093 |
-
|
1094 |
-
|
1095 |
-
|
1096 |
-
|
|
|
|
|
1097 |
|
1098 |
-
|
1099 |
-
|
1100 |
-
|
1101 |
|
1102 |
-
|
1103 |
-
|
1104 |
|
1105 |
-
|
1106 |
-
},
|
1107 |
|
1108 |
-
|
1109 |
-
|
1110 |
-
|
1111 |
-
|
1112 |
-
height = 1,
|
1113 |
-
pluginid = 'me_' + playback.method + '_' + (mejs.meIndex++),
|
1114 |
-
pluginMediaElement = new mejs.PluginMediaElement(pluginid, playback.method, playback.url),
|
1115 |
-
container = document.createElement('div'),
|
1116 |
-
specialIEContainer,
|
1117 |
-
node,
|
1118 |
-
initVars;
|
1119 |
-
|
1120 |
-
// copy tagName from html media element
|
1121 |
-
pluginMediaElement.tagName = htmlMediaElement.tagName
|
1122 |
-
|
1123 |
-
// copy attributes from html media element to plugin media element
|
1124 |
-
for (var i = 0; i < htmlMediaElement.attributes.length; i++) {
|
1125 |
-
var attribute = htmlMediaElement.attributes[i];
|
1126 |
-
if (attribute.specified == true) {
|
1127 |
-
pluginMediaElement.setAttribute(attribute.name, attribute.value);
|
1128 |
-
}
|
1129 |
-
}
|
1130 |
-
|
1131 |
-
// check for placement inside a <p> tag (sometimes WYSIWYG editors do this)
|
1132 |
-
node = htmlMediaElement.parentNode;
|
1133 |
-
while (node !== null && node.tagName.toLowerCase() != 'body') {
|
1134 |
-
if (node.parentNode.tagName.toLowerCase() == 'p') {
|
1135 |
-
node.parentNode.parentNode.insertBefore(node, node.parentNode);
|
1136 |
-
break;
|
1137 |
-
}
|
1138 |
-
node = node.parentNode;
|
1139 |
-
}
|
1140 |
|
1141 |
-
|
1142 |
-
width = (options.videoWidth > 0) ? options.videoWidth : (htmlMediaElement.getAttribute('width') !== null) ? htmlMediaElement.getAttribute('width') : options.defaultVideoWidth;
|
1143 |
-
height = (options.videoHeight > 0) ? options.videoHeight : (htmlMediaElement.getAttribute('height') !== null) ? htmlMediaElement.getAttribute('height') : options.defaultVideoHeight;
|
1144 |
-
|
1145 |
-
// in case of '%' make sure it's encoded
|
1146 |
-
width = mejs.Utility.encodeUrl(width);
|
1147 |
-
height = mejs.Utility.encodeUrl(height);
|
1148 |
-
|
1149 |
-
} else {
|
1150 |
-
if (options.enablePluginDebug) {
|
1151 |
-
width = 320;
|
1152 |
-
height = 240;
|
1153 |
-
}
|
1154 |
-
}
|
1155 |
|
1156 |
-
|
1157 |
-
pluginMediaElement.success = options.success;
|
1158 |
-
mejs.MediaPluginBridge.registerPluginElement(pluginid, pluginMediaElement, htmlMediaElement);
|
1159 |
|
1160 |
-
|
1161 |
-
|
1162 |
-
|
1163 |
-
|
1164 |
-
|
1165 |
-
|
1166 |
-
|
1167 |
-
|
1168 |
-
|
1169 |
-
|
1170 |
-
|
1171 |
-
|
1172 |
-
'
|
1173 |
-
|
1174 |
-
|
1175 |
-
'preload=' + preload,
|
1176 |
-
'width=' + width,
|
1177 |
-
'startvolume=' + options.startVolume,
|
1178 |
-
'timerrate=' + options.timerRate,
|
1179 |
-
'flashstreamer=' + options.flashStreamer,
|
1180 |
-
'height=' + height];
|
1181 |
-
|
1182 |
-
if (playback.url !== null) {
|
1183 |
-
if (playback.method == 'flash') {
|
1184 |
-
initVars.push('file=' + mejs.Utility.encodeUrl(playback.url));
|
1185 |
-
} else {
|
1186 |
-
initVars.push('file=' + playback.url);
|
1187 |
-
}
|
1188 |
-
}
|
1189 |
-
if (options.enablePluginDebug) {
|
1190 |
-
initVars.push('debug=true');
|
1191 |
}
|
1192 |
-
if (options.enablePluginSmoothing) {
|
1193 |
-
initVars.push('smoothing=true');
|
1194 |
-
}
|
1195 |
-
if (controls) {
|
1196 |
-
initVars.push('controls=true'); // shows controls in the plugin if desired
|
1197 |
-
}
|
1198 |
-
if (options.pluginVars) {
|
1199 |
-
initVars = initVars.concat(options.pluginVars);
|
1200 |
-
}
|
1201 |
|
1202 |
-
|
1203 |
-
|
1204 |
-
container.innerHTML =
|
1205 |
-
'<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" id="' + pluginid + '" name="' + pluginid + '" width="' + width + '" height="' + height + '">' +
|
1206 |
-
'<param name="initParams" value="' + initVars.join(',') + '" />' +
|
1207 |
-
'<param name="windowless" value="true" />' +
|
1208 |
-
'<param name="background" value="black" />' +
|
1209 |
-
'<param name="minRuntimeVersion" value="3.0.0.0" />' +
|
1210 |
-
'<param name="autoUpgrade" value="true" />' +
|
1211 |
-
'<param name="source" value="' + options.pluginPath + options.silverlightName + '" />' +
|
1212 |
-
'</object>';
|
1213 |
-
break;
|
1214 |
|
1215 |
-
|
1216 |
-
|
1217 |
-
if (mejs.MediaFeatures.isIE) {
|
1218 |
-
specialIEContainer = document.createElement('div');
|
1219 |
-
container.appendChild(specialIEContainer);
|
1220 |
-
specialIEContainer.outerHTML =
|
1221 |
-
'<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab" ' +
|
1222 |
-
'id="' + pluginid + '" width="' + width + '" height="' + height + '">' +
|
1223 |
-
'<param name="movie" value="' + options.pluginPath + options.flashName + '?x=' + (new Date()) + '" />' +
|
1224 |
-
'<param name="flashvars" value="' + initVars.join('&') + '" />' +
|
1225 |
-
'<param name="quality" value="high" />' +
|
1226 |
-
'<param name="bgcolor" value="#000000" />' +
|
1227 |
-
'<param name="wmode" value="transparent" />' +
|
1228 |
-
'<param name="allowScriptAccess" value="always" />' +
|
1229 |
-
'<param name="allowFullScreen" value="true" />' +
|
1230 |
-
'</object>';
|
1231 |
|
1232 |
-
|
|
|
|
|
1233 |
|
1234 |
-
|
1235 |
-
|
1236 |
-
|
1237 |
-
|
1238 |
-
|
1239 |
-
|
1240 |
-
|
1241 |
-
|
1242 |
-
'allowFullScreen="true" ' +
|
1243 |
-
'type="application/x-shockwave-flash" pluginspage="//www.macromedia.com/go/getflashplayer" ' +
|
1244 |
-
'src="' + options.pluginPath + options.flashName + '" ' +
|
1245 |
-
'flashvars="' + initVars.join('&') + '" ' +
|
1246 |
-
'width="' + width + '" ' +
|
1247 |
-
'height="' + height + '"></embed>';
|
1248 |
-
}
|
1249 |
break;
|
1250 |
-
|
1251 |
-
case '
|
1252 |
-
|
1253 |
-
|
1254 |
-
|
1255 |
-
|
1256 |
-
|
1257 |
-
|
1258 |
-
|
1259 |
-
|
1260 |
-
|
1261 |
-
|
1262 |
-
height: height,
|
1263 |
-
width: width
|
1264 |
-
};
|
1265 |
-
|
1266 |
-
if (mejs.PluginDetector.hasPluginVersion('flash', [10,0,0]) ) {
|
1267 |
-
mejs.YouTubeApi.createFlash(youtubeSettings);
|
1268 |
-
} else {
|
1269 |
-
mejs.YouTubeApi.enqueueIframe(youtubeSettings);
|
1270 |
}
|
1271 |
-
|
1272 |
-
break;
|
1273 |
-
|
1274 |
-
// DEMO Code. Does NOT work.
|
1275 |
-
case 'vimeo':
|
1276 |
-
//console.log('vimeoid');
|
1277 |
-
|
1278 |
-
pluginMediaElement.vimeoid = playback.url.substr(playback.url.lastIndexOf('/')+1);
|
1279 |
-
|
1280 |
-
container.innerHTML =
|
1281 |
-
'<object width="' + width + '" height="' + height + '">' +
|
1282 |
-
'<param name="allowfullscreen" value="true" />' +
|
1283 |
-
'<param name="allowscriptaccess" value="always" />' +
|
1284 |
-
'<param name="flashvars" value="api=1" />' +
|
1285 |
-
'<param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=' + pluginMediaElement.vimeoid + '&server=vimeo.com&show_title=0&show_byline=0&show_portrait=0&color=00adef&fullscreen=1&autoplay=0&loop=0" />' +
|
1286 |
-
'<embed src="//vimeo.com/moogaloop.swf?api=1&clip_id=' + pluginMediaElement.vimeoid + '&server=vimeo.com&show_title=0&show_byline=0&show_portrait=0&color=00adef&fullscreen=1&autoplay=0&loop=0" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="' + width + '" height="' + height + '"></embed>' +
|
1287 |
-
'</object>';
|
1288 |
-
|
1289 |
-
break;
|
1290 |
-
}
|
1291 |
-
// hide original element
|
1292 |
-
htmlMediaElement.style.display = 'none';
|
1293 |
-
|
1294 |
-
// FYI: options.success will be fired by the MediaPluginBridge
|
1295 |
-
|
1296 |
-
return pluginMediaElement;
|
1297 |
-
},
|
1298 |
|
1299 |
-
|
1300 |
-
|
1301 |
-
|
1302 |
-
|
1303 |
-
|
1304 |
-
|
1305 |
-
// add methods to video object to bring it into parity with Flash Object
|
1306 |
-
for (m in mejs.HtmlMediaElement) {
|
1307 |
-
htmlMediaElement[m] = mejs.HtmlMediaElement[m];
|
1308 |
-
}
|
1309 |
-
|
1310 |
-
/*
|
1311 |
-
Chrome now supports preload="none"
|
1312 |
-
if (mejs.MediaFeatures.isChrome) {
|
1313 |
-
|
1314 |
-
// special case to enforce preload attribute (Chrome doesn't respect this)
|
1315 |
-
if (preload === 'none' && !autoplay) {
|
1316 |
-
|
1317 |
-
// forces the browser to stop loading (note: fails in IE9)
|
1318 |
-
htmlMediaElement.src = '';
|
1319 |
-
htmlMediaElement.load();
|
1320 |
-
htmlMediaElement.canceledPreload = true;
|
1321 |
-
|
1322 |
-
htmlMediaElement.addEventListener('play',function() {
|
1323 |
-
if (htmlMediaElement.canceledPreload) {
|
1324 |
-
htmlMediaElement.src = playback.url;
|
1325 |
-
htmlMediaElement.load();
|
1326 |
-
htmlMediaElement.play();
|
1327 |
-
htmlMediaElement.canceledPreload = false;
|
1328 |
}
|
1329 |
-
}
|
1330 |
-
|
1331 |
-
} else if (autoplay) {
|
1332 |
-
htmlMediaElement.load();
|
1333 |
-
htmlMediaElement.play();
|
1334 |
-
}
|
1335 |
}
|
1336 |
-
*/
|
1337 |
-
|
1338 |
-
// fire success code
|
1339 |
-
options.success(htmlMediaElement, htmlMediaElement);
|
1340 |
-
|
1341 |
-
return htmlMediaElement;
|
1342 |
}
|
1343 |
-
};
|
1344 |
|
1345 |
-
|
1346 |
-
|
1347 |
-
|
1348 |
-
|
1349 |
-
|
|
|
1350 |
|
1351 |
-
|
1352 |
-
|
1353 |
-
|
1354 |
-
|
1355 |
-
|
1356 |
-
if (
|
1357 |
-
|
1358 |
-
|
1359 |
-
|
1360 |
-
|
1361 |
-
|
|
|
|
|
1362 |
}
|
1363 |
-
|
1364 |
-
|
1365 |
-
|
1366 |
-
|
1367 |
-
|
1368 |
-
|
1369 |
-
|
1370 |
-
this.loadIframeApi();
|
1371 |
-
this.iframeQueue.push(yt);
|
1372 |
}
|
1373 |
-
|
1374 |
-
|
1375 |
-
|
1376 |
-
|
1377 |
-
|
1378 |
-
|
1379 |
-
|
1380 |
-
|
1381 |
-
|
1382 |
-
|
1383 |
-
|
1384 |
-
|
1385 |
-
|
1386 |
-
|
1387 |
-
|
1388 |
-
|
1389 |
-
|
1390 |
-
|
1391 |
-
|
1392 |
-
|
1393 |
-
|
1394 |
-
|
1395 |
-
|
1396 |
-
|
1397 |
-
|
1398 |
-
|
1399 |
-
|
1400 |
-
|
1401 |
-
|
|
|
1402 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1403 |
});
|
1404 |
},
|
1405 |
-
|
1406 |
-
|
1407 |
-
var obj = {
|
1408 |
-
type: eventName,
|
1409 |
-
target: pluginMediaElement
|
1410 |
-
};
|
1411 |
|
1412 |
-
|
1413 |
-
|
1414 |
-
|
1415 |
-
|
1416 |
-
|
1417 |
-
|
1418 |
-
|
1419 |
-
|
1420 |
-
obj.ended = pluginMediaElement.ended;
|
1421 |
-
|
1422 |
-
// sound
|
1423 |
-
obj.muted = player.isMuted();
|
1424 |
-
obj.volume = player.getVolume() / 100;
|
1425 |
-
|
1426 |
-
// progress
|
1427 |
-
obj.bytesTotal = player.getVideoBytesTotal();
|
1428 |
-
obj.bufferedBytes = player.getVideoBytesLoaded();
|
1429 |
-
|
1430 |
-
// fake the W3C buffered TimeRange
|
1431 |
-
var bufferedTime = obj.bufferedBytes / obj.bytesTotal * obj.duration;
|
1432 |
-
|
1433 |
-
obj.target.buffered = obj.buffered = {
|
1434 |
-
start: function(index) {
|
1435 |
-
return 0;
|
1436 |
-
},
|
1437 |
-
end: function (index) {
|
1438 |
-
return bufferedTime;
|
1439 |
-
},
|
1440 |
-
length: 1
|
1441 |
};
|
1442 |
-
|
1443 |
-
|
1444 |
-
|
1445 |
-
|
1446 |
-
|
1447 |
-
},
|
1448 |
-
|
1449 |
-
iFrameReady: function() {
|
1450 |
-
|
1451 |
-
this.isLoaded = true;
|
1452 |
-
this.isIframeLoaded = true;
|
1453 |
-
|
1454 |
-
while (this.iframeQueue.length > 0) {
|
1455 |
-
var settings = this.iframeQueue.pop();
|
1456 |
-
this.createIframe(settings);
|
1457 |
-
}
|
1458 |
-
},
|
1459 |
-
|
1460 |
-
// FLASH!
|
1461 |
-
flashPlayers: {},
|
1462 |
-
createFlash: function(settings) {
|
1463 |
-
|
1464 |
-
this.flashPlayers[settings.pluginId] = settings;
|
1465 |
-
|
1466 |
-
/*
|
1467 |
-
settings.container.innerHTML =
|
1468 |
-
'<object type="application/x-shockwave-flash" id="' + settings.pluginId + '" data="//www.youtube.com/apiplayer?enablejsapi=1&playerapiid=' + settings.pluginId + '&version=3&autoplay=0&controls=0&modestbranding=1&loop=0" ' +
|
1469 |
-
'width="' + settings.width + '" height="' + settings.height + '" style="visibility: visible; ">' +
|
1470 |
-
'<param name="allowScriptAccess" value="always">' +
|
1471 |
-
'<param name="wmode" value="transparent">' +
|
1472 |
-
'</object>';
|
1473 |
-
*/
|
1474 |
-
|
1475 |
-
var specialIEContainer,
|
1476 |
-
youtubeUrl = 'http://www.youtube.com/apiplayer?enablejsapi=1&playerapiid=' + settings.pluginId + '&version=3&autoplay=0&controls=0&modestbranding=1&loop=0';
|
1477 |
-
|
1478 |
-
if (mejs.MediaFeatures.isIE) {
|
1479 |
-
|
1480 |
-
specialIEContainer = document.createElement('div');
|
1481 |
-
settings.container.appendChild(specialIEContainer);
|
1482 |
-
specialIEContainer.outerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab" ' +
|
1483 |
-
'id="' + settings.pluginId + '" width="' + settings.width + '" height="' + settings.height + '">' +
|
1484 |
-
'<param name="movie" value="' + youtubeUrl + '" />' +
|
1485 |
-
'<param name="wmode" value="transparent" />' +
|
1486 |
-
'<param name="allowScriptAccess" value="always" />' +
|
1487 |
-
'<param name="allowFullScreen" value="true" />' +
|
1488 |
-
'</object>';
|
1489 |
-
} else {
|
1490 |
-
settings.container.innerHTML =
|
1491 |
-
'<object type="application/x-shockwave-flash" id="' + settings.pluginId + '" data="' + youtubeUrl + '" ' +
|
1492 |
-
'width="' + settings.width + '" height="' + settings.height + '" style="visibility: visible; ">' +
|
1493 |
-
'<param name="allowScriptAccess" value="always">' +
|
1494 |
-
'<param name="wmode" value="transparent">' +
|
1495 |
-
'</object>';
|
1496 |
-
}
|
1497 |
-
|
1498 |
},
|
1499 |
-
|
1500 |
-
|
1501 |
-
var
|
1502 |
-
settings = this.flashPlayers[id],
|
1503 |
-
player = document.getElementById(id),
|
1504 |
-
pluginMediaElement = settings.pluginMediaElement;
|
1505 |
-
|
1506 |
-
// hook up and return to MediaELementPlayer.success
|
1507 |
-
pluginMediaElement.pluginApi =
|
1508 |
-
pluginMediaElement.pluginElement = player;
|
1509 |
-
mejs.MediaPluginBridge.initPlugin(id);
|
1510 |
-
|
1511 |
-
// load the youtube video
|
1512 |
-
player.cueVideoById(settings.videoId);
|
1513 |
-
|
1514 |
-
var callbackName = settings.containerId + '_callback'
|
1515 |
-
|
1516 |
-
window[callbackName] = function(e) {
|
1517 |
-
mejs.YouTubeApi.handleStateChange(e, player, pluginMediaElement);
|
1518 |
-
}
|
1519 |
-
|
1520 |
-
player.addEventListener('onStateChange', callbackName);
|
1521 |
-
|
1522 |
-
setInterval(function() {
|
1523 |
-
mejs.YouTubeApi.createEvent(player, pluginMediaElement, 'timeupdate');
|
1524 |
-
}, 250);
|
1525 |
},
|
1526 |
-
|
1527 |
-
|
1528 |
-
switch (youTubeState) {
|
1529 |
-
case -1: // not started
|
1530 |
-
pluginMediaElement.paused = true;
|
1531 |
-
pluginMediaElement.ended = true;
|
1532 |
-
mejs.YouTubeApi.createEvent(player, pluginMediaElement, 'loadedmetadata');
|
1533 |
-
//createYouTubeEvent(player, pluginMediaElement, 'loadeddata');
|
1534 |
-
break;
|
1535 |
-
case 0:
|
1536 |
-
pluginMediaElement.paused = false;
|
1537 |
-
pluginMediaElement.ended = true;
|
1538 |
-
mejs.YouTubeApi.createEvent(player, pluginMediaElement, 'ended');
|
1539 |
-
break;
|
1540 |
-
case 1:
|
1541 |
-
pluginMediaElement.paused = false;
|
1542 |
-
pluginMediaElement.ended = false;
|
1543 |
-
mejs.YouTubeApi.createEvent(player, pluginMediaElement, 'play');
|
1544 |
-
mejs.YouTubeApi.createEvent(player, pluginMediaElement, 'playing');
|
1545 |
-
break;
|
1546 |
-
case 2:
|
1547 |
-
pluginMediaElement.paused = true;
|
1548 |
-
pluginMediaElement.ended = false;
|
1549 |
-
mejs.YouTubeApi.createEvent(player, pluginMediaElement, 'pause');
|
1550 |
-
break;
|
1551 |
-
case 3: // buffering
|
1552 |
-
mejs.YouTubeApi.createEvent(player, pluginMediaElement, 'progress');
|
1553 |
-
break;
|
1554 |
-
case 5:
|
1555 |
-
// cued?
|
1556 |
-
break;
|
1557 |
-
|
1558 |
-
}
|
1559 |
-
|
1560 |
-
}
|
1561 |
-
}
|
1562 |
-
// IFRAME
|
1563 |
-
function onYouTubePlayerAPIReady() {
|
1564 |
-
mejs.YouTubeApi.iFrameReady();
|
1565 |
-
}
|
1566 |
-
// FLASH
|
1567 |
-
function onYouTubePlayerReady(id) {
|
1568 |
-
mejs.YouTubeApi.flashReady(id);
|
1569 |
-
}
|
1570 |
|
1571 |
-
|
1572 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1573 |
|
|
|
|
|
|
|
1574 |
|
1575 |
-
|
1576 |
-
|
1577 |
-
* http://mediaelementjs.com/
|
1578 |
-
*
|
1579 |
-
* Creates a controller bar for HTML5 <video> add <audio> tags
|
1580 |
-
* using jQuery and MediaElement.js (HTML5 Flash/Silverlight wrapper)
|
1581 |
-
*
|
1582 |
-
* Copyright 2010-2012, John Dyer (http://j.hn/)
|
1583 |
-
* Dual licensed under the MIT or GPL Version 2 licenses.
|
1584 |
-
*
|
1585 |
-
*/
|
1586 |
-
if (typeof jQuery != 'undefined') {
|
1587 |
-
mejs.$ = jQuery;
|
1588 |
-
} else if (typeof ender != 'undefined') {
|
1589 |
-
mejs.$ = ender;
|
1590 |
-
}
|
1591 |
-
(function ($) {
|
1592 |
|
1593 |
-
|
1594 |
-
|
1595 |
-
|
1596 |
-
|
1597 |
-
|
1598 |
-
|
1599 |
-
|
1600 |
-
|
1601 |
-
|
1602 |
-
|
1603 |
-
|
1604 |
-
|
1605 |
-
|
1606 |
-
|
1607 |
-
|
1608 |
-
|
1609 |
-
|
1610 |
-
|
1611 |
-
|
1612 |
-
|
1613 |
-
|
1614 |
-
|
1615 |
-
|
1616 |
-
|
1617 |
-
|
1618 |
-
|
1619 |
-
|
1620 |
-
audioWidth: -1,
|
1621 |
-
// height of audio player
|
1622 |
-
audioHeight: -1,
|
1623 |
-
// initial volume when the player starts (overrided by user cookie)
|
1624 |
-
startVolume: 0.8,
|
1625 |
-
// useful for <audio> player loops
|
1626 |
-
loop: false,
|
1627 |
-
// resize to media dimensions
|
1628 |
-
enableAutosize: true,
|
1629 |
-
// forces the hour marker (##:00:00)
|
1630 |
-
alwaysShowHours: false,
|
1631 |
-
|
1632 |
-
// show framecount in timecode (##:00:00:00)
|
1633 |
-
showTimecodeFrameCount: false,
|
1634 |
-
// used when showTimecodeFrameCount is set to true
|
1635 |
-
framesPerSecond: 25,
|
1636 |
-
|
1637 |
-
// automatically calculate the width of the progress bar based on the sizes of other elements
|
1638 |
-
autosizeProgress : true,
|
1639 |
-
// Hide controls when playing and mouse is not over the video
|
1640 |
-
alwaysShowControls: false,
|
1641 |
-
// force iPad's native controls
|
1642 |
-
iPadUseNativeControls: false,
|
1643 |
-
// force iPhone's native controls
|
1644 |
-
iPhoneUseNativeControls: false,
|
1645 |
-
// force Android's native controls
|
1646 |
-
AndroidUseNativeControls: false,
|
1647 |
-
// features to show
|
1648 |
-
features: ['playpause','current','progress','duration','tracks','volume','fullscreen'],
|
1649 |
-
// only for dynamic
|
1650 |
-
isVideo: true,
|
1651 |
-
|
1652 |
-
// turns keyboard support on and off for this instance
|
1653 |
-
enableKeyboard: true,
|
1654 |
-
|
1655 |
-
// whenthis player starts, it will pause other players
|
1656 |
-
pauseOtherPlayers: true,
|
1657 |
-
|
1658 |
-
// array of keyboard actions such as play pause
|
1659 |
-
keyActions: [
|
1660 |
-
{
|
1661 |
-
keys: [
|
1662 |
-
32, // SPACE
|
1663 |
-
179 // GOOGLE play/pause button
|
1664 |
-
],
|
1665 |
-
action: function(player, media) {
|
1666 |
-
if (media.paused || media.ended) {
|
1667 |
-
media.play();
|
1668 |
-
} else {
|
1669 |
-
media.pause();
|
1670 |
-
}
|
1671 |
-
}
|
1672 |
-
},
|
1673 |
-
{
|
1674 |
-
keys: [38], // UP
|
1675 |
-
action: function(player, media) {
|
1676 |
-
var newVolume = Math.min(media.volume + 0.1, 1);
|
1677 |
-
media.setVolume(newVolume);
|
1678 |
-
}
|
1679 |
-
},
|
1680 |
-
{
|
1681 |
-
keys: [40], // DOWN
|
1682 |
-
action: function(player, media) {
|
1683 |
-
var newVolume = Math.max(media.volume - 0.1, 0);
|
1684 |
-
media.setVolume(newVolume);
|
1685 |
-
}
|
1686 |
-
},
|
1687 |
-
{
|
1688 |
-
keys: [
|
1689 |
-
37, // LEFT
|
1690 |
-
227 // Google TV rewind
|
1691 |
-
],
|
1692 |
-
action: function(player, media) {
|
1693 |
-
if (!isNaN(media.duration) && media.duration > 0) {
|
1694 |
-
if (player.isVideo) {
|
1695 |
-
player.showControls();
|
1696 |
-
player.startControlsTimer();
|
1697 |
-
}
|
1698 |
-
|
1699 |
-
// 5%
|
1700 |
-
var newTime = Math.max(media.currentTime - player.options.defaultSeekBackwardInterval(media), 0);
|
1701 |
-
media.setCurrentTime(newTime);
|
1702 |
-
}
|
1703 |
-
}
|
1704 |
-
},
|
1705 |
-
{
|
1706 |
-
keys: [
|
1707 |
-
39, // RIGHT
|
1708 |
-
228 // Google TV forward
|
1709 |
-
],
|
1710 |
-
action: function(player, media) {
|
1711 |
-
if (!isNaN(media.duration) && media.duration > 0) {
|
1712 |
-
if (player.isVideo) {
|
1713 |
-
player.showControls();
|
1714 |
-
player.startControlsTimer();
|
1715 |
-
}
|
1716 |
-
|
1717 |
-
// 5%
|
1718 |
-
var newTime = Math.min(media.currentTime + player.options.defaultSeekForwardInterval(media), media.duration);
|
1719 |
-
media.setCurrentTime(newTime);
|
1720 |
-
}
|
1721 |
-
}
|
1722 |
-
},
|
1723 |
-
{
|
1724 |
-
keys: [70], // f
|
1725 |
-
action: function(player, media) {
|
1726 |
-
if (typeof player.enterFullScreen != 'undefined') {
|
1727 |
-
if (player.isFullScreen) {
|
1728 |
-
player.exitFullScreen();
|
1729 |
-
} else {
|
1730 |
-
player.enterFullScreen();
|
1731 |
}
|
|
|
1732 |
}
|
|
|
1733 |
}
|
1734 |
-
|
1735 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1736 |
};
|
1737 |
|
1738 |
-
|
1739 |
-
|
1740 |
-
|
1741 |
|
1742 |
-
|
1743 |
-
|
1744 |
-
|
1745 |
-
if ( !(this instanceof mejs.MediaElementPlayer) ) {
|
1746 |
-
return new mejs.MediaElementPlayer(node, o);
|
1747 |
-
}
|
1748 |
|
1749 |
-
|
1750 |
-
|
1751 |
-
|
1752 |
-
|
1753 |
-
|
1754 |
-
|
1755 |
-
|
1756 |
-
|
1757 |
-
|
1758 |
-
|
1759 |
-
|
1760 |
-
t.
|
|
|
1761 |
}
|
1762 |
-
|
1763 |
-
|
1764 |
-
// try to get options from data-mejsoptions
|
1765 |
-
if (typeof o == 'undefined') {
|
1766 |
-
o = t.$node.data('mejsoptions');
|
1767 |
-
}
|
1768 |
-
|
1769 |
-
// extend default options
|
1770 |
-
t.options = $.extend({},mejs.MepDefaults,o);
|
1771 |
-
|
1772 |
-
// add to player array (for focus events)
|
1773 |
-
mejs.players.push(t);
|
1774 |
-
|
1775 |
-
// start up
|
1776 |
-
t.init();
|
1777 |
|
1778 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1779 |
};
|
1780 |
|
1781 |
-
|
1782 |
-
|
1783 |
-
|
1784 |
-
|
1785 |
-
|
1786 |
-
controlsAreVisible: true,
|
1787 |
-
|
1788 |
-
init: function() {
|
1789 |
-
|
1790 |
-
var
|
1791 |
-
t = this,
|
1792 |
-
mf = mejs.MediaFeatures,
|
1793 |
-
// options for MediaElement (shim)
|
1794 |
-
meOptions = $.extend(true, {}, t.options, {
|
1795 |
-
success: function(media, domNode) { t.meReady(media, domNode); },
|
1796 |
-
error: function(e) { t.handleError(e);}
|
1797 |
-
}),
|
1798 |
-
tagName = t.media.tagName.toLowerCase();
|
1799 |
-
|
1800 |
-
t.isDynamic = (tagName !== 'audio' && tagName !== 'video');
|
1801 |
-
|
1802 |
-
if (t.isDynamic) {
|
1803 |
-
// get video from src or href?
|
1804 |
-
t.isVideo = t.options.isVideo;
|
1805 |
-
} else {
|
1806 |
-
t.isVideo = (tagName !== 'audio' && t.options.isVideo);
|
1807 |
}
|
1808 |
-
|
1809 |
-
|
1810 |
-
if ((mf.isiPad && t.options.iPadUseNativeControls) || (mf.isiPhone && t.options.iPhoneUseNativeControls)) {
|
1811 |
-
|
1812 |
-
// add controls and stop
|
1813 |
-
t.$media.attr('controls', 'controls');
|
1814 |
|
1815 |
-
|
1816 |
-
|
1817 |
-
|
|
|
|
|
|
|
|
|
|
|
1818 |
|
1819 |
-
|
1820 |
-
|
1821 |
-
|
1822 |
-
t.media.play();
|
1823 |
-
}
|
1824 |
-
|
1825 |
-
} else if (mf.isAndroid && t.AndroidUseNativeControls) {
|
1826 |
-
|
1827 |
-
// leave default player
|
1828 |
|
1829 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1830 |
|
1831 |
-
|
1832 |
-
|
1833 |
-
|
1834 |
-
|
1835 |
-
|
1836 |
-
// unique ID
|
1837 |
-
t.id = 'mep_' + mejs.mepIndex++;
|
1838 |
-
|
1839 |
-
// build container
|
1840 |
-
t.container =
|
1841 |
-
$('<div id="' + t.id + '" class="mejs-container">'+
|
1842 |
-
'<div class="mejs-inner">'+
|
1843 |
-
'<div class="mejs-mediaelement"></div>'+
|
1844 |
-
'<div class="mejs-layers"></div>'+
|
1845 |
-
'<div class="mejs-controls"></div>'+
|
1846 |
-
'<div class="mejs-clear"></div>'+
|
1847 |
-
'</div>' +
|
1848 |
-
'</div>')
|
1849 |
-
.addClass(t.$media[0].className)
|
1850 |
-
.insertBefore(t.$media);
|
1851 |
-
|
1852 |
-
// add classes for user and content
|
1853 |
-
t.container.addClass(
|
1854 |
-
(mf.isAndroid ? 'mejs-android ' : '') +
|
1855 |
-
(mf.isiOS ? 'mejs-ios ' : '') +
|
1856 |
-
(mf.isiPad ? 'mejs-ipad ' : '') +
|
1857 |
-
(mf.isiPhone ? 'mejs-iphone ' : '') +
|
1858 |
-
(t.isVideo ? 'mejs-video ' : 'mejs-audio ')
|
1859 |
-
);
|
1860 |
-
|
1861 |
-
|
1862 |
-
// move the <video/video> tag into the right spot
|
1863 |
-
if (mf.isiOS) {
|
1864 |
-
|
1865 |
-
// sadly, you can't move nodes in iOS, so we have to destroy and recreate it!
|
1866 |
-
var $newMedia = t.$media.clone();
|
1867 |
-
|
1868 |
-
t.container.find('.mejs-mediaelement').append($newMedia);
|
1869 |
-
|
1870 |
-
t.$media.remove();
|
1871 |
-
t.$node = t.$media = $newMedia;
|
1872 |
-
t.node = t.media = $newMedia[0]
|
1873 |
-
|
1874 |
-
} else {
|
1875 |
-
|
1876 |
-
// normal way of moving it into place (doesn't work on iOS)
|
1877 |
-
t.container.find('.mejs-mediaelement').append(t.$media);
|
1878 |
-
}
|
1879 |
-
|
1880 |
-
// find parts
|
1881 |
-
t.controls = t.container.find('.mejs-controls');
|
1882 |
-
t.layers = t.container.find('.mejs-layers');
|
1883 |
|
1884 |
-
|
1885 |
-
|
1886 |
-
/* size priority:
|
1887 |
-
(1) videoWidth (forced),
|
1888 |
-
(2) style="width;height;"
|
1889 |
-
(3) width attribute,
|
1890 |
-
(4) defaultVideoWidth (for unspecified cases)
|
1891 |
-
*/
|
1892 |
-
|
1893 |
-
var tagType = (t.isVideo ? 'video' : 'audio'),
|
1894 |
-
capsTagName = tagType.substring(0,1).toUpperCase() + tagType.substring(1);
|
1895 |
-
|
1896 |
-
|
1897 |
-
if (t.options[tagType + 'Width'] > 0 || t.options[tagType + 'Width'].toString().indexOf('%') > -1) {
|
1898 |
-
t.width = t.options[tagType + 'Width'];
|
1899 |
-
} else if (t.media.style.width !== '' && t.media.style.width !== null) {
|
1900 |
-
t.width = t.media.style.width;
|
1901 |
-
} else if (t.media.getAttribute('width') !== null) {
|
1902 |
-
t.width = t.$media.attr('width');
|
1903 |
-
} else {
|
1904 |
-
t.width = t.options['default' + capsTagName + 'Width'];
|
1905 |
-
}
|
1906 |
-
|
1907 |
-
if (t.options[tagType + 'Height'] > 0 || t.options[tagType + 'Height'].toString().indexOf('%') > -1) {
|
1908 |
-
t.height = t.options[tagType + 'Height'];
|
1909 |
-
} else if (t.media.style.height !== '' && t.media.style.height !== null) {
|
1910 |
-
t.height = t.media.style.height;
|
1911 |
-
} else if (t.$media[0].getAttribute('height') !== null) {
|
1912 |
-
t.height = t.$media.attr('height');
|
1913 |
-
} else {
|
1914 |
-
t.height = t.options['default' + capsTagName + 'Height'];
|
1915 |
-
}
|
1916 |
|
1917 |
-
|
1918 |
-
|
1919 |
-
|
1920 |
-
// create MediaElementShim
|
1921 |
-
meOptions.pluginWidth = t.height;
|
1922 |
-
meOptions.pluginHeight = t.width;
|
1923 |
-
}
|
1924 |
-
|
1925 |
-
|
1926 |
|
1927 |
-
|
1928 |
-
mejs.MediaElement(t.$media[0], meOptions);
|
1929 |
-
},
|
1930 |
-
|
1931 |
-
showControls: function(doAnimation) {
|
1932 |
-
var t = this;
|
1933 |
-
|
1934 |
-
doAnimation = typeof doAnimation == 'undefined' || doAnimation;
|
1935 |
-
|
1936 |
-
if (t.controlsAreVisible)
|
1937 |
-
return;
|
1938 |
-
|
1939 |
-
if (doAnimation) {
|
1940 |
-
t.controls
|
1941 |
-
.css('visibility','visible')
|
1942 |
-
.stop(true, true).fadeIn(200, function() {t.controlsAreVisible = true;});
|
1943 |
-
|
1944 |
-
// any additional controls people might add and want to hide
|
1945 |
-
t.container.find('.mejs-control')
|
1946 |
-
.css('visibility','visible')
|
1947 |
-
.stop(true, true).fadeIn(200, function() {t.controlsAreVisible = true;});
|
1948 |
-
|
1949 |
-
} else {
|
1950 |
-
t.controls
|
1951 |
-
.css('visibility','visible')
|
1952 |
-
.css('display','block');
|
1953 |
-
|
1954 |
-
// any additional controls people might add and want to hide
|
1955 |
-
t.container.find('.mejs-control')
|
1956 |
-
.css('visibility','visible')
|
1957 |
-
.css('display','block');
|
1958 |
-
|
1959 |
-
t.controlsAreVisible = true;
|
1960 |
-
}
|
1961 |
-
|
1962 |
-
t.setControlsSize();
|
1963 |
-
|
1964 |
-
},
|
1965 |
|
1966 |
-
|
1967 |
-
|
1968 |
-
|
1969 |
-
doAnimation = typeof doAnimation == 'undefined' || doAnimation;
|
1970 |
-
|
1971 |
-
if (!t.controlsAreVisible)
|
1972 |
-
return;
|
1973 |
-
|
1974 |
-
if (doAnimation) {
|
1975 |
-
// fade out main controls
|
1976 |
-
t.controls.stop(true, true).fadeOut(200, function() {
|
1977 |
-
$(this)
|
1978 |
-
.css('visibility','hidden')
|
1979 |
-
.css('display','block');
|
1980 |
-
|
1981 |
-
t.controlsAreVisible = false;
|
1982 |
-
});
|
1983 |
-
|
1984 |
-
// any additional controls people might add and want to hide
|
1985 |
-
t.container.find('.mejs-control').stop(true, true).fadeOut(200, function() {
|
1986 |
-
$(this)
|
1987 |
-
.css('visibility','hidden')
|
1988 |
-
.css('display','block');
|
1989 |
-
});
|
1990 |
-
} else {
|
1991 |
-
|
1992 |
-
// hide main controls
|
1993 |
-
t.controls
|
1994 |
-
.css('visibility','hidden')
|
1995 |
-
.css('display','block');
|
1996 |
-
|
1997 |
-
// hide others
|
1998 |
-
t.container.find('.mejs-control')
|
1999 |
-
.css('visibility','hidden')
|
2000 |
-
.css('display','block');
|
2001 |
-
|
2002 |
-
t.controlsAreVisible = false;
|
2003 |
-
}
|
2004 |
-
},
|
2005 |
|
2006 |
-
|
|
|
|
|
2007 |
|
2008 |
-
|
2009 |
|
2010 |
-
|
2011 |
-
|
2012 |
-
timeout = typeof timeout != 'undefined' ? timeout : 1500;
|
2013 |
|
2014 |
-
|
2015 |
|
2016 |
-
|
2017 |
-
//console.log('timer fired');
|
2018 |
-
t.hideControls();
|
2019 |
-
t.killControlsTimer('hide');
|
2020 |
-
}, timeout);
|
2021 |
-
},
|
2022 |
|
2023 |
-
|
2024 |
|
2025 |
-
|
|
|
|
|
2026 |
|
2027 |
-
|
2028 |
-
|
2029 |
-
|
2030 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2031 |
}
|
2032 |
-
},
|
2033 |
-
|
2034 |
-
controlsEnabled: true,
|
2035 |
-
|
2036 |
-
disableControls: function() {
|
2037 |
-
var t= this;
|
2038 |
-
|
2039 |
-
t.killControlsTimer();
|
2040 |
-
t.hideControls(false);
|
2041 |
-
this.controlsEnabled = false;
|
2042 |
-
},
|
2043 |
-
|
2044 |
-
enableControls: function() {
|
2045 |
-
var t= this;
|
2046 |
-
|
2047 |
-
t.showControls(false);
|
2048 |
-
|
2049 |
-
t.controlsEnabled = true;
|
2050 |
-
},
|
2051 |
-
|
2052 |
|
2053 |
-
|
2054 |
-
|
2055 |
-
|
2056 |
-
|
2057 |
-
|
2058 |
-
|
2059 |
-
|
2060 |
-
autoplay = !(typeof autoplayAttr == 'undefined' || autoplayAttr === null || autoplayAttr === 'false'),
|
2061 |
-
featureIndex,
|
2062 |
-
feature;
|
2063 |
-
|
2064 |
-
// make sure it can't create itself again if a plugin reloads
|
2065 |
-
if (t.created)
|
2066 |
-
return;
|
2067 |
-
else
|
2068 |
-
t.created = true;
|
2069 |
|
2070 |
-
|
2071 |
-
|
2072 |
-
|
2073 |
-
|
2074 |
-
|
2075 |
-
|
2076 |
-
|
2077 |
-
|
2078 |
-
|
2079 |
-
|
2080 |
-
// grab for use by features
|
2081 |
-
t.findTracks();
|
2082 |
-
|
2083 |
-
// add user-defined features/controls
|
2084 |
-
for (featureIndex in t.options.features) {
|
2085 |
-
feature = t.options.features[featureIndex];
|
2086 |
-
if (t['build' + feature]) {
|
2087 |
-
try {
|
2088 |
-
t['build' + feature](t, t.controls, t.layers, t.media);
|
2089 |
-
} catch (e) {
|
2090 |
-
// TODO: report control error
|
2091 |
-
//throw e;
|
2092 |
-
//console.log('error building ' + feature);
|
2093 |
-
//console.log(e);
|
2094 |
}
|
2095 |
}
|
2096 |
-
|
|
|
2097 |
|
2098 |
-
|
2099 |
-
|
2100 |
-
|
2101 |
-
|
2102 |
-
t.setControlsSize();
|
2103 |
-
|
2104 |
|
2105 |
-
|
2106 |
-
|
2107 |
-
|
2108 |
-
if (mejs.MediaFeatures.hasTouch) {
|
2109 |
-
|
2110 |
-
// for touch devices (iOS, Android)
|
2111 |
-
// show/hide without animation on touch
|
2112 |
-
|
2113 |
-
t.$media.bind('touchstart', function() {
|
2114 |
-
|
2115 |
-
|
2116 |
-
// toggle controls
|
2117 |
-
if (t.controlsAreVisible) {
|
2118 |
-
t.hideControls(false);
|
2119 |
-
} else {
|
2120 |
-
if (t.controlsEnabled) {
|
2121 |
-
t.showControls(false);
|
2122 |
-
}
|
2123 |
-
}
|
2124 |
-
});
|
2125 |
-
|
2126 |
-
} else {
|
2127 |
-
// click controls
|
2128 |
-
var clickElement = (t.media.pluginType == 'native') ? t.$media : $(t.media.pluginElement);
|
2129 |
-
|
2130 |
-
// click to play/pause
|
2131 |
-
clickElement.click(function() {
|
2132 |
-
if (media.paused) {
|
2133 |
-
media.play();
|
2134 |
-
} else {
|
2135 |
-
media.pause();
|
2136 |
-
}
|
2137 |
-
});
|
2138 |
-
|
2139 |
-
|
2140 |
-
// show/hide controls
|
2141 |
-
t.container
|
2142 |
-
.bind('mouseenter mouseover', function () {
|
2143 |
-
if (t.controlsEnabled) {
|
2144 |
-
if (!t.options.alwaysShowControls) {
|
2145 |
-
t.killControlsTimer('enter');
|
2146 |
-
t.showControls();
|
2147 |
-
t.startControlsTimer(2500);
|
2148 |
-
}
|
2149 |
-
}
|
2150 |
-
})
|
2151 |
-
.bind('mousemove', function() {
|
2152 |
-
if (t.controlsEnabled) {
|
2153 |
-
if (!t.controlsAreVisible) {
|
2154 |
-
t.showControls();
|
2155 |
-
}
|
2156 |
-
//t.killControlsTimer('move');
|
2157 |
-
if (!t.options.alwaysShowControls) {
|
2158 |
-
t.startControlsTimer(2500);
|
2159 |
-
}
|
2160 |
-
}
|
2161 |
-
})
|
2162 |
-
.bind('mouseleave', function () {
|
2163 |
-
if (t.controlsEnabled) {
|
2164 |
-
if (!t.media.paused && !t.options.alwaysShowControls) {
|
2165 |
-
t.startControlsTimer(1000);
|
2166 |
-
}
|
2167 |
-
}
|
2168 |
-
});
|
2169 |
-
}
|
2170 |
-
|
2171 |
-
// check for autoplay
|
2172 |
-
if (autoplay && !t.options.alwaysShowControls) {
|
2173 |
-
t.hideControls();
|
2174 |
-
}
|
2175 |
|
2176 |
-
|
2177 |
-
|
2178 |
-
|
2179 |
-
|
2180 |
-
|
2181 |
-
|
2182 |
-
|
2183 |
-
|
2184 |
-
t.media.setVideoSize(e.target.videoWidth, e.target.videoHeight);
|
2185 |
-
}
|
2186 |
-
}, false);
|
2187 |
}
|
2188 |
}
|
2189 |
-
|
2190 |
-
// EVENTS
|
2191 |
|
2192 |
-
|
2193 |
-
|
2194 |
-
|
2195 |
-
|
2196 |
-
|
2197 |
-
|
2198 |
-
|
2199 |
-
|
2200 |
-
}
|
2201 |
-
p.hasFocus = false;
|
2202 |
-
}
|
2203 |
-
|
2204 |
-
t.hasFocus = true;
|
2205 |
-
},false);
|
2206 |
-
|
2207 |
|
2208 |
-
|
2209 |
-
|
2210 |
-
|
2211 |
-
|
2212 |
-
|
2213 |
-
|
2214 |
-
|
2215 |
-
|
2216 |
-
|
2217 |
-
|
2218 |
-
|
2219 |
-
if (t.setCurrentRail)
|
2220 |
-
t.setCurrentRail();
|
2221 |
|
2222 |
-
|
2223 |
-
|
2224 |
-
|
2225 |
-
|
2226 |
-
|
2227 |
-
|
2228 |
-
|
2229 |
-
// resize on the first play
|
2230 |
-
t.media.addEventListener('loadedmetadata', function(e) {
|
2231 |
-
if (t.updateDuration) {
|
2232 |
-
t.updateDuration();
|
2233 |
-
}
|
2234 |
-
if (t.updateCurrent) {
|
2235 |
-
t.updateCurrent();
|
2236 |
-
}
|
2237 |
-
|
2238 |
-
if (!t.isFullScreen) {
|
2239 |
-
t.setPlayerSize(t.width, t.height);
|
2240 |
-
t.setControlsSize();
|
2241 |
-
}
|
2242 |
-
}, false);
|
2243 |
|
|
|
|
|
2244 |
|
2245 |
-
|
2246 |
-
setTimeout(function () {
|
2247 |
-
t.setPlayerSize(t.width, t.height);
|
2248 |
-
t.setControlsSize();
|
2249 |
-
}, 50);
|
2250 |
-
|
2251 |
-
// adjust controls whenever window sizes (used to be in fullscreen only)
|
2252 |
-
$(window).resize(function() {
|
2253 |
-
|
2254 |
-
// don't resize for fullscreen mode
|
2255 |
-
if ( !(t.isFullScreen || (mejs.MediaFeatures.hasTrueNativeFullScreen && document.webkitIsFullScreen)) ) {
|
2256 |
-
t.setPlayerSize(t.width, t.height);
|
2257 |
-
}
|
2258 |
-
|
2259 |
-
// always adjust controls
|
2260 |
-
t.setControlsSize();
|
2261 |
-
});
|
2262 |
|
2263 |
-
|
2264 |
-
if (t.media.pluginType == 'youtube') {
|
2265 |
-
t.container.find('.mejs-overlay-play').hide();
|
2266 |
-
}
|
2267 |
-
}
|
2268 |
-
|
2269 |
-
// force autoplay for HTML5
|
2270 |
-
if (autoplay && media.pluginType == 'native') {
|
2271 |
-
media.load();
|
2272 |
-
media.play();
|
2273 |
-
}
|
2274 |
|
|
|
|
|
2275 |
|
2276 |
-
|
2277 |
-
|
2278 |
-
if (typeof t.options.success == 'string') {
|
2279 |
-
window[t.options.success](t.media, t.domNode, t);
|
2280 |
-
} else {
|
2281 |
-
t.options.success(t.media, t.domNode, t);
|
2282 |
-
}
|
2283 |
-
}
|
2284 |
-
},
|
2285 |
|
2286 |
-
|
2287 |
-
var t = this;
|
2288 |
-
|
2289 |
-
t.controls.hide();
|
2290 |
-
|
2291 |
-
// Tell user that the file cannot be played
|
2292 |
-
if (t.options.error) {
|
2293 |
-
t.options.error(e);
|
2294 |
-
}
|
2295 |
-
},
|
2296 |
|
2297 |
-
|
2298 |
-
var t = this;
|
2299 |
|
2300 |
-
|
2301 |
-
t.width = width;
|
2302 |
-
|
2303 |
-
if (typeof height != 'undefined')
|
2304 |
-
t.height = height;
|
2305 |
|
2306 |
-
|
2307 |
-
if (t.height.toString().indexOf('%') > 0 || t.$node.css('max-width') === '100%') {
|
2308 |
-
|
2309 |
-
// do we have the native dimensions yet?
|
2310 |
-
var
|
2311 |
-
nativeWidth = (t.media.videoWidth && t.media.videoWidth > 0) ? t.media.videoWidth : t.options.defaultVideoWidth,
|
2312 |
-
nativeHeight = (t.media.videoHeight && t.media.videoHeight > 0) ? t.media.videoHeight : t.options.defaultVideoHeight,
|
2313 |
-
parentWidth = t.container.parent().width(),
|
2314 |
-
newHeight = parseInt(parentWidth * nativeHeight/nativeWidth, 10);
|
2315 |
-
|
2316 |
-
if (t.container.parent()[0].tagName.toLowerCase() === 'body') { // && t.container.siblings().count == 0) {
|
2317 |
-
parentWidth = $(window).width();
|
2318 |
-
newHeight = $(window).height();
|
2319 |
-
}
|
2320 |
-
|
2321 |
-
if ( newHeight != 0 ) {
|
2322 |
-
// set outer container size
|
2323 |
-
t.container
|
2324 |
-
.width(parentWidth)
|
2325 |
-
.height(newHeight);
|
2326 |
-
|
2327 |
-
// set native <video>
|
2328 |
-
t.$media
|
2329 |
-
.width('100%')
|
2330 |
-
.height('100%');
|
2331 |
-
|
2332 |
-
// set shims
|
2333 |
-
t.container.find('object, embed, iframe')
|
2334 |
-
.width('100%')
|
2335 |
-
.height('100%');
|
2336 |
-
|
2337 |
-
// if shim is ready, send the size to the embeded plugin
|
2338 |
-
if (t.isVideo) {
|
2339 |
-
if (t.media.setVideoSize) {
|
2340 |
-
t.media.setVideoSize(parentWidth, newHeight);
|
2341 |
-
}
|
2342 |
-
}
|
2343 |
-
|
2344 |
-
// set the layers
|
2345 |
-
t.layers.children('.mejs-layer')
|
2346 |
-
.width('100%')
|
2347 |
-
.height('100%');
|
2348 |
-
}
|
2349 |
-
|
2350 |
-
|
2351 |
-
} else {
|
2352 |
|
2353 |
-
|
2354 |
-
.width(t.width)
|
2355 |
-
.height(t.height);
|
2356 |
-
|
2357 |
-
t.layers.children('.mejs-layer')
|
2358 |
-
.width(t.width)
|
2359 |
-
.height(t.height);
|
2360 |
-
|
2361 |
-
}
|
2362 |
-
},
|
2363 |
|
2364 |
-
|
2365 |
-
var t = this,
|
2366 |
-
usedWidth = 0,
|
2367 |
-
railWidth = 0,
|
2368 |
-
rail = t.controls.find('.mejs-time-rail'),
|
2369 |
-
total = t.controls.find('.mejs-time-total'),
|
2370 |
-
current = t.controls.find('.mejs-time-current'),
|
2371 |
-
loaded = t.controls.find('.mejs-time-loaded'),
|
2372 |
-
others = rail.siblings();
|
2373 |
-
|
2374 |
-
|
2375 |
-
// allow the size to come from custom CSS
|
2376 |
-
if (t.options && !t.options.autosizeProgress) {
|
2377 |
-
// Also, frontends devs can be more flexible
|
2378 |
-
// due the opportunity of absolute positioning.
|
2379 |
-
railWidth = parseInt(rail.css('width'));
|
2380 |
-
}
|
2381 |
-
|
2382 |
-
// attempt to autosize
|
2383 |
-
if (railWidth === 0 || !railWidth) {
|
2384 |
-
|
2385 |
-
// find the size of all the other controls besides the rail
|
2386 |
-
others.each(function() {
|
2387 |
-
if ($(this).css('position') != 'absolute') {
|
2388 |
-
usedWidth += $(this).outerWidth(true);
|
2389 |
-
}
|
2390 |
-
});
|
2391 |
-
|
2392 |
-
// fit the rail into the remaining space
|
2393 |
-
railWidth = t.controls.width() - usedWidth - (rail.outerWidth(true) - rail.width());
|
2394 |
-
}
|
2395 |
-
|
2396 |
-
// outer area
|
2397 |
-
rail.width(railWidth);
|
2398 |
-
// dark space
|
2399 |
-
total.width(railWidth - (total.outerWidth(true) - total.width()));
|
2400 |
-
|
2401 |
-
if (t.setProgressRail)
|
2402 |
-
t.setProgressRail();
|
2403 |
-
if (t.setCurrentRail)
|
2404 |
-
t.setCurrentRail();
|
2405 |
-
},
|
2406 |
|
|
|
2407 |
|
2408 |
-
|
2409 |
-
var t = this,
|
2410 |
-
poster =
|
2411 |
-
$('<div class="mejs-poster mejs-layer">' +
|
2412 |
-
'</div>')
|
2413 |
-
.appendTo(layers),
|
2414 |
-
posterUrl = player.$media.attr('poster');
|
2415 |
|
2416 |
-
|
2417 |
-
if (player.options.poster !== '') {
|
2418 |
-
posterUrl = player.options.poster;
|
2419 |
-
}
|
2420 |
-
|
2421 |
-
// second, try the real poster
|
2422 |
-
if (posterUrl !== '' && posterUrl != null) {
|
2423 |
-
t.setPoster(posterUrl);
|
2424 |
-
} else {
|
2425 |
-
poster.hide();
|
2426 |
-
}
|
2427 |
|
2428 |
-
|
2429 |
-
poster.hide();
|
2430 |
-
}, false);
|
2431 |
-
},
|
2432 |
-
|
2433 |
-
setPoster: function(url) {
|
2434 |
-
var t = this,
|
2435 |
-
posterDiv = t.container.find('.mejs-poster'),
|
2436 |
-
posterImg = posterDiv.find('img');
|
2437 |
-
|
2438 |
-
if (posterImg.length == 0) {
|
2439 |
-
posterImg = $('<img width="100%" height="100%" />').appendTo(posterDiv);
|
2440 |
-
}
|
2441 |
-
|
2442 |
-
posterImg.attr('src', url);
|
2443 |
-
},
|
2444 |
|
2445 |
-
|
2446 |
-
if (!player.isVideo)
|
2447 |
-
return;
|
2448 |
|
2449 |
-
|
2450 |
-
loading =
|
2451 |
-
$('<div class="mejs-overlay mejs-layer">'+
|
2452 |
-
'<div class="mejs-overlay-loading"><span></span></div>'+
|
2453 |
-
'</div>')
|
2454 |
-
.hide() // start out hidden
|
2455 |
-
.appendTo(layers),
|
2456 |
-
error =
|
2457 |
-
$('<div class="mejs-overlay mejs-layer">'+
|
2458 |
-
'<div class="mejs-overlay-error"></div>'+
|
2459 |
-
'</div>')
|
2460 |
-
.hide() // start out hidden
|
2461 |
-
.appendTo(layers),
|
2462 |
-
// this needs to come last so it's on top
|
2463 |
-
bigPlay =
|
2464 |
-
$('<div class="mejs-overlay mejs-layer mejs-overlay-play">'+
|
2465 |
-
'<div class="mejs-overlay-button"></div>'+
|
2466 |
-
'</div>')
|
2467 |
-
.appendTo(layers)
|
2468 |
-
.click(function() {
|
2469 |
-
if (media.paused) {
|
2470 |
-
media.play();
|
2471 |
-
} else {
|
2472 |
-
media.pause();
|
2473 |
-
}
|
2474 |
-
});
|
2475 |
-
|
2476 |
-
/*
|
2477 |
-
if (mejs.MediaFeatures.isiOS || mejs.MediaFeatures.isAndroid) {
|
2478 |
-
bigPlay.remove();
|
2479 |
-
loading.remove();
|
2480 |
-
}
|
2481 |
-
*/
|
2482 |
-
|
2483 |
-
|
2484 |
-
// show/hide big play button
|
2485 |
-
media.addEventListener('play',function() {
|
2486 |
-
bigPlay.hide();
|
2487 |
-
loading.hide();
|
2488 |
-
controls.find('.mejs-time-buffering').hide();
|
2489 |
-
error.hide();
|
2490 |
-
}, false);
|
2491 |
-
|
2492 |
-
media.addEventListener('playing', function() {
|
2493 |
-
bigPlay.hide();
|
2494 |
-
loading.hide();
|
2495 |
-
controls.find('.mejs-time-buffering').hide();
|
2496 |
-
error.hide();
|
2497 |
-
}, false);
|
2498 |
-
|
2499 |
-
media.addEventListener('seeking', function() {
|
2500 |
-
loading.show();
|
2501 |
-
controls.find('.mejs-time-buffering').show();
|
2502 |
-
}, false);
|
2503 |
-
|
2504 |
-
media.addEventListener('seeked', function() {
|
2505 |
-
loading.hide();
|
2506 |
-
controls.find('.mejs-time-buffering').hide();
|
2507 |
-
}, false);
|
2508 |
-
|
2509 |
-
media.addEventListener('pause',function() {
|
2510 |
-
if (!mejs.MediaFeatures.isiPhone) {
|
2511 |
-
bigPlay.show();
|
2512 |
-
}
|
2513 |
-
}, false);
|
2514 |
-
|
2515 |
-
media.addEventListener('waiting', function() {
|
2516 |
-
loading.show();
|
2517 |
-
controls.find('.mejs-time-buffering').show();
|
2518 |
-
}, false);
|
2519 |
-
|
2520 |
-
|
2521 |
-
// show/hide loading
|
2522 |
-
media.addEventListener('loadeddata',function() {
|
2523 |
-
// for some reason Chrome is firing this event
|
2524 |
-
//if (mejs.MediaFeatures.isChrome && media.getAttribute && media.getAttribute('preload') === 'none')
|
2525 |
-
// return;
|
2526 |
-
|
2527 |
-
loading.show();
|
2528 |
-
controls.find('.mejs-time-buffering').show();
|
2529 |
-
}, false);
|
2530 |
-
media.addEventListener('canplay',function() {
|
2531 |
-
loading.hide();
|
2532 |
-
controls.find('.mejs-time-buffering').hide();
|
2533 |
-
}, false);
|
2534 |
-
|
2535 |
-
// error handling
|
2536 |
-
media.addEventListener('error',function() {
|
2537 |
-
loading.hide();
|
2538 |
-
controls.find('.mejs-time-buffering').hide();
|
2539 |
-
error.show();
|
2540 |
-
error.find('mejs-overlay-error').html("Error loading this resource");
|
2541 |
-
}, false);
|
2542 |
-
},
|
2543 |
-
|
2544 |
-
buildkeyboard: function(player, controls, layers, media) {
|
2545 |
|
2546 |
-
|
2547 |
-
|
2548 |
-
// listen for key presses
|
2549 |
-
$(document).keydown(function(e) {
|
2550 |
-
|
2551 |
-
if (player.hasFocus && player.options.enableKeyboard) {
|
2552 |
-
|
2553 |
-
// find a matching key
|
2554 |
-
for (var i=0, il=player.options.keyActions.length; i<il; i++) {
|
2555 |
-
var keyAction = player.options.keyActions[i];
|
2556 |
-
|
2557 |
-
for (var j=0, jl=keyAction.keys.length; j<jl; j++) {
|
2558 |
-
if (e.keyCode == keyAction.keys[j]) {
|
2559 |
-
e.preventDefault();
|
2560 |
-
keyAction.action(player, media, e.keyCode);
|
2561 |
-
return false;
|
2562 |
-
}
|
2563 |
-
}
|
2564 |
-
}
|
2565 |
-
}
|
2566 |
-
|
2567 |
-
return true;
|
2568 |
-
});
|
2569 |
-
|
2570 |
-
// check if someone clicked outside a player region, then kill its focus
|
2571 |
-
$(document).click(function(event) {
|
2572 |
-
if ($(event.target).closest('.mejs-container').length == 0) {
|
2573 |
-
player.hasFocus = false;
|
2574 |
-
}
|
2575 |
-
});
|
2576 |
-
|
2577 |
-
},
|
2578 |
|
2579 |
-
|
2580 |
-
var t = this,
|
2581 |
-
tracktags = t.$media.find('track');
|
2582 |
|
2583 |
-
|
2584 |
-
|
2585 |
-
tracktags.each(function(index, track) {
|
2586 |
-
|
2587 |
-
track = $(track);
|
2588 |
-
|
2589 |
-
t.tracks.push({
|
2590 |
-
srclang: track.attr('srclang').toLowerCase(),
|
2591 |
-
src: track.attr('src'),
|
2592 |
-
kind: track.attr('kind'),
|
2593 |
-
label: track.attr('label') || '',
|
2594 |
-
entries: [],
|
2595 |
-
isLoaded: false
|
2596 |
-
});
|
2597 |
-
});
|
2598 |
-
},
|
2599 |
-
changeSkin: function(className) {
|
2600 |
-
this.container[0].className = 'mejs-container ' + className;
|
2601 |
-
this.setPlayerSize(this.width, this.height);
|
2602 |
-
this.setControlsSize();
|
2603 |
-
},
|
2604 |
-
play: function() {
|
2605 |
-
this.media.play();
|
2606 |
-
},
|
2607 |
-
pause: function() {
|
2608 |
-
this.media.pause();
|
2609 |
-
},
|
2610 |
-
load: function() {
|
2611 |
-
this.media.load();
|
2612 |
-
},
|
2613 |
-
setMuted: function(muted) {
|
2614 |
-
this.media.setMuted(muted);
|
2615 |
-
},
|
2616 |
-
setCurrentTime: function(time) {
|
2617 |
-
this.media.setCurrentTime(time);
|
2618 |
-
},
|
2619 |
-
getCurrentTime: function() {
|
2620 |
-
return this.media.currentTime;
|
2621 |
-
},
|
2622 |
-
setVolume: function(volume) {
|
2623 |
-
this.media.setVolume(volume);
|
2624 |
-
},
|
2625 |
-
getVolume: function() {
|
2626 |
-
return this.media.volume;
|
2627 |
-
},
|
2628 |
-
setSrc: function(src) {
|
2629 |
-
this.media.setSrc(src);
|
2630 |
-
},
|
2631 |
-
remove: function() {
|
2632 |
-
var t = this;
|
2633 |
-
|
2634 |
-
if (t.media.pluginType === 'flash') {
|
2635 |
-
t.media.remove();
|
2636 |
-
} else if (t.media.pluginType === 'native') {
|
2637 |
-
t.$media.prop('controls', true);
|
2638 |
-
}
|
2639 |
-
|
2640 |
-
// grab video and put it back in place
|
2641 |
-
if (!t.isDynamic) {
|
2642 |
-
t.$node.insertBefore(t.container)
|
2643 |
-
}
|
2644 |
-
|
2645 |
-
t.container.remove();
|
2646 |
-
}
|
2647 |
-
};
|
2648 |
|
2649 |
-
|
2650 |
-
if (typeof jQuery != 'undefined') {
|
2651 |
-
jQuery.fn.mediaelementplayer = function (options) {
|
2652 |
-
return this.each(function () {
|
2653 |
-
new mejs.MediaElementPlayer(this, options);
|
2654 |
-
});
|
2655 |
-
};
|
2656 |
-
}
|
2657 |
-
|
2658 |
-
$(document).ready(function() {
|
2659 |
-
// auto enable using JSON attribute
|
2660 |
-
$('.mejs-player').mediaelementplayer();
|
2661 |
-
});
|
2662 |
-
|
2663 |
-
// push out to window
|
2664 |
-
window.MediaElementPlayer = mejs.MediaElementPlayer;
|
2665 |
|
2666 |
-
|
|
|
2667 |
|
2668 |
-
(
|
|
|
2669 |
|
2670 |
-
|
2671 |
-
playpauseText: 'Play/Pause'
|
2672 |
-
});
|
2673 |
|
2674 |
-
|
2675 |
-
$.extend(MediaElementPlayer.prototype, {
|
2676 |
-
buildplaypause: function(player, controls, layers, media) {
|
2677 |
-
var
|
2678 |
-
t = this,
|
2679 |
-
play =
|
2680 |
-
$('<div class="mejs-button mejs-playpause-button mejs-play" >' +
|
2681 |
-
'<button type="button" aria-controls="' + t.id + '" title="' + t.options.playpauseText + '"></button>' +
|
2682 |
-
'</div>')
|
2683 |
-
.appendTo(controls)
|
2684 |
-
.click(function(e) {
|
2685 |
-
e.preventDefault();
|
2686 |
-
|
2687 |
-
if (media.paused) {
|
2688 |
-
media.play();
|
2689 |
-
} else {
|
2690 |
-
media.pause();
|
2691 |
-
}
|
2692 |
-
|
2693 |
-
return false;
|
2694 |
-
});
|
2695 |
|
2696 |
-
|
2697 |
-
play.removeClass('mejs-play').addClass('mejs-pause');
|
2698 |
-
}, false);
|
2699 |
-
media.addEventListener('playing',function() {
|
2700 |
-
play.removeClass('mejs-play').addClass('mejs-pause');
|
2701 |
-
}, false);
|
2702 |
|
|
|
2703 |
|
2704 |
-
|
2705 |
-
|
2706 |
-
|
2707 |
-
|
2708 |
-
|
2709 |
-
}, false);
|
2710 |
}
|
2711 |
-
});
|
2712 |
-
|
2713 |
-
})(mejs.$);
|
2714 |
-
(function($) {
|
2715 |
|
2716 |
-
|
2717 |
-
stopText: 'Stop'
|
2718 |
-
});
|
2719 |
|
2720 |
-
|
2721 |
-
$.extend(MediaElementPlayer.prototype, {
|
2722 |
-
buildstop: function(player, controls, layers, media) {
|
2723 |
-
var t = this,
|
2724 |
-
stop =
|
2725 |
-
$('<div class="mejs-button mejs-stop-button mejs-stop">' +
|
2726 |
-
'<button type="button" aria-controls="' + t.id + '" title="' + t.options.stopText + '"></button>' +
|
2727 |
-
'</div>')
|
2728 |
-
.appendTo(controls)
|
2729 |
-
.click(function() {
|
2730 |
-
if (!media.paused) {
|
2731 |
-
media.pause();
|
2732 |
-
}
|
2733 |
-
if (media.currentTime > 0) {
|
2734 |
-
media.setCurrentTime(0);
|
2735 |
-
controls.find('.mejs-time-current').width('0px');
|
2736 |
-
controls.find('.mejs-time-handle').css('left', '0px');
|
2737 |
-
controls.find('.mejs-time-float-current').html( mejs.Utility.secondsToTimeCode(0) );
|
2738 |
-
controls.find('.mejs-currenttime').html( mejs.Utility.secondsToTimeCode(0) );
|
2739 |
-
layers.find('.mejs-poster').show();
|
2740 |
-
}
|
2741 |
-
});
|
2742 |
-
}
|
2743 |
-
});
|
2744 |
-
|
2745 |
-
})(mejs.$);
|
2746 |
-
(function($) {
|
2747 |
-
// progress/loaded bar
|
2748 |
-
$.extend(MediaElementPlayer.prototype, {
|
2749 |
-
buildprogress: function(player, controls, layers, media) {
|
2750 |
-
|
2751 |
-
$('<div class="mejs-time-rail">'+
|
2752 |
-
'<span class="mejs-time-total">'+
|
2753 |
-
'<span class="mejs-time-buffering"></span>'+
|
2754 |
-
'<span class="mejs-time-loaded"></span>'+
|
2755 |
-
'<span class="mejs-time-current"></span>'+
|
2756 |
-
'<span class="mejs-time-handle"></span>'+
|
2757 |
-
'<span class="mejs-time-float">' +
|
2758 |
-
'<span class="mejs-time-float-current">00:00</span>' +
|
2759 |
-
'<span class="mejs-time-float-corner"></span>' +
|
2760 |
-
'</span>'+
|
2761 |
-
'</span>'+
|
2762 |
-
'</div>')
|
2763 |
-
.appendTo(controls);
|
2764 |
-
controls.find('.mejs-time-buffering').hide();
|
2765 |
-
|
2766 |
-
var
|
2767 |
-
t = this,
|
2768 |
-
total = controls.find('.mejs-time-total'),
|
2769 |
-
loaded = controls.find('.mejs-time-loaded'),
|
2770 |
-
current = controls.find('.mejs-time-current'),
|
2771 |
-
handle = controls.find('.mejs-time-handle'),
|
2772 |
-
timefloat = controls.find('.mejs-time-float'),
|
2773 |
-
timefloatcurrent = controls.find('.mejs-time-float-current'),
|
2774 |
-
handleMouseMove = function (e) {
|
2775 |
-
// mouse position relative to the object
|
2776 |
-
var x = e.pageX,
|
2777 |
-
offset = total.offset(),
|
2778 |
-
width = total.outerWidth(),
|
2779 |
-
percentage = 0,
|
2780 |
-
newTime = 0,
|
2781 |
-
pos = x - offset.left;
|
2782 |
-
|
2783 |
-
|
2784 |
-
if (x > offset.left && x <= width + offset.left && media.duration) {
|
2785 |
-
percentage = ((x - offset.left) / width);
|
2786 |
-
newTime = (percentage <= 0.02) ? 0 : percentage * media.duration;
|
2787 |
-
|
2788 |
-
// seek to where the mouse is
|
2789 |
-
if (mouseIsDown) {
|
2790 |
-
media.setCurrentTime(newTime);
|
2791 |
-
}
|
2792 |
|
2793 |
-
|
2794 |
-
|
2795 |
-
|
2796 |
-
timefloatcurrent.html( mejs.Utility.secondsToTimeCode(newTime) );
|
2797 |
-
timefloat.show();
|
2798 |
-
}
|
2799 |
-
}
|
2800 |
-
},
|
2801 |
-
mouseIsDown = false,
|
2802 |
-
mouseIsOver = false;
|
2803 |
-
|
2804 |
-
// handle clicks
|
2805 |
-
//controls.find('.mejs-time-rail').delegate('span', 'click', handleMouseMove);
|
2806 |
-
total
|
2807 |
-
.bind('mousedown', function (e) {
|
2808 |
-
// only handle left clicks
|
2809 |
-
if (e.which === 1) {
|
2810 |
-
mouseIsDown = true;
|
2811 |
-
handleMouseMove(e);
|
2812 |
-
$(document)
|
2813 |
-
.bind('mousemove.dur', function(e) {
|
2814 |
-
handleMouseMove(e);
|
2815 |
-
})
|
2816 |
-
.bind('mouseup.dur', function (e) {
|
2817 |
-
mouseIsDown = false;
|
2818 |
-
timefloat.hide();
|
2819 |
-
$(document).unbind('.dur');
|
2820 |
-
});
|
2821 |
-
return false;
|
2822 |
-
}
|
2823 |
-
})
|
2824 |
-
.bind('mouseenter', function(e) {
|
2825 |
-
mouseIsOver = true;
|
2826 |
-
$(document).bind('mousemove.dur', function(e) {
|
2827 |
-
handleMouseMove(e);
|
2828 |
-
});
|
2829 |
-
if (!mejs.MediaFeatures.hasTouch) {
|
2830 |
-
timefloat.show();
|
2831 |
-
}
|
2832 |
-
})
|
2833 |
-
.bind('mouseleave',function(e) {
|
2834 |
-
mouseIsOver = false;
|
2835 |
-
if (!mouseIsDown) {
|
2836 |
-
$(document).unbind('.dur');
|
2837 |
-
timefloat.hide();
|
2838 |
-
}
|
2839 |
-
});
|
2840 |
|
2841 |
-
|
2842 |
-
|
2843 |
-
|
2844 |
-
player.setCurrentRail(e);
|
2845 |
-
}, false);
|
2846 |
|
2847 |
-
|
2848 |
-
|
2849 |
-
|
2850 |
-
|
2851 |
-
|
2852 |
-
|
2853 |
-
|
2854 |
-
// store for later use
|
2855 |
-
t.loaded = loaded;
|
2856 |
-
t.total = total;
|
2857 |
-
t.current = current;
|
2858 |
-
t.handle = handle;
|
2859 |
-
},
|
2860 |
-
setProgressRail: function(e) {
|
2861 |
-
|
2862 |
-
var
|
2863 |
-
t = this,
|
2864 |
-
target = (e != undefined) ? e.target : t.media,
|
2865 |
-
percent = null;
|
2866 |
-
|
2867 |
-
// newest HTML5 spec has buffered array (FF4, Webkit)
|
2868 |
-
if (target && target.buffered && target.buffered.length > 0 && target.buffered.end && target.duration) {
|
2869 |
-
// TODO: account for a real array with multiple values (only Firefox 4 has this so far)
|
2870 |
-
percent = target.buffered.end(0) / target.duration;
|
2871 |
-
}
|
2872 |
-
// Some browsers (e.g., FF3.6 and Safari 5) cannot calculate target.bufferered.end()
|
2873 |
-
// to be anything other than 0. If the byte count is available we use this instead.
|
2874 |
-
// Browsers that support the else if do not seem to have the bufferedBytes value and
|
2875 |
-
// should skip to there. Tested in Safari 5, Webkit head, FF3.6, Chrome 6, IE 7/8.
|
2876 |
-
else if (target && target.bytesTotal != undefined && target.bytesTotal > 0 && target.bufferedBytes != undefined) {
|
2877 |
-
percent = target.bufferedBytes / target.bytesTotal;
|
2878 |
-
}
|
2879 |
-
// Firefox 3 with an Ogg file seems to go this way
|
2880 |
-
else if (e && e.lengthComputable && e.total != 0) {
|
2881 |
-
percent = e.loaded/e.total;
|
2882 |
}
|
|
|
2883 |
|
2884 |
-
|
2885 |
-
|
2886 |
-
|
2887 |
-
|
2888 |
-
|
2889 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2890 |
}
|
2891 |
}
|
2892 |
-
}
|
2893 |
-
setCurrentRail: function() {
|
2894 |
|
2895 |
-
|
2896 |
-
|
2897 |
-
if (
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2898 |
|
2899 |
-
|
2900 |
-
|
2901 |
-
|
2902 |
-
newWidth = t.total.width() * t.media.currentTime / t.media.duration,
|
2903 |
-
handlePos = newWidth - (t.handle.outerWidth(true) / 2);
|
2904 |
|
2905 |
-
|
2906 |
-
|
2907 |
}
|
2908 |
-
}
|
2909 |
|
2910 |
-
|
2911 |
-
|
2912 |
-
}
|
2913 |
-
|
2914 |
-
|
2915 |
-
|
2916 |
-
|
2917 |
-
|
2918 |
-
|
2919 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2920 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2921 |
|
2922 |
-
|
2923 |
-
|
2924 |
-
buildcurrent: function(player, controls, layers, media) {
|
2925 |
-
var t = this;
|
2926 |
-
|
2927 |
-
$('<div class="mejs-time">'+
|
2928 |
-
'<span class="mejs-currenttime">' + (player.options.alwaysShowHours ? '00:' : '')
|
2929 |
-
+ (player.options.showTimecodeFrameCount? '00:00:00':'00:00')+ '</span>'+
|
2930 |
-
'</div>')
|
2931 |
-
.appendTo(controls);
|
2932 |
-
|
2933 |
-
t.currenttime = t.controls.find('.mejs-currenttime');
|
2934 |
-
|
2935 |
-
media.addEventListener('timeupdate',function() {
|
2936 |
-
player.updateCurrent();
|
2937 |
-
}, false);
|
2938 |
-
},
|
2939 |
|
|
|
|
|
2940 |
|
2941 |
-
|
2942 |
-
|
2943 |
-
|
2944 |
-
if (controls.children().last().find('.mejs-currenttime').length > 0) {
|
2945 |
-
$(t.options.timeAndDurationSeparator +
|
2946 |
-
'<span class="mejs-duration">' +
|
2947 |
-
(t.options.duration > 0 ?
|
2948 |
-
mejs.Utility.secondsToTimeCode(t.options.duration, t.options.alwaysShowHours || t.media.duration > 3600, t.options.showTimecodeFrameCount, t.options.framesPerSecond || 25) :
|
2949 |
-
((player.options.alwaysShowHours ? '00:' : '') + (player.options.showTimecodeFrameCount? '00:00:00':'00:00'))
|
2950 |
-
) +
|
2951 |
-
'</span>')
|
2952 |
-
.appendTo(controls.find('.mejs-time'));
|
2953 |
-
} else {
|
2954 |
|
2955 |
-
|
2956 |
-
|
2957 |
-
|
2958 |
-
|
2959 |
-
|
2960 |
-
|
2961 |
-
|
2962 |
-
|
2963 |
-
|
2964 |
-
|
2965 |
-
|
2966 |
-
|
2967 |
-
|
2968 |
-
|
2969 |
-
|
2970 |
-
|
2971 |
-
|
2972 |
-
|
2973 |
-
|
2974 |
-
|
2975 |
-
|
2976 |
-
|
2977 |
-
|
|
|
|
|
|
|
|
|
|
|
2978 |
|
2979 |
-
|
2980 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2981 |
}
|
2982 |
-
},
|
2983 |
-
|
2984 |
-
updateDuration: function() {
|
2985 |
-
var t = this;
|
2986 |
-
|
2987 |
-
if (t.media.duration && t.durationD) {
|
2988 |
-
t.durationD.html(mejs.Utility.secondsToTimeCode(t.media.duration, t.options.alwaysShowHours, t.options.showTimecodeFrameCount, t.options.framesPerSecond || 25));
|
2989 |
-
}
|
2990 |
}
|
2991 |
-
});
|
2992 |
|
2993 |
-
|
2994 |
-
(
|
|
|
2995 |
|
2996 |
-
|
2997 |
-
|
2998 |
-
|
2999 |
-
|
3000 |
-
|
3001 |
-
|
3002 |
-
});
|
3003 |
|
3004 |
-
|
3005 |
-
|
3006 |
-
|
3007 |
-
|
3008 |
-
|
3009 |
-
|
3010 |
-
|
3011 |
-
|
3012 |
-
|
3013 |
-
|
3014 |
-
|
3015 |
-
|
3016 |
-
|
3017 |
-
|
3018 |
-
|
3019 |
-
|
3020 |
-
|
3021 |
-
|
3022 |
-
|
3023 |
-
|
3024 |
-
|
3025 |
-
|
3026 |
-
|
3027 |
-
|
3028 |
-
|
3029 |
-
|
3030 |
-
|
3031 |
-
|
3032 |
-
|
3033 |
-
|
3034 |
-
|
3035 |
-
|
3036 |
-
|
3037 |
-
|
3038 |
-
|
3039 |
-
|
3040 |
-
|
3041 |
-
|
3042 |
-
|
3043 |
-
|
3044 |
-
|
3045 |
-
|
3046 |
-
|
3047 |
-
|
3048 |
-
return;
|
3049 |
-
}
|
3050 |
-
|
3051 |
-
// correct to 0-1
|
3052 |
-
volume = Math.max(0,volume);
|
3053 |
-
volume = Math.min(volume,1);
|
3054 |
-
|
3055 |
-
// ajust mute button style
|
3056 |
-
if (volume == 0) {
|
3057 |
-
mute.removeClass('mejs-mute').addClass('mejs-unmute');
|
3058 |
-
} else {
|
3059 |
-
mute.removeClass('mejs-unmute').addClass('mejs-mute');
|
3060 |
-
}
|
3061 |
-
|
3062 |
-
// position slider
|
3063 |
-
if (mode == 'vertical') {
|
3064 |
-
var
|
3065 |
-
|
3066 |
-
// height of the full size volume slider background
|
3067 |
-
totalHeight = volumeTotal.height(),
|
3068 |
-
|
3069 |
-
// top/left of full size volume slider background
|
3070 |
-
totalPosition = volumeTotal.position(),
|
3071 |
-
|
3072 |
-
// the new top position based on the current volume
|
3073 |
-
// 70% volume on 100px height == top:30px
|
3074 |
-
newTop = totalHeight - (totalHeight * volume);
|
3075 |
-
|
3076 |
-
// handle
|
3077 |
-
volumeHandle.css('top', totalPosition.top + newTop - (volumeHandle.height() / 2));
|
3078 |
-
|
3079 |
-
// show the current visibility
|
3080 |
-
volumeCurrent.height(totalHeight - newTop );
|
3081 |
-
volumeCurrent.css('top', totalPosition.top + newTop);
|
3082 |
-
} else {
|
3083 |
-
var
|
3084 |
-
|
3085 |
-
// height of the full size volume slider background
|
3086 |
-
totalWidth = volumeTotal.width(),
|
3087 |
-
|
3088 |
-
// top/left of full size volume slider background
|
3089 |
-
totalPosition = volumeTotal.position(),
|
3090 |
-
|
3091 |
-
// the new left position based on the current volume
|
3092 |
-
newLeft = totalWidth * volume;
|
3093 |
-
|
3094 |
-
// handle
|
3095 |
-
volumeHandle.css('left', totalPosition.left + newLeft - (volumeHandle.width() / 2));
|
3096 |
-
|
3097 |
-
// rezize the current part of the volume bar
|
3098 |
-
volumeCurrent.width( newLeft );
|
3099 |
-
}
|
3100 |
-
},
|
3101 |
-
handleVolumeMove = function(e) {
|
3102 |
-
|
3103 |
-
var volume = null,
|
3104 |
-
totalOffset = volumeTotal.offset();
|
3105 |
-
|
3106 |
-
// calculate the new volume based on the moust position
|
3107 |
-
if (mode == 'vertical') {
|
3108 |
-
|
3109 |
-
var
|
3110 |
-
railHeight = volumeTotal.height(),
|
3111 |
-
totalTop = parseInt(volumeTotal.css('top').replace(/px/,''),10),
|
3112 |
-
newY = e.pageY - totalOffset.top;
|
3113 |
-
|
3114 |
-
volume = (railHeight - newY) / railHeight;
|
3115 |
-
|
3116 |
-
// the controls just hide themselves (usually when mouse moves too far up)
|
3117 |
-
if (totalOffset.top == 0 || totalOffset.left == 0)
|
3118 |
-
return;
|
3119 |
-
|
3120 |
-
} else {
|
3121 |
-
var
|
3122 |
-
railWidth = volumeTotal.width(),
|
3123 |
-
newX = e.pageX - totalOffset.left;
|
3124 |
-
|
3125 |
-
volume = newX / railWidth;
|
3126 |
-
}
|
3127 |
-
|
3128 |
-
// ensure the volume isn't outside 0-1
|
3129 |
-
volume = Math.max(0,volume);
|
3130 |
-
volume = Math.min(volume,1);
|
3131 |
-
|
3132 |
-
// position the slider and handle
|
3133 |
-
positionVolumeHandle(volume);
|
3134 |
-
|
3135 |
-
// set the media object (this will trigger the volumechanged event)
|
3136 |
-
if (volume == 0) {
|
3137 |
-
media.setMuted(true);
|
3138 |
-
} else {
|
3139 |
-
media.setMuted(false);
|
3140 |
}
|
3141 |
-
|
3142 |
-
},
|
3143 |
-
mouseIsDown = false,
|
3144 |
-
mouseIsOver = false;
|
3145 |
|
3146 |
-
|
3147 |
-
|
3148 |
-
|
3149 |
-
.hover(function() {
|
3150 |
-
volumeSlider.show();
|
3151 |
-
mouseIsOver = true;
|
3152 |
-
}, function() {
|
3153 |
-
mouseIsOver = false;
|
3154 |
-
|
3155 |
-
if (!mouseIsDown && mode == 'vertical') {
|
3156 |
-
volumeSlider.hide();
|
3157 |
-
}
|
3158 |
-
});
|
3159 |
-
|
3160 |
-
volumeSlider
|
3161 |
-
.bind('mouseover', function() {
|
3162 |
-
mouseIsOver = true;
|
3163 |
-
})
|
3164 |
-
.bind('mousedown', function (e) {
|
3165 |
-
handleVolumeMove(e);
|
3166 |
-
$(document)
|
3167 |
-
.bind('mousemove.vol', function(e) {
|
3168 |
-
handleVolumeMove(e);
|
3169 |
-
})
|
3170 |
-
.bind('mouseup.vol', function () {
|
3171 |
-
mouseIsDown = false;
|
3172 |
-
$(document).unbind('.vol');
|
3173 |
|
3174 |
-
|
3175 |
-
|
3176 |
-
|
3177 |
-
|
3178 |
-
|
3179 |
-
|
3180 |
-
|
3181 |
-
});
|
3182 |
|
|
|
|
|
|
|
|
|
3183 |
|
3184 |
-
|
3185 |
-
|
3186 |
-
media.setMuted( !media.muted );
|
3187 |
-
});
|
3188 |
|
3189 |
-
|
3190 |
-
|
3191 |
-
|
3192 |
-
|
3193 |
-
|
3194 |
-
|
3195 |
-
|
3196 |
-
|
3197 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3198 |
}
|
|
|
|
|
|
|
|
|
|
|
3199 |
}
|
3200 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3201 |
|
3202 |
-
|
3203 |
-
|
3204 |
-
|
3205 |
-
|
3206 |
-
// shim gets the startvolume as a parameter, but we have to set it on the native <video> and <audio> elements
|
3207 |
-
if (media.pluginType === 'native') {
|
3208 |
-
media.setVolume(player.options.startVolume);
|
3209 |
}
|
3210 |
}
|
3211 |
-
}
|
3212 |
-
|
3213 |
-
|
3214 |
-
|
3215 |
-
|
3216 |
-
(
|
3217 |
-
|
3218 |
-
|
3219 |
-
|
3220 |
-
|
3221 |
-
|
3222 |
-
|
3223 |
-
|
3224 |
-
|
3225 |
-
|
3226 |
-
|
3227 |
-
|
3228 |
-
|
3229 |
-
|
3230 |
-
|
3231 |
-
|
3232 |
-
|
3233 |
-
|
3234 |
-
|
3235 |
-
|
3236 |
-
|
3237 |
-
|
3238 |
-
|
3239 |
-
|
3240 |
-
|
3241 |
-
|
3242 |
-
|
3243 |
-
|
3244 |
-
|
3245 |
-
|
3246 |
-
|
3247 |
-
|
3248 |
-
target = $(document);
|
3249 |
} else {
|
3250 |
-
|
3251 |
}
|
3252 |
-
|
3253 |
-
|
3254 |
-
|
3255 |
-
|
3256 |
-
|
3257 |
-
|
3258 |
-
|
3259 |
-
|
3260 |
-
|
3261 |
-
|
3262 |
-
|
3263 |
-
|
3264 |
-
|
3265 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3266 |
}
|
3267 |
|
3268 |
-
|
3269 |
-
|
3270 |
-
|
3271 |
-
|
3272 |
-
|
3273 |
-
|
3274 |
-
'<button type="button" aria-controls="' + t.id + '" title="' + t.options.fullscreenText + '"></button>' +
|
3275 |
-
'</div>')
|
3276 |
-
.appendTo(controls);
|
3277 |
-
|
3278 |
-
if (t.media.pluginType === 'native' || (!t.options.usePluginFullScreen && !mejs.MediaFeatures.isFirefox)) {
|
3279 |
-
|
3280 |
-
fullscreenBtn.click(function() {
|
3281 |
-
var isFullScreen = (mejs.MediaFeatures.hasTrueNativeFullScreen && mejs.MediaFeatures.isFullScreen()) || player.isFullScreen;
|
3282 |
-
|
3283 |
-
if (isFullScreen) {
|
3284 |
-
player.exitFullScreen();
|
3285 |
-
} else {
|
3286 |
-
player.enterFullScreen();
|
3287 |
-
}
|
3288 |
-
});
|
3289 |
-
|
3290 |
-
} else {
|
3291 |
|
3292 |
-
|
3293 |
-
|
3294 |
-
|
3295 |
-
var element = document.createElement('x'),
|
3296 |
-
documentElement = document.documentElement,
|
3297 |
-
getComputedStyle = window.getComputedStyle,
|
3298 |
-
supports;
|
3299 |
-
if(!('pointerEvents' in element.style)){
|
3300 |
-
return false;
|
3301 |
-
}
|
3302 |
-
element.style.pointerEvents = 'auto';
|
3303 |
-
element.style.pointerEvents = 'x';
|
3304 |
-
documentElement.appendChild(element);
|
3305 |
-
supports = getComputedStyle &&
|
3306 |
-
getComputedStyle(element, '').pointerEvents === 'auto';
|
3307 |
-
documentElement.removeChild(element);
|
3308 |
-
return !!supports;
|
3309 |
-
})();
|
3310 |
-
|
3311 |
-
//console.log('supportsPointerEvents', supportsPointerEvents);
|
3312 |
-
|
3313 |
-
if (supportsPointerEvents && !mejs.MediaFeatures.isOpera) { // opera doesn't allow this :(
|
3314 |
-
|
3315 |
-
// allows clicking through the fullscreen button and controls down directly to Flash
|
3316 |
-
|
3317 |
-
/*
|
3318 |
-
When a user puts his mouse over the fullscreen button, the controls are disabled
|
3319 |
-
So we put a div over the video and another one on iether side of the fullscreen button
|
3320 |
-
that caputre mouse movement
|
3321 |
-
and restore the controls once the mouse moves outside of the fullscreen button
|
3322 |
-
*/
|
3323 |
-
|
3324 |
-
var fullscreenIsDisabled = false,
|
3325 |
-
restoreControls = function() {
|
3326 |
-
if (fullscreenIsDisabled) {
|
3327 |
-
// hide the hovers
|
3328 |
-
videoHoverDiv.hide();
|
3329 |
-
controlsLeftHoverDiv.hide();
|
3330 |
-
controlsRightHoverDiv.hide();
|
3331 |
-
|
3332 |
-
// restore the control bar
|
3333 |
-
fullscreenBtn.css('pointer-events', '');
|
3334 |
-
t.controls.css('pointer-events', '');
|
3335 |
-
|
3336 |
-
// store for later
|
3337 |
-
fullscreenIsDisabled = false;
|
3338 |
-
}
|
3339 |
-
},
|
3340 |
-
videoHoverDiv = $('<div class="mejs-fullscreen-hover" />').appendTo(t.container).mouseover(restoreControls),
|
3341 |
-
controlsLeftHoverDiv = $('<div class="mejs-fullscreen-hover" />').appendTo(t.container).mouseover(restoreControls),
|
3342 |
-
controlsRightHoverDiv = $('<div class="mejs-fullscreen-hover" />').appendTo(t.container).mouseover(restoreControls),
|
3343 |
-
positionHoverDivs = function() {
|
3344 |
-
var style = {position: 'absolute', top: 0, left: 0}; //, backgroundColor: '#f00'};
|
3345 |
-
videoHoverDiv.css(style);
|
3346 |
-
controlsLeftHoverDiv.css(style);
|
3347 |
-
controlsRightHoverDiv.css(style);
|
3348 |
-
|
3349 |
-
// over video, but not controls
|
3350 |
-
videoHoverDiv
|
3351 |
-
.width( t.container.width() )
|
3352 |
-
.height( t.container.height() - t.controls.height() );
|
3353 |
-
|
3354 |
-
// over controls, but not the fullscreen button
|
3355 |
-
var fullScreenBtnOffset = fullscreenBtn.offset().left - t.container.offset().left;
|
3356 |
-
fullScreenBtnWidth = fullscreenBtn.outerWidth(true);
|
3357 |
-
|
3358 |
-
controlsLeftHoverDiv
|
3359 |
-
.width( fullScreenBtnOffset )
|
3360 |
-
.height( t.controls.height() )
|
3361 |
-
.css({top: t.container.height() - t.controls.height()});
|
3362 |
-
|
3363 |
-
// after the fullscreen button
|
3364 |
-
controlsRightHoverDiv
|
3365 |
-
.width( t.container.width() - fullScreenBtnOffset - fullScreenBtnWidth )
|
3366 |
-
.height( t.controls.height() )
|
3367 |
-
.css({top: t.container.height() - t.controls.height(),
|
3368 |
-
left: fullScreenBtnOffset + fullScreenBtnWidth});
|
3369 |
-
};
|
3370 |
-
|
3371 |
-
$(document).resize(function() {
|
3372 |
-
positionHoverDivs();
|
3373 |
-
});
|
3374 |
-
|
3375 |
-
// on hover, kill the fullscreen button's HTML handling, allowing clicks down to Flash
|
3376 |
-
fullscreenBtn
|
3377 |
-
.mouseover(function() {
|
3378 |
-
|
3379 |
-
if (!t.isFullScreen) {
|
3380 |
-
|
3381 |
-
var buttonPos = fullscreenBtn.offset(),
|
3382 |
-
containerPos = player.container.offset();
|
3383 |
-
|
3384 |
-
// move the button in Flash into place
|
3385 |
-
media.positionFullscreenButton(buttonPos.left - containerPos.left, buttonPos.top - containerPos.top, false);
|
3386 |
-
|
3387 |
-
// allows click through
|
3388 |
-
fullscreenBtn.css('pointer-events', 'none');
|
3389 |
-
t.controls.css('pointer-events', 'none');
|
3390 |
-
|
3391 |
-
// show the divs that will restore things
|
3392 |
-
videoHoverDiv.show();
|
3393 |
-
controlsRightHoverDiv.show();
|
3394 |
-
controlsLeftHoverDiv.show();
|
3395 |
-
positionHoverDivs();
|
3396 |
-
|
3397 |
-
fullscreenIsDisabled = true;
|
3398 |
-
}
|
3399 |
-
|
3400 |
-
});
|
3401 |
-
|
3402 |
-
// restore controls anytime the user enters or leaves fullscreen
|
3403 |
-
media.addEventListener('fullscreenchange', function(e) {
|
3404 |
-
restoreControls();
|
3405 |
-
});
|
3406 |
-
|
3407 |
-
|
3408 |
-
// the mouseout event doesn't work on the fullscren button, because we already killed the pointer-events
|
3409 |
-
// so we use the document.mousemove event to restore controls when the mouse moves outside the fullscreen button
|
3410 |
-
/*
|
3411 |
-
$(document).mousemove(function(e) {
|
3412 |
-
|
3413 |
-
// if the mouse is anywhere but the fullsceen button, then restore it all
|
3414 |
-
if (fullscreenIsDisabled) {
|
3415 |
-
|
3416 |
-
var fullscreenBtnPos = fullscreenBtn.offset();
|
3417 |
-
|
3418 |
|
3419 |
-
|
3420 |
-
|
3421 |
-
|
3422 |
-
|
3423 |
-
fullscreenBtn.css('pointer-events', '');
|
3424 |
-
t.controls.css('pointer-events', '');
|
3425 |
-
|
3426 |
-
fullscreenIsDisabled = false;
|
3427 |
-
}
|
3428 |
-
}
|
3429 |
-
});
|
3430 |
-
*/
|
3431 |
-
|
3432 |
-
|
3433 |
-
} else {
|
3434 |
-
|
3435 |
-
// the hover state will show the fullscreen button in Flash to hover up and click
|
3436 |
-
|
3437 |
-
fullscreenBtn
|
3438 |
-
.mouseover(function() {
|
3439 |
-
|
3440 |
-
if (hideTimeout !== null) {
|
3441 |
-
clearTimeout(hideTimeout);
|
3442 |
-
delete hideTimeout;
|
3443 |
-
}
|
3444 |
-
|
3445 |
-
var buttonPos = fullscreenBtn.offset(),
|
3446 |
-
containerPos = player.container.offset();
|
3447 |
-
|
3448 |
-
media.positionFullscreenButton(buttonPos.left - containerPos.left, buttonPos.top - containerPos.top, true);
|
3449 |
-
|
3450 |
-
})
|
3451 |
-
.mouseout(function() {
|
3452 |
-
|
3453 |
-
if (hideTimeout !== null) {
|
3454 |
-
clearTimeout(hideTimeout);
|
3455 |
-
delete hideTimeout;
|
3456 |
-
}
|
3457 |
-
|
3458 |
-
hideTimeout = setTimeout(function() {
|
3459 |
-
media.hideFullscreenButton();
|
3460 |
-
}, 1500);
|
3461 |
-
|
3462 |
-
|
3463 |
-
});
|
3464 |
-
}
|
3465 |
}
|
3466 |
-
|
3467 |
-
player.fullscreenBtn = fullscreenBtn;
|
3468 |
|
3469 |
-
|
3470 |
-
|
3471 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3472 |
}
|
3473 |
-
})
|
3474 |
-
|
|
|
|
|
|
|
|
|
3475 |
},
|
3476 |
-
|
3477 |
-
|
3478 |
-
|
3479 |
-
|
3480 |
-
|
3481 |
-
|
3482 |
-
|
3483 |
-
|
3484 |
-
|
3485 |
-
|
3486 |
-
|
3487 |
-
|
3488 |
-
|
3489 |
-
|
3490 |
-
|
3491 |
-
|
3492 |
-
|
3493 |
-
|
3494 |
-
|
3495 |
-
|
3496 |
-
|
3497 |
-
|
3498 |
-
|
3499 |
-
|
3500 |
-
|
3501 |
-
|
3502 |
-
|
3503 |
-
|
3504 |
-
|
3505 |
-
|
3506 |
-
|
3507 |
-
|
3508 |
-
|
3509 |
-
|
3510 |
-
|
3511 |
-
|
3512 |
-
|
3513 |
-
|
3514 |
-
|
3515 |
-
|
3516 |
-
|
3517 |
-
|
3518 |
-
|
3519 |
-
|
3520 |
-
|
3521 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3522 |
}
|
3523 |
-
|
3524 |
-
|
3525 |
-
|
|
|
|
|
3526 |
return;
|
|
|
|
|
|
|
|
|
3527 |
}
|
3528 |
-
|
3529 |
-
|
3530 |
-
|
3531 |
-
|
3532 |
-
|
3533 |
-
|
3534 |
-
|
3535 |
-
|
3536 |
-
|
3537 |
-
|
3538 |
-
|
3539 |
-
|
3540 |
-
|
3541 |
-
|
3542 |
-
|
3543 |
-
|
3544 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3545 |
t.pause();
|
3546 |
-
window.open(url, t.id, 'top=0,left=0,width=' + screen.availWidth + ',height=' + screen.availHeight + ',resizable=yes,scrollbars=no,status=no,toolbar=no');
|
3547 |
}
|
3548 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3549 |
}
|
3550 |
-
|
3551 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3552 |
}
|
3553 |
-
|
3554 |
-
|
|
|
|
|
3555 |
|
3556 |
-
|
|
|
|
|
|
|
|
|
3557 |
|
3558 |
-
|
3559 |
-
|
3560 |
-
|
3561 |
-
.width('100%')
|
3562 |
-
.height('100%');
|
3563 |
-
//.css({position: 'fixed', left: 0, top: 0, right: 0, bottom: 0, overflow: 'hidden', width: '100%', height: '100%', 'z-index': 1000});
|
3564 |
|
3565 |
-
|
3566 |
-
|
3567 |
-
//if (mejs.MediaFeatures.hasTrueNativeFullScreen) {
|
3568 |
-
setTimeout(function() {
|
3569 |
-
t.container.css({width: '100%', height: '100%'});
|
3570 |
-
t.setControlsSize();
|
3571 |
-
}, 500);
|
3572 |
-
//}
|
3573 |
-
|
3574 |
-
if (t.pluginType === 'native') {
|
3575 |
-
t.$media
|
3576 |
-
.width('100%')
|
3577 |
-
.height('100%');
|
3578 |
-
} else {
|
3579 |
-
t.container.find('object, embed, iframe')
|
3580 |
-
.width('100%')
|
3581 |
-
.height('100%');
|
3582 |
-
|
3583 |
-
//if (!mejs.MediaFeatures.hasTrueNativeFullScreen) {
|
3584 |
-
t.media.setVideoSize($(window).width(),$(window).height());
|
3585 |
-
//}
|
3586 |
-
}
|
3587 |
-
|
3588 |
-
t.layers.children('div')
|
3589 |
-
.width('100%')
|
3590 |
-
.height('100%');
|
3591 |
|
3592 |
-
|
3593 |
-
|
3594 |
-
|
3595 |
-
.addClass('mejs-unfullscreen');
|
3596 |
-
}
|
3597 |
|
3598 |
-
|
3599 |
-
|
3600 |
-
|
3601 |
-
|
3602 |
-
|
3603 |
-
|
3604 |
-
|
3605 |
-
|
3606 |
-
// firefox can't adjust plugins
|
3607 |
-
if (t.media.pluginType !== 'native' && mejs.MediaFeatures.isFirefox) {
|
3608 |
-
t.media.setFullscreen(false);
|
3609 |
-
//player.isFullScreen = false;
|
3610 |
-
return;
|
3611 |
-
}
|
3612 |
-
|
3613 |
-
// come outo of native fullscreen
|
3614 |
-
if (mejs.MediaFeatures.hasTrueNativeFullScreen && (mejs.MediaFeatures.isFullScreen() || t.isFullScreen)) {
|
3615 |
-
mejs.MediaFeatures.cancelFullScreen();
|
3616 |
-
}
|
3617 |
-
|
3618 |
-
// restore scroll bars to document
|
3619 |
-
document.documentElement.style.overflow = docStyleOverflow;
|
3620 |
-
|
3621 |
-
t.container
|
3622 |
-
.removeClass('mejs-container-fullscreen')
|
3623 |
-
.width(normalWidth)
|
3624 |
-
.height(normalHeight);
|
3625 |
-
//.css({position: '', left: '', top: '', right: '', bottom: '', overflow: 'inherit', width: normalWidth + 'px', height: normalHeight + 'px', 'z-index': 1});
|
3626 |
-
|
3627 |
-
if (t.pluginType === 'native') {
|
3628 |
-
t.$media
|
3629 |
-
.width(normalWidth)
|
3630 |
-
.height(normalHeight);
|
3631 |
-
} else {
|
3632 |
-
t.container.find('object embed')
|
3633 |
-
.width(normalWidth)
|
3634 |
-
.height(normalHeight);
|
3635 |
-
|
3636 |
-
t.media.setVideoSize(normalWidth, normalHeight);
|
3637 |
-
}
|
3638 |
|
3639 |
-
|
3640 |
-
|
3641 |
-
|
|
|
3642 |
|
3643 |
-
|
3644 |
-
.removeClass('mejs-unfullscreen')
|
3645 |
-
.addClass('mejs-fullscreen');
|
3646 |
|
3647 |
-
|
3648 |
-
|
3649 |
-
|
3650 |
-
});
|
3651 |
|
3652 |
-
|
|
|
|
|
|
|
3653 |
|
3654 |
-
(
|
|
|
|
|
|
|
3655 |
|
3656 |
-
|
3657 |
-
|
3658 |
-
// this will automatically turn on a <track>
|
3659 |
-
startLanguage: '',
|
3660 |
-
|
3661 |
-
tracksText: 'Captions/Subtitles'
|
3662 |
});
|
|
|
3663 |
|
3664 |
-
|
3665 |
-
|
3666 |
-
hasChapters: false,
|
3667 |
|
3668 |
-
|
3669 |
-
|
3670 |
-
return;
|
3671 |
|
3672 |
-
|
3673 |
-
|
|
|
3674 |
|
3675 |
-
|
3676 |
-
|
3677 |
-
|
3678 |
-
|
3679 |
-
|
3680 |
-
|
3681 |
-
|
3682 |
-
|
3683 |
-
player.captionsText = player.captions.find('.mejs-captions-text');
|
3684 |
-
player.captionsButton =
|
3685 |
-
$('<div class="mejs-button mejs-captions-button">'+
|
3686 |
-
'<button type="button" aria-controls="' + t.id + '" title="' + t.options.tracksText + '"></button>'+
|
3687 |
-
'<div class="mejs-captions-selector">'+
|
3688 |
-
'<ul>'+
|
3689 |
-
'<li>'+
|
3690 |
-
'<input type="radio" name="' + player.id + '_captions" id="' + player.id + '_captions_none" value="none" checked="checked" />' +
|
3691 |
-
'<label for="' + player.id + '_captions_none">None</label>'+
|
3692 |
-
'</li>' +
|
3693 |
-
'</ul>'+
|
3694 |
-
'</div>'+
|
3695 |
-
'</div>')
|
3696 |
-
.appendTo(controls)
|
3697 |
-
|
3698 |
-
// hover
|
3699 |
-
.hover(function() {
|
3700 |
-
$(this).find('.mejs-captions-selector').css('visibility','visible');
|
3701 |
-
}, function() {
|
3702 |
-
$(this).find('.mejs-captions-selector').css('visibility','hidden');
|
3703 |
-
})
|
3704 |
-
|
3705 |
-
// handle clicks to the language radio buttons
|
3706 |
-
.delegate('input[type=radio]','click',function() {
|
3707 |
-
lang = this.value;
|
3708 |
|
3709 |
-
|
3710 |
-
|
3711 |
-
} else {
|
3712 |
-
for (i=0; i<player.tracks.length; i++) {
|
3713 |
-
if (player.tracks[i].srclang == lang) {
|
3714 |
-
player.selectedTrack = player.tracks[i];
|
3715 |
-
player.captions.attr('lang', player.selectedTrack.srclang);
|
3716 |
-
player.displayCaptions();
|
3717 |
-
break;
|
3718 |
-
}
|
3719 |
-
}
|
3720 |
-
}
|
3721 |
-
});
|
3722 |
-
//.bind('mouseenter', function() {
|
3723 |
-
// player.captionsButton.find('.mejs-captions-selector').css('visibility','visible')
|
3724 |
-
//});
|
3725 |
-
|
3726 |
-
if (!player.options.alwaysShowControls) {
|
3727 |
-
// move with controls
|
3728 |
-
player.container
|
3729 |
-
.bind('mouseenter', function () {
|
3730 |
-
// push captions above controls
|
3731 |
-
player.container.find('.mejs-captions-position').addClass('mejs-captions-position-hover');
|
3732 |
-
|
3733 |
-
})
|
3734 |
-
.bind('mouseleave', function () {
|
3735 |
-
if (!media.paused) {
|
3736 |
-
// move back to normal place
|
3737 |
-
player.container.find('.mejs-captions-position').removeClass('mejs-captions-position-hover');
|
3738 |
-
}
|
3739 |
-
});
|
3740 |
-
} else {
|
3741 |
-
player.container.find('.mejs-captions-position').addClass('mejs-captions-position-hover');
|
3742 |
-
}
|
3743 |
|
3744 |
-
|
3745 |
-
|
3746 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3747 |
|
3748 |
-
|
3749 |
|
3750 |
-
|
3751 |
-
for (i=0; i<player.tracks.length; i++) {
|
3752 |
-
if (player.tracks[i].kind == 'subtitles') {
|
3753 |
-
player.addTrackButton(player.tracks[i].srclang, player.tracks[i].label);
|
3754 |
-
}
|
3755 |
-
}
|
3756 |
|
3757 |
-
|
3758 |
|
|
|
3759 |
|
3760 |
-
|
3761 |
-
player.displayCaptions();
|
3762 |
-
}, false);
|
3763 |
|
3764 |
-
|
3765 |
-
player.displayChapters();
|
3766 |
-
}, false);
|
3767 |
|
3768 |
-
|
3769 |
-
|
3770 |
-
|
3771 |
-
if (player.hasChapters) {
|
3772 |
-
player.chapters.css('visibility','visible');
|
3773 |
-
player.chapters.fadeIn(200).height(player.chapters.find('.mejs-chapter').outerHeight());
|
3774 |
-
}
|
3775 |
-
},
|
3776 |
-
function () {
|
3777 |
-
if (player.hasChapters && !media.paused) {
|
3778 |
-
player.chapters.fadeOut(200, function() {
|
3779 |
-
$(this).css('visibility','hidden');
|
3780 |
-
$(this).css('display','block');
|
3781 |
-
});
|
3782 |
-
}
|
3783 |
-
});
|
3784 |
-
|
3785 |
-
// check for autoplay
|
3786 |
-
if (player.node.getAttribute('autoplay') !== null) {
|
3787 |
-
player.chapters.css('visibility','hidden');
|
3788 |
-
}
|
3789 |
-
},
|
3790 |
|
3791 |
-
|
3792 |
-
|
|
|
|
|
3793 |
|
3794 |
-
|
3795 |
-
|
3796 |
-
t.isLoadingTrack = true;
|
3797 |
-
t.loadTrack(t.trackToLoad);
|
3798 |
-
} else {
|
3799 |
-
// add done?
|
3800 |
-
t.isLoadingTrack = false;
|
3801 |
-
}
|
3802 |
-
},
|
3803 |
|
3804 |
-
|
3805 |
-
|
3806 |
-
t = this,
|
3807 |
-
track = t.tracks[index],
|
3808 |
-
after = function() {
|
3809 |
|
3810 |
-
|
3811 |
|
3812 |
-
|
3813 |
-
|
3814 |
-
|
3815 |
|
3816 |
-
|
|
|
3817 |
|
3818 |
-
|
3819 |
|
|
|
|
|
|
|
3820 |
|
3821 |
-
|
3822 |
-
|
3823 |
-
dataType: "text",
|
3824 |
-
success: function(d) {
|
3825 |
|
3826 |
-
|
3827 |
-
|
3828 |
-
|
3829 |
-
|
3830 |
-
track.entries = mejs.TrackFormatParser.webvvt.parse(d);
|
3831 |
-
}
|
3832 |
-
|
3833 |
-
after();
|
3834 |
|
3835 |
-
|
3836 |
-
|
3837 |
-
}
|
3838 |
-
},
|
3839 |
-
error: function() {
|
3840 |
-
t.loadNextTrack();
|
3841 |
-
}
|
3842 |
-
});
|
3843 |
-
},
|
3844 |
|
3845 |
-
|
3846 |
-
var t = this;
|
3847 |
-
|
3848 |
-
if (label === '') {
|
3849 |
-
label = mejs.language.codes[lang] || lang;
|
3850 |
-
}
|
3851 |
|
3852 |
-
|
3853 |
-
|
3854 |
-
|
3855 |
-
|
3856 |
-
|
|
|
|
|
3857 |
|
3858 |
-
|
3859 |
-
|
3860 |
-
$('#' + t.id + '_captions_' + lang).click();
|
3861 |
-
}
|
3862 |
|
3863 |
-
|
3864 |
-
},
|
3865 |
|
3866 |
-
|
3867 |
-
|
3868 |
-
|
3869 |
-
label = mejs.language.codes[lang] || lang;
|
3870 |
-
}
|
3871 |
|
3872 |
-
|
3873 |
-
|
3874 |
-
|
3875 |
-
|
3876 |
-
'</li>')
|
3877 |
-
);
|
3878 |
|
3879 |
-
|
3880 |
|
3881 |
-
|
3882 |
-
|
3883 |
-
|
3884 |
|
3885 |
-
|
3886 |
-
|
3887 |
-
|
3888 |
-
|
3889 |
-
|
3890 |
-
|
3891 |
-
|
3892 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3893 |
|
3894 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3895 |
|
3896 |
-
|
3897 |
-
|
3898 |
|
3899 |
-
|
3900 |
-
t = this,
|
3901 |
-
i,
|
3902 |
-
track = t.selectedTrack;
|
3903 |
-
|
3904 |
-
if (track != null && track.isLoaded) {
|
3905 |
-
for (i=0; i<track.entries.times.length; i++) {
|
3906 |
-
if (t.media.currentTime >= track.entries.times[i].start && t.media.currentTime <= track.entries.times[i].stop){
|
3907 |
-
t.captionsText.html(track.entries.text[i]);
|
3908 |
-
t.captions.show().height(0);
|
3909 |
-
return; // exit out if one is visible;
|
3910 |
-
}
|
3911 |
-
}
|
3912 |
-
t.captions.hide();
|
3913 |
-
} else {
|
3914 |
-
t.captions.hide();
|
3915 |
-
}
|
3916 |
-
},
|
3917 |
|
3918 |
-
|
3919 |
-
var
|
3920 |
-
t = this,
|
3921 |
-
i;
|
3922 |
|
3923 |
-
|
3924 |
-
if (t.tracks[i].kind == 'chapters' && t.tracks[i].isLoaded) {
|
3925 |
-
t.drawChapters(t.tracks[i]);
|
3926 |
-
t.hasChapters = true;
|
3927 |
-
break;
|
3928 |
-
}
|
3929 |
-
}
|
3930 |
-
},
|
3931 |
|
3932 |
-
|
3933 |
-
var
|
3934 |
-
t = this,
|
3935 |
-
i,
|
3936 |
-
dur,
|
3937 |
-
//width,
|
3938 |
-
//left,
|
3939 |
-
percent = 0,
|
3940 |
-
usedPercent = 0;
|
3941 |
-
|
3942 |
-
t.chapters.empty();
|
3943 |
-
|
3944 |
-
for (i=0; i<chapters.entries.times.length; i++) {
|
3945 |
-
dur = chapters.entries.times[i].stop - chapters.entries.times[i].start;
|
3946 |
-
percent = Math.floor(dur / t.media.duration * 100);
|
3947 |
-
if (percent + usedPercent > 100 || // too large
|
3948 |
-
i == chapters.entries.times.length-1 && percent + usedPercent < 100) // not going to fill it in
|
3949 |
-
{
|
3950 |
-
percent = 100 - usedPercent;
|
3951 |
-
}
|
3952 |
-
//width = Math.floor(t.width * dur / t.media.duration);
|
3953 |
-
//left = Math.floor(t.width * chapters.entries.times[i].start / t.media.duration);
|
3954 |
-
//if (left + width > t.width) {
|
3955 |
-
// width = t.width - left;
|
3956 |
-
//}
|
3957 |
-
|
3958 |
-
t.chapters.append( $(
|
3959 |
-
'<div class="mejs-chapter" rel="' + chapters.entries.times[i].start + '" style="left: ' + usedPercent.toString() + '%;width: ' + percent.toString() + '%;">' +
|
3960 |
-
'<div class="mejs-chapter-block' + ((i==chapters.entries.times.length-1) ? ' mejs-chapter-block-last' : '') + '">' +
|
3961 |
-
'<span class="ch-title">' + chapters.entries.text[i] + '</span>' +
|
3962 |
-
'<span class="ch-time">' + mejs.Utility.secondsToTimeCode(chapters.entries.times[i].start) + '–' + mejs.Utility.secondsToTimeCode(chapters.entries.times[i].stop) + '</span>' +
|
3963 |
-
'</div>' +
|
3964 |
-
'</div>'));
|
3965 |
-
usedPercent += percent;
|
3966 |
-
}
|
3967 |
-
|
3968 |
-
t.chapters.find('div.mejs-chapter').click(function() {
|
3969 |
-
t.media.setCurrentTime( parseFloat( $(this).attr('rel') ) );
|
3970 |
-
if (t.media.paused) {
|
3971 |
-
t.media.play();
|
3972 |
-
}
|
3973 |
-
});
|
3974 |
|
3975 |
-
|
|
|
|
|
|
|
|
|
|
|
3976 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3977 |
});
|
|
|
|
|
|
|
3978 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3979 |
|
|
|
|
|
|
|
3980 |
|
3981 |
-
|
3982 |
-
|
3983 |
-
|
3984 |
-
|
3985 |
-
|
3986 |
-
be:'Belarusian',
|
3987 |
-
bg:'Bulgarian',
|
3988 |
-
ca:'Catalan',
|
3989 |
-
zh:'Chinese',
|
3990 |
-
'zh-cn':'Chinese Simplified',
|
3991 |
-
'zh-tw':'Chinese Traditional',
|
3992 |
-
hr:'Croatian',
|
3993 |
-
cs:'Czech',
|
3994 |
-
da:'Danish',
|
3995 |
-
nl:'Dutch',
|
3996 |
-
en:'English',
|
3997 |
-
et:'Estonian',
|
3998 |
-
tl:'Filipino',
|
3999 |
-
fi:'Finnish',
|
4000 |
-
fr:'French',
|
4001 |
-
gl:'Galician',
|
4002 |
-
de:'German',
|
4003 |
-
el:'Greek',
|
4004 |
-
ht:'Haitian Creole',
|
4005 |
-
iw:'Hebrew',
|
4006 |
-
hi:'Hindi',
|
4007 |
-
hu:'Hungarian',
|
4008 |
-
is:'Icelandic',
|
4009 |
-
id:'Indonesian',
|
4010 |
-
ga:'Irish',
|
4011 |
-
it:'Italian',
|
4012 |
-
ja:'Japanese',
|
4013 |
-
ko:'Korean',
|
4014 |
-
lv:'Latvian',
|
4015 |
-
lt:'Lithuanian',
|
4016 |
-
mk:'Macedonian',
|
4017 |
-
ms:'Malay',
|
4018 |
-
mt:'Maltese',
|
4019 |
-
no:'Norwegian',
|
4020 |
-
fa:'Persian',
|
4021 |
-
pl:'Polish',
|
4022 |
-
pt:'Portuguese',
|
4023 |
-
//'pt-pt':'Portuguese (Portugal)',
|
4024 |
-
ro:'Romanian',
|
4025 |
-
ru:'Russian',
|
4026 |
-
sr:'Serbian',
|
4027 |
-
sk:'Slovak',
|
4028 |
-
sl:'Slovenian',
|
4029 |
-
es:'Spanish',
|
4030 |
-
sw:'Swahili',
|
4031 |
-
sv:'Swedish',
|
4032 |
-
tl:'Tagalog',
|
4033 |
-
th:'Thai',
|
4034 |
-
tr:'Turkish',
|
4035 |
-
uk:'Ukrainian',
|
4036 |
-
vi:'Vietnamese',
|
4037 |
-
cy:'Welsh',
|
4038 |
-
yi:'Yiddish'
|
4039 |
}
|
4040 |
-
};
|
4041 |
|
4042 |
-
|
4043 |
-
|
4044 |
-
|
4045 |
-
|
4046 |
-
|
4047 |
-
|
4048 |
-
|
4049 |
-
|
4050 |
-
|
4051 |
-
2
|
4052 |
-
00:01:15,1 --> 00:02:05,000
|
4053 |
-
A second line of text
|
4054 |
-
|
4055 |
-
===============================
|
4056 |
-
|
4057 |
-
Adapted from: http://www.delphiki.com/html5/playr
|
4058 |
-
*/
|
4059 |
-
mejs.TrackFormatParser = {
|
4060 |
-
webvvt: {
|
4061 |
-
// match start "chapter-" (or anythingelse)
|
4062 |
-
pattern_identifier: /^([a-zA-z]+-)?[0-9]+$/,
|
4063 |
-
pattern_timecode: /^([0-9]{2}:[0-9]{2}:[0-9]{2}([,.][0-9]{1,3})?) --\> ([0-9]{2}:[0-9]{2}:[0-9]{2}([,.][0-9]{3})?)(.*)$/,
|
4064 |
-
|
4065 |
-
parse: function(trackText) {
|
4066 |
-
var
|
4067 |
-
i = 0,
|
4068 |
-
lines = mejs.TrackFormatParser.split2(trackText, /\r?\n/),
|
4069 |
-
entries = {text:[], times:[]},
|
4070 |
-
timecode,
|
4071 |
-
text;
|
4072 |
-
for(; i<lines.length; i++) {
|
4073 |
-
// check for the line number
|
4074 |
-
if (this.pattern_identifier.exec(lines[i])){
|
4075 |
-
// skip to the next line where the start --> end time code should be
|
4076 |
-
i++;
|
4077 |
-
timecode = this.pattern_timecode.exec(lines[i]);
|
4078 |
-
|
4079 |
-
if (timecode && i<lines.length){
|
4080 |
-
i++;
|
4081 |
-
// grab all the (possibly multi-line) text that follows
|
4082 |
-
text = lines[i];
|
4083 |
-
i++;
|
4084 |
-
while(lines[i] !== '' && i<lines.length){
|
4085 |
-
text = text + '\n' + lines[i];
|
4086 |
-
i++;
|
4087 |
-
}
|
4088 |
-
text = $.trim(text).replace(/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig, "<a href='$1' target='_blank'>$1</a>");
|
4089 |
-
// Text is in a different array so I can use .join
|
4090 |
-
entries.text.push(text);
|
4091 |
-
entries.times.push(
|
4092 |
-
{
|
4093 |
-
start: (mejs.Utility.convertSMPTEtoSeconds(timecode[1]) == 0) ? 0.200 : mejs.Utility.convertSMPTEtoSeconds(timecode[1]),
|
4094 |
-
stop: mejs.Utility.convertSMPTEtoSeconds(timecode[3]),
|
4095 |
-
settings: timecode[5]
|
4096 |
-
});
|
4097 |
-
}
|
4098 |
}
|
4099 |
}
|
4100 |
-
return entries;
|
4101 |
}
|
4102 |
-
}
|
4103 |
-
|
4104 |
-
|
4105 |
-
|
4106 |
-
trackText = $(trackText).filter("tt");
|
4107 |
-
var
|
4108 |
-
i = 0,
|
4109 |
-
container = trackText.children("div").eq(0),
|
4110 |
-
lines = container.find("p"),
|
4111 |
-
styleNode = trackText.find("#" + container.attr("style")),
|
4112 |
-
styles,
|
4113 |
-
begin,
|
4114 |
-
end,
|
4115 |
-
text,
|
4116 |
-
entries = {text:[], times:[]};
|
4117 |
-
|
4118 |
-
|
4119 |
-
if (styleNode.length) {
|
4120 |
-
var attributes = styleNode.removeAttr("id").get(0).attributes;
|
4121 |
-
if (attributes.length) {
|
4122 |
-
styles = {};
|
4123 |
-
for (i = 0; i < attributes.length; i++) {
|
4124 |
-
styles[attributes[i].name.split(":")[1]] = attributes[i].value;
|
4125 |
-
}
|
4126 |
-
}
|
4127 |
-
}
|
4128 |
|
4129 |
-
|
4130 |
-
|
4131 |
-
|
4132 |
-
|
4133 |
-
|
4134 |
-
|
4135 |
-
|
4136 |
-
|
4137 |
-
|
4138 |
-
|
4139 |
-
|
4140 |
-
|
4141 |
-
|
4142 |
-
|
4143 |
-
|
4144 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4145 |
}
|
4146 |
-
if (style) _temp_times.style = style;
|
4147 |
-
if (_temp_times.start == 0) _temp_times.start = 0.200;
|
4148 |
-
entries.times.push(_temp_times);
|
4149 |
-
text = $.trim(lines.eq(i).html()).replace(/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig, "<a href='$1' target='_blank'>$1</a>");
|
4150 |
-
entries.text.push(text);
|
4151 |
-
if (entries.times.start == 0) entries.times.start = 2;
|
4152 |
}
|
4153 |
-
return
|
4154 |
}
|
4155 |
-
}
|
4156 |
-
|
4157 |
-
|
4158 |
-
|
4159 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4160 |
}
|
4161 |
-
|
4162 |
-
|
4163 |
-
|
4164 |
-
|
4165 |
-
|
4166 |
-
|
4167 |
-
|
4168 |
-
|
4169 |
-
|
4170 |
-
|
4171 |
-
|
4172 |
-
|
4173 |
-
|
4174 |
-
|
4175 |
-
|
4176 |
-
|
4177 |
-
|
4178 |
-
|
4179 |
-
|
4180 |
-
|
4181 |
-
|
4182 |
-
|
4183 |
-
|
4184 |
-
|
4185 |
-
|
4186 |
-
|
4187 |
-
|
4188 |
-
|
4189 |
-
|
4190 |
-
|
4191 |
-
|
4192 |
-
|
4193 |
-
|
4194 |
-
|
4195 |
-
|
4196 |
-
|
4197 |
-
|
4198 |
-
|
4199 |
-
|
4200 |
-
|
4201 |
-
|
4202 |
-
|
4203 |
-
|
4204 |
-
if (player.isFullScreen) {
|
4205 |
-
return "Turn off Fullscreen";
|
4206 |
-
} else {
|
4207 |
-
return "Go Fullscreen";
|
4208 |
-
}
|
4209 |
-
},
|
4210 |
-
click: function(player) {
|
4211 |
-
if (player.isFullScreen) {
|
4212 |
-
player.exitFullScreen();
|
4213 |
-
} else {
|
4214 |
-
player.enterFullScreen();
|
4215 |
-
}
|
4216 |
}
|
4217 |
}
|
4218 |
-
,
|
4219 |
-
|
4220 |
-
|
4221 |
-
|
4222 |
-
|
4223 |
-
|
4224 |
-
|
4225 |
-
|
4226 |
-
|
4227 |
-
|
4228 |
-
|
4229 |
-
|
4230 |
-
|
4231 |
-
|
4232 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4233 |
}
|
4234 |
}
|
4235 |
-
},
|
4236 |
-
// separator
|
4237 |
-
{
|
4238 |
-
isSeparator: true
|
4239 |
-
}
|
4240 |
-
,
|
4241 |
-
// demo of simple download video
|
4242 |
-
{
|
4243 |
-
render: function(player) {
|
4244 |
-
return "Download Video";
|
4245 |
-
},
|
4246 |
-
click: function(player) {
|
4247 |
-
window.location.href = player.media.currentSrc;
|
4248 |
-
}
|
4249 |
-
}
|
4250 |
-
]}
|
4251 |
-
);
|
4252 |
-
|
4253 |
-
|
4254 |
-
$.extend(MediaElementPlayer.prototype, {
|
4255 |
-
buildcontextmenu: function(player, controls, layers, media) {
|
4256 |
-
|
4257 |
-
// create context menu
|
4258 |
-
player.contextMenu = $('<div class="mejs-contextmenu"></div>')
|
4259 |
-
.appendTo($('body'))
|
4260 |
-
.hide();
|
4261 |
-
|
4262 |
-
// create events for showing context menu
|
4263 |
-
player.container.bind('contextmenu', function(e) {
|
4264 |
-
if (player.isContextMenuEnabled) {
|
4265 |
-
e.preventDefault();
|
4266 |
-
player.renderContextMenu(e.clientX-1, e.clientY-1);
|
4267 |
-
return false;
|
4268 |
-
}
|
4269 |
-
});
|
4270 |
-
player.container.bind('click', function() {
|
4271 |
-
player.contextMenu.hide();
|
4272 |
-
});
|
4273 |
-
player.contextMenu.bind('mouseleave', function() {
|
4274 |
|
4275 |
-
|
4276 |
-
|
4277 |
-
|
4278 |
-
});
|
4279 |
-
},
|
4280 |
-
|
4281 |
-
isContextMenuEnabled: true,
|
4282 |
-
enableContextMenu: function() {
|
4283 |
-
this.isContextMenuEnabled = true;
|
4284 |
-
},
|
4285 |
-
disableContextMenu: function() {
|
4286 |
-
this.isContextMenuEnabled = false;
|
4287 |
-
},
|
4288 |
-
|
4289 |
-
contextMenuTimeout: null,
|
4290 |
-
startContextMenuTimer: function() {
|
4291 |
-
//console.log('startContextMenuTimer');
|
4292 |
-
|
4293 |
-
var t = this;
|
4294 |
-
|
4295 |
-
t.killContextMenuTimer();
|
4296 |
-
|
4297 |
-
t.contextMenuTimer = setTimeout(function() {
|
4298 |
-
t.hideContextMenu();
|
4299 |
-
t.killContextMenuTimer();
|
4300 |
-
}, 750);
|
4301 |
-
},
|
4302 |
-
killContextMenuTimer: function() {
|
4303 |
-
var timer = this.contextMenuTimer;
|
4304 |
-
|
4305 |
-
//console.log('killContextMenuTimer', timer);
|
4306 |
-
|
4307 |
-
if (timer != null) {
|
4308 |
-
clearTimeout(timer);
|
4309 |
-
delete timer;
|
4310 |
-
timer = null;
|
4311 |
-
}
|
4312 |
-
},
|
4313 |
-
|
4314 |
-
hideContextMenu: function() {
|
4315 |
-
this.contextMenu.hide();
|
4316 |
-
},
|
4317 |
-
|
4318 |
-
renderContextMenu: function(x,y) {
|
4319 |
-
|
4320 |
-
// alway re-render the items so that things like "turn fullscreen on" and "turn fullscreen off" are always written correctly
|
4321 |
-
var t = this,
|
4322 |
-
html = '',
|
4323 |
-
items = t.options.contextMenuItems;
|
4324 |
-
|
4325 |
-
for (var i=0, il=items.length; i<il; i++) {
|
4326 |
-
|
4327 |
-
if (items[i].isSeparator) {
|
4328 |
-
html += '<div class="mejs-contextmenu-separator"></div>';
|
4329 |
-
} else {
|
4330 |
-
|
4331 |
-
var rendered = items[i].render(t);
|
4332 |
-
|
4333 |
-
// render can return null if the item doesn't need to be used at the moment
|
4334 |
-
if (rendered != null) {
|
4335 |
-
html += '<div class="mejs-contextmenu-item" data-itemindex="' + i + '" id="element-' + (Math.random()*1000000) + '">' + rendered + '</div>';
|
4336 |
-
}
|
4337 |
-
}
|
4338 |
}
|
4339 |
-
|
4340 |
-
|
4341 |
-
|
4342 |
-
|
4343 |
-
|
4344 |
-
|
4345 |
-
|
4346 |
-
|
4347 |
-
|
4348 |
-
t.contextMenu.find('.mejs-contextmenu-item').each(function() {
|
4349 |
-
|
4350 |
-
// which one is this?
|
4351 |
-
var $dom = $(this),
|
4352 |
-
itemIndex = parseInt( $dom.data('itemindex'), 10 ),
|
4353 |
-
item = t.options.contextMenuItems[itemIndex];
|
4354 |
-
|
4355 |
-
// bind extra functionality?
|
4356 |
-
if (typeof item.show != 'undefined')
|
4357 |
-
item.show( $dom , t);
|
4358 |
-
|
4359 |
-
// bind click action
|
4360 |
-
$dom.click(function() {
|
4361 |
-
// perform click action
|
4362 |
-
if (typeof item.click != 'undefined')
|
4363 |
-
item.click(t);
|
4364 |
-
|
4365 |
-
// close
|
4366 |
-
t.contextMenu.hide();
|
4367 |
-
});
|
4368 |
-
});
|
4369 |
-
|
4370 |
-
// stop the controls from hiding
|
4371 |
-
setTimeout(function() {
|
4372 |
-
t.killControlsTimer('rev3');
|
4373 |
-
}, 100);
|
4374 |
-
|
4375 |
}
|
4376 |
-
}
|
4377 |
-
|
4378 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4379 |
|
|
1 |
/*!
|
2 |
+
* MediaElement.js
|
3 |
+
* http://www.mediaelementjs.com/
|
4 |
+
*
|
5 |
+
* Wrapper that mimics native HTML5 MediaElement (audio and video)
|
6 |
+
* using a variety of technologies (pure JavaScript, Flash, iframe)
|
7 |
+
*
|
8 |
+
* Copyright 2010-2017, John Dyer (http://j.hn/)
|
9 |
+
* License: MIT
|
10 |
+
*
|
11 |
+
*/(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(_dereq_,module,exports){
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
|
13 |
+
},{}],2:[function(_dereq_,module,exports){
|
14 |
+
(function (global){
|
15 |
+
var topLevel = typeof global !== 'undefined' ? global :
|
16 |
+
typeof window !== 'undefined' ? window : {}
|
17 |
+
var minDoc = _dereq_(1);
|
18 |
|
19 |
+
var doccy;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
|
21 |
+
if (typeof document !== 'undefined') {
|
22 |
+
doccy = document;
|
23 |
+
} else {
|
24 |
+
doccy = topLevel['__GLOBAL_DOCUMENT_CACHE@4'];
|
25 |
|
26 |
+
if (!doccy) {
|
27 |
+
doccy = topLevel['__GLOBAL_DOCUMENT_CACHE@4'] = minDoc;
|
28 |
+
}
|
29 |
+
}
|
30 |
|
31 |
+
module.exports = doccy;
|
32 |
+
|
33 |
+
}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
|
34 |
+
},{"1":1}],3:[function(_dereq_,module,exports){
|
35 |
+
(function (global){
|
36 |
+
var win;
|
37 |
+
|
38 |
+
if (typeof window !== "undefined") {
|
39 |
+
win = window;
|
40 |
+
} else if (typeof global !== "undefined") {
|
41 |
+
win = global;
|
42 |
+
} else if (typeof self !== "undefined"){
|
43 |
+
win = self;
|
44 |
+
} else {
|
45 |
+
win = {};
|
46 |
+
}
|
47 |
|
48 |
+
module.exports = win;
|
49 |
+
|
50 |
+
}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
|
51 |
+
},{}],4:[function(_dereq_,module,exports){
|
52 |
+
(function (root) {
|
53 |
+
|
54 |
+
// Store setTimeout reference so promise-polyfill will be unaffected by
|
55 |
+
// other code modifying setTimeout (like sinon.useFakeTimers())
|
56 |
+
var setTimeoutFunc = setTimeout;
|
57 |
+
|
58 |
+
function noop() {}
|
59 |
+
|
60 |
+
// Polyfill for Function.prototype.bind
|
61 |
+
function bind(fn, thisArg) {
|
62 |
+
return function () {
|
63 |
+
fn.apply(thisArg, arguments);
|
64 |
+
};
|
65 |
+
}
|
66 |
+
|
67 |
+
function Promise(fn) {
|
68 |
+
if (typeof this !== 'object') throw new TypeError('Promises must be constructed via new');
|
69 |
+
if (typeof fn !== 'function') throw new TypeError('not a function');
|
70 |
+
this._state = 0;
|
71 |
+
this._handled = false;
|
72 |
+
this._value = undefined;
|
73 |
+
this._deferreds = [];
|
74 |
+
|
75 |
+
doResolve(fn, this);
|
76 |
+
}
|
77 |
+
|
78 |
+
function handle(self, deferred) {
|
79 |
+
while (self._state === 3) {
|
80 |
+
self = self._value;
|
81 |
+
}
|
82 |
+
if (self._state === 0) {
|
83 |
+
self._deferreds.push(deferred);
|
84 |
+
return;
|
85 |
+
}
|
86 |
+
self._handled = true;
|
87 |
+
Promise._immediateFn(function () {
|
88 |
+
var cb = self._state === 1 ? deferred.onFulfilled : deferred.onRejected;
|
89 |
+
if (cb === null) {
|
90 |
+
(self._state === 1 ? resolve : reject)(deferred.promise, self._value);
|
91 |
+
return;
|
92 |
+
}
|
93 |
+
var ret;
|
94 |
+
try {
|
95 |
+
ret = cb(self._value);
|
96 |
+
} catch (e) {
|
97 |
+
reject(deferred.promise, e);
|
98 |
+
return;
|
99 |
+
}
|
100 |
+
resolve(deferred.promise, ret);
|
101 |
+
});
|
102 |
+
}
|
103 |
+
|
104 |
+
function resolve(self, newValue) {
|
105 |
+
try {
|
106 |
+
// Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure
|
107 |
+
if (newValue === self) throw new TypeError('A promise cannot be resolved with itself.');
|
108 |
+
if (newValue && (typeof newValue === 'object' || typeof newValue === 'function')) {
|
109 |
+
var then = newValue.then;
|
110 |
+
if (newValue instanceof Promise) {
|
111 |
+
self._state = 3;
|
112 |
+
self._value = newValue;
|
113 |
+
finale(self);
|
114 |
+
return;
|
115 |
+
} else if (typeof then === 'function') {
|
116 |
+
doResolve(bind(then, newValue), self);
|
117 |
+
return;
|
118 |
+
}
|
119 |
+
}
|
120 |
+
self._state = 1;
|
121 |
+
self._value = newValue;
|
122 |
+
finale(self);
|
123 |
+
} catch (e) {
|
124 |
+
reject(self, e);
|
125 |
+
}
|
126 |
+
}
|
127 |
+
|
128 |
+
function reject(self, newValue) {
|
129 |
+
self._state = 2;
|
130 |
+
self._value = newValue;
|
131 |
+
finale(self);
|
132 |
+
}
|
133 |
+
|
134 |
+
function finale(self) {
|
135 |
+
if (self._state === 2 && self._deferreds.length === 0) {
|
136 |
+
Promise._immediateFn(function() {
|
137 |
+
if (!self._handled) {
|
138 |
+
Promise._unhandledRejectionFn(self._value);
|
139 |
+
}
|
140 |
+
});
|
141 |
+
}
|
142 |
+
|
143 |
+
for (var i = 0, len = self._deferreds.length; i < len; i++) {
|
144 |
+
handle(self, self._deferreds[i]);
|
145 |
+
}
|
146 |
+
self._deferreds = null;
|
147 |
+
}
|
148 |
+
|
149 |
+
function Handler(onFulfilled, onRejected, promise) {
|
150 |
+
this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;
|
151 |
+
this.onRejected = typeof onRejected === 'function' ? onRejected : null;
|
152 |
+
this.promise = promise;
|
153 |
+
}
|
154 |
+
|
155 |
+
/**
|
156 |
+
* Take a potentially misbehaving resolver function and make sure
|
157 |
+
* onFulfilled and onRejected are only called once.
|
158 |
+
*
|
159 |
+
* Makes no guarantees about asynchrony.
|
160 |
+
*/
|
161 |
+
function doResolve(fn, self) {
|
162 |
+
var done = false;
|
163 |
+
try {
|
164 |
+
fn(function (value) {
|
165 |
+
if (done) return;
|
166 |
+
done = true;
|
167 |
+
resolve(self, value);
|
168 |
+
}, function (reason) {
|
169 |
+
if (done) return;
|
170 |
+
done = true;
|
171 |
+
reject(self, reason);
|
172 |
+
});
|
173 |
+
} catch (ex) {
|
174 |
+
if (done) return;
|
175 |
+
done = true;
|
176 |
+
reject(self, ex);
|
177 |
+
}
|
178 |
+
}
|
179 |
+
|
180 |
+
Promise.prototype['catch'] = function (onRejected) {
|
181 |
+
return this.then(null, onRejected);
|
182 |
+
};
|
183 |
+
|
184 |
+
Promise.prototype.then = function (onFulfilled, onRejected) {
|
185 |
+
var prom = new (this.constructor)(noop);
|
186 |
+
|
187 |
+
handle(this, new Handler(onFulfilled, onRejected, prom));
|
188 |
+
return prom;
|
189 |
+
};
|
190 |
+
|
191 |
+
Promise.all = function (arr) {
|
192 |
+
var args = Array.prototype.slice.call(arr);
|
193 |
+
|
194 |
+
return new Promise(function (resolve, reject) {
|
195 |
+
if (args.length === 0) return resolve([]);
|
196 |
+
var remaining = args.length;
|
197 |
+
|
198 |
+
function res(i, val) {
|
199 |
+
try {
|
200 |
+
if (val && (typeof val === 'object' || typeof val === 'function')) {
|
201 |
+
var then = val.then;
|
202 |
+
if (typeof then === 'function') {
|
203 |
+
then.call(val, function (val) {
|
204 |
+
res(i, val);
|
205 |
+
}, reject);
|
206 |
+
return;
|
207 |
+
}
|
208 |
+
}
|
209 |
+
args[i] = val;
|
210 |
+
if (--remaining === 0) {
|
211 |
+
resolve(args);
|
212 |
+
}
|
213 |
+
} catch (ex) {
|
214 |
+
reject(ex);
|
215 |
+
}
|
216 |
+
}
|
217 |
+
|
218 |
+
for (var i = 0; i < args.length; i++) {
|
219 |
+
res(i, args[i]);
|
220 |
+
}
|
221 |
+
});
|
222 |
+
};
|
223 |
+
|
224 |
+
Promise.resolve = function (value) {
|
225 |
+
if (value && typeof value === 'object' && value.constructor === Promise) {
|
226 |
+
return value;
|
227 |
+
}
|
228 |
+
|
229 |
+
return new Promise(function (resolve) {
|
230 |
+
resolve(value);
|
231 |
+
});
|
232 |
+
};
|
233 |
+
|
234 |
+
Promise.reject = function (value) {
|
235 |
+
return new Promise(function (resolve, reject) {
|
236 |
+
reject(value);
|
237 |
+
});
|
238 |
+
};
|
239 |
+
|
240 |
+
Promise.race = function (values) {
|
241 |
+
return new Promise(function (resolve, reject) {
|
242 |
+
for (var i = 0, len = values.length; i < len; i++) {
|
243 |
+
values[i].then(resolve, reject);
|
244 |
+
}
|
245 |
+
});
|
246 |
+
};
|
247 |
+
|
248 |
+
// Use polyfill for setImmediate for performance gains
|
249 |
+
Promise._immediateFn = (typeof setImmediate === 'function' && function (fn) { setImmediate(fn); }) ||
|
250 |
+
function (fn) {
|
251 |
+
setTimeoutFunc(fn, 0);
|
252 |
+
};
|
253 |
+
|
254 |
+
Promise._unhandledRejectionFn = function _unhandledRejectionFn(err) {
|
255 |
+
if (typeof console !== 'undefined' && console) {
|
256 |
+
console.warn('Possible Unhandled Promise Rejection:', err); // eslint-disable-line no-console
|
257 |
+
}
|
258 |
+
};
|
259 |
+
|
260 |
+
/**
|
261 |
+
* Set the immediate function to execute callbacks
|
262 |
+
* @param fn {function} Function to execute
|
263 |
+
* @deprecated
|
264 |
+
*/
|
265 |
+
Promise._setImmediateFn = function _setImmediateFn(fn) {
|
266 |
+
Promise._immediateFn = fn;
|
267 |
+
};
|
268 |
+
|
269 |
+
/**
|
270 |
+
* Change the function to execute on unhandled rejection
|
271 |
+
* @param {function} fn Function to execute on unhandled rejection
|
272 |
+
* @deprecated
|
273 |
+
*/
|
274 |
+
Promise._setUnhandledRejectionFn = function _setUnhandledRejectionFn(fn) {
|
275 |
+
Promise._unhandledRejectionFn = fn;
|
276 |
+
};
|
277 |
+
|
278 |
+
if (typeof module !== 'undefined' && module.exports) {
|
279 |
+
module.exports = Promise;
|
280 |
+
} else if (!root.Promise) {
|
281 |
+
root.Promise = Promise;
|
282 |
+
}
|
283 |
+
|
284 |
+
})(this);
|
285 |
+
|
286 |
+
},{}],5:[function(_dereq_,module,exports){
|
287 |
+
'use strict';
|
288 |
+
|
289 |
+
Object.defineProperty(exports, "__esModule", {
|
290 |
+
value: true
|
291 |
+
});
|
292 |
|
293 |
+
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
|
|
|
294 |
|
295 |
+
var _mejs = _dereq_(7);
|
|
|
|
|
|
|
296 |
|
297 |
+
var _mejs2 = _interopRequireDefault(_mejs);
|
|
|
298 |
|
299 |
+
var _en = _dereq_(15);
|
|
|
|
|
|
|
300 |
|
301 |
+
var _general = _dereq_(27);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
302 |
|
303 |
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
304 |
|
305 |
+
var i18n = { lang: 'en', en: _en.EN };
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
306 |
|
307 |
+
i18n.language = function () {
|
308 |
+
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
|
309 |
+
args[_key] = arguments[_key];
|
310 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
311 |
|
312 |
+
if (args !== null && args !== undefined && args.length) {
|
|
|
|
|
313 |
|
314 |
+
if (typeof args[0] !== 'string') {
|
315 |
+
throw new TypeError('Language code must be a string value');
|
316 |
+
}
|
317 |
|
318 |
+
if (!/^[a-z]{2,3}((\-|_)[a-z]{2})?$/i.test(args[0])) {
|
319 |
+
throw new TypeError('Language code must have format 2-3 letters and. optionally, hyphen, underscore followed by 2 more letters');
|
320 |
+
}
|
|
|
321 |
|
322 |
+
i18n.lang = args[0];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
323 |
|
324 |
+
if (i18n[args[0]] === undefined) {
|
325 |
+
args[1] = args[1] !== null && args[1] !== undefined && _typeof(args[1]) === 'object' ? args[1] : {};
|
326 |
+
i18n[args[0]] = !(0, _general.isObjectEmpty)(args[1]) ? args[1] : _en.EN;
|
327 |
+
} else if (args[1] !== null && args[1] !== undefined && _typeof(args[1]) === 'object') {
|
328 |
+
i18n[args[0]] = args[1];
|
|
|
329 |
}
|
|
|
|
|
|
|
|
|
|
|
330 |
}
|
|
|
331 |
|
332 |
+
return i18n.lang;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
333 |
};
|
334 |
|
335 |
+
i18n.t = function (message) {
|
336 |
+
var pluralParam = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
|
|
|
337 |
|
|
|
|
|
|
|
|
|
338 |
|
339 |
+
if (typeof message === 'string' && message.length) {
|
|
|
|
|
|
|
|
|
340 |
|
341 |
+
var str = void 0,
|
342 |
+
pluralForm = void 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
343 |
|
344 |
+
var language = i18n.language();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
345 |
|
346 |
+
var _plural = function _plural(input, number, form) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
347 |
|
348 |
+
if ((typeof input === 'undefined' ? 'undefined' : _typeof(input)) !== 'object' || typeof number !== 'number' || typeof form !== 'number') {
|
349 |
+
return input;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
350 |
}
|
|
|
|
|
|
|
351 |
|
352 |
+
var _pluralForms = function () {
|
353 |
+
return [function () {
|
354 |
+
return arguments.length <= 1 ? undefined : arguments[1];
|
355 |
+
}, function () {
|
356 |
+
return (arguments.length <= 0 ? undefined : arguments[0]) === 1 ? arguments.length <= 1 ? undefined : arguments[1] : arguments.length <= 2 ? undefined : arguments[2];
|
357 |
+
}, function () {
|
358 |
+
return (arguments.length <= 0 ? undefined : arguments[0]) === 0 || (arguments.length <= 0 ? undefined : arguments[0]) === 1 ? arguments.length <= 1 ? undefined : arguments[1] : arguments.length <= 2 ? undefined : arguments[2];
|
359 |
+
}, function () {
|
360 |
+
if ((arguments.length <= 0 ? undefined : arguments[0]) % 10 === 1 && (arguments.length <= 0 ? undefined : arguments[0]) % 100 !== 11) {
|
361 |
+
return arguments.length <= 1 ? undefined : arguments[1];
|
362 |
+
} else if ((arguments.length <= 0 ? undefined : arguments[0]) !== 0) {
|
363 |
+
return arguments.length <= 2 ? undefined : arguments[2];
|
364 |
+
} else {
|
365 |
+
return arguments.length <= 3 ? undefined : arguments[3];
|
366 |
+
}
|
367 |
+
}, function () {
|
368 |
+
if ((arguments.length <= 0 ? undefined : arguments[0]) === 1 || (arguments.length <= 0 ? undefined : arguments[0]) === 11) {
|
369 |
+
return arguments.length <= 1 ? undefined : arguments[1];
|
370 |
+
} else if ((arguments.length <= 0 ? undefined : arguments[0]) === 2 || (arguments.length <= 0 ? undefined : arguments[0]) === 12) {
|
371 |
+
return arguments.length <= 2 ? undefined : arguments[2];
|
372 |
+
} else if ((arguments.length <= 0 ? undefined : arguments[0]) > 2 && (arguments.length <= 0 ? undefined : arguments[0]) < 20) {
|
373 |
+
return arguments.length <= 3 ? undefined : arguments[3];
|
374 |
+
} else {
|
375 |
+
return arguments.length <= 4 ? undefined : arguments[4];
|
376 |
+
}
|
377 |
+
}, function () {
|
378 |
+
if ((arguments.length <= 0 ? undefined : arguments[0]) === 1) {
|
379 |
+
return arguments.length <= 1 ? undefined : arguments[1];
|
380 |
+
} else if ((arguments.length <= 0 ? undefined : arguments[0]) === 0 || (arguments.length <= 0 ? undefined : arguments[0]) % 100 > 0 && (arguments.length <= 0 ? undefined : arguments[0]) % 100 < 20) {
|
381 |
+
return arguments.length <= 2 ? undefined : arguments[2];
|
382 |
+
} else {
|
383 |
+
return arguments.length <= 3 ? undefined : arguments[3];
|
384 |
+
}
|
385 |
+
}, function () {
|
386 |
+
if ((arguments.length <= 0 ? undefined : arguments[0]) % 10 === 1 && (arguments.length <= 0 ? undefined : arguments[0]) % 100 !== 11) {
|
387 |
+
return arguments.length <= 1 ? undefined : arguments[1];
|
388 |
+
} else if ((arguments.length <= 0 ? undefined : arguments[0]) % 10 >= 2 && ((arguments.length <= 0 ? undefined : arguments[0]) % 100 < 10 || (arguments.length <= 0 ? undefined : arguments[0]) % 100 >= 20)) {
|
389 |
+
return arguments.length <= 2 ? undefined : arguments[2];
|
390 |
+
} else {
|
391 |
+
return [3];
|
392 |
+
}
|
393 |
+
}, function () {
|
394 |
+
if ((arguments.length <= 0 ? undefined : arguments[0]) % 10 === 1 && (arguments.length <= 0 ? undefined : arguments[0]) % 100 !== 11) {
|
395 |
+
return arguments.length <= 1 ? undefined : arguments[1];
|
396 |
+
} else if ((arguments.length <= 0 ? undefined : arguments[0]) % 10 >= 2 && (arguments.length <= 0 ? undefined : arguments[0]) % 10 <= 4 && ((arguments.length <= 0 ? undefined : arguments[0]) % 100 < 10 || (arguments.length <= 0 ? undefined : arguments[0]) % 100 >= 20)) {
|
397 |
+
return arguments.length <= 2 ? undefined : arguments[2];
|
398 |
+
} else {
|
399 |
+
return arguments.length <= 3 ? undefined : arguments[3];
|
400 |
+
}
|
401 |
+
}, function () {
|
402 |
+
if ((arguments.length <= 0 ? undefined : arguments[0]) === 1) {
|
403 |
+
return arguments.length <= 1 ? undefined : arguments[1];
|
404 |
+
} else if ((arguments.length <= 0 ? undefined : arguments[0]) >= 2 && (arguments.length <= 0 ? undefined : arguments[0]) <= 4) {
|
405 |
+
return arguments.length <= 2 ? undefined : arguments[2];
|
406 |
+
} else {
|
407 |
+
return arguments.length <= 3 ? undefined : arguments[3];
|
408 |
+
}
|
409 |
+
}, function () {
|
410 |
+
if ((arguments.length <= 0 ? undefined : arguments[0]) === 1) {
|
411 |
+
return arguments.length <= 1 ? undefined : arguments[1];
|
412 |
+
} else if ((arguments.length <= 0 ? undefined : arguments[0]) % 10 >= 2 && (arguments.length <= 0 ? undefined : arguments[0]) % 10 <= 4 && ((arguments.length <= 0 ? undefined : arguments[0]) % 100 < 10 || (arguments.length <= 0 ? undefined : arguments[0]) % 100 >= 20)) {
|
413 |
+
return arguments.length <= 2 ? undefined : arguments[2];
|
414 |
+
} else {
|
415 |
+
return arguments.length <= 3 ? undefined : arguments[3];
|
416 |
+
}
|
417 |
+
}, function () {
|
418 |
+
if ((arguments.length <= 0 ? undefined : arguments[0]) % 100 === 1) {
|
419 |
+
return arguments.length <= 2 ? undefined : arguments[2];
|
420 |
+
} else if ((arguments.length <= 0 ? undefined : arguments[0]) % 100 === 2) {
|
421 |
+
return arguments.length <= 3 ? undefined : arguments[3];
|
422 |
+
} else if ((arguments.length <= 0 ? undefined : arguments[0]) % 100 === 3 || (arguments.length <= 0 ? undefined : arguments[0]) % 100 === 4) {
|
423 |
+
return arguments.length <= 4 ? undefined : arguments[4];
|
424 |
+
} else {
|
425 |
+
return arguments.length <= 1 ? undefined : arguments[1];
|
426 |
+
}
|
427 |
+
}, function () {
|
428 |
+
if ((arguments.length <= 0 ? undefined : arguments[0]) === 1) {
|
429 |
+
return arguments.length <= 1 ? undefined : arguments[1];
|
430 |
+
} else if ((arguments.length <= 0 ? undefined : arguments[0]) === 2) {
|
431 |
+
return arguments.length <= 2 ? undefined : arguments[2];
|
432 |
+
} else if ((arguments.length <= 0 ? undefined : arguments[0]) > 2 && (arguments.length <= 0 ? undefined : arguments[0]) < 7) {
|
433 |
+
return arguments.length <= 3 ? undefined : arguments[3];
|
434 |
+
} else if ((arguments.length <= 0 ? undefined : arguments[0]) > 6 && (arguments.length <= 0 ? undefined : arguments[0]) < 11) {
|
435 |
+
return arguments.length <= 4 ? undefined : arguments[4];
|
436 |
+
} else {
|
437 |
+
return arguments.length <= 5 ? undefined : arguments[5];
|
438 |
+
}
|
439 |
+
}, function () {
|
440 |
+
if ((arguments.length <= 0 ? undefined : arguments[0]) === 0) {
|
441 |
+
return arguments.length <= 1 ? undefined : arguments[1];
|
442 |
+
} else if ((arguments.length <= 0 ? undefined : arguments[0]) === 1) {
|
443 |
+
return arguments.length <= 2 ? undefined : arguments[2];
|
444 |
+
} else if ((arguments.length <= 0 ? undefined : arguments[0]) === 2) {
|
445 |
+
return arguments.length <= 3 ? undefined : arguments[3];
|
446 |
+
} else if ((arguments.length <= 0 ? undefined : arguments[0]) % 100 >= 3 && (arguments.length <= 0 ? undefined : arguments[0]) % 100 <= 10) {
|
447 |
+
return arguments.length <= 4 ? undefined : arguments[4];
|
448 |
+
} else if ((arguments.length <= 0 ? undefined : arguments[0]) % 100 >= 11) {
|
449 |
+
return arguments.length <= 5 ? undefined : arguments[5];
|
450 |
+
} else {
|
451 |
+
return arguments.length <= 6 ? undefined : arguments[6];
|
452 |
+
}
|
453 |
+
}, function () {
|
454 |
+
if ((arguments.length <= 0 ? undefined : arguments[0]) === 1) {
|
455 |
+
return arguments.length <= 1 ? undefined : arguments[1];
|
456 |
+
} else if ((arguments.length <= 0 ? undefined : arguments[0]) === 0 || (arguments.length <= 0 ? undefined : arguments[0]) % 100 > 1 && (arguments.length <= 0 ? undefined : arguments[0]) % 100 < 11) {
|
457 |
+
return arguments.length <= 2 ? undefined : arguments[2];
|
458 |
+
} else if ((arguments.length <= 0 ? undefined : arguments[0]) % 100 > 10 && (arguments.length <= 0 ? undefined : arguments[0]) % 100 < 20) {
|
459 |
+
return arguments.length <= 3 ? undefined : arguments[3];
|
460 |
+
} else {
|
461 |
+
return arguments.length <= 4 ? undefined : arguments[4];
|
462 |
+
}
|
463 |
+
}, function () {
|
464 |
+
if ((arguments.length <= 0 ? undefined : arguments[0]) % 10 === 1) {
|
465 |
+
return arguments.length <= 1 ? undefined : arguments[1];
|
466 |
+
} else if ((arguments.length <= 0 ? undefined : arguments[0]) % 10 === 2) {
|
467 |
+
return arguments.length <= 2 ? undefined : arguments[2];
|
468 |
+
} else {
|
469 |
+
return arguments.length <= 3 ? undefined : arguments[3];
|
470 |
+
}
|
471 |
+
}, function () {
|
472 |
+
return (arguments.length <= 0 ? undefined : arguments[0]) !== 11 && (arguments.length <= 0 ? undefined : arguments[0]) % 10 === 1 ? arguments.length <= 1 ? undefined : arguments[1] : arguments.length <= 2 ? undefined : arguments[2];
|
473 |
+
}, function () {
|
474 |
+
if ((arguments.length <= 0 ? undefined : arguments[0]) === 1) {
|
475 |
+
return arguments.length <= 1 ? undefined : arguments[1];
|
476 |
+
} else if ((arguments.length <= 0 ? undefined : arguments[0]) % 10 >= 2 && (arguments.length <= 0 ? undefined : arguments[0]) % 10 <= 4 && ((arguments.length <= 0 ? undefined : arguments[0]) % 100 < 10 || (arguments.length <= 0 ? undefined : arguments[0]) % 100 >= 20)) {
|
477 |
+
return arguments.length <= 2 ? undefined : arguments[2];
|
478 |
+
} else {
|
479 |
+
return arguments.length <= 3 ? undefined : arguments[3];
|
480 |
+
}
|
481 |
+
}, function () {
|
482 |
+
if ((arguments.length <= 0 ? undefined : arguments[0]) === 1) {
|
483 |
+
return arguments.length <= 1 ? undefined : arguments[1];
|
484 |
+
} else if ((arguments.length <= 0 ? undefined : arguments[0]) === 2) {
|
485 |
+
return arguments.length <= 2 ? undefined : arguments[2];
|
486 |
+
} else if ((arguments.length <= 0 ? undefined : arguments[0]) !== 8 && (arguments.length <= 0 ? undefined : arguments[0]) !== 11) {
|
487 |
+
return arguments.length <= 3 ? undefined : arguments[3];
|
488 |
+
} else {
|
489 |
+
return arguments.length <= 4 ? undefined : arguments[4];
|
490 |
+
}
|
491 |
+
}, function () {
|
492 |
+
return (arguments.length <= 0 ? undefined : arguments[0]) === 0 ? arguments.length <= 1 ? undefined : arguments[1] : arguments.length <= 2 ? undefined : arguments[2];
|
493 |
+
}, function () {
|
494 |
+
if ((arguments.length <= 0 ? undefined : arguments[0]) === 1) {
|
495 |
+
return arguments.length <= 1 ? undefined : arguments[1];
|
496 |
+
} else if ((arguments.length <= 0 ? undefined : arguments[0]) === 2) {
|
497 |
+
return arguments.length <= 2 ? undefined : arguments[2];
|
498 |
+
} else if ((arguments.length <= 0 ? undefined : arguments[0]) === 3) {
|
499 |
+
return arguments.length <= 3 ? undefined : arguments[3];
|
500 |
+
} else {
|
501 |
+
return arguments.length <= 4 ? undefined : arguments[4];
|
502 |
+
}
|
503 |
+
}, function () {
|
504 |
+
if ((arguments.length <= 0 ? undefined : arguments[0]) === 0) {
|
505 |
+
return arguments.length <= 1 ? undefined : arguments[1];
|
506 |
+
} else if ((arguments.length <= 0 ? undefined : arguments[0]) === 1) {
|
507 |
+
return arguments.length <= 2 ? undefined : arguments[2];
|
508 |
+
} else {
|
509 |
+
return arguments.length <= 3 ? undefined : arguments[3];
|
510 |
+
}
|
511 |
+
}];
|
512 |
+
}();
|
513 |
|
514 |
+
return _pluralForms[form].apply(null, [number].concat(input));
|
515 |
+
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
516 |
|
517 |
+
if (i18n[language] !== undefined) {
|
518 |
+
str = i18n[language][message];
|
519 |
+
if (pluralParam !== null && typeof pluralParam === 'number') {
|
520 |
+
pluralForm = i18n[language]['mejs.plural-form'];
|
521 |
+
str = _plural.apply(null, [str, pluralParam, pluralForm]);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
522 |
}
|
523 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
524 |
|
525 |
+
if (!str && i18n.en) {
|
526 |
+
str = i18n.en[message];
|
527 |
+
if (pluralParam !== null && typeof pluralParam === 'number') {
|
528 |
+
pluralForm = i18n.en['mejs.plural-form'];
|
529 |
+
str = _plural.apply(null, [str, pluralParam, pluralForm]);
|
530 |
}
|
531 |
}
|
532 |
+
|
533 |
+
str = str || message;
|
534 |
+
|
535 |
+
if (pluralParam !== null && typeof pluralParam === 'number') {
|
536 |
+
str = str.replace('%1', pluralParam);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
537 |
}
|
|
|
|
|
|
|
|
|
|
|
538 |
|
539 |
+
return (0, _general.escapeHTML)(str);
|
|
|
540 |
}
|
541 |
+
|
542 |
+
return message;
|
543 |
};
|
544 |
|
545 |
+
_mejs2.default.i18n = i18n;
|
|
|
546 |
|
547 |
+
if (typeof mejsL10n !== 'undefined') {
|
548 |
+
_mejs2.default.i18n.language(mejsL10n.language, mejsL10n.strings);
|
549 |
+
}
|
550 |
|
551 |
+
exports.default = i18n;
|
|
|
|
|
|
|
552 |
|
553 |
+
},{"15":15,"27":27,"7":7}],6:[function(_dereq_,module,exports){
|
554 |
+
'use strict';
|
555 |
|
556 |
+
Object.defineProperty(exports, "__esModule", {
|
557 |
+
value: true
|
558 |
+
});
|
559 |
|
560 |
+
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
561 |
|
562 |
+
var _window = _dereq_(3);
|
|
|
|
|
563 |
|
564 |
+
var _window2 = _interopRequireDefault(_window);
|
|
|
|
|
|
|
|
|
565 |
|
566 |
+
var _document = _dereq_(2);
|
|
|
567 |
|
568 |
+
var _document2 = _interopRequireDefault(_document);
|
|
|
|
|
|
|
|
|
569 |
|
570 |
+
var _mejs = _dereq_(7);
|
|
|
|
|
|
|
|
|
571 |
|
572 |
+
var _mejs2 = _interopRequireDefault(_mejs);
|
|
|
573 |
|
574 |
+
var _general = _dereq_(27);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
575 |
|
576 |
+
var _media2 = _dereq_(28);
|
|
|
|
|
577 |
|
578 |
+
var _renderer = _dereq_(8);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
579 |
|
580 |
+
var _constants = _dereq_(25);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
581 |
|
582 |
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
583 |
|
584 |
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
|
|
|
|
|
585 |
|
586 |
+
var MediaElement = function MediaElement(idOrNode, options, sources) {
|
587 |
+
var _this = this;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
588 |
|
589 |
+
_classCallCheck(this, MediaElement);
|
|
|
|
|
|
|
590 |
|
591 |
+
var t = this;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
592 |
|
593 |
+
sources = Array.isArray(sources) ? sources : null;
|
|
|
|
|
|
|
594 |
|
595 |
+
t.defaults = {
|
596 |
+
renderers: [],
|
597 |
|
598 |
+
fakeNodeName: 'mediaelementwrapper',
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
599 |
|
600 |
+
pluginPath: 'build/',
|
|
|
|
|
|
|
601 |
|
602 |
+
shimScriptAccess: 'sameDomain'
|
603 |
+
};
|
604 |
|
605 |
+
options = Object.assign(t.defaults, options);
|
|
|
606 |
|
607 |
+
t.mediaElement = _document2.default.createElement(options.fakeNodeName);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
608 |
|
609 |
+
var id = idOrNode,
|
610 |
+
error = false;
|
|
|
|
|
|
|
|
|
611 |
|
612 |
+
if (typeof idOrNode === 'string') {
|
613 |
+
t.mediaElement.originalNode = _document2.default.getElementById(idOrNode);
|
614 |
+
} else {
|
615 |
+
t.mediaElement.originalNode = idOrNode;
|
616 |
+
id = idOrNode.id;
|
617 |
+
}
|
618 |
|
619 |
+
if (t.mediaElement.originalNode === undefined || t.mediaElement.originalNode === null) {
|
620 |
+
return null;
|
621 |
+
}
|
622 |
|
623 |
+
t.mediaElement.options = options;
|
624 |
+
id = id || 'mejs_' + Math.random().toString().slice(2);
|
625 |
|
626 |
+
t.mediaElement.originalNode.setAttribute('id', id + '_from_mejs');
|
|
|
627 |
|
628 |
+
var tagName = t.mediaElement.originalNode.tagName.toLowerCase();
|
629 |
+
if (['video', 'audio'].indexOf(tagName) > -1 && !t.mediaElement.originalNode.getAttribute('preload')) {
|
630 |
+
t.mediaElement.originalNode.setAttribute('preload', 'none');
|
631 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
632 |
|
633 |
+
t.mediaElement.originalNode.parentNode.insertBefore(t.mediaElement, t.mediaElement.originalNode);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
634 |
|
635 |
+
t.mediaElement.appendChild(t.mediaElement.originalNode);
|
|
|
|
|
636 |
|
637 |
+
var processURL = function processURL(url, type) {
|
638 |
+
if (_window2.default.location.protocol === 'https:' && url.indexOf('http:') === 0 && _constants.IS_IOS && _mejs2.default.html5media.mediaTypes.indexOf(type) > -1) {
|
639 |
+
var xhr = new XMLHttpRequest();
|
640 |
+
xhr.onreadystatechange = function () {
|
641 |
+
if (this.readyState === 4 && this.status === 200) {
|
642 |
+
var _url = _window2.default.URL || _window2.default.webkitURL,
|
643 |
+
blobUrl = _url.createObjectURL(this.response);
|
644 |
+
t.mediaElement.originalNode.setAttribute('src', blobUrl);
|
645 |
+
return blobUrl;
|
646 |
+
}
|
647 |
+
return url;
|
648 |
+
};
|
649 |
+
xhr.open('GET', url);
|
650 |
+
xhr.responseType = 'blob';
|
651 |
+
xhr.send();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
652 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
653 |
|
654 |
+
return url;
|
655 |
+
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
656 |
|
657 |
+
var mediaFiles = void 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
658 |
|
659 |
+
if (sources !== null) {
|
660 |
+
mediaFiles = sources;
|
661 |
+
} else if (t.mediaElement.originalNode !== null) {
|
662 |
|
663 |
+
mediaFiles = [];
|
664 |
+
|
665 |
+
switch (t.mediaElement.originalNode.nodeName.toLowerCase()) {
|
666 |
+
case 'iframe':
|
667 |
+
mediaFiles.push({
|
668 |
+
type: '',
|
669 |
+
src: t.mediaElement.originalNode.getAttribute('src')
|
670 |
+
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
671 |
break;
|
672 |
+
case 'audio':
|
673 |
+
case 'video':
|
674 |
+
var _sources = t.mediaElement.originalNode.children.length,
|
675 |
+
nodeSource = t.mediaElement.originalNode.getAttribute('src');
|
676 |
+
|
677 |
+
if (nodeSource) {
|
678 |
+
var node = t.mediaElement.originalNode,
|
679 |
+
type = (0, _media2.formatType)(nodeSource, node.getAttribute('type'));
|
680 |
+
mediaFiles.push({
|
681 |
+
type: type,
|
682 |
+
src: processURL(nodeSource, type)
|
683 |
+
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
684 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
685 |
|
686 |
+
for (var i = 0; i < _sources; i++) {
|
687 |
+
var n = t.mediaElement.originalNode.children[i];
|
688 |
+
if (n.tagName.toLowerCase() === 'source') {
|
689 |
+
var src = n.getAttribute('src'),
|
690 |
+
_type = (0, _media2.formatType)(src, n.getAttribute('type'));
|
691 |
+
mediaFiles.push({ type: _type, src: processURL(src, _type) });
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
692 |
}
|
693 |
+
}
|
694 |
+
break;
|
|
|
|
|
|
|
|
|
695 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
696 |
}
|
|
|
697 |
|
698 |
+
t.mediaElement.id = id;
|
699 |
+
t.mediaElement.renderers = {};
|
700 |
+
t.mediaElement.events = {};
|
701 |
+
t.mediaElement.promises = [];
|
702 |
+
t.mediaElement.renderer = null;
|
703 |
+
t.mediaElement.rendererName = null;
|
704 |
|
705 |
+
t.mediaElement.changeRenderer = function (rendererName, mediaFiles) {
|
706 |
+
|
707 |
+
var t = _this,
|
708 |
+
media = Object.keys(mediaFiles[0]).length > 2 ? mediaFiles[0] : mediaFiles[0].src;
|
709 |
+
|
710 |
+
if (t.mediaElement.renderer !== undefined && t.mediaElement.renderer !== null && t.mediaElement.renderer.name === rendererName) {
|
711 |
+
t.mediaElement.renderer.pause();
|
712 |
+
if (t.mediaElement.renderer.stop) {
|
713 |
+
t.mediaElement.renderer.stop();
|
714 |
+
}
|
715 |
+
t.mediaElement.renderer.show();
|
716 |
+
t.mediaElement.renderer.setSrc(media);
|
717 |
+
return true;
|
718 |
}
|
719 |
+
|
720 |
+
if (t.mediaElement.renderer !== undefined && t.mediaElement.renderer !== null) {
|
721 |
+
t.mediaElement.renderer.pause();
|
722 |
+
if (t.mediaElement.renderer.stop) {
|
723 |
+
t.mediaElement.renderer.stop();
|
724 |
+
}
|
725 |
+
t.mediaElement.renderer.hide();
|
|
|
|
|
726 |
}
|
727 |
+
|
728 |
+
var newRenderer = t.mediaElement.renderers[rendererName],
|
729 |
+
newRendererType = null;
|
730 |
+
|
731 |
+
if (newRenderer !== undefined && newRenderer !== null) {
|
732 |
+
newRenderer.show();
|
733 |
+
newRenderer.setSrc(media);
|
734 |
+
t.mediaElement.renderer = newRenderer;
|
735 |
+
t.mediaElement.rendererName = rendererName;
|
736 |
+
return true;
|
737 |
+
}
|
738 |
+
|
739 |
+
var rendererArray = t.mediaElement.options.renderers.length ? t.mediaElement.options.renderers : _renderer.renderer.order;
|
740 |
+
|
741 |
+
for (var _i = 0, total = rendererArray.length; _i < total; _i++) {
|
742 |
+
var index = rendererArray[_i];
|
743 |
+
|
744 |
+
if (index === rendererName) {
|
745 |
+
var rendererList = _renderer.renderer.renderers;
|
746 |
+
newRendererType = rendererList[index];
|
747 |
+
|
748 |
+
var renderOptions = Object.assign(newRendererType.options, t.mediaElement.options);
|
749 |
+
newRenderer = newRendererType.create(t.mediaElement, renderOptions, mediaFiles);
|
750 |
+
newRenderer.name = rendererName;
|
751 |
+
|
752 |
+
t.mediaElement.renderers[newRendererType.name] = newRenderer;
|
753 |
+
t.mediaElement.renderer = newRenderer;
|
754 |
+
t.mediaElement.rendererName = rendererName;
|
755 |
+
newRenderer.show();
|
756 |
+
return true;
|
757 |
}
|
758 |
+
}
|
759 |
+
|
760 |
+
return false;
|
761 |
+
};
|
762 |
+
|
763 |
+
t.mediaElement.setSize = function (width, height) {
|
764 |
+
if (t.mediaElement.renderer !== undefined && t.mediaElement.renderer !== null) {
|
765 |
+
t.mediaElement.renderer.setSize(width, height);
|
766 |
+
}
|
767 |
+
};
|
768 |
+
|
769 |
+
t.mediaElement.generateError = function (message, urlList) {
|
770 |
+
message = message || '';
|
771 |
+
urlList = Array.isArray(urlList) ? urlList : [];
|
772 |
+
var event = (0, _general.createEvent)('error', t.mediaElement);
|
773 |
+
event.message = message;
|
774 |
+
event.urls = urlList;
|
775 |
+
t.mediaElement.dispatchEvent(event);
|
776 |
+
error = true;
|
777 |
+
};
|
778 |
+
|
779 |
+
var props = _mejs2.default.html5media.properties,
|
780 |
+
methods = _mejs2.default.html5media.methods,
|
781 |
+
addProperty = function addProperty(obj, name, onGet, onSet) {
|
782 |
+
var oldValue = obj[name];
|
783 |
+
var getFn = function getFn() {
|
784 |
+
return onGet.apply(obj, [oldValue]);
|
785 |
+
},
|
786 |
+
setFn = function setFn(newValue) {
|
787 |
+
oldValue = onSet.apply(obj, [newValue]);
|
788 |
+
return oldValue;
|
789 |
+
};
|
790 |
+
|
791 |
+
Object.defineProperty(obj, name, {
|
792 |
+
get: getFn,
|
793 |
+
set: setFn
|
794 |
});
|
795 |
},
|
796 |
+
assignGettersSetters = function assignGettersSetters(propName) {
|
797 |
+
if (propName !== 'src') {
|
|
|
|
|
|
|
|
|
798 |
|
799 |
+
var capName = '' + propName.substring(0, 1).toUpperCase() + propName.substring(1),
|
800 |
+
getFn = function getFn() {
|
801 |
+
return t.mediaElement.renderer !== undefined && t.mediaElement.renderer !== null && typeof t.mediaElement.renderer['get' + capName] === 'function' ? t.mediaElement.renderer['get' + capName]() : null;
|
802 |
+
},
|
803 |
+
setFn = function setFn(value) {
|
804 |
+
if (t.mediaElement.renderer !== undefined && t.mediaElement.renderer !== null && typeof t.mediaElement.renderer['set' + capName] === 'function') {
|
805 |
+
t.mediaElement.renderer['set' + capName](value);
|
806 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
807 |
};
|
808 |
+
|
809 |
+
addProperty(t.mediaElement, propName, getFn, setFn);
|
810 |
+
t.mediaElement['get' + capName] = getFn;
|
811 |
+
t.mediaElement['set' + capName] = setFn;
|
812 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
813 |
},
|
814 |
+
getSrc = function getSrc() {
|
815 |
+
return t.mediaElement.renderer !== undefined && t.mediaElement.renderer !== null ? t.mediaElement.renderer.getSrc() : null;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
816 |
},
|
817 |
+
setSrc = function setSrc(value) {
|
818 |
+
var mediaFiles = [];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
819 |
|
820 |
+
if (typeof value === 'string') {
|
821 |
+
mediaFiles.push({
|
822 |
+
src: value,
|
823 |
+
type: value ? (0, _media2.getTypeFromFile)(value) : ''
|
824 |
+
});
|
825 |
+
} else if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && value.src !== undefined) {
|
826 |
+
var _src = (0, _media2.absolutizeUrl)(value.src),
|
827 |
+
_type2 = value.type,
|
828 |
+
media = Object.assign(value, {
|
829 |
+
src: _src,
|
830 |
+
type: (_type2 === '' || _type2 === null || _type2 === undefined) && _src ? (0, _media2.getTypeFromFile)(_src) : _type2
|
831 |
+
});
|
832 |
+
mediaFiles.push(media);
|
833 |
+
} else if (Array.isArray(value)) {
|
834 |
+
for (var _i2 = 0, total = value.length; _i2 < total; _i2++) {
|
835 |
+
|
836 |
+
var _src2 = (0, _media2.absolutizeUrl)(value[_i2].src),
|
837 |
+
_type3 = value[_i2].type,
|
838 |
+
_media = Object.assign(value[_i2], {
|
839 |
+
src: _src2,
|
840 |
+
type: (_type3 === '' || _type3 === null || _type3 === undefined) && _src2 ? (0, _media2.getTypeFromFile)(_src2) : _type3
|
841 |
+
});
|
842 |
|
843 |
+
mediaFiles.push(_media);
|
844 |
+
}
|
845 |
+
}
|
846 |
|
847 |
+
var renderInfo = _renderer.renderer.select(mediaFiles, t.mediaElement.options.renderers.length ? t.mediaElement.options.renderers : []),
|
848 |
+
event = void 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
849 |
|
850 |
+
if (!t.mediaElement.paused) {
|
851 |
+
t.mediaElement.pause();
|
852 |
+
event = (0, _general.createEvent)('pause', t.mediaElement);
|
853 |
+
t.mediaElement.dispatchEvent(event);
|
854 |
+
}
|
855 |
+
t.mediaElement.originalNode.src = mediaFiles[0].src || '';
|
856 |
+
|
857 |
+
if (renderInfo === null && mediaFiles[0].src) {
|
858 |
+
t.mediaElement.generateError('No renderer found', mediaFiles);
|
859 |
+
return;
|
860 |
+
}
|
861 |
+
|
862 |
+
return mediaFiles[0].src ? t.mediaElement.changeRenderer(renderInfo.rendererName, mediaFiles) : null;
|
863 |
+
},
|
864 |
+
triggerAction = function triggerAction(methodName, args) {
|
865 |
+
try {
|
866 |
+
if (methodName === 'play' && t.mediaElement.rendererName === 'native_dash') {
|
867 |
+
var response = t.mediaElement.renderer[methodName](args);
|
868 |
+
if (response && typeof response.then === 'function') {
|
869 |
+
response.catch(function () {
|
870 |
+
if (t.mediaElement.paused) {
|
871 |
+
setTimeout(function () {
|
872 |
+
var tmpResponse = t.mediaElement.renderer.play();
|
873 |
+
if (tmpResponse !== undefined) {
|
874 |
+
tmpResponse.catch(function () {
|
875 |
+
if (!t.mediaElement.renderer.paused) {
|
876 |
+
t.mediaElement.renderer.pause();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
877 |
}
|
878 |
+
});
|
879 |
}
|
880 |
+
}, 150);
|
881 |
}
|
882 |
+
});
|
883 |
+
}
|
884 |
+
} else {
|
885 |
+
t.mediaElement.renderer[methodName](args);
|
886 |
+
}
|
887 |
+
} catch (e) {
|
888 |
+
t.mediaElement.generateError(e, mediaFiles);
|
889 |
+
}
|
890 |
+
},
|
891 |
+
assignMethods = function assignMethods(methodName) {
|
892 |
+
t.mediaElement[methodName] = function () {
|
893 |
+
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
|
894 |
+
args[_key] = arguments[_key];
|
895 |
+
}
|
896 |
+
|
897 |
+
if (t.mediaElement.renderer !== undefined && t.mediaElement.renderer !== null && typeof t.mediaElement.renderer[methodName] === 'function') {
|
898 |
+
if (t.mediaElement.promises.length) {
|
899 |
+
Promise.all(t.mediaElement.promises).then(function () {
|
900 |
+
triggerAction(methodName, args);
|
901 |
+
}).catch(function (e) {
|
902 |
+
t.mediaElement.generateError(e, mediaFiles);
|
903 |
+
});
|
904 |
+
} else {
|
905 |
+
triggerAction(methodName, args);
|
906 |
+
}
|
907 |
+
}
|
908 |
+
return null;
|
909 |
+
};
|
910 |
};
|
911 |
|
912 |
+
addProperty(t.mediaElement, 'src', getSrc, setSrc);
|
913 |
+
t.mediaElement.getSrc = getSrc;
|
914 |
+
t.mediaElement.setSrc = setSrc;
|
915 |
|
916 |
+
for (var _i3 = 0, total = props.length; _i3 < total; _i3++) {
|
917 |
+
assignGettersSetters(props[_i3]);
|
918 |
+
}
|
|
|
|
|
|
|
919 |
|
920 |
+
for (var _i4 = 0, _total = methods.length; _i4 < _total; _i4++) {
|
921 |
+
assignMethods(methods[_i4]);
|
922 |
+
}
|
923 |
+
|
924 |
+
t.mediaElement.addEventListener = function (eventName, callback) {
|
925 |
+
t.mediaElement.events[eventName] = t.mediaElement.events[eventName] || [];
|
926 |
+
|
927 |
+
t.mediaElement.events[eventName].push(callback);
|
928 |
+
};
|
929 |
+
t.mediaElement.removeEventListener = function (eventName, callback) {
|
930 |
+
if (!eventName) {
|
931 |
+
t.mediaElement.events = {};
|
932 |
+
return true;
|
933 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
934 |
|
935 |
+
var callbacks = t.mediaElement.events[eventName];
|
936 |
+
|
937 |
+
if (!callbacks) {
|
938 |
+
return true;
|
939 |
+
}
|
940 |
+
|
941 |
+
if (!callback) {
|
942 |
+
t.mediaElement.events[eventName] = [];
|
943 |
+
return true;
|
944 |
+
}
|
945 |
+
|
946 |
+
for (var _i5 = 0; _i5 < callbacks.length; _i5++) {
|
947 |
+
if (callbacks[_i5] === callback) {
|
948 |
+
t.mediaElement.events[eventName].splice(_i5, 1);
|
949 |
+
return true;
|
950 |
+
}
|
951 |
+
}
|
952 |
+
return false;
|
953 |
};
|
954 |
|
955 |
+
t.mediaElement.dispatchEvent = function (event) {
|
956 |
+
var callbacks = t.mediaElement.events[event.type];
|
957 |
+
if (callbacks) {
|
958 |
+
for (var _i6 = 0; _i6 < callbacks.length; _i6++) {
|
959 |
+
callbacks[_i6].apply(null, [event]);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
960 |
}
|
961 |
+
}
|
962 |
+
};
|
|
|
|
|
|
|
|
|
963 |
|
964 |
+
t.mediaElement.destroy = function () {
|
965 |
+
var mediaElement = t.mediaElement.originalNode.cloneNode(true);
|
966 |
+
var wrapper = t.mediaElement.parentElement;
|
967 |
+
mediaElement.removeAttribute('id');
|
968 |
+
mediaElement.remove();
|
969 |
+
t.mediaElement.remove();
|
970 |
+
wrapper.append(mediaElement);
|
971 |
+
};
|
972 |
|
973 |
+
if (mediaFiles.length) {
|
974 |
+
t.mediaElement.src = mediaFiles;
|
975 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
976 |
|
977 |
+
if (t.mediaElement.promises.length) {
|
978 |
+
Promise.all(t.mediaElement.promises).then(function () {
|
979 |
+
if (t.mediaElement.options.success) {
|
980 |
+
t.mediaElement.options.success(t.mediaElement, t.mediaElement.originalNode);
|
981 |
+
}
|
982 |
+
}).catch(function () {
|
983 |
+
if (error && t.mediaElement.options.error) {
|
984 |
+
t.mediaElement.options.error(t.mediaElement, t.mediaElement.originalNode);
|
985 |
+
}
|
986 |
+
});
|
987 |
+
} else {
|
988 |
+
if (t.mediaElement.options.success) {
|
989 |
+
t.mediaElement.options.success(t.mediaElement, t.mediaElement.originalNode);
|
990 |
+
}
|
991 |
|
992 |
+
if (error && t.mediaElement.options.error) {
|
993 |
+
t.mediaElement.options.error(t.mediaElement, t.mediaElement.originalNode);
|
994 |
+
}
|
995 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
996 |
|
997 |
+
return t.mediaElement;
|
998 |
+
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
999 |
|
1000 |
+
_window2.default.MediaElement = MediaElement;
|
1001 |
+
_mejs2.default.MediaElement = MediaElement;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1002 |
|
1003 |
+
exports.default = MediaElement;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1004 |
|
1005 |
+
},{"2":2,"25":25,"27":27,"28":28,"3":3,"7":7,"8":8}],7:[function(_dereq_,module,exports){
|
1006 |
+
'use strict';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1007 |
|
1008 |
+
Object.defineProperty(exports, "__esModule", {
|
1009 |
+
value: true
|
1010 |
+
});
|
1011 |
|
1012 |
+
var _window = _dereq_(3);
|
1013 |
|
1014 |
+
var _window2 = _interopRequireDefault(_window);
|
|
|
|
|
1015 |
|
1016 |
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
1017 |
|
1018 |
+
var mejs = {};
|
|
|
|
|
|
|
|
|
|
|
1019 |
|
1020 |
+
mejs.version = '4.2.8';
|
1021 |
|
1022 |
+
mejs.html5media = {
|
1023 |
+
properties: ['volume', 'src', 'currentTime', 'muted', 'duration', 'paused', 'ended', 'buffered', 'error', 'networkState', 'readyState', 'seeking', 'seekable', 'currentSrc', 'preload', 'bufferedBytes', 'bufferedTime', 'initialTime', 'startOffsetTime', 'defaultPlaybackRate', 'playbackRate', 'played', 'autoplay', 'loop', 'controls'],
|
1024 |
+
readOnlyProperties: ['duration', 'paused', 'ended', 'buffered', 'error', 'networkState', 'readyState', 'seeking', 'seekable'],
|
1025 |
|
1026 |
+
methods: ['load', 'play', 'pause', 'canPlayType'],
|
1027 |
+
|
1028 |
+
events: ['loadstart', 'durationchange', 'loadedmetadata', 'loadeddata', 'progress', 'canplay', 'canplaythrough', 'suspend', 'abort', 'error', 'emptied', 'stalled', 'play', 'playing', 'pause', 'waiting', 'seeking', 'seeked', 'timeupdate', 'ended', 'ratechange', 'volumechange'],
|
1029 |
+
|
1030 |
+
mediaTypes: ['audio/mp3', 'audio/ogg', 'audio/oga', 'audio/wav', 'audio/x-wav', 'audio/wave', 'audio/x-pn-wav', 'audio/mpeg', 'audio/mp4', 'video/mp4', 'video/webm', 'video/ogg', 'video/ogv']
|
1031 |
+
};
|
1032 |
+
|
1033 |
+
_window2.default.mejs = mejs;
|
1034 |
+
|
1035 |
+
exports.default = mejs;
|
1036 |
+
|
1037 |
+
},{"3":3}],8:[function(_dereq_,module,exports){
|
1038 |
+
'use strict';
|
1039 |
+
|
1040 |
+
Object.defineProperty(exports, "__esModule", {
|
1041 |
+
value: true
|
1042 |
+
});
|
1043 |
+
exports.renderer = undefined;
|
1044 |
+
|
1045 |
+
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
|
1046 |
+
|
1047 |
+
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
|
1048 |
+
|
1049 |
+
var _mejs = _dereq_(7);
|
1050 |
+
|
1051 |
+
var _mejs2 = _interopRequireDefault(_mejs);
|
1052 |
+
|
1053 |
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
1054 |
+
|
1055 |
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
1056 |
+
|
1057 |
+
var Renderer = function () {
|
1058 |
+
function Renderer() {
|
1059 |
+
_classCallCheck(this, Renderer);
|
1060 |
+
|
1061 |
+
this.renderers = {};
|
1062 |
+
this.order = [];
|
1063 |
+
}
|
1064 |
+
|
1065 |
+
_createClass(Renderer, [{
|
1066 |
+
key: 'add',
|
1067 |
+
value: function add(renderer) {
|
1068 |
+
if (renderer.name === undefined) {
|
1069 |
+
throw new TypeError('renderer must contain at least `name` property');
|
1070 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1071 |
|
1072 |
+
this.renderers[renderer.name] = renderer;
|
1073 |
+
this.order.push(renderer.name);
|
1074 |
+
}
|
1075 |
+
}, {
|
1076 |
+
key: 'select',
|
1077 |
+
value: function select(mediaFiles) {
|
1078 |
+
var renderers = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1079 |
|
1080 |
+
var renderersLength = renderers.length;
|
1081 |
+
|
1082 |
+
renderers = renderers.length ? renderers : this.order;
|
1083 |
+
|
1084 |
+
if (!renderersLength) {
|
1085 |
+
var rendererIndicator = [/^(html5|native)/i, /^flash/i, /iframe$/i],
|
1086 |
+
rendererRanking = function rendererRanking(renderer) {
|
1087 |
+
for (var i = 0, total = rendererIndicator.length; i < total; i++) {
|
1088 |
+
if (rendererIndicator[i].test(renderer)) {
|
1089 |
+
return i;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1090 |
}
|
1091 |
}
|
1092 |
+
return rendererIndicator.length;
|
1093 |
+
};
|
1094 |
|
1095 |
+
renderers.sort(function (a, b) {
|
1096 |
+
return rendererRanking(a) - rendererRanking(b);
|
1097 |
+
});
|
1098 |
+
}
|
|
|
|
|
1099 |
|
1100 |
+
for (var i = 0, total = renderers.length; i < total; i++) {
|
1101 |
+
var key = renderers[i],
|
1102 |
+
_renderer = this.renderers[key];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1103 |
|
1104 |
+
if (_renderer !== null && _renderer !== undefined) {
|
1105 |
+
for (var j = 0, jl = mediaFiles.length; j < jl; j++) {
|
1106 |
+
if (typeof _renderer.canPlayType === 'function' && typeof mediaFiles[j].type === 'string' && _renderer.canPlayType(mediaFiles[j].type)) {
|
1107 |
+
return {
|
1108 |
+
rendererName: _renderer.name,
|
1109 |
+
src: mediaFiles[j].src
|
1110 |
+
};
|
1111 |
+
}
|
|
|
|
|
|
|
1112 |
}
|
1113 |
}
|
1114 |
+
}
|
|
|
1115 |
|
1116 |
+
return null;
|
1117 |
+
}
|
1118 |
+
}, {
|
1119 |
+
key: 'order',
|
1120 |
+
set: function set(order) {
|
1121 |
+
if (!Array.isArray(order)) {
|
1122 |
+
throw new TypeError('order must be an array of strings.');
|
1123 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1124 |
|
1125 |
+
this._order = order;
|
1126 |
+
},
|
1127 |
+
get: function get() {
|
1128 |
+
return this._order;
|
1129 |
+
}
|
1130 |
+
}, {
|
1131 |
+
key: 'renderers',
|
1132 |
+
set: function set(renderers) {
|
1133 |
+
if (renderers !== null && (typeof renderers === 'undefined' ? 'undefined' : _typeof(renderers)) !== 'object') {
|
1134 |
+
throw new TypeError('renderers must be an array of objects.');
|
1135 |
+
}
|
|
|
|
|
1136 |
|
1137 |
+
this._renderers = renderers;
|
1138 |
+
},
|
1139 |
+
get: function get() {
|
1140 |
+
return this._renderers;
|
1141 |
+
}
|
1142 |
+
}]);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1143 |
|
1144 |
+
return Renderer;
|
1145 |
+
}();
|
1146 |
|
1147 |
+
var renderer = exports.renderer = new Renderer();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1148 |
|
1149 |
+
_mejs2.default.Renderers = renderer;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1150 |
|
1151 |
+
},{"7":7}],9:[function(_dereq_,module,exports){
|
1152 |
+
'use strict';
|
1153 |
|
1154 |
+
var _window = _dereq_(3);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1155 |
|
1156 |
+
var _window2 = _interopRequireDefault(_window);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1157 |
|
1158 |
+
var _document = _dereq_(2);
|
|
|
1159 |
|
1160 |
+
var _document2 = _interopRequireDefault(_document);
|
|
|
|
|
|
|
|
|
1161 |
|
1162 |
+
var _i18n = _dereq_(5);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1163 |
|
1164 |
+
var _i18n2 = _interopRequireDefault(_i18n);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1165 |
|
1166 |
+
var _player = _dereq_(16);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1167 |
|
1168 |
+
var _player2 = _interopRequireDefault(_player);
|
1169 |
|
1170 |
+
var _constants = _dereq_(25);
|
|
|
|
|
|
|
|
|
|
|
|
|
1171 |
|
1172 |
+
var Features = _interopRequireWildcard(_constants);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1173 |
|
1174 |
+
var _general = _dereq_(27);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1175 |
|
1176 |
+
var _dom = _dereq_(26);
|
|
|
|
|
1177 |
|
1178 |
+
var _media = _dereq_(28);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1179 |
|
1180 |
+
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1181 |
|
1182 |
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
|
|
|
1183 |
|
1184 |
+
Object.assign(_player.config, {
|
1185 |
+
usePluginFullScreen: true,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1186 |
|
1187 |
+
fullscreenText: null,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1188 |
|
1189 |
+
useFakeFullscreen: false
|
1190 |
+
});
|
1191 |
|
1192 |
+
Object.assign(_player2.default.prototype, {
|
1193 |
+
isFullScreen: false,
|
1194 |
|
1195 |
+
isNativeFullScreen: false,
|
|
|
|
|
1196 |
|
1197 |
+
isInIframe: false,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1198 |
|
1199 |
+
isPluginClickThroughCreated: false,
|
|
|
|
|
|
|
|
|
|
|
1200 |
|
1201 |
+
fullscreenMode: '',
|
1202 |
|
1203 |
+
containerSizeTimeout: null,
|
1204 |
+
|
1205 |
+
buildfullscreen: function buildfullscreen(player) {
|
1206 |
+
if (!player.isVideo) {
|
1207 |
+
return;
|
|
|
1208 |
}
|
|
|
|
|
|
|
|
|
1209 |
|
1210 |
+
player.isInIframe = _window2.default.location !== _window2.default.parent.location;
|
|
|
|
|
1211 |
|
1212 |
+
player.detectFullscreenMode();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1213 |
|
1214 |
+
var t = this,
|
1215 |
+
fullscreenTitle = (0, _general.isString)(t.options.fullscreenText) ? t.options.fullscreenText : _i18n2.default.t('mejs.fullscreen'),
|
1216 |
+
fullscreenBtn = _document2.default.createElement('div');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1217 |
|
1218 |
+
fullscreenBtn.className = t.options.classPrefix + 'button ' + t.options.classPrefix + 'fullscreen-button';
|
1219 |
+
fullscreenBtn.innerHTML = '<button type="button" aria-controls="' + t.id + '" title="' + fullscreenTitle + '" aria-label="' + fullscreenTitle + '" tabindex="0"></button>';
|
1220 |
+
t.addControlElement(fullscreenBtn, 'fullscreen');
|
|
|
|
|
1221 |
|
1222 |
+
fullscreenBtn.addEventListener('click', function () {
|
1223 |
+
var isFullScreen = Features.HAS_TRUE_NATIVE_FULLSCREEN && Features.IS_FULLSCREEN || player.isFullScreen;
|
1224 |
+
|
1225 |
+
if (isFullScreen) {
|
1226 |
+
player.exitFullScreen();
|
1227 |
+
} else {
|
1228 |
+
player.enterFullScreen();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1229 |
}
|
1230 |
+
});
|
1231 |
|
1232 |
+
player.fullscreenBtn = fullscreenBtn;
|
1233 |
+
|
1234 |
+
t.options.keyActions.push({
|
1235 |
+
keys: [70],
|
1236 |
+
action: function action(player, media, key, event) {
|
1237 |
+
if (!event.ctrlKey) {
|
1238 |
+
if (typeof player.enterFullScreen !== 'undefined') {
|
1239 |
+
if (player.isFullScreen) {
|
1240 |
+
player.exitFullScreen();
|
1241 |
+
} else {
|
1242 |
+
player.enterFullScreen();
|
1243 |
+
}
|
1244 |
+
}
|
1245 |
}
|
1246 |
}
|
1247 |
+
});
|
|
|
1248 |
|
1249 |
+
t.exitFullscreenCallback = function (e) {
|
1250 |
+
var key = e.which || e.keyCode || 0;
|
1251 |
+
if (key === 27 && (Features.HAS_TRUE_NATIVE_FULLSCREEN && Features.IS_FULLSCREEN || t.isFullScreen)) {
|
1252 |
+
player.exitFullScreen();
|
1253 |
+
}
|
1254 |
+
};
|
1255 |
+
|
1256 |
+
t.globalBind('keydown', t.exitFullscreenCallback);
|
1257 |
+
|
1258 |
+
t.normalHeight = 0;
|
1259 |
+
t.normalWidth = 0;
|
1260 |
+
|
1261 |
+
if (Features.HAS_TRUE_NATIVE_FULLSCREEN) {
|
1262 |
+
var fullscreenChanged = function fullscreenChanged() {
|
1263 |
+
if (player.isFullScreen) {
|
1264 |
+
if (Features.isFullScreen()) {
|
1265 |
+
player.isNativeFullScreen = true;
|
1266 |
|
1267 |
+
player.setControlsSize();
|
1268 |
+
} else {
|
1269 |
+
player.isNativeFullScreen = false;
|
|
|
|
|
1270 |
|
1271 |
+
player.exitFullScreen();
|
1272 |
+
}
|
1273 |
}
|
1274 |
+
};
|
1275 |
|
1276 |
+
player.globalBind(Features.FULLSCREEN_EVENT_NAME, fullscreenChanged);
|
1277 |
+
}
|
1278 |
+
},
|
1279 |
+
cleanfullscreen: function cleanfullscreen(player) {
|
1280 |
+
player.exitFullScreen();
|
1281 |
+
player.globalUnbind('keydown', player.exitFullscreenCallback);
|
1282 |
+
},
|
1283 |
+
detectFullscreenMode: function detectFullscreenMode() {
|
1284 |
+
var t = this,
|
1285 |
+
isNative = t.media.rendererName !== null && /(native|html5)/i.test(t.media.rendererName);
|
1286 |
+
|
1287 |
+
var mode = '';
|
1288 |
+
|
1289 |
+
if (Features.HAS_TRUE_NATIVE_FULLSCREEN && isNative) {
|
1290 |
+
mode = 'native-native';
|
1291 |
+
} else if (Features.HAS_TRUE_NATIVE_FULLSCREEN && !isNative) {
|
1292 |
+
mode = 'plugin-native';
|
1293 |
+
} else if (t.usePluginFullScreen && Features.SUPPORT_POINTER_EVENTS) {
|
1294 |
+
mode = 'plugin-click';
|
1295 |
+
}
|
1296 |
|
1297 |
+
t.fullscreenMode = mode;
|
1298 |
+
return mode;
|
1299 |
+
},
|
1300 |
+
enterFullScreen: function enterFullScreen() {
|
1301 |
+
var t = this,
|
1302 |
+
isNative = t.media.rendererName !== null && /(html5|native)/i.test(t.media.rendererName),
|
1303 |
+
containerStyles = getComputedStyle(t.getElement(t.container));
|
1304 |
+
|
1305 |
+
if (t.options.useFakeFullscreen === false && Features.IS_IOS && Features.HAS_IOS_FULLSCREEN && typeof t.media.originalNode.webkitEnterFullscreen === 'function' && t.media.originalNode.canPlayType((0, _media.getTypeFromFile)(t.media.getSrc()))) {
|
1306 |
+
t.media.originalNode.webkitEnterFullscreen();
|
1307 |
+
return;
|
1308 |
+
}
|
1309 |
|
1310 |
+
(0, _dom.addClass)(_document2.default.documentElement, t.options.classPrefix + 'fullscreen');
|
1311 |
+
(0, _dom.addClass)(t.getElement(t.container), t.options.classPrefix + 'container-fullscreen');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1312 |
|
1313 |
+
t.normalHeight = parseFloat(containerStyles.height);
|
1314 |
+
t.normalWidth = parseFloat(containerStyles.width);
|
1315 |
|
1316 |
+
if (t.fullscreenMode === 'native-native' || t.fullscreenMode === 'plugin-native') {
|
1317 |
+
Features.requestFullScreen(t.getElement(t.container));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1318 |
|
1319 |
+
if (t.isInIframe) {
|
1320 |
+
setTimeout(function checkFullscreen() {
|
1321 |
+
|
1322 |
+
if (t.isNativeFullScreen) {
|
1323 |
+
var percentErrorMargin = 0.002,
|
1324 |
+
windowWidth = _window2.default.innerWidth || _document2.default.documentElement.clientWidth || _document2.default.body.clientWidth,
|
1325 |
+
screenWidth = screen.width,
|
1326 |
+
absDiff = Math.abs(screenWidth - windowWidth),
|
1327 |
+
marginError = screenWidth * percentErrorMargin;
|
1328 |
+
|
1329 |
+
if (absDiff > marginError) {
|
1330 |
+
t.exitFullScreen();
|
1331 |
+
} else {
|
1332 |
+
setTimeout(checkFullscreen, 500);
|
1333 |
+
}
|
1334 |
+
}
|
1335 |
+
}, 1000);
|
1336 |
+
}
|
1337 |
+
}
|
1338 |
+
|
1339 |
+
t.getElement(t.container).style.width = '100%';
|
1340 |
+
t.getElement(t.container).style.height = '100%';
|
1341 |
+
|
1342 |
+
t.containerSizeTimeout = setTimeout(function () {
|
1343 |
+
t.getElement(t.container).style.width = '100%';
|
1344 |
+
t.getElement(t.container).style.height = '100%';
|
1345 |
+
t.setControlsSize();
|
1346 |
+
}, 500);
|
1347 |
|
1348 |
+
if (isNative) {
|
1349 |
+
t.node.style.width = '100%';
|
1350 |
+
t.node.style.height = '100%';
|
1351 |
+
} else {
|
1352 |
+
var elements = t.getElement(t.container).querySelectorAll('embed, object, video'),
|
1353 |
+
_total = elements.length;
|
1354 |
+
for (var i = 0; i < _total; i++) {
|
1355 |
+
elements[i].style.width = '100%';
|
1356 |
+
elements[i].style.height = '100%';
|
1357 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1358 |
}
|
|
|
1359 |
|
1360 |
+
if (t.options.setDimensions && typeof t.media.setSize === 'function') {
|
1361 |
+
t.media.setSize(screen.width, screen.height);
|
1362 |
+
}
|
1363 |
|
1364 |
+
var layers = t.getElement(t.layers).children,
|
1365 |
+
total = layers.length;
|
1366 |
+
for (var _i = 0; _i < total; _i++) {
|
1367 |
+
layers[_i].style.width = '100%';
|
1368 |
+
layers[_i].style.height = '100%';
|
1369 |
+
}
|
|
|
1370 |
|
1371 |
+
if (t.fullscreenBtn) {
|
1372 |
+
(0, _dom.removeClass)(t.fullscreenBtn, t.options.classPrefix + 'fullscreen');
|
1373 |
+
(0, _dom.addClass)(t.fullscreenBtn, t.options.classPrefix + 'unfullscreen');
|
1374 |
+
}
|
1375 |
+
|
1376 |
+
t.setControlsSize();
|
1377 |
+
t.isFullScreen = true;
|
1378 |
+
|
1379 |
+
var zoomFactor = Math.min(screen.width / t.width, screen.height / t.height),
|
1380 |
+
captionText = t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'captions-text');
|
1381 |
+
if (captionText) {
|
1382 |
+
captionText.style.fontSize = zoomFactor * 100 + '%';
|
1383 |
+
captionText.style.lineHeight = 'normal';
|
1384 |
+
t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'captions-position').style.bottom = (screen.height - t.normalHeight) / 2 - t.getElement(t.controls).offsetHeight / 2 + zoomFactor + 15 + 'px';
|
1385 |
+
}
|
1386 |
+
var event = (0, _general.createEvent)('enteredfullscreen', t.getElement(t.container));
|
1387 |
+
t.getElement(t.container).dispatchEvent(event);
|
1388 |
+
},
|
1389 |
+
exitFullScreen: function exitFullScreen() {
|
1390 |
+
var t = this,
|
1391 |
+
isNative = t.media.rendererName !== null && /(native|html5)/i.test(t.media.rendererName);
|
1392 |
+
|
1393 |
+
clearTimeout(t.containerSizeTimeout);
|
1394 |
+
|
1395 |
+
if (Features.HAS_TRUE_NATIVE_FULLSCREEN && (Features.IS_FULLSCREEN || t.isFullScreen)) {
|
1396 |
+
Features.cancelFullScreen();
|
1397 |
+
}
|
1398 |
+
|
1399 |
+
(0, _dom.removeClass)(_document2.default.documentElement, t.options.classPrefix + 'fullscreen');
|
1400 |
+
(0, _dom.removeClass)(t.getElement(t.container), t.options.classPrefix + 'container-fullscreen');
|
1401 |
+
|
1402 |
+
if (t.options.setDimensions) {
|
1403 |
+
t.getElement(t.container).style.width = t.normalWidth + 'px';
|
1404 |
+
t.getElement(t.container).style.height = t.normalHeight + 'px';
|
1405 |
+
|
1406 |
+
if (isNative) {
|
1407 |
+
t.node.style.width = t.normalWidth + 'px';
|
1408 |
+
t.node.style.height = t.normalHeight + 'px';
|
1409 |
+
} else {
|
1410 |
+
var elements = t.getElement(t.container).querySelectorAll('embed, object, video'),
|
1411 |
+
_total2 = elements.length;
|
1412 |
+
for (var i = 0; i < _total2; i++) {
|
1413 |
+
elements[i].style.width = t.normalWidth + 'px';
|
1414 |
+
elements[i].style.height = t.normalHeight + 'px';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1415 |
}
|
1416 |
+
}
|
|
|
|
|
|
|
1417 |
|
1418 |
+
if (typeof t.media.setSize === 'function') {
|
1419 |
+
t.media.setSize(t.normalWidth, t.normalHeight);
|
1420 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1421 |
|
1422 |
+
var layers = t.getElement(t.layers).children,
|
1423 |
+
total = layers.length;
|
1424 |
+
for (var _i2 = 0; _i2 < total; _i2++) {
|
1425 |
+
layers[_i2].style.width = t.normalWidth + 'px';
|
1426 |
+
layers[_i2].style.height = t.normalHeight + 'px';
|
1427 |
+
}
|
1428 |
+
}
|
|
|
1429 |
|
1430 |
+
if (t.fullscreenBtn) {
|
1431 |
+
(0, _dom.removeClass)(t.fullscreenBtn, t.options.classPrefix + 'unfullscreen');
|
1432 |
+
(0, _dom.addClass)(t.fullscreenBtn, t.options.classPrefix + 'fullscreen');
|
1433 |
+
}
|
1434 |
|
1435 |
+
t.setControlsSize();
|
1436 |
+
t.isFullScreen = false;
|
|
|
|
|
1437 |
|
1438 |
+
var captionText = t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'captions-text');
|
1439 |
+
if (captionText) {
|
1440 |
+
captionText.style.fontSize = '';
|
1441 |
+
captionText.style.lineHeight = '';
|
1442 |
+
t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'captions-position').style.bottom = '';
|
1443 |
+
}
|
1444 |
+
var event = (0, _general.createEvent)('exitedfullscreen', t.getElement(t.container));
|
1445 |
+
t.getElement(t.container).dispatchEvent(event);
|
1446 |
+
}
|
1447 |
+
});
|
1448 |
+
|
1449 |
+
},{"16":16,"2":2,"25":25,"26":26,"27":27,"28":28,"3":3,"5":5}],10:[function(_dereq_,module,exports){
|
1450 |
+
'use strict';
|
1451 |
+
|
1452 |
+
var _document = _dereq_(2);
|
1453 |
+
|
1454 |
+
var _document2 = _interopRequireDefault(_document);
|
1455 |
+
|
1456 |
+
var _player = _dereq_(16);
|
1457 |
+
|
1458 |
+
var _player2 = _interopRequireDefault(_player);
|
1459 |
+
|
1460 |
+
var _i18n = _dereq_(5);
|
1461 |
+
|
1462 |
+
var _i18n2 = _interopRequireDefault(_i18n);
|
1463 |
+
|
1464 |
+
var _general = _dereq_(27);
|
1465 |
+
|
1466 |
+
var _dom = _dereq_(26);
|
1467 |
+
|
1468 |
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
1469 |
+
|
1470 |
+
Object.assign(_player.config, {
|
1471 |
+
playText: null,
|
1472 |
+
|
1473 |
+
pauseText: null
|
1474 |
+
});
|
1475 |
+
|
1476 |
+
Object.assign(_player2.default.prototype, {
|
1477 |
+
buildplaypause: function buildplaypause(player, controls, layers, media) {
|
1478 |
+
var t = this,
|
1479 |
+
op = t.options,
|
1480 |
+
playTitle = (0, _general.isString)(op.playText) ? op.playText : _i18n2.default.t('mejs.play'),
|
1481 |
+
pauseTitle = (0, _general.isString)(op.pauseText) ? op.pauseText : _i18n2.default.t('mejs.pause'),
|
1482 |
+
play = _document2.default.createElement('div');
|
1483 |
+
|
1484 |
+
play.className = t.options.classPrefix + 'button ' + t.options.classPrefix + 'playpause-button ' + t.options.classPrefix + 'play';
|
1485 |
+
play.innerHTML = '<button type="button" aria-controls="' + t.id + '" title="' + playTitle + '" aria-label="' + pauseTitle + '" tabindex="0"></button>';
|
1486 |
+
play.addEventListener('click', function () {
|
1487 |
+
if (t.paused) {
|
1488 |
+
t.play();
|
1489 |
+
} else {
|
1490 |
+
t.pause();
|
1491 |
+
}
|
1492 |
+
});
|
1493 |
+
|
1494 |
+
var playBtn = play.querySelector('button');
|
1495 |
+
t.addControlElement(play, 'playpause');
|
1496 |
+
|
1497 |
+
function togglePlayPause(which) {
|
1498 |
+
if ('play' === which) {
|
1499 |
+
(0, _dom.removeClass)(play, t.options.classPrefix + 'play');
|
1500 |
+
(0, _dom.removeClass)(play, t.options.classPrefix + 'replay');
|
1501 |
+
(0, _dom.addClass)(play, t.options.classPrefix + 'pause');
|
1502 |
+
playBtn.setAttribute('title', pauseTitle);
|
1503 |
+
playBtn.setAttribute('aria-label', pauseTitle);
|
1504 |
+
} else {
|
1505 |
+
|
1506 |
+
(0, _dom.removeClass)(play, t.options.classPrefix + 'pause');
|
1507 |
+
(0, _dom.removeClass)(play, t.options.classPrefix + 'replay');
|
1508 |
+
(0, _dom.addClass)(play, t.options.classPrefix + 'play');
|
1509 |
+
playBtn.setAttribute('title', playTitle);
|
1510 |
+
playBtn.setAttribute('aria-label', playTitle);
|
1511 |
+
}
|
1512 |
+
}
|
1513 |
+
|
1514 |
+
togglePlayPause('pse');
|
1515 |
+
|
1516 |
+
media.addEventListener('loadedmetadata', function () {
|
1517 |
+
if (media.rendererName.indexOf('flash') === -1) {
|
1518 |
+
togglePlayPause('pse');
|
1519 |
+
}
|
1520 |
+
});
|
1521 |
+
media.addEventListener('play', function () {
|
1522 |
+
togglePlayPause('play');
|
1523 |
+
});
|
1524 |
+
media.addEventListener('playing', function () {
|
1525 |
+
togglePlayPause('play');
|
1526 |
+
});
|
1527 |
+
media.addEventListener('pause', function () {
|
1528 |
+
togglePlayPause('pse');
|
1529 |
+
});
|
1530 |
+
media.addEventListener('ended', function () {
|
1531 |
+
if (!player.options.loop) {
|
1532 |
+
(0, _dom.removeClass)(play, t.options.classPrefix + 'pause');
|
1533 |
+
(0, _dom.removeClass)(play, t.options.classPrefix + 'play');
|
1534 |
+
(0, _dom.addClass)(play, t.options.classPrefix + 'replay');
|
1535 |
+
playBtn.setAttribute('title', playTitle);
|
1536 |
+
playBtn.setAttribute('aria-label', playTitle);
|
1537 |
+
}
|
1538 |
+
});
|
1539 |
+
}
|
1540 |
+
});
|
1541 |
+
|
1542 |
+
},{"16":16,"2":2,"26":26,"27":27,"5":5}],11:[function(_dereq_,module,exports){
|
1543 |
+
'use strict';
|
1544 |
+
|
1545 |
+
var _document = _dereq_(2);
|
1546 |
+
|
1547 |
+
var _document2 = _interopRequireDefault(_document);
|
1548 |
+
|
1549 |
+
var _player = _dereq_(16);
|
1550 |
+
|
1551 |
+
var _player2 = _interopRequireDefault(_player);
|
1552 |
+
|
1553 |
+
var _i18n = _dereq_(5);
|
1554 |
+
|
1555 |
+
var _i18n2 = _interopRequireDefault(_i18n);
|
1556 |
+
|
1557 |
+
var _constants = _dereq_(25);
|
1558 |
+
|
1559 |
+
var _time = _dereq_(30);
|
1560 |
+
|
1561 |
+
var _dom = _dereq_(26);
|
1562 |
+
|
1563 |
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
1564 |
+
|
1565 |
+
Object.assign(_player.config, {
|
1566 |
+
enableProgressTooltip: true,
|
1567 |
+
|
1568 |
+
useSmoothHover: true,
|
1569 |
+
|
1570 |
+
forceLive: false
|
1571 |
+
});
|
1572 |
+
|
1573 |
+
Object.assign(_player2.default.prototype, {
|
1574 |
+
buildprogress: function buildprogress(player, controls, layers, media) {
|
1575 |
+
|
1576 |
+
var lastKeyPressTime = 0,
|
1577 |
+
mouseIsDown = false,
|
1578 |
+
startedPaused = false;
|
1579 |
+
|
1580 |
+
var t = this,
|
1581 |
+
autoRewindInitial = player.options.autoRewind,
|
1582 |
+
tooltip = player.options.enableProgressTooltip ? '<span class="' + t.options.classPrefix + 'time-float">' + ('<span class="' + t.options.classPrefix + 'time-float-current">00:00</span>') + ('<span class="' + t.options.classPrefix + 'time-float-corner"></span>') + '</span>' : '',
|
1583 |
+
rail = _document2.default.createElement('div');
|
1584 |
+
|
1585 |
+
rail.className = t.options.classPrefix + 'time-rail';
|
1586 |
+
rail.innerHTML = '<span class="' + t.options.classPrefix + 'time-total ' + t.options.classPrefix + 'time-slider">' + ('<span class="' + t.options.classPrefix + 'time-buffering"></span>') + ('<span class="' + t.options.classPrefix + 'time-loaded"></span>') + ('<span class="' + t.options.classPrefix + 'time-current"></span>') + ('<span class="' + t.options.classPrefix + 'time-hovered no-hover"></span>') + ('<span class="' + t.options.classPrefix + 'time-handle"><span class="' + t.options.classPrefix + 'time-handle-content"></span></span>') + ('' + tooltip) + '</span>';
|
1587 |
+
|
1588 |
+
t.addControlElement(rail, 'progress');
|
1589 |
+
|
1590 |
+
t.options.keyActions.push({
|
1591 |
+
keys: [37, 227],
|
1592 |
+
action: function action(player) {
|
1593 |
+
if (!isNaN(player.duration) && player.duration > 0) {
|
1594 |
+
if (player.isVideo) {
|
1595 |
+
player.showControls();
|
1596 |
+
player.startControlsTimer();
|
1597 |
}
|
1598 |
+
|
1599 |
+
player.getElement(player.container).querySelector('.' + _player.config.classPrefix + 'time-total').focus();
|
1600 |
+
|
1601 |
+
var newTime = Math.max(player.currentTime - player.options.defaultSeekBackwardInterval(player), 0);
|
1602 |
+
player.setCurrentTime(newTime);
|
1603 |
}
|
1604 |
+
}
|
1605 |
+
}, {
|
1606 |
+
keys: [39, 228],
|
1607 |
+
action: function action(player) {
|
1608 |
+
|
1609 |
+
if (!isNaN(player.duration) && player.duration > 0) {
|
1610 |
+
if (player.isVideo) {
|
1611 |
+
player.showControls();
|
1612 |
+
player.startControlsTimer();
|
1613 |
+
}
|
1614 |
|
1615 |
+
player.getElement(player.container).querySelector('.' + _player.config.classPrefix + 'time-total').focus();
|
1616 |
+
|
1617 |
+
var newTime = Math.min(player.currentTime + player.options.defaultSeekForwardInterval(player), player.duration);
|
1618 |
+
player.setCurrentTime(newTime);
|
|
|
|
|
|
|
1619 |
}
|
1620 |
}
|
1621 |
+
});
|
1622 |
+
|
1623 |
+
t.rail = controls.querySelector('.' + t.options.classPrefix + 'time-rail');
|
1624 |
+
t.total = controls.querySelector('.' + t.options.classPrefix + 'time-total');
|
1625 |
+
t.loaded = controls.querySelector('.' + t.options.classPrefix + 'time-loaded');
|
1626 |
+
t.current = controls.querySelector('.' + t.options.classPrefix + 'time-current');
|
1627 |
+
t.handle = controls.querySelector('.' + t.options.classPrefix + 'time-handle');
|
1628 |
+
t.timefloat = controls.querySelector('.' + t.options.classPrefix + 'time-float');
|
1629 |
+
t.timefloatcurrent = controls.querySelector('.' + t.options.classPrefix + 'time-float-current');
|
1630 |
+
t.slider = controls.querySelector('.' + t.options.classPrefix + 'time-slider');
|
1631 |
+
t.hovered = controls.querySelector('.' + t.options.classPrefix + 'time-hovered');
|
1632 |
+
t.buffer = controls.querySelector('.' + t.options.classPrefix + 'time-buffering');
|
1633 |
+
t.newTime = 0;
|
1634 |
+
t.forcedHandlePause = false;
|
1635 |
+
t.setTransformStyle = function (element, value) {
|
1636 |
+
element.style.transform = value;
|
1637 |
+
element.style.webkitTransform = value;
|
1638 |
+
element.style.MozTransform = value;
|
1639 |
+
element.style.msTransform = value;
|
1640 |
+
element.style.OTransform = value;
|
1641 |
+
};
|
1642 |
+
|
1643 |
+
t.buffer.style.display = 'none';
|
1644 |
+
|
1645 |
+
var handleMouseMove = function handleMouseMove(e) {
|
1646 |
+
var totalStyles = getComputedStyle(t.total),
|
1647 |
+
offsetStyles = (0, _dom.offset)(t.total),
|
1648 |
+
width = t.total.offsetWidth,
|
1649 |
+
transform = function () {
|
1650 |
+
if (totalStyles.webkitTransform !== undefined) {
|
1651 |
+
return 'webkitTransform';
|
1652 |
+
} else if (totalStyles.mozTransform !== undefined) {
|
1653 |
+
return 'mozTransform ';
|
1654 |
+
} else if (totalStyles.oTransform !== undefined) {
|
1655 |
+
return 'oTransform';
|
1656 |
+
} else if (totalStyles.msTransform !== undefined) {
|
1657 |
+
return 'msTransform';
|
|
|
1658 |
} else {
|
1659 |
+
return 'transform';
|
1660 |
}
|
1661 |
+
}(),
|
1662 |
+
cssMatrix = function () {
|
1663 |
+
if ('WebKitCSSMatrix' in window) {
|
1664 |
+
return 'WebKitCSSMatrix';
|
1665 |
+
} else if ('MSCSSMatrix' in window) {
|
1666 |
+
return 'MSCSSMatrix';
|
1667 |
+
} else if ('CSSMatrix' in window) {
|
1668 |
+
return 'CSSMatrix';
|
1669 |
+
}
|
1670 |
+
}();
|
1671 |
+
|
1672 |
+
var percentage = 0,
|
1673 |
+
leftPos = 0,
|
1674 |
+
pos = 0,
|
1675 |
+
x = void 0;
|
1676 |
+
|
1677 |
+
if (e.originalEvent && e.originalEvent.changedTouches) {
|
1678 |
+
x = e.originalEvent.changedTouches[0].pageX;
|
1679 |
+
} else if (e.changedTouches) {
|
1680 |
+
x = e.changedTouches[0].pageX;
|
1681 |
+
} else {
|
1682 |
+
x = e.pageX;
|
1683 |
}
|
1684 |
|
1685 |
+
if (t.getDuration()) {
|
1686 |
+
if (x < offsetStyles.left) {
|
1687 |
+
x = offsetStyles.left;
|
1688 |
+
} else if (x > width + offsetStyles.left) {
|
1689 |
+
x = width + offsetStyles.left;
|
1690 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1691 |
|
1692 |
+
pos = x - offsetStyles.left;
|
1693 |
+
percentage = pos / width;
|
1694 |
+
t.newTime = percentage <= 0.02 ? 0 : percentage * t.getDuration();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1695 |
|
1696 |
+
if (mouseIsDown && t.getCurrentTime() !== null && t.newTime.toFixed(4) !== t.getCurrentTime().toFixed(4)) {
|
1697 |
+
t.setCurrentRailHandle(t.newTime);
|
1698 |
+
t.updateCurrent(t.newTime);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1699 |
}
|
|
|
|
|
1700 |
|
1701 |
+
if (!_constants.IS_IOS && !_constants.IS_ANDROID) {
|
1702 |
+
if (pos < 0) {
|
1703 |
+
pos = 0;
|
1704 |
+
}
|
1705 |
+
if (t.options.useSmoothHover && cssMatrix !== null && typeof window[cssMatrix] !== 'undefined') {
|
1706 |
+
var matrix = new window[cssMatrix](getComputedStyle(t.handle)[transform]),
|
1707 |
+
handleLocation = matrix.m41,
|
1708 |
+
hoverScaleX = pos / parseFloat(getComputedStyle(t.total).width) - handleLocation / parseFloat(getComputedStyle(t.total).width);
|
1709 |
+
|
1710 |
+
t.hovered.style.left = handleLocation + 'px';
|
1711 |
+
t.setTransformStyle(t.hovered, 'scaleX(' + hoverScaleX + ')');
|
1712 |
+
t.hovered.setAttribute('pos', pos);
|
1713 |
+
|
1714 |
+
if (hoverScaleX >= 0) {
|
1715 |
+
(0, _dom.removeClass)(t.hovered, 'negative');
|
1716 |
+
} else {
|
1717 |
+
(0, _dom.addClass)(t.hovered, 'negative');
|
1718 |
+
}
|
1719 |
+
}
|
1720 |
+
|
1721 |
+
if (t.timefloat) {
|
1722 |
+
var half = t.timefloat.offsetWidth / 2,
|
1723 |
+
offsetContainer = mejs.Utils.offset(t.getElement(t.container)),
|
1724 |
+
tooltipStyles = getComputedStyle(t.timefloat);
|
1725 |
+
|
1726 |
+
if (x - offsetContainer.left < t.timefloat.offsetWidth) {
|
1727 |
+
leftPos = half;
|
1728 |
+
} else if (x - offsetContainer.left >= t.getElement(t.container).offsetWidth - half) {
|
1729 |
+
leftPos = t.total.offsetWidth - half;
|
1730 |
+
} else {
|
1731 |
+
leftPos = pos;
|
1732 |
+
}
|
1733 |
+
|
1734 |
+
if ((0, _dom.hasClass)(t.getElement(t.container), t.options.classPrefix + 'long-video')) {
|
1735 |
+
leftPos += parseFloat(tooltipStyles.marginLeft) / 2 + t.timefloat.offsetWidth / 2;
|
1736 |
+
}
|
1737 |
+
|
1738 |
+
t.timefloat.style.left = leftPos + 'px';
|
1739 |
+
t.timefloatcurrent.innerHTML = (0, _time.secondsToTimeCode)(t.newTime, player.options.alwaysShowHours, player.options.showTimecodeFrameCount, player.options.framesPerSecond, player.options.secondsDecimalLength, player.options.timeFormat);
|
1740 |
+
t.timefloat.style.display = 'block';
|
1741 |
+
}
|
1742 |
}
|
1743 |
+
} else if (!_constants.IS_IOS && !_constants.IS_ANDROID && t.timefloat) {
|
1744 |
+
leftPos = t.timefloat.offsetWidth + width >= t.getElement(t.container).offsetWidth ? t.timefloat.offsetWidth / 2 : 0;
|
1745 |
+
t.timefloat.style.left = leftPos + 'px';
|
1746 |
+
t.timefloat.style.left = leftPos + 'px';
|
1747 |
+
t.timefloat.style.display = 'block';
|
1748 |
+
}
|
1749 |
},
|
1750 |
+
updateSlider = function updateSlider() {
|
1751 |
+
var seconds = t.getCurrentTime(),
|
1752 |
+
timeSliderText = _i18n2.default.t('mejs.time-slider'),
|
1753 |
+
time = (0, _time.secondsToTimeCode)(seconds, player.options.alwaysShowHours, player.options.showTimecodeFrameCount, player.options.framesPerSecond, player.options.secondsDecimalLength, player.options.timeFormat),
|
1754 |
+
duration = t.getDuration();
|
1755 |
+
|
1756 |
+
t.slider.setAttribute('role', 'slider');
|
1757 |
+
t.slider.tabIndex = 0;
|
1758 |
+
|
1759 |
+
if (media.paused) {
|
1760 |
+
t.slider.setAttribute('aria-label', timeSliderText);
|
1761 |
+
t.slider.setAttribute('aria-valuemin', 0);
|
1762 |
+
t.slider.setAttribute('aria-valuemax', duration);
|
1763 |
+
t.slider.setAttribute('aria-valuenow', seconds);
|
1764 |
+
t.slider.setAttribute('aria-valuetext', time);
|
1765 |
+
} else {
|
1766 |
+
t.slider.removeAttribute('aria-label');
|
1767 |
+
t.slider.removeAttribute('aria-valuemin');
|
1768 |
+
t.slider.removeAttribute('aria-valuemax');
|
1769 |
+
t.slider.removeAttribute('aria-valuenow');
|
1770 |
+
t.slider.removeAttribute('aria-valuetext');
|
1771 |
+
}
|
1772 |
+
},
|
1773 |
+
restartPlayer = function restartPlayer() {
|
1774 |
+
if (new Date() - lastKeyPressTime >= 1000) {
|
1775 |
+
t.play();
|
1776 |
+
}
|
1777 |
+
},
|
1778 |
+
handleMouseup = function handleMouseup() {
|
1779 |
+
if (mouseIsDown && t.getCurrentTime() !== null && t.newTime.toFixed(4) !== t.getCurrentTime().toFixed(4)) {
|
1780 |
+
t.setCurrentTime(t.newTime);
|
1781 |
+
t.setCurrentRail();
|
1782 |
+
t.updateCurrent(t.newTime);
|
1783 |
+
}
|
1784 |
+
if (t.forcedHandlePause) {
|
1785 |
+
t.slider.focus();
|
1786 |
+
t.play();
|
1787 |
+
}
|
1788 |
+
t.forcedHandlePause = false;
|
1789 |
+
};
|
1790 |
+
|
1791 |
+
t.slider.addEventListener('focus', function () {
|
1792 |
+
player.options.autoRewind = false;
|
1793 |
+
});
|
1794 |
+
t.slider.addEventListener('blur', function () {
|
1795 |
+
player.options.autoRewind = autoRewindInitial;
|
1796 |
+
});
|
1797 |
+
t.slider.addEventListener('keydown', function (e) {
|
1798 |
+
if (new Date() - lastKeyPressTime >= 1000) {
|
1799 |
+
startedPaused = t.paused;
|
1800 |
+
}
|
1801 |
+
|
1802 |
+
if (t.options.keyActions.length) {
|
1803 |
+
|
1804 |
+
var keyCode = e.which || e.keyCode || 0,
|
1805 |
+
duration = t.getDuration(),
|
1806 |
+
seekForward = player.options.defaultSeekForwardInterval(media),
|
1807 |
+
seekBackward = player.options.defaultSeekBackwardInterval(media);
|
1808 |
+
|
1809 |
+
var seekTime = t.getCurrentTime();
|
1810 |
+
var volume = t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'volume-slider');
|
1811 |
+
|
1812 |
+
if (keyCode === 38 || keyCode === 40) {
|
1813 |
+
if (volume) {
|
1814 |
+
volume.style.display = 'block';
|
1815 |
+
}
|
1816 |
+
if (t.isVideo) {
|
1817 |
+
t.showControls();
|
1818 |
+
t.startControlsTimer();
|
1819 |
}
|
1820 |
+
|
1821 |
+
var newVolume = keyCode === 38 ? Math.min(t.volume + 0.1, 1) : Math.max(t.volume - 0.1, 0),
|
1822 |
+
mutePlayer = newVolume <= 0;
|
1823 |
+
t.setVolume(newVolume);
|
1824 |
+
t.setMuted(mutePlayer);
|
1825 |
return;
|
1826 |
+
} else {
|
1827 |
+
if (volume) {
|
1828 |
+
volume.style.display = 'none';
|
1829 |
+
}
|
1830 |
}
|
1831 |
+
|
1832 |
+
switch (keyCode) {
|
1833 |
+
case 37:
|
1834 |
+
if (t.getDuration() !== Infinity) {
|
1835 |
+
seekTime -= seekBackward;
|
1836 |
+
}
|
1837 |
+
break;
|
1838 |
+
case 39:
|
1839 |
+
if (t.getDuration() !== Infinity) {
|
1840 |
+
seekTime += seekForward;
|
1841 |
+
}
|
1842 |
+
break;
|
1843 |
+
case 36:
|
1844 |
+
seekTime = 0;
|
1845 |
+
break;
|
1846 |
+
case 35:
|
1847 |
+
seekTime = duration;
|
1848 |
+
break;
|
1849 |
+
case 13:
|
1850 |
+
case 32:
|
1851 |
+
if (_constants.IS_FIREFOX) {
|
1852 |
+
if (t.paused) {
|
1853 |
+
t.play();
|
1854 |
+
} else {
|
1855 |
t.pause();
|
|
|
1856 |
}
|
1857 |
+
}
|
1858 |
+
return;
|
1859 |
+
default:
|
1860 |
+
return;
|
1861 |
+
}
|
1862 |
+
|
1863 |
+
seekTime = seekTime < 0 ? 0 : seekTime >= duration ? duration : Math.floor(seekTime);
|
1864 |
+
lastKeyPressTime = new Date();
|
1865 |
+
if (!startedPaused) {
|
1866 |
+
player.pause();
|
1867 |
+
}
|
1868 |
+
|
1869 |
+
if (seekTime < t.getDuration() && !startedPaused) {
|
1870 |
+
setTimeout(restartPlayer, 1100);
|
1871 |
+
}
|
1872 |
+
|
1873 |
+
t.setCurrentTime(seekTime);
|
1874 |
+
player.showControls();
|
1875 |
+
|
1876 |
+
e.preventDefault();
|
1877 |
+
e.stopPropagation();
|
1878 |
+
}
|
1879 |
+
});
|
1880 |
+
|
1881 |
+
var events = ['mousedown', 'touchstart'];
|
1882 |
+
|
1883 |
+
t.slider.addEventListener('dragstart', function () {
|
1884 |
+
return false;
|
1885 |
+
});
|
1886 |
+
|
1887 |
+
for (var i = 0, total = events.length; i < total; i++) {
|
1888 |
+
t.slider.addEventListener(events[i], function (e) {
|
1889 |
+
t.forcedHandlePause = false;
|
1890 |
+
if (t.getDuration() !== Infinity) {
|
1891 |
+
if (e.which === 1 || e.which === 0) {
|
1892 |
+
if (!t.paused) {
|
1893 |
+
t.pause();
|
1894 |
+
t.forcedHandlePause = true;
|
1895 |
+
}
|
1896 |
+
|
1897 |
+
mouseIsDown = true;
|
1898 |
+
handleMouseMove(e);
|
1899 |
+
var endEvents = ['mouseup', 'touchend'];
|
1900 |
+
|
1901 |
+
for (var j = 0, totalEvents = endEvents.length; j < totalEvents; j++) {
|
1902 |
+
t.getElement(t.container).addEventListener(endEvents[j], function (event) {
|
1903 |
+
var target = event.target;
|
1904 |
+
if (target === t.slider || target.closest('.' + t.options.classPrefix + 'time-slider')) {
|
1905 |
+
handleMouseMove(event);
|
1906 |
+
}
|
1907 |
+
});
|
1908 |
+
}
|
1909 |
+
t.globalBind('mouseup.dur touchend.dur', function () {
|
1910 |
+
handleMouseup();
|
1911 |
+
mouseIsDown = false;
|
1912 |
+
if (t.timefloat) {
|
1913 |
+
t.timefloat.style.display = 'none';
|
1914 |
+
}
|
1915 |
+
});
|
1916 |
+
}
|
1917 |
+
}
|
1918 |
+
}, _constants.SUPPORT_PASSIVE_EVENT && events[i] === 'touchstart' ? { passive: true } : false);
|
1919 |
+
}
|
1920 |
+
t.slider.addEventListener('mouseenter', function (e) {
|
1921 |
+
if (e.target === t.slider && t.getDuration() !== Infinity) {
|
1922 |
+
t.getElement(t.container).addEventListener('mousemove', function (event) {
|
1923 |
+
var target = event.target;
|
1924 |
+
if (target === t.slider || target.closest('.' + t.options.classPrefix + 'time-slider')) {
|
1925 |
+
handleMouseMove(event);
|
1926 |
+
}
|
1927 |
+
});
|
1928 |
+
if (t.timefloat && !_constants.IS_IOS && !_constants.IS_ANDROID) {
|
1929 |
+
t.timefloat.style.display = 'block';
|
1930 |
+
}
|
1931 |
+
if (t.hovered && !_constants.IS_IOS && !_constants.IS_ANDROID && t.options.useSmoothHover) {
|
1932 |
+
(0, _dom.removeClass)(t.hovered, 'no-hover');
|
1933 |
+
}
|
1934 |
+
}
|
1935 |
+
});
|
1936 |
+
t.slider.addEventListener('mouseleave', function () {
|
1937 |
+
if (t.getDuration() !== Infinity) {
|
1938 |
+
if (!mouseIsDown) {
|
1939 |
+
if (t.timefloat) {
|
1940 |
+
t.timefloat.style.display = 'none';
|
1941 |
+
}
|
1942 |
+
if (t.hovered && t.options.useSmoothHover) {
|
1943 |
+
(0, _dom.addClass)(t.hovered, 'no-hover');
|
1944 |
+
}
|
1945 |
+
}
|
1946 |
+
}
|
1947 |
+
});
|
1948 |
+
|
1949 |
+
t.broadcastCallback = function (e) {
|
1950 |
+
var broadcast = controls.querySelector('.' + t.options.classPrefix + 'broadcast');
|
1951 |
+
if (!t.options.forceLive && t.getDuration() !== Infinity) {
|
1952 |
+
if (broadcast) {
|
1953 |
+
t.slider.style.display = '';
|
1954 |
+
broadcast.remove();
|
1955 |
+
}
|
1956 |
+
|
1957 |
+
player.setProgressRail(e);
|
1958 |
+
if (!t.forcedHandlePause) {
|
1959 |
+
player.setCurrentRail(e);
|
1960 |
+
}
|
1961 |
+
updateSlider();
|
1962 |
+
} else if (!broadcast || t.options.forceLive) {
|
1963 |
+
var label = _document2.default.createElement('span');
|
1964 |
+
label.className = t.options.classPrefix + 'broadcast';
|
1965 |
+
label.innerText = _i18n2.default.t('mejs.live-broadcast');
|
1966 |
+
t.slider.style.display = 'none';
|
1967 |
+
t.rail.appendChild(label);
|
1968 |
+
}
|
1969 |
+
};
|
1970 |
+
|
1971 |
+
media.addEventListener('progress', t.broadcastCallback);
|
1972 |
+
media.addEventListener('timeupdate', t.broadcastCallback);
|
1973 |
+
media.addEventListener('play', function () {
|
1974 |
+
t.buffer.style.display = 'none';
|
1975 |
+
});
|
1976 |
+
media.addEventListener('playing', function () {
|
1977 |
+
t.buffer.style.display = 'none';
|
1978 |
+
});
|
1979 |
+
media.addEventListener('seeking', function () {
|
1980 |
+
t.buffer.style.display = '';
|
1981 |
+
});
|
1982 |
+
media.addEventListener('seeked', function () {
|
1983 |
+
t.buffer.style.display = 'none';
|
1984 |
+
});
|
1985 |
+
media.addEventListener('pause', function () {
|
1986 |
+
t.buffer.style.display = 'none';
|
1987 |
+
});
|
1988 |
+
media.addEventListener('waiting', function () {
|
1989 |
+
t.buffer.style.display = '';
|
1990 |
+
});
|
1991 |
+
media.addEventListener('loadeddata', function () {
|
1992 |
+
t.buffer.style.display = '';
|
1993 |
+
});
|
1994 |
+
media.addEventListener('canplay', function () {
|
1995 |
+
t.buffer.style.display = 'none';
|
1996 |
+
});
|
1997 |
+
media.addEventListener('error', function () {
|
1998 |
+
t.buffer.style.display = 'none';
|
1999 |
+
});
|
2000 |
+
|
2001 |
+
t.getElement(t.container).addEventListener('controlsresize', function (e) {
|
2002 |
+
if (t.getDuration() !== Infinity) {
|
2003 |
+
player.setProgressRail(e);
|
2004 |
+
if (!t.forcedHandlePause) {
|
2005 |
+
player.setCurrentRail(e);
|
2006 |
+
}
|
2007 |
+
}
|
2008 |
+
});
|
2009 |
+
},
|
2010 |
+
cleanprogress: function cleanprogress(player, controls, layers, media) {
|
2011 |
+
media.removeEventListener('progress', player.broadcastCallback);
|
2012 |
+
media.removeEventListener('timeupdate', player.broadcastCallback);
|
2013 |
+
if (player.rail) {
|
2014 |
+
player.rail.remove();
|
2015 |
+
}
|
2016 |
+
},
|
2017 |
+
setProgressRail: function setProgressRail(e) {
|
2018 |
+
var t = this,
|
2019 |
+
target = e !== undefined ? e.detail.target || e.target : t.media;
|
2020 |
+
|
2021 |
+
var percent = null;
|
2022 |
+
|
2023 |
+
if (target && target.buffered && target.buffered.length > 0 && target.buffered.end && t.getDuration()) {
|
2024 |
+
percent = target.buffered.end(target.buffered.length - 1) / t.getDuration();
|
2025 |
+
} else if (target && target.bytesTotal !== undefined && target.bytesTotal > 0 && target.bufferedBytes !== undefined) {
|
2026 |
+
percent = target.bufferedBytes / target.bytesTotal;
|
2027 |
+
} else if (e && e.lengthComputable && e.total !== 0) {
|
2028 |
+
percent = e.loaded / e.total;
|
2029 |
+
}
|
2030 |
+
|
2031 |
+
if (percent !== null) {
|
2032 |
+
percent = Math.min(1, Math.max(0, percent));
|
2033 |
+
|
2034 |
+
if (t.loaded) {
|
2035 |
+
t.setTransformStyle(t.loaded, 'scaleX(' + percent + ')');
|
2036 |
+
}
|
2037 |
+
}
|
2038 |
+
},
|
2039 |
+
setCurrentRailHandle: function setCurrentRailHandle(fakeTime) {
|
2040 |
+
var t = this;
|
2041 |
+
t.setCurrentRailMain(t, fakeTime);
|
2042 |
+
},
|
2043 |
+
setCurrentRail: function setCurrentRail() {
|
2044 |
+
var t = this;
|
2045 |
+
t.setCurrentRailMain(t);
|
2046 |
+
},
|
2047 |
+
setCurrentRailMain: function setCurrentRailMain(t, fakeTime) {
|
2048 |
+
if (t.getCurrentTime() !== undefined && t.getDuration()) {
|
2049 |
+
var nTime = typeof fakeTime === 'undefined' ? t.getCurrentTime() : fakeTime;
|
2050 |
+
|
2051 |
+
if (t.total && t.handle) {
|
2052 |
+
var tW = parseFloat(getComputedStyle(t.total).width);
|
2053 |
+
|
2054 |
+
var newWidth = Math.round(tW * nTime / t.getDuration()),
|
2055 |
+
handlePos = newWidth - Math.round(t.handle.offsetWidth / 2);
|
2056 |
+
|
2057 |
+
handlePos = handlePos < 0 ? 0 : handlePos;
|
2058 |
+
t.setTransformStyle(t.current, 'scaleX(' + newWidth / tW + ')');
|
2059 |
+
t.setTransformStyle(t.handle, 'translateX(' + handlePos + 'px)');
|
2060 |
+
|
2061 |
+
if (t.options.useSmoothHover && !(0, _dom.hasClass)(t.hovered, 'no-hover')) {
|
2062 |
+
var pos = parseInt(t.hovered.getAttribute('pos'), 10);
|
2063 |
+
pos = isNaN(pos) ? 0 : pos;
|
2064 |
+
|
2065 |
+
var hoverScaleX = pos / tW - handlePos / tW;
|
2066 |
+
|
2067 |
+
t.hovered.style.left = handlePos + 'px';
|
2068 |
+
t.setTransformStyle(t.hovered, 'scaleX(' + hoverScaleX + ')');
|
2069 |
+
|
2070 |
+
if (hoverScaleX >= 0) {
|
2071 |
+
(0, _dom.removeClass)(t.hovered, 'negative');
|
2072 |
+
} else {
|
2073 |
+
(0, _dom.addClass)(t.hovered, 'negative');
|
2074 |
+
}
|
2075 |
+
}
|
2076 |
+
}
|
2077 |
+
}
|
2078 |
+
}
|
2079 |
+
});
|
2080 |
+
|
2081 |
+
},{"16":16,"2":2,"25":25,"26":26,"30":30,"5":5}],12:[function(_dereq_,module,exports){
|
2082 |
+
'use strict';
|
2083 |
+
|
2084 |
+
var _document = _dereq_(2);
|
2085 |
+
|
2086 |
+
var _document2 = _interopRequireDefault(_document);
|
2087 |
+
|
2088 |
+
var _player = _dereq_(16);
|
2089 |
+
|
2090 |
+
var _player2 = _interopRequireDefault(_player);
|
2091 |
+
|
2092 |
+
var _time = _dereq_(30);
|
2093 |
+
|
2094 |
+
var _dom = _dereq_(26);
|
2095 |
+
|
2096 |
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
2097 |
+
|
2098 |
+
Object.assign(_player.config, {
|
2099 |
+
duration: 0,
|
2100 |
+
|
2101 |
+
timeAndDurationSeparator: '<span> | </span>'
|
2102 |
+
});
|
2103 |
+
|
2104 |
+
Object.assign(_player2.default.prototype, {
|
2105 |
+
buildcurrent: function buildcurrent(player, controls, layers, media) {
|
2106 |
+
var t = this,
|
2107 |
+
time = _document2.default.createElement('div');
|
2108 |
+
|
2109 |
+
time.className = t.options.classPrefix + 'time';
|
2110 |
+
time.setAttribute('role', 'timer');
|
2111 |
+
time.setAttribute('aria-live', 'off');
|
2112 |
+
time.innerHTML = '<span class="' + t.options.classPrefix + 'currenttime">' + (0, _time.secondsToTimeCode)(0, player.options.alwaysShowHours, player.options.showTimecodeFrameCount, player.options.framesPerSecond, player.options.secondsDecimalLength, player.options.timeFormat) + '</span>';
|
2113 |
+
|
2114 |
+
t.addControlElement(time, 'current');
|
2115 |
+
player.updateCurrent();
|
2116 |
+
t.updateTimeCallback = function () {
|
2117 |
+
if (t.controlsAreVisible) {
|
2118 |
+
player.updateCurrent();
|
2119 |
+
}
|
2120 |
+
};
|
2121 |
+
media.addEventListener('timeupdate', t.updateTimeCallback);
|
2122 |
+
},
|
2123 |
+
cleancurrent: function cleancurrent(player, controls, layers, media) {
|
2124 |
+
media.removeEventListener('timeupdate', player.updateTimeCallback);
|
2125 |
+
},
|
2126 |
+
buildduration: function buildduration(player, controls, layers, media) {
|
2127 |
+
var t = this,
|
2128 |
+
currTime = controls.lastChild.querySelector('.' + t.options.classPrefix + 'currenttime');
|
2129 |
+
|
2130 |
+
if (currTime) {
|
2131 |
+
controls.querySelector('.' + t.options.classPrefix + 'time').innerHTML += t.options.timeAndDurationSeparator + '<span class="' + t.options.classPrefix + 'duration">' + ((0, _time.secondsToTimeCode)(t.options.duration, t.options.alwaysShowHours, t.options.showTimecodeFrameCount, t.options.framesPerSecond, t.options.secondsDecimalLength, t.options.timeFormat) + '</span>');
|
2132 |
+
} else {
|
2133 |
+
if (controls.querySelector('.' + t.options.classPrefix + 'currenttime')) {
|
2134 |
+
(0, _dom.addClass)(controls.querySelector('.' + t.options.classPrefix + 'currenttime').parentNode, t.options.classPrefix + 'currenttime-container');
|
2135 |
+
}
|
2136 |
+
|
2137 |
+
var duration = _document2.default.createElement('div');
|
2138 |
+
duration.className = t.options.classPrefix + 'time ' + t.options.classPrefix + 'duration-container';
|
2139 |
+
duration.innerHTML = '<span class="' + t.options.classPrefix + 'duration">' + ((0, _time.secondsToTimeCode)(t.options.duration, t.options.alwaysShowHours, t.options.showTimecodeFrameCount, t.options.framesPerSecond, t.options.secondsDecimalLength, t.options.timeFormat) + '</span>');
|
2140 |
+
|
2141 |
+
t.addControlElement(duration, 'duration');
|
2142 |
+
}
|
2143 |
+
|
2144 |
+
t.updateDurationCallback = function () {
|
2145 |
+
if (t.controlsAreVisible) {
|
2146 |
+
player.updateDuration();
|
2147 |
+
}
|
2148 |
+
};
|
2149 |
+
|
2150 |
+
media.addEventListener('timeupdate', t.updateDurationCallback);
|
2151 |
+
},
|
2152 |
+
cleanduration: function cleanduration(player, controls, layers, media) {
|
2153 |
+
media.removeEventListener('timeupdate', player.updateDurationCallback);
|
2154 |
+
},
|
2155 |
+
updateCurrent: function updateCurrent() {
|
2156 |
+
var t = this;
|
2157 |
+
|
2158 |
+
var currentTime = t.getCurrentTime();
|
2159 |
+
|
2160 |
+
if (isNaN(currentTime)) {
|
2161 |
+
currentTime = 0;
|
2162 |
+
}
|
2163 |
+
|
2164 |
+
var timecode = (0, _time.secondsToTimeCode)(currentTime, t.options.alwaysShowHours, t.options.showTimecodeFrameCount, t.options.framesPerSecond, t.options.secondsDecimalLength, t.options.timeFormat);
|
2165 |
+
|
2166 |
+
if (timecode.length > 5) {
|
2167 |
+
(0, _dom.addClass)(t.getElement(t.container), t.options.classPrefix + 'long-video');
|
2168 |
+
} else {
|
2169 |
+
(0, _dom.removeClass)(t.getElement(t.container), t.options.classPrefix + 'long-video');
|
2170 |
+
}
|
2171 |
+
|
2172 |
+
if (t.getElement(t.controls).querySelector('.' + t.options.classPrefix + 'currenttime')) {
|
2173 |
+
t.getElement(t.controls).querySelector('.' + t.options.classPrefix + 'currenttime').innerText = timecode;
|
2174 |
+
}
|
2175 |
+
},
|
2176 |
+
updateDuration: function updateDuration() {
|
2177 |
+
var t = this;
|
2178 |
+
|
2179 |
+
var duration = t.getDuration();
|
2180 |
+
|
2181 |
+
if (isNaN(duration) || duration === Infinity || duration < 0) {
|
2182 |
+
t.media.duration = t.options.duration = duration = 0;
|
2183 |
+
}
|
2184 |
+
|
2185 |
+
if (t.options.duration > 0) {
|
2186 |
+
duration = t.options.duration;
|
2187 |
+
}
|
2188 |
+
|
2189 |
+
var timecode = (0, _time.secondsToTimeCode)(duration, t.options.alwaysShowHours, t.options.showTimecodeFrameCount, t.options.framesPerSecond, t.options.secondsDecimalLength, t.options.timeFormat);
|
2190 |
+
|
2191 |
+
if (timecode.length > 5) {
|
2192 |
+
(0, _dom.addClass)(t.getElement(t.container), t.options.classPrefix + 'long-video');
|
2193 |
+
} else {
|
2194 |
+
(0, _dom.removeClass)(t.getElement(t.container), t.options.classPrefix + 'long-video');
|
2195 |
+
}
|
2196 |
+
|
2197 |
+
if (t.getElement(t.controls).querySelector('.' + t.options.classPrefix + 'duration') && duration > 0) {
|
2198 |
+
t.getElement(t.controls).querySelector('.' + t.options.classPrefix + 'duration').innerHTML = timecode;
|
2199 |
+
}
|
2200 |
+
}
|
2201 |
+
});
|
2202 |
+
|
2203 |
+
},{"16":16,"2":2,"26":26,"30":30}],13:[function(_dereq_,module,exports){
|
2204 |
+
'use strict';
|
2205 |
+
|
2206 |
+
var _document = _dereq_(2);
|
2207 |
+
|
2208 |
+
var _document2 = _interopRequireDefault(_document);
|
2209 |
+
|
2210 |
+
var _mejs = _dereq_(7);
|
2211 |
+
|
2212 |
+
var _mejs2 = _interopRequireDefault(_mejs);
|
2213 |
+
|
2214 |
+
var _i18n = _dereq_(5);
|
2215 |
+
|
2216 |
+
var _i18n2 = _interopRequireDefault(_i18n);
|
2217 |
+
|
2218 |
+
var _player = _dereq_(16);
|
2219 |
+
|
2220 |
+
var _player2 = _interopRequireDefault(_player);
|
2221 |
+
|
2222 |
+
var _time = _dereq_(30);
|
2223 |
+
|
2224 |
+
var _general = _dereq_(27);
|
2225 |
+
|
2226 |
+
var _dom = _dereq_(26);
|
2227 |
+
|
2228 |
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
2229 |
+
|
2230 |
+
Object.assign(_player.config, {
|
2231 |
+
startLanguage: '',
|
2232 |
+
|
2233 |
+
tracksText: null,
|
2234 |
+
|
2235 |
+
chaptersText: null,
|
2236 |
+
|
2237 |
+
tracksAriaLive: false,
|
2238 |
+
|
2239 |
+
hideCaptionsButtonWhenEmpty: true,
|
2240 |
+
|
2241 |
+
toggleCaptionsButtonWhenOnlyOne: false,
|
2242 |
+
|
2243 |
+
slidesSelector: ''
|
2244 |
+
});
|
2245 |
+
|
2246 |
+
Object.assign(_player2.default.prototype, {
|
2247 |
+
hasChapters: false,
|
2248 |
+
|
2249 |
+
buildtracks: function buildtracks(player, controls, layers, media) {
|
2250 |
+
|
2251 |
+
this.findTracks();
|
2252 |
+
|
2253 |
+
if (!player.tracks.length && (!player.trackFiles || !player.trackFiles.length === 0)) {
|
2254 |
+
return;
|
2255 |
+
}
|
2256 |
+
|
2257 |
+
var t = this,
|
2258 |
+
attr = t.options.tracksAriaLive ? ' role="log" aria-live="assertive" aria-atomic="false"' : '',
|
2259 |
+
tracksTitle = (0, _general.isString)(t.options.tracksText) ? t.options.tracksText : _i18n2.default.t('mejs.captions-subtitles'),
|
2260 |
+
chaptersTitle = (0, _general.isString)(t.options.chaptersText) ? t.options.chaptersText : _i18n2.default.t('mejs.captions-chapters'),
|
2261 |
+
total = player.trackFiles === null ? player.tracks.length : player.trackFiles.length;
|
2262 |
+
|
2263 |
+
if (t.domNode.textTracks) {
|
2264 |
+
for (var i = t.domNode.textTracks.length - 1; i >= 0; i--) {
|
2265 |
+
t.domNode.textTracks[i].mode = 'hidden';
|
2266 |
+
}
|
2267 |
+
}
|
2268 |
+
|
2269 |
+
t.cleartracks(player);
|
2270 |
+
|
2271 |
+
player.captions = _document2.default.createElement('div');
|
2272 |
+
player.captions.className = t.options.classPrefix + 'captions-layer ' + t.options.classPrefix + 'layer';
|
2273 |
+
player.captions.innerHTML = '<div class="' + t.options.classPrefix + 'captions-position ' + t.options.classPrefix + 'captions-position-hover"' + attr + '>' + ('<span class="' + t.options.classPrefix + 'captions-text"></span>') + '</div>';
|
2274 |
+
player.captions.style.display = 'none';
|
2275 |
+
layers.insertBefore(player.captions, layers.firstChild);
|
2276 |
+
|
2277 |
+
player.captionsText = player.captions.querySelector('.' + t.options.classPrefix + 'captions-text');
|
2278 |
+
|
2279 |
+
player.captionsButton = _document2.default.createElement('div');
|
2280 |
+
player.captionsButton.className = t.options.classPrefix + 'button ' + t.options.classPrefix + 'captions-button';
|
2281 |
+
player.captionsButton.innerHTML = '<button type="button" aria-controls="' + t.id + '" title="' + tracksTitle + '" aria-label="' + tracksTitle + '" tabindex="0"></button>' + ('<div class="' + t.options.classPrefix + 'captions-selector ' + t.options.classPrefix + 'offscreen">') + ('<ul class="' + t.options.classPrefix + 'captions-selector-list">') + ('<li class="' + t.options.classPrefix + 'captions-selector-list-item">') + ('<input type="radio" class="' + t.options.classPrefix + 'captions-selector-input" ') + ('name="' + player.id + '_captions" id="' + player.id + '_captions_none" ') + 'value="none" checked disabled>' + ('<label class="' + t.options.classPrefix + 'captions-selector-label ') + (t.options.classPrefix + 'captions-selected" ') + ('for="' + player.id + '_captions_none">' + _i18n2.default.t('mejs.none') + '</label>') + '</li>' + '</ul>' + '</div>';
|
2282 |
+
|
2283 |
+
t.addControlElement(player.captionsButton, 'tracks');
|
2284 |
+
|
2285 |
+
player.captionsButton.querySelector('.' + t.options.classPrefix + 'captions-selector-input').disabled = false;
|
2286 |
+
|
2287 |
+
player.chaptersButton = _document2.default.createElement('div');
|
2288 |
+
player.chaptersButton.className = t.options.classPrefix + 'button ' + t.options.classPrefix + 'chapters-button';
|
2289 |
+
player.chaptersButton.innerHTML = '<button type="button" aria-controls="' + t.id + '" title="' + chaptersTitle + '" aria-label="' + chaptersTitle + '" tabindex="0"></button>' + ('<div class="' + t.options.classPrefix + 'chapters-selector ' + t.options.classPrefix + 'offscreen">') + ('<ul class="' + t.options.classPrefix + 'chapters-selector-list"></ul>') + '</div>';
|
2290 |
+
|
2291 |
+
var subtitleCount = 0;
|
2292 |
+
|
2293 |
+
for (var _i = 0; _i < total; _i++) {
|
2294 |
+
var kind = player.tracks[_i].kind,
|
2295 |
+
src = player.tracks[_i].src;
|
2296 |
+
if (src.trim()) {
|
2297 |
+
if (kind === 'subtitles' || kind === 'captions') {
|
2298 |
+
subtitleCount++;
|
2299 |
+
} else if (kind === 'chapters' && !controls.querySelector('.' + t.options.classPrefix + 'chapter-selector')) {
|
2300 |
+
player.captionsButton.parentNode.insertBefore(player.chaptersButton, player.captionsButton);
|
2301 |
+
}
|
2302 |
+
}
|
2303 |
+
}
|
2304 |
+
|
2305 |
+
player.trackToLoad = -1;
|
2306 |
+
player.selectedTrack = null;
|
2307 |
+
player.isLoadingTrack = false;
|
2308 |
+
|
2309 |
+
for (var _i2 = 0; _i2 < total; _i2++) {
|
2310 |
+
var _kind = player.tracks[_i2].kind;
|
2311 |
+
if (player.tracks[_i2].src.trim() && (_kind === 'subtitles' || _kind === 'captions')) {
|
2312 |
+
player.addTrackButton(player.tracks[_i2].trackId, player.tracks[_i2].srclang, player.tracks[_i2].label);
|
2313 |
+
}
|
2314 |
+
}
|
2315 |
+
|
2316 |
+
player.loadNextTrack();
|
2317 |
+
|
2318 |
+
var inEvents = ['mouseenter', 'focusin'],
|
2319 |
+
outEvents = ['mouseleave', 'focusout'];
|
2320 |
+
|
2321 |
+
if (t.options.toggleCaptionsButtonWhenOnlyOne && subtitleCount === 1) {
|
2322 |
+
player.captionsButton.addEventListener('click', function (e) {
|
2323 |
+
var trackId = 'none';
|
2324 |
+
if (player.selectedTrack === null) {
|
2325 |
+
trackId = player.tracks[0].trackId;
|
2326 |
+
}
|
2327 |
+
var keyboard = e.keyCode || e.which;
|
2328 |
+
player.setTrack(trackId, typeof keyboard !== 'undefined');
|
2329 |
+
});
|
2330 |
+
} else {
|
2331 |
+
var labels = player.captionsButton.querySelectorAll('.' + t.options.classPrefix + 'captions-selector-label'),
|
2332 |
+
captions = player.captionsButton.querySelectorAll('input[type=radio]');
|
2333 |
+
|
2334 |
+
for (var _i3 = 0, _total = inEvents.length; _i3 < _total; _i3++) {
|
2335 |
+
player.captionsButton.addEventListener(inEvents[_i3], function () {
|
2336 |
+
(0, _dom.removeClass)(this.querySelector('.' + t.options.classPrefix + 'captions-selector'), t.options.classPrefix + 'offscreen');
|
2337 |
+
});
|
2338 |
+
}
|
2339 |
+
|
2340 |
+
for (var _i4 = 0, _total2 = outEvents.length; _i4 < _total2; _i4++) {
|
2341 |
+
player.captionsButton.addEventListener(outEvents[_i4], function () {
|
2342 |
+
(0, _dom.addClass)(this.querySelector('.' + t.options.classPrefix + 'captions-selector'), t.options.classPrefix + 'offscreen');
|
2343 |
+
});
|
2344 |
+
}
|
2345 |
+
|
2346 |
+
for (var _i5 = 0, _total3 = captions.length; _i5 < _total3; _i5++) {
|
2347 |
+
captions[_i5].addEventListener('click', function (e) {
|
2348 |
+
var keyboard = e.keyCode || e.which;
|
2349 |
+
player.setTrack(this.value, typeof keyboard !== 'undefined');
|
2350 |
+
});
|
2351 |
+
}
|
2352 |
+
|
2353 |
+
for (var _i6 = 0, _total4 = labels.length; _i6 < _total4; _i6++) {
|
2354 |
+
labels[_i6].addEventListener('click', function (e) {
|
2355 |
+
var radio = (0, _dom.siblings)(this, function (el) {
|
2356 |
+
return el.tagName === 'INPUT';
|
2357 |
+
})[0],
|
2358 |
+
event = (0, _general.createEvent)('click', radio);
|
2359 |
+
radio.dispatchEvent(event);
|
2360 |
+
e.preventDefault();
|
2361 |
+
});
|
2362 |
+
}
|
2363 |
+
|
2364 |
+
player.captionsButton.addEventListener('keydown', function (e) {
|
2365 |
+
e.stopPropagation();
|
2366 |
+
});
|
2367 |
+
}
|
2368 |
+
|
2369 |
+
for (var _i7 = 0, _total5 = inEvents.length; _i7 < _total5; _i7++) {
|
2370 |
+
player.chaptersButton.addEventListener(inEvents[_i7], function () {
|
2371 |
+
if (this.querySelector('.' + t.options.classPrefix + 'chapters-selector-list').children.length) {
|
2372 |
+
(0, _dom.removeClass)(this.querySelector('.' + t.options.classPrefix + 'chapters-selector'), t.options.classPrefix + 'offscreen');
|
2373 |
+
}
|
2374 |
+
});
|
2375 |
+
}
|
2376 |
+
|
2377 |
+
for (var _i8 = 0, _total6 = outEvents.length; _i8 < _total6; _i8++) {
|
2378 |
+
player.chaptersButton.addEventListener(outEvents[_i8], function () {
|
2379 |
+
(0, _dom.addClass)(this.querySelector('.' + t.options.classPrefix + 'chapters-selector'), t.options.classPrefix + 'offscreen');
|
2380 |
+
});
|
2381 |
+
}
|
2382 |
+
|
2383 |
+
player.chaptersButton.addEventListener('keydown', function (e) {
|
2384 |
+
e.stopPropagation();
|
2385 |
+
});
|
2386 |
+
|
2387 |
+
if (!player.options.alwaysShowControls) {
|
2388 |
+
player.getElement(player.container).addEventListener('controlsshown', function () {
|
2389 |
+
(0, _dom.addClass)(player.getElement(player.container).querySelector('.' + t.options.classPrefix + 'captions-position'), t.options.classPrefix + 'captions-position-hover');
|
2390 |
+
});
|
2391 |
+
|
2392 |
+
player.getElement(player.container).addEventListener('controlshidden', function () {
|
2393 |
+
if (!media.paused) {
|
2394 |
+
(0, _dom.removeClass)(player.getElement(player.container).querySelector('.' + t.options.classPrefix + 'captions-position'), t.options.classPrefix + 'captions-position-hover');
|
2395 |
+
}
|
2396 |
+
});
|
2397 |
+
} else {
|
2398 |
+
(0, _dom.addClass)(player.getElement(player.container).querySelector('.' + t.options.classPrefix + 'captions-position'), t.options.classPrefix + 'captions-position-hover');
|
2399 |
+
}
|
2400 |
+
|
2401 |
+
media.addEventListener('timeupdate', function () {
|
2402 |
+
player.displayCaptions();
|
2403 |
+
});
|
2404 |
+
|
2405 |
+
if (player.options.slidesSelector !== '') {
|
2406 |
+
player.slidesContainer = _document2.default.querySelectorAll(player.options.slidesSelector);
|
2407 |
+
|
2408 |
+
media.addEventListener('timeupdate', function () {
|
2409 |
+
player.displaySlides();
|
2410 |
+
});
|
2411 |
+
}
|
2412 |
+
},
|
2413 |
+
cleartracks: function cleartracks(player) {
|
2414 |
+
if (player) {
|
2415 |
+
if (player.captions) {
|
2416 |
+
player.captions.remove();
|
2417 |
+
}
|
2418 |
+
if (player.chapters) {
|
2419 |
+
player.chapters.remove();
|
2420 |
+
}
|
2421 |
+
if (player.captionsText) {
|
2422 |
+
player.captionsText.remove();
|
2423 |
+
}
|
2424 |
+
if (player.captionsButton) {
|
2425 |
+
player.captionsButton.remove();
|
2426 |
+
}
|
2427 |
+
if (player.chaptersButton) {
|
2428 |
+
player.chaptersButton.remove();
|
2429 |
+
}
|
2430 |
+
}
|
2431 |
+
},
|
2432 |
+
rebuildtracks: function rebuildtracks() {
|
2433 |
+
var t = this;
|
2434 |
+
t.findTracks();
|
2435 |
+
t.buildtracks(t, t.getElement(t.controls), t.getElement(t.layers), t.media);
|
2436 |
+
},
|
2437 |
+
findTracks: function findTracks() {
|
2438 |
+
var t = this,
|
2439 |
+
tracktags = t.trackFiles === null ? t.node.querySelectorAll('track') : t.trackFiles,
|
2440 |
+
total = tracktags.length;
|
2441 |
+
|
2442 |
+
t.tracks = [];
|
2443 |
+
for (var i = 0; i < total; i++) {
|
2444 |
+
var track = tracktags[i],
|
2445 |
+
srclang = track.getAttribute('srclang').toLowerCase() || '',
|
2446 |
+
trackId = t.id + '_track_' + i + '_' + track.getAttribute('kind') + '_' + srclang;
|
2447 |
+
t.tracks.push({
|
2448 |
+
trackId: trackId,
|
2449 |
+
srclang: srclang,
|
2450 |
+
src: track.getAttribute('src'),
|
2451 |
+
kind: track.getAttribute('kind'),
|
2452 |
+
label: track.getAttribute('label') || '',
|
2453 |
+
entries: [],
|
2454 |
+
isLoaded: false
|
2455 |
+
});
|
2456 |
+
}
|
2457 |
+
},
|
2458 |
+
setTrack: function setTrack(trackId, setByKeyboard) {
|
2459 |
+
|
2460 |
+
var t = this,
|
2461 |
+
radios = t.captionsButton.querySelectorAll('input[type="radio"]'),
|
2462 |
+
captions = t.captionsButton.querySelectorAll('.' + t.options.classPrefix + 'captions-selected'),
|
2463 |
+
track = t.captionsButton.querySelector('input[value="' + trackId + '"]');
|
2464 |
+
|
2465 |
+
for (var i = 0, total = radios.length; i < total; i++) {
|
2466 |
+
radios[i].checked = false;
|
2467 |
+
}
|
2468 |
+
|
2469 |
+
for (var _i9 = 0, _total7 = captions.length; _i9 < _total7; _i9++) {
|
2470 |
+
(0, _dom.removeClass)(captions[_i9], t.options.classPrefix + 'captions-selected');
|
2471 |
+
}
|
2472 |
+
|
2473 |
+
track.checked = true;
|
2474 |
+
var labels = (0, _dom.siblings)(track, function (el) {
|
2475 |
+
return (0, _dom.hasClass)(el, t.options.classPrefix + 'captions-selector-label');
|
2476 |
+
});
|
2477 |
+
for (var _i10 = 0, _total8 = labels.length; _i10 < _total8; _i10++) {
|
2478 |
+
(0, _dom.addClass)(labels[_i10], t.options.classPrefix + 'captions-selected');
|
2479 |
+
}
|
2480 |
+
|
2481 |
+
if (trackId === 'none') {
|
2482 |
+
t.selectedTrack = null;
|
2483 |
+
(0, _dom.removeClass)(t.captionsButton, t.options.classPrefix + 'captions-enabled');
|
2484 |
+
} else {
|
2485 |
+
for (var _i11 = 0, _total9 = t.tracks.length; _i11 < _total9; _i11++) {
|
2486 |
+
var _track = t.tracks[_i11];
|
2487 |
+
if (_track.trackId === trackId) {
|
2488 |
+
if (t.selectedTrack === null) {
|
2489 |
+
(0, _dom.addClass)(t.captionsButton, t.options.classPrefix + 'captions-enabled');
|
2490 |
+
}
|
2491 |
+
t.selectedTrack = _track;
|
2492 |
+
t.captions.setAttribute('lang', t.selectedTrack.srclang);
|
2493 |
+
t.displayCaptions();
|
2494 |
+
break;
|
2495 |
+
}
|
2496 |
+
}
|
2497 |
+
}
|
2498 |
+
|
2499 |
+
var event = (0, _general.createEvent)('captionschange', t.media);
|
2500 |
+
event.detail.caption = t.selectedTrack;
|
2501 |
+
t.media.dispatchEvent(event);
|
2502 |
+
|
2503 |
+
if (!setByKeyboard) {
|
2504 |
+
setTimeout(function () {
|
2505 |
+
t.getElement(t.container).focus();
|
2506 |
+
}, 500);
|
2507 |
+
}
|
2508 |
+
},
|
2509 |
+
loadNextTrack: function loadNextTrack() {
|
2510 |
+
var t = this;
|
2511 |
+
|
2512 |
+
t.trackToLoad++;
|
2513 |
+
if (t.trackToLoad < t.tracks.length) {
|
2514 |
+
t.isLoadingTrack = true;
|
2515 |
+
t.loadTrack(t.trackToLoad);
|
2516 |
+
} else {
|
2517 |
+
t.isLoadingTrack = false;
|
2518 |
+
t.checkForTracks();
|
2519 |
+
}
|
2520 |
+
},
|
2521 |
+
loadTrack: function loadTrack(index) {
|
2522 |
+
var t = this,
|
2523 |
+
track = t.tracks[index];
|
2524 |
+
|
2525 |
+
if (track !== undefined && (track.src !== undefined || track.src !== "")) {
|
2526 |
+
(0, _dom.ajax)(track.src, 'text', function (d) {
|
2527 |
+
track.entries = typeof d === 'string' && /<tt\s+xml/ig.exec(d) ? _mejs2.default.TrackFormatParser.dfxp.parse(d) : _mejs2.default.TrackFormatParser.webvtt.parse(d);
|
2528 |
+
|
2529 |
+
track.isLoaded = true;
|
2530 |
+
t.enableTrackButton(track);
|
2531 |
+
t.loadNextTrack();
|
2532 |
+
|
2533 |
+
if (track.kind === 'slides') {
|
2534 |
+
t.setupSlides(track);
|
2535 |
+
} else if (track.kind === 'chapters' && !t.hasChapters) {
|
2536 |
+
t.drawChapters(track);
|
2537 |
+
t.hasChapters = true;
|
2538 |
+
}
|
2539 |
+
}, function () {
|
2540 |
+
t.removeTrackButton(track.trackId);
|
2541 |
+
t.loadNextTrack();
|
2542 |
+
});
|
2543 |
+
}
|
2544 |
+
},
|
2545 |
+
enableTrackButton: function enableTrackButton(track) {
|
2546 |
+
var t = this,
|
2547 |
+
lang = track.srclang,
|
2548 |
+
target = _document2.default.getElementById('' + track.trackId);
|
2549 |
+
|
2550 |
+
if (!target) {
|
2551 |
+
return;
|
2552 |
+
}
|
2553 |
+
|
2554 |
+
var label = track.label;
|
2555 |
+
|
2556 |
+
if (label === '') {
|
2557 |
+
label = _i18n2.default.t(_mejs2.default.language.codes[lang]) || lang;
|
2558 |
+
}
|
2559 |
+
target.disabled = false;
|
2560 |
+
var targetSiblings = (0, _dom.siblings)(target, function (el) {
|
2561 |
+
return (0, _dom.hasClass)(el, t.options.classPrefix + 'captions-selector-label');
|
2562 |
+
});
|
2563 |
+
for (var i = 0, total = targetSiblings.length; i < total; i++) {
|
2564 |
+
targetSiblings[i].innerHTML = label;
|
2565 |
+
}
|
2566 |
+
|
2567 |
+
if (t.options.startLanguage === lang) {
|
2568 |
+
target.checked = true;
|
2569 |
+
var event = (0, _general.createEvent)('click', target);
|
2570 |
+
target.dispatchEvent(event);
|
2571 |
+
}
|
2572 |
+
},
|
2573 |
+
removeTrackButton: function removeTrackButton(trackId) {
|
2574 |
+
var element = _document2.default.getElementById('' + trackId);
|
2575 |
+
if (element) {
|
2576 |
+
var button = element.closest('li');
|
2577 |
+
if (button) {
|
2578 |
+
button.remove();
|
2579 |
+
}
|
2580 |
+
}
|
2581 |
+
},
|
2582 |
+
addTrackButton: function addTrackButton(trackId, lang, label) {
|
2583 |
+
var t = this;
|
2584 |
+
if (label === '') {
|
2585 |
+
label = _i18n2.default.t(_mejs2.default.language.codes[lang]) || lang;
|
2586 |
+
}
|
2587 |
+
|
2588 |
+
t.captionsButton.querySelector('ul').innerHTML += '<li class="' + t.options.classPrefix + 'captions-selector-list-item">' + ('<input type="radio" class="' + t.options.classPrefix + 'captions-selector-input" ') + ('name="' + t.id + '_captions" id="' + trackId + '" value="' + trackId + '" disabled>') + ('<label class="' + t.options.classPrefix + 'captions-selector-label"') + ('for="' + trackId + '">' + label + ' (loading)</label>') + '</li>';
|
2589 |
+
},
|
2590 |
+
checkForTracks: function checkForTracks() {
|
2591 |
+
var t = this;
|
2592 |
+
|
2593 |
+
var hasSubtitles = false;
|
2594 |
+
|
2595 |
+
if (t.options.hideCaptionsButtonWhenEmpty) {
|
2596 |
+
for (var i = 0, total = t.tracks.length; i < total; i++) {
|
2597 |
+
var kind = t.tracks[i].kind;
|
2598 |
+
if ((kind === 'subtitles' || kind === 'captions') && t.tracks[i].isLoaded) {
|
2599 |
+
hasSubtitles = true;
|
2600 |
+
break;
|
2601 |
+
}
|
2602 |
+
}
|
2603 |
+
|
2604 |
+
t.captionsButton.style.display = hasSubtitles ? '' : 'none';
|
2605 |
+
t.setControlsSize();
|
2606 |
+
}
|
2607 |
+
},
|
2608 |
+
displayCaptions: function displayCaptions() {
|
2609 |
+
if (this.tracks === undefined) {
|
2610 |
+
return;
|
2611 |
+
}
|
2612 |
+
|
2613 |
+
var t = this,
|
2614 |
+
track = t.selectedTrack,
|
2615 |
+
sanitize = function sanitize(html) {
|
2616 |
+
var div = _document2.default.createElement('div');
|
2617 |
+
div.innerHTML = html;
|
2618 |
+
|
2619 |
+
var scripts = div.getElementsByTagName('script');
|
2620 |
+
var i = scripts.length;
|
2621 |
+
while (i--) {
|
2622 |
+
scripts[i].remove();
|
2623 |
+
}
|
2624 |
+
|
2625 |
+
var allElements = div.getElementsByTagName('*');
|
2626 |
+
for (var _i12 = 0, n = allElements.length; _i12 < n; _i12++) {
|
2627 |
+
var attributesObj = allElements[_i12].attributes,
|
2628 |
+
attributes = Array.prototype.slice.call(attributesObj);
|
2629 |
+
|
2630 |
+
for (var j = 0, total = attributes.length; j < total; j++) {
|
2631 |
+
if (attributes[j].name.startsWith('on') || attributes[j].value.startsWith('javascript')) {
|
2632 |
+
allElements[_i12].remove();
|
2633 |
+
} else if (attributes[j].name === 'style') {
|
2634 |
+
allElements[_i12].removeAttribute(attributes[j].name);
|
2635 |
+
}
|
2636 |
+
}
|
2637 |
+
}
|
2638 |
+
return div.innerHTML;
|
2639 |
+
};
|
2640 |
+
|
2641 |
+
if (track !== null && track.isLoaded) {
|
2642 |
+
var i = t.searchTrackPosition(track.entries, t.media.currentTime);
|
2643 |
+
if (i > -1) {
|
2644 |
+
t.captionsText.innerHTML = sanitize(track.entries[i].text);
|
2645 |
+
t.captionsText.className = t.options.classPrefix + 'captions-text ' + (track.entries[i].identifier || '');
|
2646 |
+
t.captions.style.display = '';
|
2647 |
+
t.captions.style.height = '0px';
|
2648 |
+
return;
|
2649 |
+
}
|
2650 |
+
t.captions.style.display = 'none';
|
2651 |
+
} else {
|
2652 |
+
t.captions.style.display = 'none';
|
2653 |
+
}
|
2654 |
+
},
|
2655 |
+
setupSlides: function setupSlides(track) {
|
2656 |
+
var t = this;
|
2657 |
+
t.slides = track;
|
2658 |
+
t.slides.entries.imgs = [t.slides.entries.length];
|
2659 |
+
t.showSlide(0);
|
2660 |
+
},
|
2661 |
+
showSlide: function showSlide(index) {
|
2662 |
+
var _this = this;
|
2663 |
+
|
2664 |
+
var t = this;
|
2665 |
+
|
2666 |
+
if (t.tracks === undefined || t.slidesContainer === undefined) {
|
2667 |
+
return;
|
2668 |
+
}
|
2669 |
+
|
2670 |
+
var url = t.slides.entries[index].text;
|
2671 |
+
|
2672 |
+
var img = t.slides.entries[index].imgs;
|
2673 |
+
|
2674 |
+
if (img === undefined || img.fadeIn === undefined) {
|
2675 |
+
var image = _document2.default.createElement('img');
|
2676 |
+
image.src = url;
|
2677 |
+
image.addEventListener('load', function () {
|
2678 |
+
var self = _this,
|
2679 |
+
visible = (0, _dom.siblings)(self, function (el) {
|
2680 |
+
return visible(el);
|
2681 |
+
});
|
2682 |
+
self.style.display = 'none';
|
2683 |
+
t.slidesContainer.innerHTML += self.innerHTML;
|
2684 |
+
(0, _dom.fadeIn)(t.slidesContainer.querySelector(image));
|
2685 |
+
for (var i = 0, total = visible.length; i < total; i++) {
|
2686 |
+
(0, _dom.fadeOut)(visible[i], 400);
|
2687 |
+
}
|
2688 |
+
});
|
2689 |
+
t.slides.entries[index].imgs = img = image;
|
2690 |
+
} else if (!(0, _dom.visible)(img)) {
|
2691 |
+
var _visible = (0, _dom.siblings)(self, function (el) {
|
2692 |
+
return _visible(el);
|
2693 |
+
});
|
2694 |
+
(0, _dom.fadeIn)(t.slidesContainer.querySelector(img));
|
2695 |
+
for (var i = 0, total = _visible.length; i < total; i++) {
|
2696 |
+
(0, _dom.fadeOut)(_visible[i]);
|
2697 |
+
}
|
2698 |
+
}
|
2699 |
+
},
|
2700 |
+
displaySlides: function displaySlides() {
|
2701 |
+
var t = this;
|
2702 |
+
|
2703 |
+
if (this.slides === undefined) {
|
2704 |
+
return;
|
2705 |
+
}
|
2706 |
+
|
2707 |
+
var slides = t.slides,
|
2708 |
+
i = t.searchTrackPosition(slides.entries, t.media.currentTime);
|
2709 |
+
|
2710 |
+
if (i > -1) {
|
2711 |
+
t.showSlide(i);
|
2712 |
+
}
|
2713 |
+
},
|
2714 |
+
drawChapters: function drawChapters(chapters) {
|
2715 |
+
var t = this,
|
2716 |
+
total = chapters.entries.length;
|
2717 |
+
|
2718 |
+
if (!total) {
|
2719 |
+
return;
|
2720 |
+
}
|
2721 |
+
|
2722 |
+
t.chaptersButton.querySelector('ul').innerHTML = '';
|
2723 |
+
|
2724 |
+
for (var i = 0; i < total; i++) {
|
2725 |
+
t.chaptersButton.querySelector('ul').innerHTML += '<li class="' + t.options.classPrefix + 'chapters-selector-list-item" ' + 'role="menuitemcheckbox" aria-live="polite" aria-disabled="false" aria-checked="false">' + ('<input type="radio" class="' + t.options.classPrefix + 'captions-selector-input" ') + ('name="' + t.id + '_chapters" id="' + t.id + '_chapters_' + i + '" value="' + chapters.entries[i].start + '" disabled>') + ('<label class="' + t.options.classPrefix + 'chapters-selector-label"') + ('for="' + t.id + '_chapters_' + i + '">' + chapters.entries[i].text + '</label>') + '</li>';
|
2726 |
+
}
|
2727 |
+
|
2728 |
+
var radios = t.chaptersButton.querySelectorAll('input[type="radio"]'),
|
2729 |
+
labels = t.chaptersButton.querySelectorAll('.' + t.options.classPrefix + 'chapters-selector-label');
|
2730 |
+
|
2731 |
+
for (var _i13 = 0, _total10 = radios.length; _i13 < _total10; _i13++) {
|
2732 |
+
radios[_i13].disabled = false;
|
2733 |
+
radios[_i13].checked = false;
|
2734 |
+
radios[_i13].addEventListener('click', function (e) {
|
2735 |
+
var self = this,
|
2736 |
+
listItems = t.chaptersButton.querySelectorAll('li'),
|
2737 |
+
label = (0, _dom.siblings)(self, function (el) {
|
2738 |
+
return (0, _dom.hasClass)(el, t.options.classPrefix + 'chapters-selector-label');
|
2739 |
+
})[0];
|
2740 |
+
|
2741 |
+
self.checked = true;
|
2742 |
+
self.parentNode.setAttribute('aria-checked', true);
|
2743 |
+
(0, _dom.addClass)(label, t.options.classPrefix + 'chapters-selected');
|
2744 |
+
(0, _dom.removeClass)(t.chaptersButton.querySelector('.' + t.options.classPrefix + 'chapters-selected'), t.options.classPrefix + 'chapters-selected');
|
2745 |
+
|
2746 |
+
for (var _i14 = 0, _total11 = listItems.length; _i14 < _total11; _i14++) {
|
2747 |
+
listItems[_i14].setAttribute('aria-checked', false);
|
2748 |
+
}
|
2749 |
+
|
2750 |
+
var keyboard = e.keyCode || e.which;
|
2751 |
+
if (typeof keyboard === 'undefined') {
|
2752 |
+
setTimeout(function () {
|
2753 |
+
t.getElement(t.container).focus();
|
2754 |
+
}, 500);
|
2755 |
+
}
|
2756 |
+
|
2757 |
+
t.media.setCurrentTime(parseFloat(self.value));
|
2758 |
+
if (t.media.paused) {
|
2759 |
+
t.media.play();
|
2760 |
+
}
|
2761 |
+
});
|
2762 |
+
}
|
2763 |
+
|
2764 |
+
for (var _i15 = 0, _total12 = labels.length; _i15 < _total12; _i15++) {
|
2765 |
+
labels[_i15].addEventListener('click', function (e) {
|
2766 |
+
var radio = (0, _dom.siblings)(this, function (el) {
|
2767 |
+
return el.tagName === 'INPUT';
|
2768 |
+
})[0],
|
2769 |
+
event = (0, _general.createEvent)('click', radio);
|
2770 |
+
radio.dispatchEvent(event);
|
2771 |
+
e.preventDefault();
|
2772 |
+
});
|
2773 |
+
}
|
2774 |
+
},
|
2775 |
+
searchTrackPosition: function searchTrackPosition(tracks, currentTime) {
|
2776 |
+
var lo = 0,
|
2777 |
+
hi = tracks.length - 1,
|
2778 |
+
mid = void 0,
|
2779 |
+
start = void 0,
|
2780 |
+
stop = void 0;
|
2781 |
+
|
2782 |
+
while (lo <= hi) {
|
2783 |
+
mid = lo + hi >> 1;
|
2784 |
+
start = tracks[mid].start;
|
2785 |
+
stop = tracks[mid].stop;
|
2786 |
+
|
2787 |
+
if (currentTime >= start && currentTime < stop) {
|
2788 |
+
return mid;
|
2789 |
+
} else if (start < currentTime) {
|
2790 |
+
lo = mid + 1;
|
2791 |
+
} else if (start > currentTime) {
|
2792 |
+
hi = mid - 1;
|
2793 |
+
}
|
2794 |
+
}
|
2795 |
+
|
2796 |
+
return -1;
|
2797 |
+
}
|
2798 |
+
});
|
2799 |
+
|
2800 |
+
_mejs2.default.language = {
|
2801 |
+
codes: {
|
2802 |
+
af: 'mejs.afrikaans',
|
2803 |
+
sq: 'mejs.albanian',
|
2804 |
+
ar: 'mejs.arabic',
|
2805 |
+
be: 'mejs.belarusian',
|
2806 |
+
bg: 'mejs.bulgarian',
|
2807 |
+
ca: 'mejs.catalan',
|
2808 |
+
zh: 'mejs.chinese',
|
2809 |
+
'zh-cn': 'mejs.chinese-simplified',
|
2810 |
+
'zh-tw': 'mejs.chines-traditional',
|
2811 |
+
hr: 'mejs.croatian',
|
2812 |
+
cs: 'mejs.czech',
|
2813 |
+
da: 'mejs.danish',
|
2814 |
+
nl: 'mejs.dutch',
|
2815 |
+
en: 'mejs.english',
|
2816 |
+
et: 'mejs.estonian',
|
2817 |
+
fl: 'mejs.filipino',
|
2818 |
+
fi: 'mejs.finnish',
|
2819 |
+
fr: 'mejs.french',
|
2820 |
+
gl: 'mejs.galician',
|
2821 |
+
de: 'mejs.german',
|
2822 |
+
el: 'mejs.greek',
|
2823 |
+
ht: 'mejs.haitian-creole',
|
2824 |
+
iw: 'mejs.hebrew',
|
2825 |
+
hi: 'mejs.hindi',
|
2826 |
+
hu: 'mejs.hungarian',
|
2827 |
+
is: 'mejs.icelandic',
|
2828 |
+
id: 'mejs.indonesian',
|
2829 |
+
ga: 'mejs.irish',
|
2830 |
+
it: 'mejs.italian',
|
2831 |
+
ja: 'mejs.japanese',
|
2832 |
+
ko: 'mejs.korean',
|
2833 |
+
lv: 'mejs.latvian',
|
2834 |
+
lt: 'mejs.lithuanian',
|
2835 |
+
mk: 'mejs.macedonian',
|
2836 |
+
ms: 'mejs.malay',
|
2837 |
+
mt: 'mejs.maltese',
|
2838 |
+
no: 'mejs.norwegian',
|
2839 |
+
fa: 'mejs.persian',
|
2840 |
+
pl: 'mejs.polish',
|
2841 |
+
pt: 'mejs.portuguese',
|
2842 |
+
ro: 'mejs.romanian',
|
2843 |
+
ru: 'mejs.russian',
|
2844 |
+
sr: 'mejs.serbian',
|
2845 |
+
sk: 'mejs.slovak',
|
2846 |
+
sl: 'mejs.slovenian',
|
2847 |
+
es: 'mejs.spanish',
|
2848 |
+
sw: 'mejs.swahili',
|
2849 |
+
sv: 'mejs.swedish',
|
2850 |
+
tl: 'mejs.tagalog',
|
2851 |
+
th: 'mejs.thai',
|
2852 |
+
tr: 'mejs.turkish',
|
2853 |
+
uk: 'mejs.ukrainian',
|
2854 |
+
vi: 'mejs.vietnamese',
|
2855 |
+
cy: 'mejs.welsh',
|
2856 |
+
yi: 'mejs.yiddish'
|
2857 |
+
}
|
2858 |
+
};
|
2859 |
+
|
2860 |
+
_mejs2.default.TrackFormatParser = {
|
2861 |
+
webvtt: {
|
2862 |
+
pattern: /^((?:[0-9]{1,2}:)?[0-9]{2}:[0-9]{2}([,.][0-9]{1,3})?) --\> ((?:[0-9]{1,2}:)?[0-9]{2}:[0-9]{2}([,.][0-9]{3})?)(.*)$/,
|
2863 |
+
|
2864 |
+
parse: function parse(trackText) {
|
2865 |
+
var lines = trackText.split(/\r?\n/),
|
2866 |
+
entries = [];
|
2867 |
+
|
2868 |
+
var timecode = void 0,
|
2869 |
+
text = void 0,
|
2870 |
+
identifier = void 0;
|
2871 |
+
|
2872 |
+
for (var i = 0, total = lines.length; i < total; i++) {
|
2873 |
+
timecode = this.pattern.exec(lines[i]);
|
2874 |
+
|
2875 |
+
if (timecode && i < lines.length) {
|
2876 |
+
if (i - 1 >= 0 && lines[i - 1] !== '') {
|
2877 |
+
identifier = lines[i - 1];
|
2878 |
+
}
|
2879 |
+
i++;
|
2880 |
+
|
2881 |
+
text = lines[i];
|
2882 |
+
i++;
|
2883 |
+
while (lines[i] !== '' && i < lines.length) {
|
2884 |
+
text = text + '\n' + lines[i];
|
2885 |
+
i++;
|
2886 |
+
}
|
2887 |
+
text = text.trim().replace(/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig, "<a href='$1' target='_blank'>$1</a>");
|
2888 |
+
entries.push({
|
2889 |
+
identifier: identifier,
|
2890 |
+
start: (0, _time.convertSMPTEtoSeconds)(timecode[1]) === 0 ? 0.200 : (0, _time.convertSMPTEtoSeconds)(timecode[1]),
|
2891 |
+
stop: (0, _time.convertSMPTEtoSeconds)(timecode[3]),
|
2892 |
+
text: text,
|
2893 |
+
settings: timecode[5]
|
2894 |
+
});
|
2895 |
+
}
|
2896 |
+
identifier = '';
|
2897 |
+
}
|
2898 |
+
return entries;
|
2899 |
+
}
|
2900 |
+
},
|
2901 |
+
|
2902 |
+
dfxp: {
|
2903 |
+
parse: function parse(trackText) {
|
2904 |
+
trackText = $(trackText).filter('tt');
|
2905 |
+
var container = trackText.firstChild,
|
2906 |
+
lines = container.querySelectorAll('p'),
|
2907 |
+
styleNode = trackText.getElementById('' + container.attr('style')),
|
2908 |
+
entries = [];
|
2909 |
+
|
2910 |
+
var styles = void 0;
|
2911 |
+
|
2912 |
+
if (styleNode.length) {
|
2913 |
+
styleNode.removeAttribute('id');
|
2914 |
+
var attributes = styleNode.attributes;
|
2915 |
+
if (attributes.length) {
|
2916 |
+
styles = {};
|
2917 |
+
for (var i = 0, total = attributes.length; i < total; i++) {
|
2918 |
+
styles[attributes[i].name.split(":")[1]] = attributes[i].value;
|
2919 |
+
}
|
2920 |
+
}
|
2921 |
+
}
|
2922 |
+
|
2923 |
+
for (var _i16 = 0, _total13 = lines.length; _i16 < _total13; _i16++) {
|
2924 |
+
var style = void 0,
|
2925 |
+
_temp = {
|
2926 |
+
start: null,
|
2927 |
+
stop: null,
|
2928 |
+
style: null,
|
2929 |
+
text: null
|
2930 |
+
};
|
2931 |
+
|
2932 |
+
if (lines.eq(_i16).attr('begin')) {
|
2933 |
+
_temp.start = (0, _time.convertSMPTEtoSeconds)(lines.eq(_i16).attr('begin'));
|
2934 |
+
}
|
2935 |
+
if (!_temp.start && lines.eq(_i16 - 1).attr('end')) {
|
2936 |
+
_temp.start = (0, _time.convertSMPTEtoSeconds)(lines.eq(_i16 - 1).attr('end'));
|
2937 |
+
}
|
2938 |
+
if (lines.eq(_i16).attr('end')) {
|
2939 |
+
_temp.stop = (0, _time.convertSMPTEtoSeconds)(lines.eq(_i16).attr('end'));
|
2940 |
+
}
|
2941 |
+
if (!_temp.stop && lines.eq(_i16 + 1).attr('begin')) {
|
2942 |
+
_temp.stop = (0, _time.convertSMPTEtoSeconds)(lines.eq(_i16 + 1).attr('begin'));
|
2943 |
+
}
|
2944 |
+
|
2945 |
+
if (styles) {
|
2946 |
+
style = '';
|
2947 |
+
for (var _style in styles) {
|
2948 |
+
style += _style + ':' + styles[_style] + ';';
|
2949 |
+
}
|
2950 |
+
}
|
2951 |
+
if (style) {
|
2952 |
+
_temp.style = style;
|
2953 |
+
}
|
2954 |
+
if (_temp.start === 0) {
|
2955 |
+
_temp.start = 0.200;
|
2956 |
+
}
|
2957 |
+
_temp.text = lines.eq(_i16).innerHTML.trim().replace(/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig, "<a href='$1' target='_blank'>$1</a>");
|
2958 |
+
entries.push(_temp);
|
2959 |
+
}
|
2960 |
+
return entries;
|
2961 |
+
}
|
2962 |
+
}
|
2963 |
+
};
|
2964 |
+
|
2965 |
+
},{"16":16,"2":2,"26":26,"27":27,"30":30,"5":5,"7":7}],14:[function(_dereq_,module,exports){
|
2966 |
+
'use strict';
|
2967 |
+
|
2968 |
+
var _document = _dereq_(2);
|
2969 |
+
|
2970 |
+
var _document2 = _interopRequireDefault(_document);
|
2971 |
+
|
2972 |
+
var _player = _dereq_(16);
|
2973 |
+
|
2974 |
+
var _player2 = _interopRequireDefault(_player);
|
2975 |
+
|
2976 |
+
var _i18n = _dereq_(5);
|
2977 |
+
|
2978 |
+
var _i18n2 = _interopRequireDefault(_i18n);
|
2979 |
+
|
2980 |
+
var _constants = _dereq_(25);
|
2981 |
+
|
2982 |
+
var _general = _dereq_(27);
|
2983 |
+
|
2984 |
+
var _dom = _dereq_(26);
|
2985 |
+
|
2986 |
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
2987 |
+
|
2988 |
+
Object.assign(_player.config, {
|
2989 |
+
muteText: null,
|
2990 |
+
|
2991 |
+
unmuteText: null,
|
2992 |
+
|
2993 |
+
allyVolumeControlText: null,
|
2994 |
+
|
2995 |
+
hideVolumeOnTouchDevices: true,
|
2996 |
+
|
2997 |
+
audioVolume: 'horizontal',
|
2998 |
+
|
2999 |
+
videoVolume: 'vertical',
|
3000 |
+
|
3001 |
+
startVolume: 0.8
|
3002 |
+
});
|
3003 |
+
|
3004 |
+
Object.assign(_player2.default.prototype, {
|
3005 |
+
buildvolume: function buildvolume(player, controls, layers, media) {
|
3006 |
+
if ((_constants.IS_ANDROID || _constants.IS_IOS) && this.options.hideVolumeOnTouchDevices) {
|
3007 |
+
return;
|
3008 |
+
}
|
3009 |
+
|
3010 |
+
var t = this,
|
3011 |
+
mode = t.isVideo ? t.options.videoVolume : t.options.audioVolume,
|
3012 |
+
muteText = (0, _general.isString)(t.options.muteText) ? t.options.muteText : _i18n2.default.t('mejs.mute'),
|
3013 |
+
unmuteText = (0, _general.isString)(t.options.unmuteText) ? t.options.unmuteText : _i18n2.default.t('mejs.unmute'),
|
3014 |
+
volumeControlText = (0, _general.isString)(t.options.allyVolumeControlText) ? t.options.allyVolumeControlText : _i18n2.default.t('mejs.volume-help-text'),
|
3015 |
+
mute = _document2.default.createElement('div');
|
3016 |
+
|
3017 |
+
mute.className = t.options.classPrefix + 'button ' + t.options.classPrefix + 'volume-button ' + t.options.classPrefix + 'mute';
|
3018 |
+
mute.innerHTML = mode === 'horizontal' ? '<button type="button" aria-controls="' + t.id + '" title="' + muteText + '" aria-label="' + muteText + '" tabindex="0"></button>' : '<button type="button" aria-controls="' + t.id + '" title="' + muteText + '" aria-label="' + muteText + '" tabindex="0"></button>' + ('<a href="javascript:void(0);" class="' + t.options.classPrefix + 'volume-slider" ') + ('aria-label="' + _i18n2.default.t('mejs.volume-slider') + '" aria-valuemin="0" aria-valuemax="100" role="slider" ') + 'aria-orientation="vertical">' + ('<span class="' + t.options.classPrefix + 'offscreen">' + volumeControlText + '</span>') + ('<div class="' + t.options.classPrefix + 'volume-total">') + ('<div class="' + t.options.classPrefix + 'volume-current"></div>') + ('<div class="' + t.options.classPrefix + 'volume-handle"></div>') + '</div>' + '</a>';
|
3019 |
+
|
3020 |
+
t.addControlElement(mute, 'volume');
|
3021 |
+
|
3022 |
+
t.options.keyActions.push({
|
3023 |
+
keys: [38],
|
3024 |
+
action: function action(player) {
|
3025 |
+
var volumeSlider = player.getElement(player.container).querySelector('.' + _player.config.classPrefix + 'volume-slider');
|
3026 |
+
if (volumeSlider || player.getElement(player.container).querySelector('.' + _player.config.classPrefix + 'volume-slider').matches(':focus')) {
|
3027 |
+
volumeSlider.style.display = 'block';
|
3028 |
+
}
|
3029 |
+
if (player.isVideo) {
|
3030 |
+
player.showControls();
|
3031 |
+
player.startControlsTimer();
|
3032 |
+
}
|
3033 |
+
|
3034 |
+
var newVolume = Math.min(player.volume + 0.1, 1);
|
3035 |
+
player.setVolume(newVolume);
|
3036 |
+
if (newVolume > 0) {
|
3037 |
+
player.setMuted(false);
|
3038 |
+
}
|
3039 |
+
}
|
3040 |
+
}, {
|
3041 |
+
keys: [40],
|
3042 |
+
action: function action(player) {
|
3043 |
+
var volumeSlider = player.getElement(player.container).querySelector('.' + _player.config.classPrefix + 'volume-slider');
|
3044 |
+
if (volumeSlider) {
|
3045 |
+
volumeSlider.style.display = 'block';
|
3046 |
+
}
|
3047 |
+
|
3048 |
+
if (player.isVideo) {
|
3049 |
+
player.showControls();
|
3050 |
+
player.startControlsTimer();
|
3051 |
+
}
|
3052 |
+
|
3053 |
+
var newVolume = Math.max(player.volume - 0.1, 0);
|
3054 |
+
player.setVolume(newVolume);
|
3055 |
+
|
3056 |
+
if (newVolume <= 0.1) {
|
3057 |
+
player.setMuted(true);
|
3058 |
+
}
|
3059 |
+
}
|
3060 |
+
}, {
|
3061 |
+
keys: [77],
|
3062 |
+
action: function action(player) {
|
3063 |
+
player.getElement(player.container).querySelector('.' + _player.config.classPrefix + 'volume-slider').style.display = 'block';
|
3064 |
+
if (player.isVideo) {
|
3065 |
+
player.showControls();
|
3066 |
+
player.startControlsTimer();
|
3067 |
+
}
|
3068 |
+
if (player.media.muted) {
|
3069 |
+
player.setMuted(false);
|
3070 |
+
} else {
|
3071 |
+
player.setMuted(true);
|
3072 |
+
}
|
3073 |
+
}
|
3074 |
+
});
|
3075 |
+
|
3076 |
+
if (mode === 'horizontal') {
|
3077 |
+
var anchor = _document2.default.createElement('a');
|
3078 |
+
anchor.className = t.options.classPrefix + 'horizontal-volume-slider';
|
3079 |
+
anchor.href = 'javascript:void(0);';
|
3080 |
+
anchor.setAttribute('aria-label', _i18n2.default.t('mejs.volume-slider'));
|
3081 |
+
anchor.setAttribute('aria-valuemin', 0);
|
3082 |
+
anchor.setAttribute('aria-valuemax', 100);
|
3083 |
+
anchor.setAttribute('role', 'slider');
|
3084 |
+
anchor.innerHTML += '<span class="' + t.options.classPrefix + 'offscreen">' + volumeControlText + '</span>' + ('<div class="' + t.options.classPrefix + 'horizontal-volume-total">') + ('<div class="' + t.options.classPrefix + 'horizontal-volume-current"></div>') + ('<div class="' + t.options.classPrefix + 'horizontal-volume-handle"></div>') + '</div>';
|
3085 |
+
mute.parentNode.insertBefore(anchor, mute.nextSibling);
|
3086 |
+
}
|
3087 |
+
|
3088 |
+
var mouseIsDown = false,
|
3089 |
+
mouseIsOver = false,
|
3090 |
+
modified = false,
|
3091 |
+
updateVolumeSlider = function updateVolumeSlider() {
|
3092 |
+
var volume = Math.floor(media.volume * 100);
|
3093 |
+
volumeSlider.setAttribute('aria-valuenow', volume);
|
3094 |
+
volumeSlider.setAttribute('aria-valuetext', volume + '%');
|
3095 |
+
};
|
3096 |
+
|
3097 |
+
var volumeSlider = mode === 'vertical' ? t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'volume-slider') : t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'horizontal-volume-slider'),
|
3098 |
+
volumeTotal = mode === 'vertical' ? t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'volume-total') : t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'horizontal-volume-total'),
|
3099 |
+
volumeCurrent = mode === 'vertical' ? t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'volume-current') : t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'horizontal-volume-current'),
|
3100 |
+
volumeHandle = mode === 'vertical' ? t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'volume-handle') : t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'horizontal-volume-handle'),
|
3101 |
+
positionVolumeHandle = function positionVolumeHandle(volume) {
|
3102 |
+
|
3103 |
+
if (volume === null || isNaN(volume) || volume === undefined) {
|
3104 |
+
return;
|
3105 |
+
}
|
3106 |
+
|
3107 |
+
volume = Math.max(0, volume);
|
3108 |
+
volume = Math.min(volume, 1);
|
3109 |
+
|
3110 |
+
if (volume === 0) {
|
3111 |
+
(0, _dom.removeClass)(mute, t.options.classPrefix + 'mute');
|
3112 |
+
(0, _dom.addClass)(mute, t.options.classPrefix + 'unmute');
|
3113 |
+
var button = mute.firstElementChild;
|
3114 |
+
button.setAttribute('title', unmuteText);
|
3115 |
+
button.setAttribute('aria-label', unmuteText);
|
3116 |
+
} else {
|
3117 |
+
(0, _dom.removeClass)(mute, t.options.classPrefix + 'unmute');
|
3118 |
+
(0, _dom.addClass)(mute, t.options.classPrefix + 'mute');
|
3119 |
+
var _button = mute.firstElementChild;
|
3120 |
+
_button.setAttribute('title', muteText);
|
3121 |
+
_button.setAttribute('aria-label', muteText);
|
3122 |
+
}
|
3123 |
+
|
3124 |
+
var volumePercentage = volume * 100 + '%',
|
3125 |
+
volumeStyles = getComputedStyle(volumeHandle);
|
3126 |
+
|
3127 |
+
if (mode === 'vertical') {
|
3128 |
+
volumeCurrent.style.bottom = 0;
|
3129 |
+
volumeCurrent.style.height = volumePercentage;
|
3130 |
+
volumeHandle.style.bottom = volumePercentage;
|
3131 |
+
volumeHandle.style.marginBottom = -parseFloat(volumeStyles.height) / 2 + 'px';
|
3132 |
+
} else {
|
3133 |
+
volumeCurrent.style.left = 0;
|
3134 |
+
volumeCurrent.style.width = volumePercentage;
|
3135 |
+
volumeHandle.style.left = volumePercentage;
|
3136 |
+
volumeHandle.style.marginLeft = -parseFloat(volumeStyles.width) / 2 + 'px';
|
3137 |
+
}
|
3138 |
+
},
|
3139 |
+
handleVolumeMove = function handleVolumeMove(e) {
|
3140 |
+
var totalOffset = (0, _dom.offset)(volumeTotal),
|
3141 |
+
volumeStyles = getComputedStyle(volumeTotal);
|
3142 |
+
|
3143 |
+
modified = true;
|
3144 |
+
|
3145 |
+
var volume = null;
|
3146 |
+
|
3147 |
+
if (mode === 'vertical') {
|
3148 |
+
var railHeight = parseFloat(volumeStyles.height),
|
3149 |
+
newY = e.pageY - totalOffset.top;
|
3150 |
+
|
3151 |
+
volume = (railHeight - newY) / railHeight;
|
3152 |
+
|
3153 |
+
if (totalOffset.top === 0 || totalOffset.left === 0) {
|
3154 |
+
return;
|
3155 |
+
}
|
3156 |
+
} else {
|
3157 |
+
var railWidth = parseFloat(volumeStyles.width),
|
3158 |
+
newX = e.pageX - totalOffset.left;
|
3159 |
+
|
3160 |
+
volume = newX / railWidth;
|
3161 |
+
}
|
3162 |
+
|
3163 |
+
volume = Math.max(0, volume);
|
3164 |
+
volume = Math.min(volume, 1);
|
3165 |
+
|
3166 |
+
positionVolumeHandle(volume);
|
3167 |
+
|
3168 |
+
t.setMuted(volume === 0);
|
3169 |
+
t.setVolume(volume);
|
3170 |
+
|
3171 |
+
e.preventDefault();
|
3172 |
+
e.stopPropagation();
|
3173 |
+
},
|
3174 |
+
toggleMute = function toggleMute() {
|
3175 |
+
if (t.muted) {
|
3176 |
+
positionVolumeHandle(0);
|
3177 |
+
(0, _dom.removeClass)(mute, t.options.classPrefix + 'mute');
|
3178 |
+
(0, _dom.addClass)(mute, t.options.classPrefix + 'unmute');
|
3179 |
+
} else {
|
3180 |
+
positionVolumeHandle(media.volume);
|
3181 |
+
(0, _dom.removeClass)(mute, t.options.classPrefix + 'unmute');
|
3182 |
+
(0, _dom.addClass)(mute, t.options.classPrefix + 'mute');
|
3183 |
+
}
|
3184 |
+
};
|
3185 |
+
|
3186 |
+
player.getElement(player.container).addEventListener('keydown', function (e) {
|
3187 |
+
var hasFocus = !!e.target.closest('.' + t.options.classPrefix + 'container');
|
3188 |
+
if (!hasFocus && mode === 'vertical') {
|
3189 |
+
volumeSlider.style.display = 'none';
|
3190 |
+
}
|
3191 |
+
});
|
3192 |
+
|
3193 |
+
mute.addEventListener('mouseenter', function (e) {
|
3194 |
+
if (e.target === mute) {
|
3195 |
+
volumeSlider.style.display = 'block';
|
3196 |
+
mouseIsOver = true;
|
3197 |
+
e.preventDefault();
|
3198 |
+
e.stopPropagation();
|
3199 |
+
}
|
3200 |
+
});
|
3201 |
+
mute.addEventListener('focusin', function () {
|
3202 |
+
volumeSlider.style.display = 'block';
|
3203 |
+
mouseIsOver = true;
|
3204 |
+
});
|
3205 |
+
|
3206 |
+
mute.addEventListener('focusout', function (e) {
|
3207 |
+
if ((!e.relatedTarget || e.relatedTarget && !e.relatedTarget.matches('.' + t.options.classPrefix + 'volume-slider')) && mode === 'vertical') {
|
3208 |
+
volumeSlider.style.display = 'none';
|
3209 |
+
}
|
3210 |
+
});
|
3211 |
+
mute.addEventListener('mouseleave', function () {
|
3212 |
+
mouseIsOver = false;
|
3213 |
+
if (!mouseIsDown && mode === 'vertical') {
|
3214 |
+
volumeSlider.style.display = 'none';
|
3215 |
+
}
|
3216 |
+
});
|
3217 |
+
mute.addEventListener('focusout', function () {
|
3218 |
+
mouseIsOver = false;
|
3219 |
+
});
|
3220 |
+
mute.addEventListener('keydown', function (e) {
|
3221 |
+
if (t.options.keyActions.length) {
|
3222 |
+
var keyCode = e.which || e.keyCode || 0,
|
3223 |
+
volume = media.volume;
|
3224 |
+
|
3225 |
+
switch (keyCode) {
|
3226 |
+
case 38:
|
3227 |
+
volume = Math.min(volume + 0.1, 1);
|
3228 |
+
break;
|
3229 |
+
case 40:
|
3230 |
+
volume = Math.max(0, volume - 0.1);
|
3231 |
+
break;
|
3232 |
+
default:
|
3233 |
+
return true;
|
3234 |
+
}
|
3235 |
+
|
3236 |
+
mouseIsDown = false;
|
3237 |
+
positionVolumeHandle(volume);
|
3238 |
+
media.setVolume(volume);
|
3239 |
+
|
3240 |
+
e.preventDefault();
|
3241 |
+
e.stopPropagation();
|
3242 |
+
}
|
3243 |
+
});
|
3244 |
+
mute.querySelector('button').addEventListener('click', function () {
|
3245 |
+
media.setMuted(!media.muted);
|
3246 |
+
var event = (0, _general.createEvent)('volumechange', media);
|
3247 |
+
media.dispatchEvent(event);
|
3248 |
+
});
|
3249 |
+
|
3250 |
+
volumeSlider.addEventListener('dragstart', function () {
|
3251 |
+
return false;
|
3252 |
+
});
|
3253 |
+
|
3254 |
+
volumeSlider.addEventListener('mouseover', function () {
|
3255 |
+
mouseIsOver = true;
|
3256 |
+
});
|
3257 |
+
volumeSlider.addEventListener('focusin', function () {
|
3258 |
+
volumeSlider.style.display = 'block';
|
3259 |
+
mouseIsOver = true;
|
3260 |
+
});
|
3261 |
+
volumeSlider.addEventListener('focusout', function () {
|
3262 |
+
mouseIsOver = false;
|
3263 |
+
if (!mouseIsDown && mode === 'vertical') {
|
3264 |
+
volumeSlider.style.display = 'none';
|
3265 |
+
}
|
3266 |
+
});
|
3267 |
+
volumeSlider.addEventListener('mousedown', function (e) {
|
3268 |
+
handleVolumeMove(e);
|
3269 |
+
t.globalBind('mousemove.vol', function (event) {
|
3270 |
+
var target = event.target;
|
3271 |
+
if (mouseIsDown && (target === volumeSlider || target.closest(mode === 'vertical' ? '.' + t.options.classPrefix + 'volume-slider' : '.' + t.options.classPrefix + 'horizontal-volume-slider'))) {
|
3272 |
+
handleVolumeMove(event);
|
3273 |
+
}
|
3274 |
+
});
|
3275 |
+
t.globalBind('mouseup.vol', function () {
|
3276 |
+
mouseIsDown = false;
|
3277 |
+
if (!mouseIsOver && mode === 'vertical') {
|
3278 |
+
volumeSlider.style.display = 'none';
|
3279 |
+
}
|
3280 |
+
});
|
3281 |
+
mouseIsDown = true;
|
3282 |
+
e.preventDefault();
|
3283 |
+
e.stopPropagation();
|
3284 |
+
});
|
3285 |
+
|
3286 |
+
media.addEventListener('volumechange', function (e) {
|
3287 |
+
if (!mouseIsDown) {
|
3288 |
+
toggleMute();
|
3289 |
+
}
|
3290 |
+
updateVolumeSlider(e);
|
3291 |
+
});
|
3292 |
+
|
3293 |
+
var rendered = false;
|
3294 |
+
media.addEventListener('rendererready', function () {
|
3295 |
+
if (!modified) {
|
3296 |
+
setTimeout(function () {
|
3297 |
+
rendered = true;
|
3298 |
+
if (player.options.startVolume === 0 || media.originalNode.muted) {
|
3299 |
+
media.setMuted(true);
|
3300 |
+
player.options.startVolume = 0;
|
3301 |
+
}
|
3302 |
+
media.setVolume(player.options.startVolume);
|
3303 |
+
t.setControlsSize();
|
3304 |
+
}, 250);
|
3305 |
+
}
|
3306 |
+
});
|
3307 |
+
|
3308 |
+
media.addEventListener('loadedmetadata', function () {
|
3309 |
+
setTimeout(function () {
|
3310 |
+
if (!modified && !rendered) {
|
3311 |
+
if (player.options.startVolume === 0 || media.originalNode.muted) {
|
3312 |
+
media.setMuted(true);
|
3313 |
+
}
|
3314 |
+
media.setVolume(player.options.startVolume);
|
3315 |
+
t.setControlsSize();
|
3316 |
+
}
|
3317 |
+
rendered = false;
|
3318 |
+
}, 250);
|
3319 |
+
});
|
3320 |
+
|
3321 |
+
if (player.options.startVolume === 0 || media.originalNode.muted) {
|
3322 |
+
media.setMuted(true);
|
3323 |
+
player.options.startVolume = 0;
|
3324 |
+
toggleMute();
|
3325 |
+
}
|
3326 |
+
|
3327 |
+
t.getElement(t.container).addEventListener('controlsresize', function () {
|
3328 |
+
toggleMute();
|
3329 |
+
});
|
3330 |
+
}
|
3331 |
+
});
|
3332 |
+
|
3333 |
+
},{"16":16,"2":2,"25":25,"26":26,"27":27,"5":5}],15:[function(_dereq_,module,exports){
|
3334 |
+
'use strict';
|
3335 |
+
|
3336 |
+
Object.defineProperty(exports, "__esModule", {
|
3337 |
+
value: true
|
3338 |
+
});
|
3339 |
+
var EN = exports.EN = {
|
3340 |
+
'mejs.plural-form': 1,
|
3341 |
+
|
3342 |
+
'mejs.download-file': 'Download File',
|
3343 |
+
|
3344 |
+
'mejs.install-flash': 'You are using a browser that does not have Flash player enabled or installed. Please turn on your Flash player plugin or download the latest version from https://get.adobe.com/flashplayer/',
|
3345 |
+
|
3346 |
+
'mejs.fullscreen': 'Fullscreen',
|
3347 |
+
|
3348 |
+
'mejs.play': 'Play',
|
3349 |
+
'mejs.pause': 'Pause',
|
3350 |
+
|
3351 |
+
'mejs.time-slider': 'Time Slider',
|
3352 |
+
'mejs.time-help-text': 'Use Left/Right Arrow keys to advance one second, Up/Down arrows to advance ten seconds.',
|
3353 |
+
'mejs.live-broadcast': 'Live Broadcast',
|
3354 |
+
|
3355 |
+
'mejs.volume-help-text': 'Use Up/Down Arrow keys to increase or decrease volume.',
|
3356 |
+
'mejs.unmute': 'Unmute',
|
3357 |
+
'mejs.mute': 'Mute',
|
3358 |
+
'mejs.volume-slider': 'Volume Slider',
|
3359 |
+
|
3360 |
+
'mejs.video-player': 'Video Player',
|
3361 |
+
'mejs.audio-player': 'Audio Player',
|
3362 |
+
|
3363 |
+
'mejs.captions-subtitles': 'Captions/Subtitles',
|
3364 |
+
'mejs.captions-chapters': 'Chapters',
|
3365 |
+
'mejs.none': 'None',
|
3366 |
+
'mejs.afrikaans': 'Afrikaans',
|
3367 |
+
'mejs.albanian': 'Albanian',
|
3368 |
+
'mejs.arabic': 'Arabic',
|
3369 |
+
'mejs.belarusian': 'Belarusian',
|
3370 |
+
'mejs.bulgarian': 'Bulgarian',
|
3371 |
+
'mejs.catalan': 'Catalan',
|
3372 |
+
'mejs.chinese': 'Chinese',
|
3373 |
+
'mejs.chinese-simplified': 'Chinese (Simplified)',
|
3374 |
+
'mejs.chinese-traditional': 'Chinese (Traditional)',
|
3375 |
+
'mejs.croatian': 'Croatian',
|
3376 |
+
'mejs.czech': 'Czech',
|
3377 |
+
'mejs.danish': 'Danish',
|
3378 |
+
'mejs.dutch': 'Dutch',
|
3379 |
+
'mejs.english': 'English',
|
3380 |
+
'mejs.estonian': 'Estonian',
|
3381 |
+
'mejs.filipino': 'Filipino',
|
3382 |
+
'mejs.finnish': 'Finnish',
|
3383 |
+
'mejs.french': 'French',
|
3384 |
+
'mejs.galician': 'Galician',
|
3385 |
+
'mejs.german': 'German',
|
3386 |
+
'mejs.greek': 'Greek',
|
3387 |
+
'mejs.haitian-creole': 'Haitian Creole',
|
3388 |
+
'mejs.hebrew': 'Hebrew',
|
3389 |
+
'mejs.hindi': 'Hindi',
|
3390 |
+
'mejs.hungarian': 'Hungarian',
|
3391 |
+
'mejs.icelandic': 'Icelandic',
|
3392 |
+
'mejs.indonesian': 'Indonesian',
|
3393 |
+
'mejs.irish': 'Irish',
|
3394 |
+
'mejs.italian': 'Italian',
|
3395 |
+
'mejs.japanese': 'Japanese',
|
3396 |
+
'mejs.korean': 'Korean',
|
3397 |
+
'mejs.latvian': 'Latvian',
|
3398 |
+
'mejs.lithuanian': 'Lithuanian',
|
3399 |
+
'mejs.macedonian': 'Macedonian',
|
3400 |
+
'mejs.malay': 'Malay',
|
3401 |
+
'mejs.maltese': 'Maltese',
|
3402 |
+
'mejs.norwegian': 'Norwegian',
|
3403 |
+
'mejs.persian': 'Persian',
|
3404 |
+
'mejs.polish': 'Polish',
|
3405 |
+
'mejs.portuguese': 'Portuguese',
|
3406 |
+
'mejs.romanian': 'Romanian',
|
3407 |
+
'mejs.russian': 'Russian',
|
3408 |
+
'mejs.serbian': 'Serbian',
|
3409 |
+
'mejs.slovak': 'Slovak',
|
3410 |
+
'mejs.slovenian': 'Slovenian',
|
3411 |
+
'mejs.spanish': 'Spanish',
|
3412 |
+
'mejs.swahili': 'Swahili',
|
3413 |
+
'mejs.swedish': 'Swedish',
|
3414 |
+
'mejs.tagalog': 'Tagalog',
|
3415 |
+
'mejs.thai': 'Thai',
|
3416 |
+
'mejs.turkish': 'Turkish',
|
3417 |
+
'mejs.ukrainian': 'Ukrainian',
|
3418 |
+
'mejs.vietnamese': 'Vietnamese',
|
3419 |
+
'mejs.welsh': 'Welsh',
|
3420 |
+
'mejs.yiddish': 'Yiddish'
|
3421 |
+
};
|
3422 |
+
|
3423 |
+
},{}],16:[function(_dereq_,module,exports){
|
3424 |
+
'use strict';
|
3425 |
+
|
3426 |
+
Object.defineProperty(exports, "__esModule", {
|
3427 |
+
value: true
|
3428 |
+
});
|
3429 |
+
exports.config = undefined;
|
3430 |
+
|
3431 |
+
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
|
3432 |
+
|
3433 |
+
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
|
3434 |
+
|
3435 |
+
var _window = _dereq_(3);
|
3436 |
+
|
3437 |
+
var _window2 = _interopRequireDefault(_window);
|
3438 |
+
|
3439 |
+
var _document = _dereq_(2);
|
3440 |
+
|
3441 |
+
var _document2 = _interopRequireDefault(_document);
|
3442 |
+
|
3443 |
+
var _mejs = _dereq_(7);
|
3444 |
+
|
3445 |
+
var _mejs2 = _interopRequireDefault(_mejs);
|
3446 |
+
|
3447 |
+
var _mediaelement = _dereq_(6);
|
3448 |
+
|
3449 |
+
var _mediaelement2 = _interopRequireDefault(_mediaelement);
|
3450 |
+
|
3451 |
+
var _default = _dereq_(17);
|
3452 |
+
|
3453 |
+
var _default2 = _interopRequireDefault(_default);
|
3454 |
+
|
3455 |
+
var _i18n = _dereq_(5);
|
3456 |
+
|
3457 |
+
var _i18n2 = _interopRequireDefault(_i18n);
|
3458 |
+
|
3459 |
+
var _constants = _dereq_(25);
|
3460 |
+
|
3461 |
+
var _general = _dereq_(27);
|
3462 |
+
|
3463 |
+
var _time = _dereq_(30);
|
3464 |
+
|
3465 |
+
var _media = _dereq_(28);
|
3466 |
+
|
3467 |
+
var _dom = _dereq_(26);
|
3468 |
+
|
3469 |
+
var dom = _interopRequireWildcard(_dom);
|
3470 |
+
|
3471 |
+
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
|
3472 |
+
|
3473 |
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
3474 |
+
|
3475 |
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
3476 |
+
|
3477 |
+
_mejs2.default.mepIndex = 0;
|
3478 |
+
|
3479 |
+
_mejs2.default.players = {};
|
3480 |
+
|
3481 |
+
var config = exports.config = {
|
3482 |
+
poster: '',
|
3483 |
+
|
3484 |
+
showPosterWhenEnded: false,
|
3485 |
+
|
3486 |
+
showPosterWhenPaused: false,
|
3487 |
+
|
3488 |
+
defaultVideoWidth: 480,
|
3489 |
+
|
3490 |
+
defaultVideoHeight: 270,
|
3491 |
+
|
3492 |
+
videoWidth: -1,
|
3493 |
+
|
3494 |
+
videoHeight: -1,
|
3495 |
+
|
3496 |
+
defaultAudioWidth: 400,
|
3497 |
+
|
3498 |
+
defaultAudioHeight: 40,
|
3499 |
+
|
3500 |
+
defaultSeekBackwardInterval: function defaultSeekBackwardInterval(media) {
|
3501 |
+
return media.getDuration() * 0.05;
|
3502 |
+
},
|
3503 |
+
|
3504 |
+
defaultSeekForwardInterval: function defaultSeekForwardInterval(media) {
|
3505 |
+
return media.getDuration() * 0.05;
|
3506 |
+
},
|
3507 |
+
|
3508 |
+
setDimensions: true,
|
3509 |
+
|
3510 |
+
audioWidth: -1,
|
3511 |
+
|
3512 |
+
audioHeight: -1,
|
3513 |
+
|
3514 |
+
loop: false,
|
3515 |
+
|
3516 |
+
autoRewind: true,
|
3517 |
+
|
3518 |
+
enableAutosize: true,
|
3519 |
+
|
3520 |
+
timeFormat: '',
|
3521 |
+
|
3522 |
+
alwaysShowHours: false,
|
3523 |
+
|
3524 |
+
showTimecodeFrameCount: false,
|
3525 |
+
|
3526 |
+
framesPerSecond: 25,
|
3527 |
+
|
3528 |
+
alwaysShowControls: false,
|
3529 |
+
|
3530 |
+
hideVideoControlsOnLoad: false,
|
3531 |
+
|
3532 |
+
hideVideoControlsOnPause: false,
|
3533 |
+
|
3534 |
+
clickToPlayPause: true,
|
3535 |
+
|
3536 |
+
controlsTimeoutDefault: 1500,
|
3537 |
+
|
3538 |
+
controlsTimeoutMouseEnter: 2500,
|
3539 |
+
|
3540 |
+
controlsTimeoutMouseLeave: 1000,
|
3541 |
+
|
3542 |
+
iPadUseNativeControls: false,
|
3543 |
+
|
3544 |
+
iPhoneUseNativeControls: false,
|
3545 |
+
|
3546 |
+
AndroidUseNativeControls: false,
|
3547 |
+
|
3548 |
+
features: ['playpause', 'current', 'progress', 'duration', 'tracks', 'volume', 'fullscreen'],
|
3549 |
+
|
3550 |
+
useDefaultControls: false,
|
3551 |
+
|
3552 |
+
isVideo: true,
|
3553 |
+
|
3554 |
+
stretching: 'auto',
|
3555 |
+
|
3556 |
+
classPrefix: 'mejs__',
|
3557 |
+
|
3558 |
+
enableKeyboard: true,
|
3559 |
+
|
3560 |
+
pauseOtherPlayers: true,
|
3561 |
+
|
3562 |
+
secondsDecimalLength: 0,
|
3563 |
+
|
3564 |
+
customError: null,
|
3565 |
+
|
3566 |
+
keyActions: [{
|
3567 |
+
keys: [32, 179],
|
3568 |
+
action: function action(player) {
|
3569 |
+
|
3570 |
+
if (!_constants.IS_FIREFOX) {
|
3571 |
+
if (player.paused || player.ended) {
|
3572 |
+
player.play();
|
3573 |
+
} else {
|
3574 |
+
player.pause();
|
3575 |
+
}
|
3576 |
+
}
|
3577 |
+
}
|
3578 |
+
}]
|
3579 |
+
};
|
3580 |
+
|
3581 |
+
_mejs2.default.MepDefaults = config;
|
3582 |
+
|
3583 |
+
var MediaElementPlayer = function () {
|
3584 |
+
function MediaElementPlayer(node, o) {
|
3585 |
+
_classCallCheck(this, MediaElementPlayer);
|
3586 |
+
|
3587 |
+
var t = this,
|
3588 |
+
element = typeof node === 'string' ? _document2.default.getElementById(node) : node;
|
3589 |
+
|
3590 |
+
if (!(t instanceof MediaElementPlayer)) {
|
3591 |
+
return new MediaElementPlayer(element, o);
|
3592 |
+
}
|
3593 |
+
|
3594 |
+
t.node = t.media = element;
|
3595 |
+
|
3596 |
+
if (!t.node) {
|
3597 |
+
return;
|
3598 |
+
}
|
3599 |
+
|
3600 |
+
if (t.media.player) {
|
3601 |
+
return t.media.player;
|
3602 |
+
}
|
3603 |
+
|
3604 |
+
t.hasFocus = false;
|
3605 |
+
|
3606 |
+
t.controlsAreVisible = true;
|
3607 |
+
|
3608 |
+
t.controlsEnabled = true;
|
3609 |
+
|
3610 |
+
t.controlsTimer = null;
|
3611 |
+
|
3612 |
+
t.currentMediaTime = 0;
|
3613 |
+
|
3614 |
+
t.proxy = null;
|
3615 |
+
|
3616 |
+
if (o === undefined) {
|
3617 |
+
var options = t.node.getAttribute('data-mejsoptions');
|
3618 |
+
o = options ? JSON.parse(options) : {};
|
3619 |
+
}
|
3620 |
+
|
3621 |
+
t.options = Object.assign({}, config, o);
|
3622 |
+
|
3623 |
+
if (t.options.loop && !t.media.getAttribute('loop')) {
|
3624 |
+
t.media.loop = true;
|
3625 |
+
t.node.loop = true;
|
3626 |
+
} else if (t.media.loop) {
|
3627 |
+
t.options.loop = true;
|
3628 |
+
}
|
3629 |
+
|
3630 |
+
if (!t.options.timeFormat) {
|
3631 |
+
t.options.timeFormat = 'mm:ss';
|
3632 |
+
if (t.options.alwaysShowHours) {
|
3633 |
+
t.options.timeFormat = 'hh:mm:ss';
|
3634 |
+
}
|
3635 |
+
if (t.options.showTimecodeFrameCount) {
|
3636 |
+
t.options.timeFormat += ':ff';
|
3637 |
+
}
|
3638 |
+
}
|
3639 |
+
|
3640 |
+
(0, _time.calculateTimeFormat)(0, t.options, t.options.framesPerSecond || 25);
|
3641 |
+
|
3642 |
+
t.id = 'mep_' + _mejs2.default.mepIndex++;
|
3643 |
+
|
3644 |
+
_mejs2.default.players[t.id] = t;
|
3645 |
+
|
3646 |
+
t.init();
|
3647 |
+
|
3648 |
+
return t;
|
3649 |
+
}
|
3650 |
+
|
3651 |
+
_createClass(MediaElementPlayer, [{
|
3652 |
+
key: 'getElement',
|
3653 |
+
value: function getElement(element) {
|
3654 |
+
return element;
|
3655 |
+
}
|
3656 |
+
}, {
|
3657 |
+
key: 'init',
|
3658 |
+
value: function init() {
|
3659 |
+
var t = this,
|
3660 |
+
playerOptions = Object.assign({}, t.options, {
|
3661 |
+
success: function success(media, domNode) {
|
3662 |
+
t._meReady(media, domNode);
|
3663 |
+
},
|
3664 |
+
error: function error(e) {
|
3665 |
+
t._handleError(e);
|
3666 |
+
}
|
3667 |
+
}),
|
3668 |
+
tagName = t.node.tagName.toLowerCase();
|
3669 |
+
|
3670 |
+
t.isDynamic = tagName !== 'audio' && tagName !== 'video' && tagName !== 'iframe';
|
3671 |
+
t.isVideo = t.isDynamic ? t.options.isVideo : tagName !== 'audio' && t.options.isVideo;
|
3672 |
+
t.mediaFiles = null;
|
3673 |
+
t.trackFiles = null;
|
3674 |
+
|
3675 |
+
if (_constants.IS_IPAD && t.options.iPadUseNativeControls || _constants.IS_IPHONE && t.options.iPhoneUseNativeControls) {
|
3676 |
+
t.node.setAttribute('controls', true);
|
3677 |
+
|
3678 |
+
if (_constants.IS_IPAD && t.node.getAttribute('autoplay')) {
|
3679 |
+
t.play();
|
3680 |
+
}
|
3681 |
+
} else if ((t.isVideo || !t.isVideo && (t.options.features.length || t.options.useDefaultControls)) && !(_constants.IS_ANDROID && t.options.AndroidUseNativeControls)) {
|
3682 |
+
t.node.removeAttribute('controls');
|
3683 |
+
var videoPlayerTitle = t.isVideo ? _i18n2.default.t('mejs.video-player') : _i18n2.default.t('mejs.audio-player');
|
3684 |
+
|
3685 |
+
var offscreen = _document2.default.createElement('span');
|
3686 |
+
offscreen.className = t.options.classPrefix + 'offscreen';
|
3687 |
+
offscreen.innerText = videoPlayerTitle;
|
3688 |
+
t.media.parentNode.insertBefore(offscreen, t.media);
|
3689 |
+
|
3690 |
+
t.container = _document2.default.createElement('div');
|
3691 |
+
t.getElement(t.container).id = t.id;
|
3692 |
+
t.getElement(t.container).className = t.options.classPrefix + 'container ' + t.options.classPrefix + 'container-keyboard-inactive ' + t.media.className;
|
3693 |
+
t.getElement(t.container).tabIndex = 0;
|
3694 |
+
t.getElement(t.container).setAttribute('role', 'application');
|
3695 |
+
t.getElement(t.container).setAttribute('aria-label', videoPlayerTitle);
|
3696 |
+
t.getElement(t.container).innerHTML = '<div class="' + t.options.classPrefix + 'inner">' + ('<div class="' + t.options.classPrefix + 'mediaelement"></div>') + ('<div class="' + t.options.classPrefix + 'layers"></div>') + ('<div class="' + t.options.classPrefix + 'controls"></div>') + '</div>';
|
3697 |
+
t.getElement(t.container).addEventListener('focus', function (e) {
|
3698 |
+
if (!t.controlsAreVisible && !t.hasFocus && t.controlsEnabled) {
|
3699 |
+
t.showControls(true);
|
3700 |
+
|
3701 |
+
var btnSelector = (0, _general.isNodeAfter)(e.relatedTarget, t.getElement(t.container)) ? '.' + t.options.classPrefix + 'controls .' + t.options.classPrefix + 'button:last-child > button' : '.' + t.options.classPrefix + 'playpause-button > button',
|
3702 |
+
button = t.getElement(t.container).querySelector(btnSelector);
|
3703 |
+
|
3704 |
+
button.focus();
|
3705 |
+
}
|
3706 |
+
});
|
3707 |
+
t.node.parentNode.insertBefore(t.getElement(t.container), t.node);
|
3708 |
+
|
3709 |
+
if (!t.options.features.length && !t.options.useDefaultControls) {
|
3710 |
+
t.getElement(t.container).style.background = 'transparent';
|
3711 |
+
t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'controls').style.display = 'none';
|
3712 |
+
}
|
3713 |
+
|
3714 |
+
if (t.isVideo && t.options.stretching === 'fill' && !dom.hasClass(t.getElement(t.container).parentNode, t.options.classPrefix + 'fill-container')) {
|
3715 |
+
t.outerContainer = t.media.parentNode;
|
3716 |
+
|
3717 |
+
var wrapper = _document2.default.createElement('div');
|
3718 |
+
wrapper.className = t.options.classPrefix + 'fill-container';
|
3719 |
+
t.getElement(t.container).parentNode.insertBefore(wrapper, t.getElement(t.container));
|
3720 |
+
wrapper.appendChild(t.getElement(t.container));
|
3721 |
+
}
|
3722 |
+
|
3723 |
+
if (_constants.IS_ANDROID) {
|
3724 |
+
dom.addClass(t.getElement(t.container), t.options.classPrefix + 'android');
|
3725 |
+
}
|
3726 |
+
if (_constants.IS_IOS) {
|
3727 |
+
dom.addClass(t.getElement(t.container), t.options.classPrefix + 'ios');
|
3728 |
+
}
|
3729 |
+
if (_constants.IS_IPAD) {
|
3730 |
+
dom.addClass(t.getElement(t.container), t.options.classPrefix + 'ipad');
|
3731 |
+
}
|
3732 |
+
if (_constants.IS_IPHONE) {
|
3733 |
+
dom.addClass(t.getElement(t.container), t.options.classPrefix + 'iphone');
|
3734 |
+
}
|
3735 |
+
dom.addClass(t.getElement(t.container), t.isVideo ? t.options.classPrefix + 'video' : t.options.classPrefix + 'audio');
|
3736 |
+
|
3737 |
+
if (_constants.IS_SAFARI && !_constants.IS_IOS) {
|
3738 |
+
|
3739 |
+
dom.addClass(t.getElement(t.container), t.options.classPrefix + 'hide-cues');
|
3740 |
+
|
3741 |
+
var cloneNode = t.node.cloneNode(),
|
3742 |
+
children = t.node.children,
|
3743 |
+
mediaFiles = [],
|
3744 |
+
tracks = [];
|
3745 |
+
|
3746 |
+
for (var i = 0, total = children.length; i < total; i++) {
|
3747 |
+
var childNode = children[i];
|
3748 |
+
|
3749 |
+
(function () {
|
3750 |
+
switch (childNode.tagName.toLowerCase()) {
|
3751 |
+
case 'source':
|
3752 |
+
var elements = {};
|
3753 |
+
Array.prototype.slice.call(childNode.attributes).forEach(function (item) {
|
3754 |
+
elements[item.name] = item.value;
|
3755 |
+
});
|
3756 |
+
elements.type = (0, _media.formatType)(elements.src, elements.type);
|
3757 |
+
mediaFiles.push(elements);
|
3758 |
+
break;
|
3759 |
+
case 'track':
|
3760 |
+
childNode.mode = 'hidden';
|
3761 |
+
tracks.push(childNode);
|
3762 |
+
break;
|
3763 |
+
default:
|
3764 |
+
cloneNode.appendChild(childNode);
|
3765 |
+
break;
|
3766 |
+
}
|
3767 |
+
})();
|
3768 |
+
}
|
3769 |
+
|
3770 |
+
t.node.remove();
|
3771 |
+
t.node = t.media = cloneNode;
|
3772 |
+
|
3773 |
+
if (mediaFiles.length) {
|
3774 |
+
t.mediaFiles = mediaFiles;
|
3775 |
+
}
|
3776 |
+
if (tracks.length) {
|
3777 |
+
t.trackFiles = tracks;
|
3778 |
+
}
|
3779 |
+
}
|
3780 |
+
|
3781 |
+
t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'mediaelement').appendChild(t.node);
|
3782 |
+
|
3783 |
+
t.media.player = t;
|
3784 |
+
|
3785 |
+
t.controls = t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'controls');
|
3786 |
+
t.layers = t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'layers');
|
3787 |
+
|
3788 |
+
var tagType = t.isVideo ? 'video' : 'audio',
|
3789 |
+
capsTagName = tagType.substring(0, 1).toUpperCase() + tagType.substring(1);
|
3790 |
+
|
3791 |
+
if (t.options[tagType + 'Width'] > 0 || t.options[tagType + 'Width'].toString().indexOf('%') > -1) {
|
3792 |
+
t.width = t.options[tagType + 'Width'];
|
3793 |
+
} else if (t.node.style.width !== '' && t.node.style.width !== null) {
|
3794 |
+
t.width = t.node.style.width;
|
3795 |
+
} else if (t.node.getAttribute('width')) {
|
3796 |
+
t.width = t.node.getAttribute('width');
|
3797 |
+
} else {
|
3798 |
+
t.width = t.options['default' + capsTagName + 'Width'];
|
3799 |
+
}
|
3800 |
+
|
3801 |
+
if (t.options[tagType + 'Height'] > 0 || t.options[tagType + 'Height'].toString().indexOf('%') > -1) {
|
3802 |
+
t.height = t.options[tagType + 'Height'];
|
3803 |
+
} else if (t.node.style.height !== '' && t.node.style.height !== null) {
|
3804 |
+
t.height = t.node.style.height;
|
3805 |
+
} else if (t.node.getAttribute('height')) {
|
3806 |
+
t.height = t.node.getAttribute('height');
|
3807 |
+
} else {
|
3808 |
+
t.height = t.options['default' + capsTagName + 'Height'];
|
3809 |
+
}
|
3810 |
+
|
3811 |
+
t.initialAspectRatio = t.height >= t.width ? t.width / t.height : t.height / t.width;
|
3812 |
+
|
3813 |
+
t.setPlayerSize(t.width, t.height);
|
3814 |
+
|
3815 |
+
playerOptions.pluginWidth = t.width;
|
3816 |
+
playerOptions.pluginHeight = t.height;
|
3817 |
+
} else if (!t.isVideo && !t.options.features.length && !t.options.useDefaultControls) {
|
3818 |
+
t.node.style.display = 'none';
|
3819 |
+
}
|
3820 |
+
|
3821 |
+
_mejs2.default.MepDefaults = playerOptions;
|
3822 |
+
|
3823 |
+
new _mediaelement2.default(t.media, playerOptions, t.mediaFiles);
|
3824 |
+
|
3825 |
+
if (t.getElement(t.container) !== undefined && t.options.features.length && t.controlsAreVisible && !t.options.hideVideoControlsOnLoad) {
|
3826 |
+
var event = (0, _general.createEvent)('controlsshown', t.getElement(t.container));
|
3827 |
+
t.getElement(t.container).dispatchEvent(event);
|
3828 |
+
}
|
3829 |
+
}
|
3830 |
+
}, {
|
3831 |
+
key: 'showControls',
|
3832 |
+
value: function showControls(doAnimation) {
|
3833 |
+
var t = this;
|
3834 |
+
|
3835 |
+
doAnimation = doAnimation === undefined || doAnimation;
|
3836 |
+
|
3837 |
+
if (t.controlsAreVisible || !t.isVideo) {
|
3838 |
+
return;
|
3839 |
+
}
|
3840 |
+
|
3841 |
+
if (doAnimation) {
|
3842 |
+
(function () {
|
3843 |
+
dom.fadeIn(t.getElement(t.controls), 200, function () {
|
3844 |
+
dom.removeClass(t.getElement(t.controls), t.options.classPrefix + 'offscreen');
|
3845 |
+
var event = (0, _general.createEvent)('controlsshown', t.getElement(t.container));
|
3846 |
+
t.getElement(t.container).dispatchEvent(event);
|
3847 |
+
});
|
3848 |
+
|
3849 |
+
var controls = t.getElement(t.container).querySelectorAll('.' + t.options.classPrefix + 'control');
|
3850 |
+
|
3851 |
+
var _loop = function _loop(i, total) {
|
3852 |
+
dom.fadeIn(controls[i], 200, function () {
|
3853 |
+
dom.removeClass(controls[i], t.options.classPrefix + 'offscreen');
|
3854 |
+
});
|
3855 |
+
};
|
3856 |
+
|
3857 |
+
for (var i = 0, total = controls.length; i < total; i++) {
|
3858 |
+
_loop(i, total);
|
3859 |
+
}
|
3860 |
+
})();
|
3861 |
+
} else {
|
3862 |
+
dom.removeClass(t.getElement(t.controls), t.options.classPrefix + 'offscreen');
|
3863 |
+
t.getElement(t.controls).style.display = '';
|
3864 |
+
t.getElement(t.controls).style.opacity = 1;
|
3865 |
+
|
3866 |
+
var controls = t.getElement(t.container).querySelectorAll('.' + t.options.classPrefix + 'control');
|
3867 |
+
for (var i = 0, total = controls.length; i < total; i++) {
|
3868 |
+
dom.removeClass(controls[i], t.options.classPrefix + 'offscreen');
|
3869 |
+
controls[i].style.display = '';
|
3870 |
+
}
|
3871 |
+
|
3872 |
+
var event = (0, _general.createEvent)('controlsshown', t.getElement(t.container));
|
3873 |
+
t.getElement(t.container).dispatchEvent(event);
|
3874 |
+
}
|
3875 |
+
|
3876 |
+
t.controlsAreVisible = true;
|
3877 |
+
t.setControlsSize();
|
3878 |
+
}
|
3879 |
+
}, {
|
3880 |
+
key: 'hideControls',
|
3881 |
+
value: function hideControls(doAnimation, forceHide) {
|
3882 |
+
var t = this;
|
3883 |
+
|
3884 |
+
doAnimation = doAnimation === undefined || doAnimation;
|
3885 |
+
|
3886 |
+
if (forceHide !== true && (!t.controlsAreVisible || t.options.alwaysShowControls || t.paused && t.readyState === 4 && (!t.options.hideVideoControlsOnLoad && t.currentTime <= 0 || !t.options.hideVideoControlsOnPause && t.currentTime > 0) || t.isVideo && !t.options.hideVideoControlsOnLoad && !t.readyState || t.ended)) {
|
3887 |
+
return;
|
3888 |
+
}
|
3889 |
+
|
3890 |
+
if (doAnimation) {
|
3891 |
+
(function () {
|
3892 |
+
dom.fadeOut(t.getElement(t.controls), 200, function () {
|
3893 |
+
dom.addClass(t.getElement(t.controls), t.options.classPrefix + 'offscreen');
|
3894 |
+
t.getElement(t.controls).style.display = '';
|
3895 |
+
var event = (0, _general.createEvent)('controlshidden', t.getElement(t.container));
|
3896 |
+
t.getElement(t.container).dispatchEvent(event);
|
3897 |
+
});
|
3898 |
+
|
3899 |
+
var controls = t.getElement(t.container).querySelectorAll('.' + t.options.classPrefix + 'control');
|
3900 |
+
|
3901 |
+
var _loop2 = function _loop2(i, total) {
|
3902 |
+
dom.fadeOut(controls[i], 200, function () {
|
3903 |
+
dom.addClass(controls[i], t.options.classPrefix + 'offscreen');
|
3904 |
+
controls[i].style.display = '';
|
3905 |
+
});
|
3906 |
+
};
|
3907 |
+
|
3908 |
+
for (var i = 0, total = controls.length; i < total; i++) {
|
3909 |
+
_loop2(i, total);
|
3910 |
+
}
|
3911 |
+
})();
|
3912 |
+
} else {
|
3913 |
+
dom.addClass(t.getElement(t.controls), t.options.classPrefix + 'offscreen');
|
3914 |
+
t.getElement(t.controls).style.display = '';
|
3915 |
+
t.getElement(t.controls).style.opacity = 0;
|
3916 |
+
|
3917 |
+
var controls = t.getElement(t.container).querySelectorAll('.' + t.options.classPrefix + 'control');
|
3918 |
+
for (var i = 0, total = controls.length; i < total; i++) {
|
3919 |
+
dom.addClass(controls[i], t.options.classPrefix + 'offscreen');
|
3920 |
+
controls[i].style.display = '';
|
3921 |
+
}
|
3922 |
+
|
3923 |
+
var event = (0, _general.createEvent)('controlshidden', t.getElement(t.container));
|
3924 |
+
t.getElement(t.container).dispatchEvent(event);
|
3925 |
+
}
|
3926 |
+
|
3927 |
+
t.controlsAreVisible = false;
|
3928 |
+
}
|
3929 |
+
}, {
|
3930 |
+
key: 'startControlsTimer',
|
3931 |
+
value: function startControlsTimer(timeout) {
|
3932 |
+
var t = this;
|
3933 |
+
|
3934 |
+
timeout = typeof timeout !== 'undefined' ? timeout : t.options.controlsTimeoutDefault;
|
3935 |
+
|
3936 |
+
t.killControlsTimer('start');
|
3937 |
+
|
3938 |
+
t.controlsTimer = setTimeout(function () {
|
3939 |
+
t.hideControls();
|
3940 |
+
t.killControlsTimer('hide');
|
3941 |
+
}, timeout);
|
3942 |
+
}
|
3943 |
+
}, {
|
3944 |
+
key: 'killControlsTimer',
|
3945 |
+
value: function killControlsTimer() {
|
3946 |
+
var t = this;
|
3947 |
+
|
3948 |
+
if (t.controlsTimer !== null) {
|
3949 |
+
clearTimeout(t.controlsTimer);
|
3950 |
+
delete t.controlsTimer;
|
3951 |
+
t.controlsTimer = null;
|
3952 |
+
}
|
3953 |
+
}
|
3954 |
+
}, {
|
3955 |
+
key: 'disableControls',
|
3956 |
+
value: function disableControls() {
|
3957 |
+
var t = this;
|
3958 |
+
|
3959 |
+
t.killControlsTimer();
|
3960 |
+
t.controlsEnabled = false;
|
3961 |
+
t.hideControls(false, true);
|
3962 |
+
}
|
3963 |
+
}, {
|
3964 |
+
key: 'enableControls',
|
3965 |
+
value: function enableControls() {
|
3966 |
+
var t = this;
|
3967 |
+
|
3968 |
+
t.controlsEnabled = true;
|
3969 |
+
t.showControls(false);
|
3970 |
+
}
|
3971 |
+
}, {
|
3972 |
+
key: '_setDefaultPlayer',
|
3973 |
+
value: function _setDefaultPlayer() {
|
3974 |
+
var t = this;
|
3975 |
+
if (t.proxy) {
|
3976 |
+
t.proxy.pause();
|
3977 |
+
}
|
3978 |
+
t.proxy = new _default2.default(t);
|
3979 |
+
t.media.addEventListener('loadedmetadata', function () {
|
3980 |
+
if (t.getCurrentTime() > 0 && t.currentMediaTime > 0) {
|
3981 |
+
t.setCurrentTime(t.currentMediaTime);
|
3982 |
+
if (!_constants.IS_IOS && !_constants.IS_ANDROID) {
|
3983 |
+
t.play();
|
3984 |
+
}
|
3985 |
+
}
|
3986 |
+
});
|
3987 |
+
}
|
3988 |
+
}, {
|
3989 |
+
key: '_meReady',
|
3990 |
+
value: function _meReady(media, domNode) {
|
3991 |
+
var t = this,
|
3992 |
+
autoplayAttr = domNode.getAttribute('autoplay'),
|
3993 |
+
autoplay = !(autoplayAttr === undefined || autoplayAttr === null || autoplayAttr === 'false'),
|
3994 |
+
isNative = media.rendererName !== null && /(native|html5)/i.test(t.media.rendererName);
|
3995 |
+
|
3996 |
+
if (t.getElement(t.controls)) {
|
3997 |
+
t.enableControls();
|
3998 |
+
}
|
3999 |
+
|
4000 |
+
if (t.getElement(t.container) && t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'overlay-play')) {
|
4001 |
+
t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'overlay-play').style.display = '';
|
4002 |
+
}
|
4003 |
+
|
4004 |
+
if (t.created) {
|
4005 |
+
return;
|
4006 |
+
}
|
4007 |
+
|
4008 |
+
t.created = true;
|
4009 |
+
t.media = media;
|
4010 |
+
t.domNode = domNode;
|
4011 |
+
|
4012 |
+
if (!(_constants.IS_ANDROID && t.options.AndroidUseNativeControls) && !(_constants.IS_IPAD && t.options.iPadUseNativeControls) && !(_constants.IS_IPHONE && t.options.iPhoneUseNativeControls)) {
|
4013 |
+
if (!t.isVideo && !t.options.features.length && !t.options.useDefaultControls) {
|
4014 |
+
if (autoplay && isNative) {
|
4015 |
+
t.play();
|
4016 |
+
}
|
4017 |
+
|
4018 |
+
if (t.options.success) {
|
4019 |
+
|
4020 |
+
if (typeof t.options.success === 'string') {
|
4021 |
+
_window2.default[t.options.success](t.media, t.domNode, t);
|
4022 |
+
} else {
|
4023 |
+
t.options.success(t.media, t.domNode, t);
|
4024 |
+
}
|
4025 |
+
}
|
4026 |
+
|
4027 |
+
return;
|
4028 |
+
}
|
4029 |
+
|
4030 |
+
t.featurePosition = {};
|
4031 |
+
|
4032 |
+
t._setDefaultPlayer();
|
4033 |
+
|
4034 |
+
t.buildposter(t, t.getElement(t.controls), t.getElement(t.layers), t.media);
|
4035 |
+
t.buildkeyboard(t, t.getElement(t.controls), t.getElement(t.layers), t.media);
|
4036 |
+
t.buildoverlays(t, t.getElement(t.controls), t.getElement(t.layers), t.media);
|
4037 |
+
|
4038 |
+
if (t.options.useDefaultControls) {
|
4039 |
+
var defaultControls = ['playpause', 'current', 'progress', 'duration', 'tracks', 'volume', 'fullscreen'];
|
4040 |
+
t.options.features = defaultControls.concat(t.options.features.filter(function (item) {
|
4041 |
+
return defaultControls.indexOf(item) === -1;
|
4042 |
+
}));
|
4043 |
+
}
|
4044 |
+
|
4045 |
+
t.buildfeatures(t, t.getElement(t.controls), t.getElement(t.layers), t.media);
|
4046 |
+
|
4047 |
+
var event = (0, _general.createEvent)('controlsready', t.getElement(t.container));
|
4048 |
+
t.getElement(t.container).dispatchEvent(event);
|
4049 |
+
|
4050 |
+
t.setPlayerSize(t.width, t.height);
|
4051 |
+
t.setControlsSize();
|
4052 |
+
|
4053 |
+
if (t.isVideo) {
|
4054 |
+
t.clickToPlayPauseCallback = function () {
|
4055 |
+
|
4056 |
+
if (t.options.clickToPlayPause) {
|
4057 |
+
var button = t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'overlay-button'),
|
4058 |
+
pressed = button.getAttribute('aria-pressed');
|
4059 |
+
|
4060 |
+
if (t.paused && pressed) {
|
4061 |
+
t.pause();
|
4062 |
+
} else if (t.paused) {
|
4063 |
+
t.play();
|
4064 |
+
} else {
|
4065 |
+
t.pause();
|
4066 |
+
}
|
4067 |
+
|
4068 |
+
button.setAttribute('aria-pressed', !pressed);
|
4069 |
+
t.getElement(t.container).focus();
|
4070 |
+
}
|
4071 |
+
};
|
4072 |
+
|
4073 |
+
t.createIframeLayer();
|
4074 |
+
|
4075 |
+
t.media.addEventListener('click', t.clickToPlayPauseCallback);
|
4076 |
+
|
4077 |
+
if ((_constants.IS_ANDROID || _constants.IS_IOS) && !t.options.alwaysShowControls) {
|
4078 |
+
t.node.addEventListener('touchstart', function () {
|
4079 |
+
if (t.controlsAreVisible) {
|
4080 |
+
t.hideControls(false);
|
4081 |
+
} else {
|
4082 |
+
if (t.controlsEnabled) {
|
4083 |
+
t.showControls(false);
|
4084 |
+
}
|
4085 |
+
}
|
4086 |
+
}, _constants.SUPPORT_PASSIVE_EVENT ? { passive: true } : false);
|
4087 |
+
} else {
|
4088 |
+
t.getElement(t.container).addEventListener('mouseenter', function () {
|
4089 |
+
if (t.controlsEnabled) {
|
4090 |
+
if (!t.options.alwaysShowControls) {
|
4091 |
+
t.killControlsTimer('enter');
|
4092 |
+
t.showControls();
|
4093 |
+
t.startControlsTimer(t.options.controlsTimeoutMouseEnter);
|
4094 |
+
}
|
4095 |
+
}
|
4096 |
+
});
|
4097 |
+
t.getElement(t.container).addEventListener('mousemove', function () {
|
4098 |
+
if (t.controlsEnabled) {
|
4099 |
+
if (!t.controlsAreVisible) {
|
4100 |
+
t.showControls();
|
4101 |
+
}
|
4102 |
+
if (!t.options.alwaysShowControls) {
|
4103 |
+
t.startControlsTimer(t.options.controlsTimeoutMouseEnter);
|
4104 |
+
}
|
4105 |
+
}
|
4106 |
+
});
|
4107 |
+
t.getElement(t.container).addEventListener('mouseleave', function () {
|
4108 |
+
if (t.controlsEnabled) {
|
4109 |
+
if (!t.paused && !t.options.alwaysShowControls) {
|
4110 |
+
t.startControlsTimer(t.options.controlsTimeoutMouseLeave);
|
4111 |
+
}
|
4112 |
+
}
|
4113 |
+
});
|
4114 |
+
}
|
4115 |
+
|
4116 |
+
if (t.options.hideVideoControlsOnLoad) {
|
4117 |
+
t.hideControls(false);
|
4118 |
+
}
|
4119 |
+
|
4120 |
+
if (t.options.enableAutosize) {
|
4121 |
+
t.media.addEventListener('loadedmetadata', function (e) {
|
4122 |
+
var target = e !== undefined ? e.detail.target || e.target : t.media;
|
4123 |
+
if (t.options.videoHeight <= 0 && !t.domNode.getAttribute('height') && !t.domNode.style.height && target !== null && !isNaN(target.videoHeight)) {
|
4124 |
+
t.setPlayerSize(target.videoWidth, target.videoHeight);
|
4125 |
+
t.setControlsSize();
|
4126 |
+
t.media.setSize(target.videoWidth, target.videoHeight);
|
4127 |
+
}
|
4128 |
+
});
|
4129 |
+
}
|
4130 |
+
}
|
4131 |
+
|
4132 |
+
t.media.addEventListener('play', function () {
|
4133 |
+
t.hasFocus = true;
|
4134 |
+
|
4135 |
+
for (var playerIndex in _mejs2.default.players) {
|
4136 |
+
if (_mejs2.default.players.hasOwnProperty(playerIndex)) {
|
4137 |
+
var p = _mejs2.default.players[playerIndex];
|
4138 |
+
|
4139 |
+
if (p.id !== t.id && t.options.pauseOtherPlayers && !p.paused && !p.ended) {
|
4140 |
+
p.pause();
|
4141 |
+
p.hasFocus = false;
|
4142 |
+
}
|
4143 |
+
}
|
4144 |
+
}
|
4145 |
+
|
4146 |
+
if (!(_constants.IS_ANDROID || _constants.IS_IOS) && !t.options.alwaysShowControls && t.isVideo) {
|
4147 |
+
t.hideControls();
|
4148 |
+
}
|
4149 |
+
});
|
4150 |
+
|
4151 |
+
t.media.addEventListener('ended', function () {
|
4152 |
+
if (t.options.autoRewind) {
|
4153 |
+
try {
|
4154 |
+
t.setCurrentTime(0);
|
4155 |
+
|
4156 |
+
setTimeout(function () {
|
4157 |
+
var loadingElement = t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'overlay-loading');
|
4158 |
+
if (loadingElement && loadingElement.parentNode) {
|
4159 |
+
loadingElement.parentNode.style.display = 'none';
|
4160 |
+
}
|
4161 |
+
}, 20);
|
4162 |
+
} catch (exp) {
|
4163 |
+
|
4164 |
+
}
|
4165 |
+
}
|
4166 |
+
|
4167 |
+
if (typeof t.media.renderer.stop === 'function') {
|
4168 |
+
t.media.renderer.stop();
|
4169 |
+
} else {
|
4170 |
+
t.pause();
|
4171 |
+
}
|
4172 |
+
|
4173 |
+
if (t.setProgressRail) {
|
4174 |
+
t.setProgressRail();
|
4175 |
+
}
|
4176 |
+
if (t.setCurrentRail) {
|
4177 |
+
t.setCurrentRail();
|
4178 |
+
}
|
4179 |
+
|
4180 |
+
if (t.options.loop) {
|
4181 |
+
t.play();
|
4182 |
+
} else if (!t.options.alwaysShowControls && t.controlsEnabled) {
|
4183 |
+
t.showControls();
|
4184 |
+
}
|
4185 |
+
});
|
4186 |
+
|
4187 |
+
t.media.addEventListener('loadedmetadata', function () {
|
4188 |
+
|
4189 |
+
(0, _time.calculateTimeFormat)(t.getDuration(), t.options, t.options.framesPerSecond || 25);
|
4190 |
+
|
4191 |
+
if (t.updateDuration) {
|
4192 |
+
t.updateDuration();
|
4193 |
+
}
|
4194 |
+
if (t.updateCurrent) {
|
4195 |
+
t.updateCurrent();
|
4196 |
+
}
|
4197 |
+
|
4198 |
+
if (!t.isFullScreen) {
|
4199 |
+
t.setPlayerSize(t.width, t.height);
|
4200 |
+
t.setControlsSize();
|
4201 |
+
}
|
4202 |
+
});
|
4203 |
+
|
4204 |
+
var duration = null;
|
4205 |
+
t.media.addEventListener('timeupdate', function () {
|
4206 |
+
if (!isNaN(t.getDuration()) && duration !== t.getDuration()) {
|
4207 |
+
duration = t.getDuration();
|
4208 |
+
(0, _time.calculateTimeFormat)(duration, t.options, t.options.framesPerSecond || 25);
|
4209 |
+
|
4210 |
+
if (t.updateDuration) {
|
4211 |
+
t.updateDuration();
|
4212 |
+
}
|
4213 |
+
if (t.updateCurrent) {
|
4214 |
+
t.updateCurrent();
|
4215 |
+
}
|
4216 |
+
|
4217 |
+
t.setControlsSize();
|
4218 |
+
}
|
4219 |
+
});
|
4220 |
+
|
4221 |
+
t.getElement(t.container).addEventListener('click', function (e) {
|
4222 |
+
dom.addClass(e.currentTarget, t.options.classPrefix + 'container-keyboard-inactive');
|
4223 |
+
});
|
4224 |
+
|
4225 |
+
t.getElement(t.container).addEventListener('focusin', function (e) {
|
4226 |
+
dom.removeClass(e.currentTarget, t.options.classPrefix + 'container-keyboard-inactive');
|
4227 |
+
if (t.isVideo && !_constants.IS_ANDROID && !_constants.IS_IOS && t.controlsEnabled && !t.options.alwaysShowControls) {
|
4228 |
+
t.killControlsTimer('enter');
|
4229 |
+
t.showControls();
|
4230 |
+
t.startControlsTimer(t.options.controlsTimeoutMouseEnter);
|
4231 |
+
}
|
4232 |
+
});
|
4233 |
+
|
4234 |
+
t.getElement(t.container).addEventListener('focusout', function (e) {
|
4235 |
+
setTimeout(function () {
|
4236 |
+
if (e.relatedTarget) {
|
4237 |
+
if (t.keyboardAction && !e.relatedTarget.closest('.' + t.options.classPrefix + 'container')) {
|
4238 |
+
t.keyboardAction = false;
|
4239 |
+
if (t.isVideo && !t.options.alwaysShowControls && !t.paused) {
|
4240 |
+
t.startControlsTimer(t.options.controlsTimeoutMouseLeave);
|
4241 |
+
}
|
4242 |
+
}
|
4243 |
+
}
|
4244 |
+
}, 0);
|
4245 |
+
});
|
4246 |
+
|
4247 |
+
setTimeout(function () {
|
4248 |
+
t.setPlayerSize(t.width, t.height);
|
4249 |
+
t.setControlsSize();
|
4250 |
+
}, 0);
|
4251 |
+
|
4252 |
+
t.globalResizeCallback = function () {
|
4253 |
+
if (!(t.isFullScreen || _constants.HAS_TRUE_NATIVE_FULLSCREEN && _document2.default.webkitIsFullScreen)) {
|
4254 |
+
t.setPlayerSize(t.width, t.height);
|
4255 |
+
}
|
4256 |
+
|
4257 |
+
t.setControlsSize();
|
4258 |
+
};
|
4259 |
+
|
4260 |
+
t.globalBind('resize', t.globalResizeCallback);
|
4261 |
+
}
|
4262 |
+
|
4263 |
+
if (autoplay && isNative) {
|
4264 |
+
t.play();
|
4265 |
+
}
|
4266 |
+
|
4267 |
+
if (t.options.success) {
|
4268 |
+
if (typeof t.options.success === 'string') {
|
4269 |
+
_window2.default[t.options.success](t.media, t.domNode, t);
|
4270 |
+
} else {
|
4271 |
+
t.options.success(t.media, t.domNode, t);
|
4272 |
+
}
|
4273 |
+
}
|
4274 |
+
}
|
4275 |
+
}, {
|
4276 |
+
key: '_handleError',
|
4277 |
+
value: function _handleError(e, media, node) {
|
4278 |
+
var t = this,
|
4279 |
+
play = t.getElement(t.layers).querySelector('.' + t.options.classPrefix + 'overlay-play');
|
4280 |
+
|
4281 |
+
if (play) {
|
4282 |
+
play.style.display = 'none';
|
4283 |
+
}
|
4284 |
+
|
4285 |
+
if (t.options.error) {
|
4286 |
+
t.options.error(e, media, node);
|
4287 |
+
}
|
4288 |
+
|
4289 |
+
if (t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'cannotplay')) {
|
4290 |
+
t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'cannotplay').remove();
|
4291 |
+
}
|
4292 |
+
|
4293 |
+
var errorContainer = _document2.default.createElement('div');
|
4294 |
+
errorContainer.className = t.options.classPrefix + 'cannotplay';
|
4295 |
+
errorContainer.style.width = '100%';
|
4296 |
+
errorContainer.style.height = '100%';
|
4297 |
+
|
4298 |
+
var errorContent = typeof t.options.customError === 'function' ? t.options.customError(t.media, t.media.originalNode) : t.options.customError,
|
4299 |
+
imgError = '';
|
4300 |
+
|
4301 |
+
if (!errorContent) {
|
4302 |
+
var poster = t.media.originalNode.getAttribute('poster');
|
4303 |
+
if (poster) {
|
4304 |
+
imgError = '<img src="' + poster + '" alt="' + _mejs2.default.i18n.t('mejs.download-file') + '">';
|
4305 |
+
}
|
4306 |
+
|
4307 |
+
if (e.message) {
|
4308 |
+
errorContent = '<p>' + e.message + '</p>';
|
4309 |
+
}
|
4310 |
+
|
4311 |
+
if (e.urls) {
|
4312 |
+
for (var i = 0, total = e.urls.length; i < total; i++) {
|
4313 |
+
var url = e.urls[i];
|
4314 |
+
errorContent += '<a href="' + url.src + '" data-type="' + url.type + '"><span>' + _mejs2.default.i18n.t('mejs.download-file') + ': ' + url.src + '</span></a>';
|
4315 |
+
}
|
4316 |
+
}
|
4317 |
+
}
|
4318 |
+
|
4319 |
+
if (errorContent && t.getElement(t.layers).querySelector('.' + t.options.classPrefix + 'overlay-error')) {
|
4320 |
+
errorContainer.innerHTML = errorContent;
|
4321 |
+
t.getElement(t.layers).querySelector('.' + t.options.classPrefix + 'overlay-error').innerHTML = '' + imgError + errorContainer.outerHTML;
|
4322 |
+
t.getElement(t.layers).querySelector('.' + t.options.classPrefix + 'overlay-error').parentNode.style.display = 'block';
|
4323 |
+
}
|
4324 |
+
|
4325 |
+
if (t.controlsEnabled) {
|
4326 |
+
t.disableControls();
|
4327 |
+
}
|
4328 |
+
}
|
4329 |
+
}, {
|
4330 |
+
key: 'setPlayerSize',
|
4331 |
+
value: function setPlayerSize(width, height) {
|
4332 |
+
var t = this;
|
4333 |
+
|
4334 |
+
if (!t.options.setDimensions) {
|
4335 |
+
return false;
|
4336 |
+
}
|
4337 |
+
|
4338 |
+
if (typeof width !== 'undefined') {
|
4339 |
+
t.width = width;
|
4340 |
+
}
|
4341 |
+
|
4342 |
+
if (typeof height !== 'undefined') {
|
4343 |
+
t.height = height;
|
4344 |
+
}
|
4345 |
+
|
4346 |
+
switch (t.options.stretching) {
|
4347 |
+
case 'fill':
|
4348 |
+
if (t.isVideo) {
|
4349 |
+
t.setFillMode();
|
4350 |
+
} else {
|
4351 |
+
t.setDimensions(t.width, t.height);
|
4352 |
+
}
|
4353 |
+
break;
|
4354 |
+
case 'responsive':
|
4355 |
+
t.setResponsiveMode();
|
4356 |
+
break;
|
4357 |
+
case 'none':
|
4358 |
+
t.setDimensions(t.width, t.height);
|
4359 |
+
break;
|
4360 |
+
|
4361 |
+
default:
|
4362 |
+
if (t.hasFluidMode() === true) {
|
4363 |
+
t.setResponsiveMode();
|
4364 |
+
} else {
|
4365 |
+
t.setDimensions(t.width, t.height);
|
4366 |
+
}
|
4367 |
+
break;
|
4368 |
+
}
|
4369 |
+
}
|
4370 |
+
}, {
|
4371 |
+
key: 'hasFluidMode',
|
4372 |
+
value: function hasFluidMode() {
|
4373 |
+
var t = this;
|
4374 |
+
|
4375 |
+
return t.height.toString().indexOf('%') !== -1 || t.node && t.node.style.maxWidth && t.node.style.maxWidth !== 'none' && t.node.style.maxWidth !== t.width || t.node && t.node.currentStyle && t.node.currentStyle.maxWidth === '100%';
|
4376 |
+
}
|
4377 |
+
}, {
|
4378 |
+
key: 'setResponsiveMode',
|
4379 |
+
value: function setResponsiveMode() {
|
4380 |
+
var t = this,
|
4381 |
+
parent = function () {
|
4382 |
+
|
4383 |
+
var parentEl = void 0,
|
4384 |
+
el = t.getElement(t.container);
|
4385 |
+
|
4386 |
+
while (el) {
|
4387 |
+
try {
|
4388 |
+
if (_constants.IS_FIREFOX && el.tagName.toLowerCase() === 'html' && _window2.default.self !== _window2.default.top && _window2.default.frameElement !== null) {
|
4389 |
+
return _window2.default.frameElement;
|
4390 |
+
} else {
|
4391 |
+
parentEl = el.parentElement;
|
4392 |
+
}
|
4393 |
+
} catch (e) {
|
4394 |
+
parentEl = el.parentElement;
|
4395 |
+
}
|
4396 |
+
|
4397 |
+
if (parentEl && dom.visible(parentEl)) {
|
4398 |
+
return parentEl;
|
4399 |
+
}
|
4400 |
+
el = parentEl;
|
4401 |
+
}
|
4402 |
+
|
4403 |
+
return null;
|
4404 |
+
}(),
|
4405 |
+
parentStyles = parent ? getComputedStyle(parent, null) : getComputedStyle(_document2.default.body, null),
|
4406 |
+
nativeWidth = function () {
|
4407 |
+
if (t.isVideo) {
|
4408 |
+
if (t.node.videoWidth && t.node.videoWidth > 0) {
|
4409 |
+
return t.node.videoWidth;
|
4410 |
+
} else if (t.node.getAttribute('width')) {
|
4411 |
+
return t.node.getAttribute('width');
|
4412 |
+
} else {
|
4413 |
+
return t.options.defaultVideoWidth;
|
4414 |
+
}
|
4415 |
+
} else {
|
4416 |
+
return t.options.defaultAudioWidth;
|
4417 |
+
}
|
4418 |
+
}(),
|
4419 |
+
nativeHeight = function () {
|
4420 |
+
if (t.isVideo) {
|
4421 |
+
if (t.node.videoHeight && t.node.videoHeight > 0) {
|
4422 |
+
return t.node.videoHeight;
|
4423 |
+
} else if (t.node.getAttribute('height')) {
|
4424 |
+
return t.node.getAttribute('height');
|
4425 |
+
} else {
|
4426 |
+
return t.options.defaultVideoHeight;
|
4427 |
+
}
|
4428 |
+
} else {
|
4429 |
+
return t.options.defaultAudioHeight;
|
4430 |
+
}
|
4431 |
+
}(),
|
4432 |
+
aspectRatio = function () {
|
4433 |
+
var ratio = 1;
|
4434 |
+
if (!t.isVideo) {
|
4435 |
+
return ratio;
|
4436 |
+
}
|
4437 |
+
|
4438 |
+
if (t.node.videoWidth && t.node.videoWidth > 0 && t.node.videoHeight && t.node.videoHeight > 0) {
|
4439 |
+
ratio = t.height >= t.width ? t.node.videoWidth / t.node.videoHeight : t.node.videoHeight / t.node.videoWidth;
|
4440 |
+
} else {
|
4441 |
+
ratio = t.initialAspectRatio;
|
4442 |
+
}
|
4443 |
+
|
4444 |
+
if (isNaN(ratio) || ratio < 0.01 || ratio > 100) {
|
4445 |
+
ratio = 1;
|
4446 |
+
}
|
4447 |
+
|
4448 |
+
return ratio;
|
4449 |
+
}(),
|
4450 |
+
parentHeight = parseFloat(parentStyles.height);
|
4451 |
+
|
4452 |
+
var newHeight = void 0,
|
4453 |
+
parentWidth = parseFloat(parentStyles.width);
|
4454 |
+
|
4455 |
+
if (t.isVideo) {
|
4456 |
+
if (t.height === '100%') {
|
4457 |
+
newHeight = parseFloat(parentWidth * nativeHeight / nativeWidth, 10);
|
4458 |
+
} else {
|
4459 |
+
newHeight = t.height >= t.width ? parseFloat(parentWidth / aspectRatio, 10) : parseFloat(parentWidth * aspectRatio, 10);
|
4460 |
+
}
|
4461 |
+
} else {
|
4462 |
+
newHeight = nativeHeight;
|
4463 |
+
}
|
4464 |
+
|
4465 |
+
if (isNaN(newHeight)) {
|
4466 |
+
newHeight = parentHeight;
|
4467 |
+
}
|
4468 |
+
|
4469 |
+
if (t.getElement(t.container).parentNode.length > 0 && t.getElement(t.container).parentNode.tagName.toLowerCase() === 'body') {
|
4470 |
+
parentWidth = _window2.default.innerWidth || _document2.default.documentElement.clientWidth || _document2.default.body.clientWidth;
|
4471 |
+
newHeight = _window2.default.innerHeight || _document2.default.documentElement.clientHeight || _document2.default.body.clientHeight;
|
4472 |
+
}
|
4473 |
+
|
4474 |
+
if (newHeight && parentWidth) {
|
4475 |
+
t.getElement(t.container).style.width = parentWidth + 'px';
|
4476 |
+
t.getElement(t.container).style.height = newHeight + 'px';
|
4477 |
+
|
4478 |
+
t.node.style.width = '100%';
|
4479 |
+
t.node.style.height = '100%';
|
4480 |
+
|
4481 |
+
if (t.isVideo && t.media.setSize) {
|
4482 |
+
t.media.setSize(parentWidth, newHeight);
|
4483 |
+
}
|
4484 |
+
|
4485 |
+
var layerChildren = t.getElement(t.layers).children;
|
4486 |
+
for (var i = 0, total = layerChildren.length; i < total; i++) {
|
4487 |
+
layerChildren[i].style.width = '100%';
|
4488 |
+
layerChildren[i].style.height = '100%';
|
4489 |
+
}
|
4490 |
+
}
|
4491 |
+
}
|
4492 |
+
}, {
|
4493 |
+
key: 'setFillMode',
|
4494 |
+
value: function setFillMode() {
|
4495 |
+
var t = this;
|
4496 |
+
var isIframe = _window2.default.self !== _window2.default.top && _window2.default.frameElement !== null;
|
4497 |
+
var parent = function () {
|
4498 |
+
var parentEl = void 0,
|
4499 |
+
el = t.getElement(t.container);
|
4500 |
+
|
4501 |
+
while (el) {
|
4502 |
+
try {
|
4503 |
+
if (_constants.IS_FIREFOX && el.tagName.toLowerCase() === 'html' && _window2.default.self !== _window2.default.top && _window2.default.frameElement !== null) {
|
4504 |
+
return _window2.default.frameElement;
|
4505 |
+
} else {
|
4506 |
+
parentEl = el.parentElement;
|
4507 |
+
}
|
4508 |
+
} catch (e) {
|
4509 |
+
parentEl = el.parentElement;
|
4510 |
+
}
|
4511 |
+
|
4512 |
+
if (parentEl && dom.visible(parentEl)) {
|
4513 |
+
return parentEl;
|
4514 |
+
}
|
4515 |
+
el = parentEl;
|
4516 |
+
}
|
4517 |
+
|
4518 |
+
return null;
|
4519 |
+
}();
|
4520 |
+
var parentStyles = parent ? getComputedStyle(parent, null) : getComputedStyle(_document2.default.body, null);
|
4521 |
+
|
4522 |
+
if (t.node.style.height !== 'none' && t.node.style.height !== t.height) {
|
4523 |
+
t.node.style.height = 'auto';
|
4524 |
+
}
|
4525 |
+
if (t.node.style.maxWidth !== 'none' && t.node.style.maxWidth !== t.width) {
|
4526 |
+
t.node.style.maxWidth = 'none';
|
4527 |
+
}
|
4528 |
+
|
4529 |
+
if (t.node.style.maxHeight !== 'none' && t.node.style.maxHeight !== t.height) {
|
4530 |
+
t.node.style.maxHeight = 'none';
|
4531 |
+
}
|
4532 |
+
|
4533 |
+
if (t.node.currentStyle) {
|
4534 |
+
if (t.node.currentStyle.height === '100%') {
|
4535 |
+
t.node.currentStyle.height = 'auto';
|
4536 |
+
}
|
4537 |
+
if (t.node.currentStyle.maxWidth === '100%') {
|
4538 |
+
t.node.currentStyle.maxWidth = 'none';
|
4539 |
+
}
|
4540 |
+
if (t.node.currentStyle.maxHeight === '100%') {
|
4541 |
+
t.node.currentStyle.maxHeight = 'none';
|
4542 |
+
}
|
4543 |
+
}
|
4544 |
+
|
4545 |
+
if (!isIframe && !parseFloat(parentStyles.width)) {
|
4546 |
+
parent.style.width = t.media.offsetWidth + 'px';
|
4547 |
+
}
|
4548 |
+
|
4549 |
+
if (!isIframe && !parseFloat(parentStyles.height)) {
|
4550 |
+
parent.style.height = t.media.offsetHeight + 'px';
|
4551 |
+
}
|
4552 |
+
|
4553 |
+
parentStyles = getComputedStyle(parent);
|
4554 |
+
|
4555 |
+
var parentWidth = parseFloat(parentStyles.width),
|
4556 |
+
parentHeight = parseFloat(parentStyles.height);
|
4557 |
+
|
4558 |
+
t.setDimensions('100%', '100%');
|
4559 |
+
|
4560 |
+
var poster = t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'poster>img');
|
4561 |
+
if (poster) {
|
4562 |
+
poster.style.display = '';
|
4563 |
+
}
|
4564 |
+
|
4565 |
+
var targetElement = t.getElement(t.container).querySelectorAll('object, embed, iframe, video'),
|
4566 |
+
initHeight = t.height,
|
4567 |
+
initWidth = t.width,
|
4568 |
+
scaleX1 = parentWidth,
|
4569 |
+
scaleY1 = initHeight * parentWidth / initWidth,
|
4570 |
+
scaleX2 = initWidth * parentHeight / initHeight,
|
4571 |
+
scaleY2 = parentHeight,
|
4572 |
+
bScaleOnWidth = scaleX2 > parentWidth === false,
|
4573 |
+
finalWidth = bScaleOnWidth ? Math.floor(scaleX1) : Math.floor(scaleX2),
|
4574 |
+
finalHeight = bScaleOnWidth ? Math.floor(scaleY1) : Math.floor(scaleY2),
|
4575 |
+
width = bScaleOnWidth ? parentWidth + 'px' : finalWidth + 'px',
|
4576 |
+
height = bScaleOnWidth ? finalHeight + 'px' : parentHeight + 'px';
|
4577 |
+
|
4578 |
+
for (var i = 0, total = targetElement.length; i < total; i++) {
|
4579 |
+
targetElement[i].style.height = height;
|
4580 |
+
targetElement[i].style.width = width;
|
4581 |
+
if (t.media.setSize) {
|
4582 |
+
t.media.setSize(width, height);
|
4583 |
+
}
|
4584 |
+
|
4585 |
+
targetElement[i].style.marginLeft = Math.floor((parentWidth - finalWidth) / 2) + 'px';
|
4586 |
+
targetElement[i].style.marginTop = 0;
|
4587 |
+
}
|
4588 |
+
}
|
4589 |
+
}, {
|
4590 |
+
key: 'setDimensions',
|
4591 |
+
value: function setDimensions(width, height) {
|
4592 |
+
var t = this;
|
4593 |
+
|
4594 |
+
width = (0, _general.isString)(width) && width.indexOf('%') > -1 ? width : parseFloat(width) + 'px';
|
4595 |
+
height = (0, _general.isString)(height) && height.indexOf('%') > -1 ? height : parseFloat(height) + 'px';
|
4596 |
+
|
4597 |
+
t.getElement(t.container).style.width = width;
|
4598 |
+
t.getElement(t.container).style.height = height;
|
4599 |
+
|
4600 |
+
var layers = t.getElement(t.layers).children;
|
4601 |
+
for (var i = 0, total = layers.length; i < total; i++) {
|
4602 |
+
layers[i].style.width = width;
|
4603 |
+
layers[i].style.height = height;
|
4604 |
+
}
|
4605 |
+
}
|
4606 |
+
}, {
|
4607 |
+
key: 'setControlsSize',
|
4608 |
+
value: function setControlsSize() {
|
4609 |
+
var t = this;
|
4610 |
+
|
4611 |
+
if (!dom.visible(t.getElement(t.container))) {
|
4612 |
+
return;
|
4613 |
+
}
|
4614 |
+
|
4615 |
+
if (t.rail && dom.visible(t.rail)) {
|
4616 |
+
var totalStyles = t.total ? getComputedStyle(t.total, null) : null,
|
4617 |
+
totalMargin = totalStyles ? parseFloat(totalStyles.marginLeft) + parseFloat(totalStyles.marginRight) : 0,
|
4618 |
+
railStyles = getComputedStyle(t.rail),
|
4619 |
+
railMargin = parseFloat(railStyles.marginLeft) + parseFloat(railStyles.marginRight);
|
4620 |
+
|
4621 |
+
var siblingsWidth = 0;
|
4622 |
+
|
4623 |
+
var siblings = dom.siblings(t.rail, function (el) {
|
4624 |
+
return el !== t.rail;
|
4625 |
+
}),
|
4626 |
+
total = siblings.length;
|
4627 |
+
for (var i = 0; i < total; i++) {
|
4628 |
+
siblingsWidth += siblings[i].offsetWidth;
|
4629 |
+
}
|
4630 |
+
|
4631 |
+
siblingsWidth += totalMargin + (totalMargin === 0 ? railMargin * 2 : railMargin) + 1;
|
4632 |
+
|
4633 |
+
t.getElement(t.container).style.minWidth = siblingsWidth + 'px';
|
4634 |
+
|
4635 |
+
var event = (0, _general.createEvent)('controlsresize', t.getElement(t.container));
|
4636 |
+
t.getElement(t.container).dispatchEvent(event);
|
4637 |
+
} else {
|
4638 |
+
var children = t.getElement(t.controls).children;
|
4639 |
+
var minWidth = 0;
|
4640 |
+
|
4641 |
+
for (var _i = 0, _total = children.length; _i < _total; _i++) {
|
4642 |
+
minWidth += children[_i].offsetWidth;
|
4643 |
+
}
|
4644 |
+
|
4645 |
+
t.getElement(t.container).style.minWidth = minWidth + 'px';
|
4646 |
+
}
|
4647 |
+
}
|
4648 |
+
}, {
|
4649 |
+
key: 'addControlElement',
|
4650 |
+
value: function addControlElement(element, key) {
|
4651 |
+
|
4652 |
+
var t = this;
|
4653 |
+
|
4654 |
+
if (t.featurePosition[key] !== undefined) {
|
4655 |
+
var child = t.getElement(t.controls).children[t.featurePosition[key] - 1];
|
4656 |
+
child.parentNode.insertBefore(element, child.nextSibling);
|
4657 |
+
} else {
|
4658 |
+
t.getElement(t.controls).appendChild(element);
|
4659 |
+
var children = t.getElement(t.controls).children;
|
4660 |
+
for (var i = 0, total = children.length; i < total; i++) {
|
4661 |
+
if (element === children[i]) {
|
4662 |
+
t.featurePosition[key] = i;
|
4663 |
+
break;
|
4664 |
+
}
|
4665 |
+
}
|
4666 |
+
}
|
4667 |
+
}
|
4668 |
+
}, {
|
4669 |
+
key: 'createIframeLayer',
|
4670 |
+
value: function createIframeLayer() {
|
4671 |
+
var t = this;
|
4672 |
+
|
4673 |
+
if (t.isVideo && t.media.rendererName !== null && t.media.rendererName.indexOf('iframe') > -1 && !_document2.default.getElementById(t.media.id + '-iframe-overlay')) {
|
4674 |
+
|
4675 |
+
var layer = _document2.default.createElement('div'),
|
4676 |
+
target = _document2.default.getElementById(t.media.id + '_' + t.media.rendererName);
|
4677 |
+
|
4678 |
+
layer.id = t.media.id + '-iframe-overlay';
|
4679 |
+
layer.className = t.options.classPrefix + 'iframe-overlay';
|
4680 |
+
layer.addEventListener('click', function (e) {
|
4681 |
+
if (t.options.clickToPlayPause) {
|
4682 |
+
if (t.paused) {
|
4683 |
+
t.play();
|
4684 |
+
} else {
|
4685 |
+
t.pause();
|
4686 |
+
}
|
4687 |
+
|
4688 |
+
e.preventDefault();
|
4689 |
+
e.stopPropagation();
|
4690 |
+
}
|
4691 |
+
});
|
4692 |
+
|
4693 |
+
target.parentNode.insertBefore(layer, target);
|
4694 |
+
}
|
4695 |
+
}
|
4696 |
+
}, {
|
4697 |
+
key: 'resetSize',
|
4698 |
+
value: function resetSize() {
|
4699 |
+
var t = this;
|
4700 |
+
|
4701 |
+
setTimeout(function () {
|
4702 |
+
t.setPlayerSize(t.width, t.height);
|
4703 |
+
t.setControlsSize();
|
4704 |
+
}, 50);
|
4705 |
+
}
|
4706 |
+
}, {
|
4707 |
+
key: 'setPoster',
|
4708 |
+
value: function setPoster(url) {
|
4709 |
+
var t = this;
|
4710 |
+
|
4711 |
+
if (t.getElement(t.container)) {
|
4712 |
+
var posterDiv = t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'poster');
|
4713 |
+
|
4714 |
+
if (!posterDiv) {
|
4715 |
+
posterDiv = _document2.default.createElement('div');
|
4716 |
+
posterDiv.className = t.options.classPrefix + 'poster ' + t.options.classPrefix + 'layer';
|
4717 |
+
t.getElement(t.layers).appendChild(posterDiv);
|
4718 |
+
}
|
4719 |
+
|
4720 |
+
var posterImg = posterDiv.querySelector('img');
|
4721 |
+
|
4722 |
+
if (!posterImg && url) {
|
4723 |
+
posterImg = _document2.default.createElement('img');
|
4724 |
+
posterImg.className = t.options.classPrefix + 'poster-img';
|
4725 |
+
posterImg.width = '100%';
|
4726 |
+
posterImg.height = '100%';
|
4727 |
+
posterDiv.style.display = '';
|
4728 |
+
posterDiv.appendChild(posterImg);
|
4729 |
+
}
|
4730 |
+
|
4731 |
+
if (url) {
|
4732 |
+
posterImg.setAttribute('src', url);
|
4733 |
+
posterDiv.style.backgroundImage = 'url("' + url + '")';
|
4734 |
+
posterDiv.style.display = '';
|
4735 |
+
} else if (posterImg) {
|
4736 |
+
posterDiv.style.backgroundImage = 'none';
|
4737 |
+
posterDiv.style.display = 'none';
|
4738 |
+
posterImg.remove();
|
4739 |
+
} else {
|
4740 |
+
posterDiv.style.display = 'none';
|
4741 |
+
}
|
4742 |
+
} else if (_constants.IS_IPAD && t.options.iPadUseNativeControls || _constants.IS_IPHONE && t.options.iPhoneUseNativeControls || _constants.IS_ANDROID && t.options.AndroidUseNativeControls) {
|
4743 |
+
t.media.originalNode.poster = url;
|
4744 |
+
}
|
4745 |
+
}
|
4746 |
+
}, {
|
4747 |
+
key: 'changeSkin',
|
4748 |
+
value: function changeSkin(className) {
|
4749 |
+
var t = this;
|
4750 |
+
|
4751 |
+
t.getElement(t.container).className = t.options.classPrefix + 'container ' + className;
|
4752 |
+
t.setPlayerSize(t.width, t.height);
|
4753 |
+
t.setControlsSize();
|
4754 |
+
}
|
4755 |
+
}, {
|
4756 |
+
key: 'globalBind',
|
4757 |
+
value: function globalBind(events, callback) {
|
4758 |
+
var t = this,
|
4759 |
+
doc = t.node ? t.node.ownerDocument : _document2.default;
|
4760 |
+
|
4761 |
+
events = (0, _general.splitEvents)(events, t.id);
|
4762 |
+
if (events.d) {
|
4763 |
+
var eventList = events.d.split(' ');
|
4764 |
+
for (var i = 0, total = eventList.length; i < total; i++) {
|
4765 |
+
eventList[i].split('.').reduce(function (part, e) {
|
4766 |
+
doc.addEventListener(e, callback, false);
|
4767 |
+
return e;
|
4768 |
+
}, '');
|
4769 |
+
}
|
4770 |
+
}
|
4771 |
+
if (events.w) {
|
4772 |
+
var _eventList = events.w.split(' ');
|
4773 |
+
for (var _i2 = 0, _total2 = _eventList.length; _i2 < _total2; _i2++) {
|
4774 |
+
_eventList[_i2].split('.').reduce(function (part, e) {
|
4775 |
+
_window2.default.addEventListener(e, callback, false);
|
4776 |
+
return e;
|
4777 |
+
}, '');
|
4778 |
+
}
|
4779 |
+
}
|
4780 |
+
}
|
4781 |
+
}, {
|
4782 |
+
key: 'globalUnbind',
|
4783 |
+
value: function globalUnbind(events, callback) {
|
4784 |
+
var t = this,
|
4785 |
+
doc = t.node ? t.node.ownerDocument : _document2.default;
|
4786 |
+
|
4787 |
+
events = (0, _general.splitEvents)(events, t.id);
|
4788 |
+
if (events.d) {
|
4789 |
+
var eventList = events.d.split(' ');
|
4790 |
+
for (var i = 0, total = eventList.length; i < total; i++) {
|
4791 |
+
eventList[i].split('.').reduce(function (part, e) {
|
4792 |
+
doc.removeEventListener(e, callback, false);
|
4793 |
+
return e;
|
4794 |
+
}, '');
|
4795 |
+
}
|
4796 |
+
}
|
4797 |
+
if (events.w) {
|
4798 |
+
var _eventList2 = events.w.split(' ');
|
4799 |
+
for (var _i3 = 0, _total3 = _eventList2.length; _i3 < _total3; _i3++) {
|
4800 |
+
_eventList2[_i3].split('.').reduce(function (part, e) {
|
4801 |
+
_window2.default.removeEventListener(e, callback, false);
|
4802 |
+
return e;
|
4803 |
+
}, '');
|
4804 |
+
}
|
4805 |
+
}
|
4806 |
+
}
|
4807 |
+
}, {
|
4808 |
+
key: 'buildfeatures',
|
4809 |
+
value: function buildfeatures(player, controls, layers, media) {
|
4810 |
+
var t = this;
|
4811 |
+
|
4812 |
+
for (var i = 0, total = t.options.features.length; i < total; i++) {
|
4813 |
+
var feature = t.options.features[i];
|
4814 |
+
if (t['build' + feature]) {
|
4815 |
+
try {
|
4816 |
+
t['build' + feature](player, controls, layers, media);
|
4817 |
+
} catch (e) {
|
4818 |
+
console.error('error building ' + feature, e);
|
4819 |
+
}
|
4820 |
+
}
|
4821 |
+
}
|
4822 |
+
}
|
4823 |
+
}, {
|
4824 |
+
key: 'buildposter',
|
4825 |
+
value: function buildposter(player, controls, layers, media) {
|
4826 |
+
var t = this,
|
4827 |
+
poster = _document2.default.createElement('div');
|
4828 |
+
|
4829 |
+
poster.className = t.options.classPrefix + 'poster ' + t.options.classPrefix + 'layer';
|
4830 |
+
layers.appendChild(poster);
|
4831 |
+
|
4832 |
+
var posterUrl = media.originalNode.getAttribute('poster');
|
4833 |
+
|
4834 |
+
if (player.options.poster !== '') {
|
4835 |
+
if (posterUrl && _constants.IS_IOS) {
|
4836 |
+
media.originalNode.removeAttribute('poster');
|
4837 |
+
}
|
4838 |
+
posterUrl = player.options.poster;
|
4839 |
+
}
|
4840 |
+
|
4841 |
+
if (posterUrl) {
|
4842 |
+
t.setPoster(posterUrl);
|
4843 |
+
} else if (t.media.renderer !== null && typeof t.media.renderer.getPosterUrl === 'function') {
|
4844 |
+
t.setPoster(t.media.renderer.getPosterUrl());
|
4845 |
+
} else {
|
4846 |
+
poster.style.display = 'none';
|
4847 |
+
}
|
4848 |
+
|
4849 |
+
media.addEventListener('play', function () {
|
4850 |
+
poster.style.display = 'none';
|
4851 |
+
});
|
4852 |
+
|
4853 |
+
media.addEventListener('playing', function () {
|
4854 |
+
poster.style.display = 'none';
|
4855 |
+
});
|
4856 |
+
|
4857 |
+
if (player.options.showPosterWhenEnded && player.options.autoRewind) {
|
4858 |
+
media.addEventListener('ended', function () {
|
4859 |
+
poster.style.display = '';
|
4860 |
+
});
|
4861 |
+
}
|
4862 |
+
|
4863 |
+
media.addEventListener('error', function () {
|
4864 |
+
poster.style.display = 'none';
|
4865 |
+
});
|
4866 |
+
|
4867 |
+
if (player.options.showPosterWhenPaused) {
|
4868 |
+
media.addEventListener('pause', function () {
|
4869 |
+
if (!player.ended) {
|
4870 |
+
poster.style.display = '';
|
4871 |
+
}
|
4872 |
+
});
|
4873 |
+
}
|
4874 |
+
}
|
4875 |
+
}, {
|
4876 |
+
key: 'buildoverlays',
|
4877 |
+
value: function buildoverlays(player, controls, layers, media) {
|
4878 |
+
|
4879 |
+
if (!player.isVideo) {
|
4880 |
+
return;
|
4881 |
+
}
|
4882 |
+
|
4883 |
+
var t = this,
|
4884 |
+
loading = _document2.default.createElement('div'),
|
4885 |
+
error = _document2.default.createElement('div'),
|
4886 |
+
bigPlay = _document2.default.createElement('div');
|
4887 |
+
|
4888 |
+
loading.style.display = 'none';
|
4889 |
+
loading.className = t.options.classPrefix + 'overlay ' + t.options.classPrefix + 'layer';
|
4890 |
+
loading.innerHTML = '<div class="' + t.options.classPrefix + 'overlay-loading">' + ('<span class="' + t.options.classPrefix + 'overlay-loading-bg-img"></span>') + '</div>';
|
4891 |
+
layers.appendChild(loading);
|
4892 |
+
|
4893 |
+
error.style.display = 'none';
|
4894 |
+
error.className = t.options.classPrefix + 'overlay ' + t.options.classPrefix + 'layer';
|
4895 |
+
error.innerHTML = '<div class="' + t.options.classPrefix + 'overlay-error"></div>';
|
4896 |
+
layers.appendChild(error);
|
4897 |
+
|
4898 |
+
bigPlay.className = t.options.classPrefix + 'overlay ' + t.options.classPrefix + 'layer ' + t.options.classPrefix + 'overlay-play';
|
4899 |
+
bigPlay.innerHTML = '<div class="' + t.options.classPrefix + 'overlay-button" role="button" tabindex="0" ' + ('aria-label="' + _i18n2.default.t('mejs.play') + '" aria-pressed="false"></div>');
|
4900 |
+
bigPlay.addEventListener('click', function () {
|
4901 |
+
if (t.options.clickToPlayPause) {
|
4902 |
+
|
4903 |
+
var button = t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'overlay-button'),
|
4904 |
+
pressed = button.getAttribute('aria-pressed');
|
4905 |
+
|
4906 |
+
if (t.paused) {
|
4907 |
+
t.play();
|
4908 |
+
} else {
|
4909 |
+
t.pause();
|
4910 |
+
}
|
4911 |
+
|
4912 |
+
button.setAttribute('aria-pressed', !!pressed);
|
4913 |
+
t.getElement(t.container).focus();
|
4914 |
+
}
|
4915 |
+
});
|
4916 |
+
|
4917 |
+
bigPlay.addEventListener('keydown', function (e) {
|
4918 |
+
var keyPressed = e.keyCode || e.which || 0;
|
4919 |
+
|
4920 |
+
if (keyPressed === 13 || _constants.IS_FIREFOX && keyPressed === 32) {
|
4921 |
+
var event = (0, _general.createEvent)('click', bigPlay);
|
4922 |
+
bigPlay.dispatchEvent(event);
|
4923 |
+
return false;
|
4924 |
+
}
|
4925 |
+
});
|
4926 |
+
|
4927 |
+
layers.appendChild(bigPlay);
|
4928 |
+
|
4929 |
+
if (t.media.rendererName !== null && (/(youtube|facebook)/i.test(t.media.rendererName) && !(t.media.originalNode.getAttribute('poster') || player.options.poster || typeof t.media.renderer.getPosterUrl === 'function' && t.media.renderer.getPosterUrl()) || _constants.IS_STOCK_ANDROID || t.media.originalNode.getAttribute('autoplay'))) {
|
4930 |
+
bigPlay.style.display = 'none';
|
4931 |
+
}
|
4932 |
+
|
4933 |
+
var hasError = false;
|
4934 |
+
|
4935 |
+
media.addEventListener('play', function () {
|
4936 |
+
bigPlay.style.display = 'none';
|
4937 |
+
loading.style.display = 'none';
|
4938 |
+
error.style.display = 'none';
|
4939 |
+
hasError = false;
|
4940 |
+
});
|
4941 |
+
media.addEventListener('playing', function () {
|
4942 |
+
bigPlay.style.display = 'none';
|
4943 |
+
loading.style.display = 'none';
|
4944 |
+
error.style.display = 'none';
|
4945 |
+
hasError = false;
|
4946 |
+
});
|
4947 |
+
media.addEventListener('seeking', function () {
|
4948 |
+
bigPlay.style.display = 'none';
|
4949 |
+
loading.style.display = '';
|
4950 |
+
hasError = false;
|
4951 |
+
});
|
4952 |
+
media.addEventListener('seeked', function () {
|
4953 |
+
bigPlay.style.display = t.paused && !_constants.IS_STOCK_ANDROID ? '' : 'none';
|
4954 |
+
loading.style.display = 'none';
|
4955 |
+
hasError = false;
|
4956 |
+
});
|
4957 |
+
media.addEventListener('pause', function () {
|
4958 |
+
loading.style.display = 'none';
|
4959 |
+
if (!_constants.IS_STOCK_ANDROID && !hasError) {
|
4960 |
+
bigPlay.style.display = '';
|
4961 |
+
}
|
4962 |
+
hasError = false;
|
4963 |
+
});
|
4964 |
+
media.addEventListener('waiting', function () {
|
4965 |
+
loading.style.display = '';
|
4966 |
+
hasError = false;
|
4967 |
+
});
|
4968 |
+
|
4969 |
+
media.addEventListener('loadeddata', function () {
|
4970 |
+
loading.style.display = '';
|
4971 |
+
|
4972 |
+
if (_constants.IS_ANDROID) {
|
4973 |
+
media.canplayTimeout = setTimeout(function () {
|
4974 |
+
if (_document2.default.createEvent) {
|
4975 |
+
var evt = _document2.default.createEvent('HTMLEvents');
|
4976 |
+
evt.initEvent('canplay', true, true);
|
4977 |
+
return media.dispatchEvent(evt);
|
4978 |
+
}
|
4979 |
+
}, 300);
|
4980 |
+
}
|
4981 |
+
hasError = false;
|
4982 |
+
});
|
4983 |
+
media.addEventListener('canplay', function () {
|
4984 |
+
loading.style.display = 'none';
|
4985 |
+
|
4986 |
+
clearTimeout(media.canplayTimeout);
|
4987 |
+
hasError = false;
|
4988 |
+
});
|
4989 |
+
|
4990 |
+
media.addEventListener('error', function (e) {
|
4991 |
+
t._handleError(e, t.media, t.node);
|
4992 |
+
loading.style.display = 'none';
|
4993 |
+
bigPlay.style.display = 'none';
|
4994 |
+
hasError = true;
|
4995 |
+
});
|
4996 |
+
|
4997 |
+
media.addEventListener('loadedmetadata', function () {
|
4998 |
+
if (!t.controlsEnabled) {
|
4999 |
+
t.enableControls();
|
5000 |
+
}
|
5001 |
+
});
|
5002 |
+
|
5003 |
+
media.addEventListener('keydown', function (e) {
|
5004 |
+
t.onkeydown(player, media, e);
|
5005 |
+
hasError = false;
|
5006 |
+
});
|
5007 |
+
}
|
5008 |
+
}, {
|
5009 |
+
key: 'buildkeyboard',
|
5010 |
+
value: function buildkeyboard(player, controls, layers, media) {
|
5011 |
+
|
5012 |
+
var t = this;
|
5013 |
+
|
5014 |
+
t.getElement(t.container).addEventListener('keydown', function () {
|
5015 |
+
t.keyboardAction = true;
|
5016 |
+
});
|
5017 |
+
|
5018 |
+
t.globalKeydownCallback = function (event) {
|
5019 |
+
var container = _document2.default.activeElement.closest('.' + t.options.classPrefix + 'container'),
|
5020 |
+
target = t.media.closest('.' + t.options.classPrefix + 'container');
|
5021 |
+
t.hasFocus = !!(container && target && container.id === target.id);
|
5022 |
+
return t.onkeydown(player, media, event);
|
5023 |
+
};
|
5024 |
+
|
5025 |
+
t.globalClickCallback = function (event) {
|
5026 |
+
t.hasFocus = !!event.target.closest('.' + t.options.classPrefix + 'container');
|
5027 |
+
};
|
5028 |
+
|
5029 |
+
t.globalBind('keydown', t.globalKeydownCallback);
|
5030 |
+
|
5031 |
+
t.globalBind('click', t.globalClickCallback);
|
5032 |
+
}
|
5033 |
+
}, {
|
5034 |
+
key: 'onkeydown',
|
5035 |
+
value: function onkeydown(player, media, e) {
|
5036 |
+
|
5037 |
+
if (player.hasFocus && player.options.enableKeyboard) {
|
5038 |
+
for (var i = 0, total = player.options.keyActions.length; i < total; i++) {
|
5039 |
+
var keyAction = player.options.keyActions[i];
|
5040 |
+
|
5041 |
+
for (var j = 0, jl = keyAction.keys.length; j < jl; j++) {
|
5042 |
+
if (e.keyCode === keyAction.keys[j]) {
|
5043 |
+
keyAction.action(player, media, e.keyCode, e);
|
5044 |
+
e.preventDefault();
|
5045 |
+
e.stopPropagation();
|
5046 |
+
return;
|
5047 |
+
}
|
5048 |
+
}
|
5049 |
+
}
|
5050 |
+
}
|
5051 |
+
|
5052 |
+
return true;
|
5053 |
+
}
|
5054 |
+
}, {
|
5055 |
+
key: 'play',
|
5056 |
+
value: function play() {
|
5057 |
+
this.proxy.play();
|
5058 |
+
}
|
5059 |
+
}, {
|
5060 |
+
key: 'pause',
|
5061 |
+
value: function pause() {
|
5062 |
+
this.proxy.pause();
|
5063 |
+
}
|
5064 |
+
}, {
|
5065 |
+
key: 'load',
|
5066 |
+
value: function load() {
|
5067 |
+
this.proxy.load();
|
5068 |
+
}
|
5069 |
+
}, {
|
5070 |
+
key: 'setCurrentTime',
|
5071 |
+
value: function setCurrentTime(time) {
|
5072 |
+
this.proxy.setCurrentTime(time);
|
5073 |
+
}
|
5074 |
+
}, {
|
5075 |
+
key: 'getCurrentTime',
|
5076 |
+
value: function getCurrentTime() {
|
5077 |
+
return this.proxy.currentTime;
|
5078 |
+
}
|
5079 |
+
}, {
|
5080 |
+
key: 'getDuration',
|
5081 |
+
value: function getDuration() {
|
5082 |
+
return this.proxy.duration;
|
5083 |
+
}
|
5084 |
+
}, {
|
5085 |
+
key: 'setVolume',
|
5086 |
+
value: function setVolume(volume) {
|
5087 |
+
this.proxy.volume = volume;
|
5088 |
+
}
|
5089 |
+
}, {
|
5090 |
+
key: 'getVolume',
|
5091 |
+
value: function getVolume() {
|
5092 |
+
return this.proxy.getVolume();
|
5093 |
+
}
|
5094 |
+
}, {
|
5095 |
+
key: 'setMuted',
|
5096 |
+
value: function setMuted(value) {
|
5097 |
+
this.proxy.setMuted(value);
|
5098 |
+
}
|
5099 |
+
}, {
|
5100 |
+
key: 'setSrc',
|
5101 |
+
value: function setSrc(src) {
|
5102 |
+
if (!this.controlsEnabled) {
|
5103 |
+
this.enableControls();
|
5104 |
+
}
|
5105 |
+
this.proxy.setSrc(src);
|
5106 |
+
}
|
5107 |
+
}, {
|
5108 |
+
key: 'getSrc',
|
5109 |
+
value: function getSrc() {
|
5110 |
+
return this.proxy.getSrc();
|
5111 |
+
}
|
5112 |
+
}, {
|
5113 |
+
key: 'canPlayType',
|
5114 |
+
value: function canPlayType(type) {
|
5115 |
+
return this.proxy.canPlayType(type);
|
5116 |
+
}
|
5117 |
+
}, {
|
5118 |
+
key: 'remove',
|
5119 |
+
value: function remove() {
|
5120 |
+
var t = this,
|
5121 |
+
rendererName = t.media.rendererName,
|
5122 |
+
src = t.media.originalNode.src;
|
5123 |
+
|
5124 |
+
for (var featureIndex in t.options.features) {
|
5125 |
+
var feature = t.options.features[featureIndex];
|
5126 |
+
if (t['clean' + feature]) {
|
5127 |
+
try {
|
5128 |
+
t['clean' + feature](t, t.getElement(t.layers), t.getElement(t.controls), t.media);
|
5129 |
+
} catch (e) {
|
5130 |
+
console.error('error cleaning ' + feature, e);
|
5131 |
+
}
|
5132 |
+
}
|
5133 |
+
}
|
5134 |
+
|
5135 |
+
var nativeWidth = t.node.getAttribute('width'),
|
5136 |
+
nativeHeight = t.node.getAttribute('height');
|
5137 |
+
|
5138 |
+
if (nativeWidth) {
|
5139 |
+
if (nativeWidth.indexOf('%') === -1) {
|
5140 |
+
nativeWidth = nativeWidth + 'px';
|
5141 |
+
}
|
5142 |
+
} else {
|
5143 |
+
nativeWidth = 'auto';
|
5144 |
+
}
|
5145 |
+
|
5146 |
+
if (nativeHeight) {
|
5147 |
+
if (nativeHeight.indexOf('%') === -1) {
|
5148 |
+
nativeHeight = nativeHeight + 'px';
|
5149 |
+
}
|
5150 |
+
} else {
|
5151 |
+
nativeHeight = 'auto';
|
5152 |
+
}
|
5153 |
+
|
5154 |
+
t.node.style.width = nativeWidth;
|
5155 |
+
t.node.style.height = nativeHeight;
|
5156 |
+
|
5157 |
+
t.setPlayerSize(0, 0);
|
5158 |
+
|
5159 |
+
if (!t.isDynamic) {
|
5160 |
+
(function () {
|
5161 |
+
t.node.setAttribute('controls', true);
|
5162 |
+
t.node.setAttribute('id', t.node.getAttribute('id').replace('_' + rendererName, '').replace('_from_mejs', ''));
|
5163 |
+
var poster = t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'poster>img');
|
5164 |
+
if (poster) {
|
5165 |
+
t.node.setAttribute('poster', poster.src);
|
5166 |
+
}
|
5167 |
+
|
5168 |
+
delete t.node.autoplay;
|
5169 |
+
|
5170 |
+
if (t.media.canPlayType((0, _media.getTypeFromFile)(src)) !== '') {
|
5171 |
+
t.node.setAttribute('src', src);
|
5172 |
+
}
|
5173 |
+
|
5174 |
+
if (~rendererName.indexOf('iframe')) {
|
5175 |
+
var layer = _document2.default.getElementById(t.media.id + '-iframe-overlay');
|
5176 |
+
layer.remove();
|
5177 |
+
}
|
5178 |
+
|
5179 |
+
var node = t.node.cloneNode();
|
5180 |
+
node.style.display = '';
|
5181 |
+
t.getElement(t.container).parentNode.insertBefore(node, t.getElement(t.container));
|
5182 |
+
t.node.remove();
|
5183 |
+
|
5184 |
+
if (t.mediaFiles) {
|
5185 |
+
for (var i = 0, total = t.mediaFiles.length; i < total; i++) {
|
5186 |
+
var source = _document2.default.createElement('source');
|
5187 |
+
source.setAttribute('src', t.mediaFiles[i].src);
|
5188 |
+
source.setAttribute('type', t.mediaFiles[i].type);
|
5189 |
+
node.appendChild(source);
|
5190 |
+
}
|
5191 |
+
}
|
5192 |
+
if (t.trackFiles) {
|
5193 |
+
var _loop3 = function _loop3(_i4, _total4) {
|
5194 |
+
var track = t.trackFiles[_i4];
|
5195 |
+
var newTrack = _document2.default.createElement('track');
|
5196 |
+
newTrack.kind = track.kind;
|
5197 |
+
newTrack.label = track.label;
|
5198 |
+
newTrack.srclang = track.srclang;
|
5199 |
+
newTrack.src = track.src;
|
5200 |
+
|
5201 |
+
node.appendChild(newTrack);
|
5202 |
+
newTrack.addEventListener('load', function () {
|
5203 |
+
this.mode = 'showing';
|
5204 |
+
node.textTracks[_i4].mode = 'showing';
|
5205 |
+
});
|
5206 |
+
};
|
5207 |
+
|
5208 |
+
for (var _i4 = 0, _total4 = t.trackFiles.length; _i4 < _total4; _i4++) {
|
5209 |
+
_loop3(_i4, _total4);
|
5210 |
+
}
|
5211 |
+
}
|
5212 |
+
|
5213 |
+
delete t.node;
|
5214 |
+
delete t.mediaFiles;
|
5215 |
+
delete t.trackFiles;
|
5216 |
+
})();
|
5217 |
+
} else {
|
5218 |
+
t.getElement(t.container).parentNode.insertBefore(t.node, t.getElement(t.container));
|
5219 |
+
}
|
5220 |
+
|
5221 |
+
if (typeof t.media.renderer.destroy === 'function') {
|
5222 |
+
t.media.renderer.destroy();
|
5223 |
+
}
|
5224 |
+
|
5225 |
+
delete _mejs2.default.players[t.id];
|
5226 |
+
|
5227 |
+
if (_typeof(t.getElement(t.container)) === 'object') {
|
5228 |
+
var offscreen = t.getElement(t.container).parentNode.querySelector('.' + t.options.classPrefix + 'offscreen');
|
5229 |
+
offscreen.remove();
|
5230 |
+
t.getElement(t.container).remove();
|
5231 |
+
}
|
5232 |
+
t.globalUnbind('resize', t.globalResizeCallback);
|
5233 |
+
t.globalUnbind('keydown', t.globalKeydownCallback);
|
5234 |
+
t.globalUnbind('click', t.globalClickCallback);
|
5235 |
+
|
5236 |
+
delete t.media.player;
|
5237 |
+
}
|
5238 |
+
}, {
|
5239 |
+
key: 'paused',
|
5240 |
+
get: function get() {
|
5241 |
+
return this.proxy.paused;
|
5242 |
+
}
|
5243 |
+
}, {
|
5244 |
+
key: 'muted',
|
5245 |
+
get: function get() {
|
5246 |
+
return this.proxy.muted;
|
5247 |
+
},
|
5248 |
+
set: function set(muted) {
|
5249 |
+
this.setMuted(muted);
|
5250 |
+
}
|
5251 |
+
}, {
|
5252 |
+
key: 'ended',
|
5253 |
+
get: function get() {
|
5254 |
+
return this.proxy.ended;
|
5255 |
+
}
|
5256 |
+
}, {
|
5257 |
+
key: 'readyState',
|
5258 |
+
get: function get() {
|
5259 |
+
return this.proxy.readyState;
|
5260 |
+
}
|
5261 |
+
}, {
|
5262 |
+
key: 'currentTime',
|
5263 |
+
set: function set(time) {
|
5264 |
+
this.setCurrentTime(time);
|
5265 |
+
},
|
5266 |
+
get: function get() {
|
5267 |
+
return this.getCurrentTime();
|
5268 |
+
}
|
5269 |
+
}, {
|
5270 |
+
key: 'duration',
|
5271 |
+
get: function get() {
|
5272 |
+
return this.getDuration();
|
5273 |
+
}
|
5274 |
+
}, {
|
5275 |
+
key: 'volume',
|
5276 |
+
set: function set(volume) {
|
5277 |
+
this.setVolume(volume);
|
5278 |
+
},
|
5279 |
+
get: function get() {
|
5280 |
+
return this.getVolume();
|
5281 |
+
}
|
5282 |
+
}, {
|
5283 |
+
key: 'src',
|
5284 |
+
set: function set(src) {
|
5285 |
+
this.setSrc(src);
|
5286 |
+
},
|
5287 |
+
get: function get() {
|
5288 |
+
return this.getSrc();
|
5289 |
+
}
|
5290 |
+
}]);
|
5291 |
+
|
5292 |
+
return MediaElementPlayer;
|
5293 |
+
}();
|
5294 |
+
|
5295 |
+
_window2.default.MediaElementPlayer = MediaElementPlayer;
|
5296 |
+
_mejs2.default.MediaElementPlayer = MediaElementPlayer;
|
5297 |
+
|
5298 |
+
exports.default = MediaElementPlayer;
|
5299 |
+
|
5300 |
+
},{"17":17,"2":2,"25":25,"26":26,"27":27,"28":28,"3":3,"30":30,"5":5,"6":6,"7":7}],17:[function(_dereq_,module,exports){
|
5301 |
+
'use strict';
|
5302 |
+
|
5303 |
+
Object.defineProperty(exports, "__esModule", {
|
5304 |
+
value: true
|
5305 |
+
});
|
5306 |
+
|
5307 |
+
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
|
5308 |
+
|
5309 |
+
var _window = _dereq_(3);
|
5310 |
+
|
5311 |
+
var _window2 = _interopRequireDefault(_window);
|
5312 |
+
|
5313 |
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
5314 |
+
|
5315 |
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
5316 |
+
|
5317 |
+
var DefaultPlayer = function () {
|
5318 |
+
function DefaultPlayer(player) {
|
5319 |
+
_classCallCheck(this, DefaultPlayer);
|
5320 |
+
|
5321 |
+
this.media = player.media;
|
5322 |
+
this.isVideo = player.isVideo;
|
5323 |
+
this.classPrefix = player.options.classPrefix;
|
5324 |
+
this.createIframeLayer = function () {
|
5325 |
+
return player.createIframeLayer();
|
5326 |
+
};
|
5327 |
+
this.setPoster = function (url) {
|
5328 |
+
return player.setPoster(url);
|
5329 |
+
};
|
5330 |
+
return this;
|
5331 |
+
}
|
5332 |
+
|
5333 |
+
_createClass(DefaultPlayer, [{
|
5334 |
+
key: 'play',
|
5335 |
+
value: function play() {
|
5336 |
+
this.media.play();
|
5337 |
+
}
|
5338 |
+
}, {
|
5339 |
+
key: 'pause',
|
5340 |
+
value: function pause() {
|
5341 |
+
this.media.pause();
|
5342 |
+
}
|
5343 |
+
}, {
|
5344 |
+
key: 'load',
|
5345 |
+
value: function load() {
|
5346 |
+
var t = this;
|
5347 |
+
|
5348 |
+
if (!t.isLoaded) {
|
5349 |
+
t.media.load();
|
5350 |
+
}
|
5351 |
+
|
5352 |
+
t.isLoaded = true;
|
5353 |
+
}
|
5354 |
+
}, {
|
5355 |
+
key: 'setCurrentTime',
|
5356 |
+
value: function setCurrentTime(time) {
|
5357 |
+
this.media.setCurrentTime(time);
|
5358 |
+
}
|
5359 |
+
}, {
|
5360 |
+
key: 'getCurrentTime',
|
5361 |
+
value: function getCurrentTime() {
|
5362 |
+
return this.media.currentTime;
|
5363 |
+
}
|
5364 |
+
}, {
|
5365 |
+
key: 'getDuration',
|
5366 |
+
value: function getDuration() {
|
5367 |
+
return this.media.getDuration();
|
5368 |
+
}
|
5369 |
+
}, {
|
5370 |
+
key: 'setVolume',
|
5371 |
+
value: function setVolume(volume) {
|
5372 |
+
this.media.setVolume(volume);
|
5373 |
+
}
|
5374 |
+
}, {
|
5375 |
+
key: 'getVolume',
|
5376 |
+
value: function getVolume() {
|
5377 |
+
return this.media.getVolume();
|
5378 |
+
}
|
5379 |
+
}, {
|
5380 |
+
key: 'setMuted',
|
5381 |
+
value: function setMuted(value) {
|
5382 |
+
this.media.setMuted(value);
|
5383 |
+
}
|
5384 |
+
}, {
|
5385 |
+
key: 'setSrc',
|
5386 |
+
value: function setSrc(src) {
|
5387 |
+
var t = this,
|
5388 |
+
layer = document.getElementById(t.media.id + '-iframe-overlay');
|
5389 |
+
|
5390 |
+
if (layer) {
|
5391 |
+
layer.remove();
|
5392 |
+
}
|
5393 |
+
|
5394 |
+
t.media.setSrc(src);
|
5395 |
+
t.createIframeLayer();
|
5396 |
+
if (t.media.renderer !== null && typeof t.media.renderer.getPosterUrl === 'function') {
|
5397 |
+
t.setPoster(t.media.renderer.getPosterUrl());
|
5398 |
+
}
|
5399 |
+
}
|
5400 |
+
}, {
|
5401 |
+
key: 'getSrc',
|
5402 |
+
value: function getSrc() {
|
5403 |
+
return this.media.getSrc();
|
5404 |
+
}
|
5405 |
+
}, {
|
5406 |
+
key: 'canPlayType',
|
5407 |
+
value: function canPlayType(type) {
|
5408 |
+
return this.media.canPlayType(type);
|
5409 |
+
}
|
5410 |
+
}, {
|
5411 |
+
key: 'paused',
|
5412 |
+
get: function get() {
|
5413 |
+
return this.media.paused;
|
5414 |
+
}
|
5415 |
+
}, {
|
5416 |
+
key: 'muted',
|
5417 |
+
set: function set(muted) {
|
5418 |
+
this.setMuted(muted);
|
5419 |
+
},
|
5420 |
+
get: function get() {
|
5421 |
+
return this.media.muted;
|
5422 |
+
}
|
5423 |
+
}, {
|
5424 |
+
key: 'ended',
|
5425 |
+
get: function get() {
|
5426 |
+
return this.media.ended;
|
5427 |
+
}
|
5428 |
+
}, {
|
5429 |
+
key: 'readyState',
|
5430 |
+
get: function get() {
|
5431 |
+
return this.media.readyState;
|
5432 |
+
}
|
5433 |
+
}, {
|
5434 |
+
key: 'currentTime',
|
5435 |
+
set: function set(time) {
|
5436 |
+
this.setCurrentTime(time);
|
5437 |
+
},
|
5438 |
+
get: function get() {
|
5439 |
+
return this.getCurrentTime();
|
5440 |
+
}
|
5441 |
+
}, {
|
5442 |
+
key: 'duration',
|
5443 |
+
get: function get() {
|
5444 |
+
return this.getDuration();
|
5445 |
+
}
|
5446 |
+
}, {
|
5447 |
+
key: 'volume',
|
5448 |
+
set: function set(volume) {
|
5449 |
+
this.setVolume(volume);
|
5450 |
+
},
|
5451 |
+
get: function get() {
|
5452 |
+
return this.getVolume();
|
5453 |
+
}
|
5454 |
+
}, {
|
5455 |
+
key: 'src',
|
5456 |
+
set: function set(src) {
|
5457 |
+
this.setSrc(src);
|
5458 |
+
},
|
5459 |
+
get: function get() {
|
5460 |
+
return this.getSrc();
|
5461 |
+
}
|
5462 |
+
}]);
|
5463 |
+
|
5464 |
+
return DefaultPlayer;
|
5465 |
+
}();
|
5466 |
+
|
5467 |
+
exports.default = DefaultPlayer;
|
5468 |
+
|
5469 |
+
|
5470 |
+
_window2.default.DefaultPlayer = DefaultPlayer;
|
5471 |
+
|
5472 |
+
},{"3":3}],18:[function(_dereq_,module,exports){
|
5473 |
+
'use strict';
|
5474 |
+
|
5475 |
+
var _window = _dereq_(3);
|
5476 |
+
|
5477 |
+
var _window2 = _interopRequireDefault(_window);
|
5478 |
+
|
5479 |
+
var _mejs = _dereq_(7);
|
5480 |
+
|
5481 |
+
var _mejs2 = _interopRequireDefault(_mejs);
|
5482 |
+
|
5483 |
+
var _player = _dereq_(16);
|
5484 |
+
|
5485 |
+
var _player2 = _interopRequireDefault(_player);
|
5486 |
+
|
5487 |
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
5488 |
+
|
5489 |
+
if (typeof jQuery !== 'undefined') {
|
5490 |
+
_mejs2.default.$ = _window2.default.jQuery = _window2.default.$ = jQuery;
|
5491 |
+
} else if (typeof Zepto !== 'undefined') {
|
5492 |
+
_mejs2.default.$ = _window2.default.Zepto = _window2.default.$ = Zepto;
|
5493 |
+
} else if (typeof ender !== 'undefined') {
|
5494 |
+
_mejs2.default.$ = _window2.default.ender = _window2.default.$ = ender;
|
5495 |
+
}
|
5496 |
+
|
5497 |
+
(function ($) {
|
5498 |
+
if (typeof $ !== 'undefined') {
|
5499 |
+
$.fn.mediaelementplayer = function (options) {
|
5500 |
+
if (options === false) {
|
5501 |
+
this.each(function () {
|
5502 |
+
var player = $(this).data('mediaelementplayer');
|
5503 |
+
if (player) {
|
5504 |
+
player.remove();
|
5505 |
+
}
|
5506 |
+
$(this).removeData('mediaelementplayer');
|
5507 |
+
});
|
5508 |
+
} else {
|
5509 |
+
this.each(function () {
|
5510 |
+
$(this).data('mediaelementplayer', new _player2.default(this, options));
|
5511 |
+
});
|
5512 |
+
}
|
5513 |
+
return this;
|
5514 |
+
};
|
5515 |
+
|
5516 |
+
$(document).ready(function () {
|
5517 |
+
$('.' + _mejs2.default.MepDefaults.classPrefix + 'player').mediaelementplayer();
|
5518 |
+
});
|
5519 |
+
}
|
5520 |
+
})(_mejs2.default.$);
|
5521 |
+
|
5522 |
+
},{"16":16,"3":3,"7":7}],19:[function(_dereq_,module,exports){
|
5523 |
+
'use strict';
|
5524 |
+
|
5525 |
+
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
|
5526 |
+
|
5527 |
+
var _window = _dereq_(3);
|
5528 |
+
|
5529 |
+
var _window2 = _interopRequireDefault(_window);
|
5530 |
+
|
5531 |
+
var _mejs = _dereq_(7);
|
5532 |
+
|
5533 |
+
var _mejs2 = _interopRequireDefault(_mejs);
|
5534 |
+
|
5535 |
+
var _renderer = _dereq_(8);
|
5536 |
+
|
5537 |
+
var _general = _dereq_(27);
|
5538 |
+
|
5539 |
+
var _media = _dereq_(28);
|
5540 |
+
|
5541 |
+
var _constants = _dereq_(25);
|
5542 |
+
|
5543 |
+
var _dom = _dereq_(26);
|
5544 |
+
|
5545 |
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
5546 |
+
|
5547 |
+
var NativeDash = {
|
5548 |
+
|
5549 |
+
promise: null,
|
5550 |
+
|
5551 |
+
load: function load(settings) {
|
5552 |
+
if (typeof dashjs !== 'undefined') {
|
5553 |
+
NativeDash.promise = new Promise(function (resolve) {
|
5554 |
+
resolve();
|
5555 |
+
}).then(function () {
|
5556 |
+
NativeDash._createPlayer(settings);
|
5557 |
+
});
|
5558 |
+
} else {
|
5559 |
+
settings.options.path = typeof settings.options.path === 'string' ? settings.options.path : 'https://cdn.dashjs.org/latest/dash.all.min.js';
|
5560 |
+
|
5561 |
+
NativeDash.promise = NativeDash.promise || (0, _dom.loadScript)(settings.options.path);
|
5562 |
+
NativeDash.promise.then(function () {
|
5563 |
+
NativeDash._createPlayer(settings);
|
5564 |
+
});
|
5565 |
+
}
|
5566 |
+
|
5567 |
+
return NativeDash.promise;
|
5568 |
+
},
|
5569 |
+
|
5570 |
+
_createPlayer: function _createPlayer(settings) {
|
5571 |
+
var player = dashjs.MediaPlayer().create();
|
5572 |
+
_window2.default['__ready__' + settings.id](player);
|
5573 |
+
return player;
|
5574 |
+
}
|
5575 |
+
};
|
5576 |
+
|
5577 |
+
var DashNativeRenderer = {
|
5578 |
+
name: 'native_dash',
|
5579 |
+
options: {
|
5580 |
+
prefix: 'native_dash',
|
5581 |
+
dash: {
|
5582 |
+
path: 'https://cdn.dashjs.org/latest/dash.all.min.js',
|
5583 |
+
debug: false,
|
5584 |
+
drm: {},
|
5585 |
+
|
5586 |
+
robustnessLevel: ''
|
5587 |
+
}
|
5588 |
+
},
|
5589 |
+
|
5590 |
+
canPlayType: function canPlayType(type) {
|
5591 |
+
return _constants.HAS_MSE && ['application/dash+xml'].indexOf(type.toLowerCase()) > -1;
|
5592 |
+
},
|
5593 |
+
|
5594 |
+
create: function create(mediaElement, options, mediaFiles) {
|
5595 |
+
|
5596 |
+
var originalNode = mediaElement.originalNode,
|
5597 |
+
id = mediaElement.id + '_' + options.prefix,
|
5598 |
+
autoplay = originalNode.autoplay,
|
5599 |
+
children = originalNode.children;
|
5600 |
+
|
5601 |
+
var node = null,
|
5602 |
+
dashPlayer = null;
|
5603 |
+
|
5604 |
+
originalNode.removeAttribute('type');
|
5605 |
+
for (var i = 0, total = children.length; i < total; i++) {
|
5606 |
+
children[i].removeAttribute('type');
|
5607 |
+
}
|
5608 |
+
|
5609 |
+
node = originalNode.cloneNode(true);
|
5610 |
+
options = Object.assign(options, mediaElement.options);
|
5611 |
+
|
5612 |
+
var props = _mejs2.default.html5media.properties,
|
5613 |
+
events = _mejs2.default.html5media.events.concat(['click', 'mouseover', 'mouseout']).filter(function (e) {
|
5614 |
+
return e !== 'error';
|
5615 |
+
}),
|
5616 |
+
attachNativeEvents = function attachNativeEvents(e) {
|
5617 |
+
var event = (0, _general.createEvent)(e.type, mediaElement);
|
5618 |
+
mediaElement.dispatchEvent(event);
|
5619 |
+
},
|
5620 |
+
assignGettersSetters = function assignGettersSetters(propName) {
|
5621 |
+
var capName = '' + propName.substring(0, 1).toUpperCase() + propName.substring(1);
|
5622 |
+
|
5623 |
+
node['get' + capName] = function () {
|
5624 |
+
return dashPlayer !== null ? node[propName] : null;
|
5625 |
+
};
|
5626 |
+
|
5627 |
+
node['set' + capName] = function (value) {
|
5628 |
+
if (_mejs2.default.html5media.readOnlyProperties.indexOf(propName) === -1) {
|
5629 |
+
if (propName === 'src') {
|
5630 |
+
var source = (typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && value.src ? value.src : value;
|
5631 |
+
node[propName] = source;
|
5632 |
+
if (dashPlayer !== null) {
|
5633 |
+
dashPlayer.reset();
|
5634 |
+
for (var _i = 0, _total = events.length; _i < _total; _i++) {
|
5635 |
+
node.removeEventListener(events[_i], attachNativeEvents);
|
5636 |
+
}
|
5637 |
+
dashPlayer = NativeDash._createPlayer({
|
5638 |
+
options: options.dash,
|
5639 |
+
id: id
|
5640 |
+
});
|
5641 |
+
|
5642 |
+
if (value && (typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && _typeof(value.drm) === 'object') {
|
5643 |
+
dashPlayer.setProtectionData(value.drm);
|
5644 |
+
if ((0, _general.isString)(options.dash.robustnessLevel) && options.dash.robustnessLevel) {
|
5645 |
+
dashPlayer.getProtectionController().setRobustnessLevel(options.dash.robustnessLevel);
|
5646 |
+
}
|
5647 |
+
}
|
5648 |
+
dashPlayer.attachSource(source);
|
5649 |
+
if (autoplay) {
|
5650 |
+
dashPlayer.play();
|
5651 |
+
}
|
5652 |
+
}
|
5653 |
+
} else {
|
5654 |
+
node[propName] = value;
|
5655 |
+
}
|
5656 |
+
}
|
5657 |
+
};
|
5658 |
+
};
|
5659 |
+
|
5660 |
+
for (var _i2 = 0, _total2 = props.length; _i2 < _total2; _i2++) {
|
5661 |
+
assignGettersSetters(props[_i2]);
|
5662 |
+
}
|
5663 |
+
|
5664 |
+
_window2.default['__ready__' + id] = function (_dashPlayer) {
|
5665 |
+
mediaElement.dashPlayer = dashPlayer = _dashPlayer;
|
5666 |
+
|
5667 |
+
var dashEvents = dashjs.MediaPlayer.events,
|
5668 |
+
assignEvents = function assignEvents(eventName) {
|
5669 |
+
if (eventName === 'loadedmetadata') {
|
5670 |
+
dashPlayer.getDebug().setLogToBrowserConsole(options.dash.debug);
|
5671 |
+
dashPlayer.initialize();
|
5672 |
+
dashPlayer.setScheduleWhilePaused(false);
|
5673 |
+
dashPlayer.setFastSwitchEnabled(true);
|
5674 |
+
dashPlayer.attachView(node);
|
5675 |
+
dashPlayer.setAutoPlay(false);
|
5676 |
+
|
5677 |
+
if (_typeof(options.dash.drm) === 'object' && !_mejs2.default.Utils.isObjectEmpty(options.dash.drm)) {
|
5678 |
+
dashPlayer.setProtectionData(options.dash.drm);
|
5679 |
+
if ((0, _general.isString)(options.dash.robustnessLevel) && options.dash.robustnessLevel) {
|
5680 |
+
dashPlayer.getProtectionController().setRobustnessLevel(options.dash.robustnessLevel);
|
5681 |
+
}
|
5682 |
+
}
|
5683 |
+
dashPlayer.attachSource(node.getSrc());
|
5684 |
+
}
|
5685 |
+
|
5686 |
+
node.addEventListener(eventName, attachNativeEvents);
|
5687 |
+
};
|
5688 |
+
|
5689 |
+
for (var _i3 = 0, _total3 = events.length; _i3 < _total3; _i3++) {
|
5690 |
+
assignEvents(events[_i3]);
|
5691 |
+
}
|
5692 |
+
|
5693 |
+
var assignMdashEvents = function assignMdashEvents(e) {
|
5694 |
+
if (e.type.toLowerCase() === 'error') {
|
5695 |
+
mediaElement.generateError(e.message, node.src);
|
5696 |
+
console.error(e);
|
5697 |
+
} else {
|
5698 |
+
var _event = (0, _general.createEvent)(e.type, mediaElement);
|
5699 |
+
_event.data = e;
|
5700 |
+
mediaElement.dispatchEvent(_event);
|
5701 |
+
}
|
5702 |
+
};
|
5703 |
+
|
5704 |
+
for (var eventType in dashEvents) {
|
5705 |
+
if (dashEvents.hasOwnProperty(eventType)) {
|
5706 |
+
dashPlayer.on(dashEvents[eventType], function (e) {
|
5707 |
+
return assignMdashEvents(e);
|
5708 |
+
});
|
5709 |
+
}
|
5710 |
+
}
|
5711 |
+
};
|
5712 |
+
|
5713 |
+
if (mediaFiles && mediaFiles.length > 0) {
|
5714 |
+
for (var _i4 = 0, _total4 = mediaFiles.length; _i4 < _total4; _i4++) {
|
5715 |
+
if (_renderer.renderer.renderers[options.prefix].canPlayType(mediaFiles[_i4].type)) {
|
5716 |
+
node.setAttribute('src', mediaFiles[_i4].src);
|
5717 |
+
if (typeof mediaFiles[_i4].drm !== 'undefined') {
|
5718 |
+
options.dash.drm = mediaFiles[_i4].drm;
|
5719 |
+
}
|
5720 |
+
break;
|
5721 |
+
}
|
5722 |
+
}
|
5723 |
+
}
|
5724 |
+
|
5725 |
+
node.setAttribute('id', id);
|
5726 |
+
|
5727 |
+
originalNode.parentNode.insertBefore(node, originalNode);
|
5728 |
+
originalNode.autoplay = false;
|
5729 |
+
originalNode.style.display = 'none';
|
5730 |
+
|
5731 |
+
node.setSize = function (width, height) {
|
5732 |
+
node.style.width = width + 'px';
|
5733 |
+
node.style.height = height + 'px';
|
5734 |
+
return node;
|
5735 |
+
};
|
5736 |
+
|
5737 |
+
node.hide = function () {
|
5738 |
+
node.pause();
|
5739 |
+
node.style.display = 'none';
|
5740 |
+
return node;
|
5741 |
+
};
|
5742 |
+
|
5743 |
+
node.show = function () {
|
5744 |
+
node.style.display = '';
|
5745 |
+
return node;
|
5746 |
+
};
|
5747 |
+
|
5748 |
+
node.destroy = function () {
|
5749 |
+
if (dashPlayer !== null) {
|
5750 |
+
dashPlayer.reset();
|
5751 |
+
}
|
5752 |
+
};
|
5753 |
+
|
5754 |
+
var event = (0, _general.createEvent)('rendererready', node);
|
5755 |
+
mediaElement.dispatchEvent(event);
|
5756 |
+
|
5757 |
+
mediaElement.promises.push(NativeDash.load({
|
5758 |
+
options: options.dash,
|
5759 |
+
id: id
|
5760 |
+
}));
|
5761 |
+
|
5762 |
+
return node;
|
5763 |
+
}
|
5764 |
+
};
|
5765 |
+
|
5766 |
+
_media.typeChecks.push(function (url) {
|
5767 |
+
return ~url.toLowerCase().indexOf('.mpd') ? 'application/dash+xml' : null;
|
5768 |
+
});
|
5769 |
+
|
5770 |
+
_renderer.renderer.add(DashNativeRenderer);
|
5771 |
+
|
5772 |
+
},{"25":25,"26":26,"27":27,"28":28,"3":3,"7":7,"8":8}],20:[function(_dereq_,module,exports){
|
5773 |
+
'use strict';
|
5774 |
+
|
5775 |
+
Object.defineProperty(exports, "__esModule", {
|
5776 |
+
value: true
|
5777 |
+
});
|
5778 |
+
exports.PluginDetector = undefined;
|
5779 |
+
|
5780 |
+
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
|
5781 |
+
|
5782 |
+
var _window = _dereq_(3);
|
5783 |
+
|
5784 |
+
var _window2 = _interopRequireDefault(_window);
|
5785 |
+
|
5786 |
+
var _document = _dereq_(2);
|
5787 |
+
|
5788 |
+
var _document2 = _interopRequireDefault(_document);
|
5789 |
+
|
5790 |
+
var _mejs = _dereq_(7);
|
5791 |
+
|
5792 |
+
var _mejs2 = _interopRequireDefault(_mejs);
|
5793 |
+
|
5794 |
+
var _i18n = _dereq_(5);
|
5795 |
+
|
5796 |
+
var _i18n2 = _interopRequireDefault(_i18n);
|
5797 |
+
|
5798 |
+
var _renderer = _dereq_(8);
|
5799 |
+
|
5800 |
+
var _general = _dereq_(27);
|
5801 |
+
|
5802 |
+
var _constants = _dereq_(25);
|
5803 |
+
|
5804 |
+
var _media = _dereq_(28);
|
5805 |
+
|
5806 |
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
5807 |
+
|
5808 |
+
var PluginDetector = exports.PluginDetector = {
|
5809 |
+
plugins: [],
|
5810 |
+
|
5811 |
+
hasPluginVersion: function hasPluginVersion(plugin, v) {
|
5812 |
+
var pv = PluginDetector.plugins[plugin];
|
5813 |
+
v[1] = v[1] || 0;
|
5814 |
+
v[2] = v[2] || 0;
|
5815 |
+
return pv[0] > v[0] || pv[0] === v[0] && pv[1] > v[1] || pv[0] === v[0] && pv[1] === v[1] && pv[2] >= v[2];
|
5816 |
+
},
|
5817 |
+
|
5818 |
+
addPlugin: function addPlugin(p, pluginName, mimeType, activeX, axDetect) {
|
5819 |
+
PluginDetector.plugins[p] = PluginDetector.detectPlugin(pluginName, mimeType, activeX, axDetect);
|
5820 |
+
},
|
5821 |
+
|
5822 |
+
detectPlugin: function detectPlugin(pluginName, mimeType, activeX, axDetect) {
|
5823 |
+
|
5824 |
+
var version = [0, 0, 0],
|
5825 |
+
description = void 0,
|
5826 |
+
ax = void 0;
|
5827 |
+
|
5828 |
+
if (_constants.NAV.plugins !== null && _constants.NAV.plugins !== undefined && _typeof(_constants.NAV.plugins[pluginName]) === 'object') {
|
5829 |
+
description = _constants.NAV.plugins[pluginName].description;
|
5830 |
+
if (description && !(typeof _constants.NAV.mimeTypes !== 'undefined' && _constants.NAV.mimeTypes[mimeType] && !_constants.NAV.mimeTypes[mimeType].enabledPlugin)) {
|
5831 |
+
version = description.replace(pluginName, '').replace(/^\s+/, '').replace(/\sr/gi, '.').split('.');
|
5832 |
+
for (var i = 0, total = version.length; i < total; i++) {
|
5833 |
+
version[i] = parseInt(version[i].match(/\d+/), 10);
|
5834 |
+
}
|
5835 |
+
}
|
5836 |
+
} else if (_window2.default.ActiveXObject !== undefined) {
|
5837 |
+
try {
|
5838 |
+
ax = new ActiveXObject(activeX);
|
5839 |
+
if (ax) {
|
5840 |
+
version = axDetect(ax);
|
5841 |
+
}
|
5842 |
+
} catch (e) {
|
5843 |
+
|
5844 |
+
}
|
5845 |
+
}
|
5846 |
+
return version;
|
5847 |
+
}
|
5848 |
+
};
|
5849 |
+
|
5850 |
+
PluginDetector.addPlugin('flash', 'Shockwave Flash', 'application/x-shockwave-flash', 'ShockwaveFlash.ShockwaveFlash', function (ax) {
|
5851 |
+
var version = [],
|
5852 |
+
d = ax.GetVariable("$version");
|
5853 |
+
|
5854 |
+
if (d) {
|
5855 |
+
d = d.split(" ")[1].split(",");
|
5856 |
+
version = [parseInt(d[0], 10), parseInt(d[1], 10), parseInt(d[2], 10)];
|
5857 |
+
}
|
5858 |
+
return version;
|
5859 |
+
});
|
5860 |
+
|
5861 |
+
var FlashMediaElementRenderer = {
|
5862 |
+
create: function create(mediaElement, options, mediaFiles) {
|
5863 |
+
|
5864 |
+
var flash = {};
|
5865 |
+
var isActive = false;
|
5866 |
+
|
5867 |
+
flash.options = options;
|
5868 |
+
flash.id = mediaElement.id + '_' + flash.options.prefix;
|
5869 |
+
flash.mediaElement = mediaElement;
|
5870 |
+
flash.flashState = {};
|
5871 |
+
flash.flashApi = null;
|
5872 |
+
flash.flashApiStack = [];
|
5873 |
+
|
5874 |
+
var props = _mejs2.default.html5media.properties,
|
5875 |
+
assignGettersSetters = function assignGettersSetters(propName) {
|
5876 |
+
flash.flashState[propName] = null;
|
5877 |
+
|
5878 |
+
var capName = '' + propName.substring(0, 1).toUpperCase() + propName.substring(1);
|
5879 |
+
|
5880 |
+
flash['get' + capName] = function () {
|
5881 |
+
if (flash.flashApi !== null) {
|
5882 |
+
if (typeof flash.flashApi['get_' + propName] === 'function') {
|
5883 |
+
var value = flash.flashApi['get_' + propName]();
|
5884 |
+
|
5885 |
+
if (propName === 'buffered') {
|
5886 |
+
return {
|
5887 |
+
start: function start() {
|
5888 |
+
return 0;
|
5889 |
+
},
|
5890 |
+
end: function end() {
|
5891 |
+
return value;
|
5892 |
+
},
|
5893 |
+
length: 1
|
5894 |
+
};
|
5895 |
+
}
|
5896 |
+
return value;
|
5897 |
+
} else {
|
5898 |
+
return null;
|
5899 |
+
}
|
5900 |
+
} else {
|
5901 |
+
return null;
|
5902 |
+
}
|
5903 |
+
};
|
5904 |
+
|
5905 |
+
flash['set' + capName] = function (value) {
|
5906 |
+
if (propName === 'src') {
|
5907 |
+
value = (0, _media.absolutizeUrl)(value);
|
5908 |
+
}
|
5909 |
+
|
5910 |
+
if (flash.flashApi !== null && flash.flashApi['set_' + propName] !== undefined) {
|
5911 |
+
try {
|
5912 |
+
flash.flashApi['set_' + propName](value);
|
5913 |
+
} catch (e) {
|
5914 |
+
|
5915 |
+
}
|
5916 |
+
} else {
|
5917 |
+
flash.flashApiStack.push({
|
5918 |
+
type: 'set',
|
5919 |
+
propName: propName,
|
5920 |
+
value: value
|
5921 |
+
});
|
5922 |
+
}
|
5923 |
+
};
|
5924 |
+
};
|
5925 |
+
|
5926 |
+
for (var i = 0, total = props.length; i < total; i++) {
|
5927 |
+
assignGettersSetters(props[i]);
|
5928 |
+
}
|
5929 |
+
|
5930 |
+
var methods = _mejs2.default.html5media.methods,
|
5931 |
+
assignMethods = function assignMethods(methodName) {
|
5932 |
+
flash[methodName] = function () {
|
5933 |
+
if (isActive) {
|
5934 |
+
if (flash.flashApi !== null) {
|
5935 |
+
if (flash.flashApi['fire_' + methodName]) {
|
5936 |
+
try {
|
5937 |
+
flash.flashApi['fire_' + methodName]();
|
5938 |
+
} catch (e) {
|
5939 |
+
|
5940 |
+
}
|
5941 |
+
} else {
|
5942 |
+
|
5943 |
+
}
|
5944 |
+
} else {
|
5945 |
+
flash.flashApiStack.push({
|
5946 |
+
type: 'call',
|
5947 |
+
methodName: methodName
|
5948 |
+
});
|
5949 |
+
}
|
5950 |
+
}
|
5951 |
+
};
|
5952 |
+
};
|
5953 |
+
methods.push('stop');
|
5954 |
+
for (var _i = 0, _total = methods.length; _i < _total; _i++) {
|
5955 |
+
assignMethods(methods[_i]);
|
5956 |
+
}
|
5957 |
+
|
5958 |
+
var initEvents = ['rendererready'];
|
5959 |
+
|
5960 |
+
for (var _i2 = 0, _total2 = initEvents.length; _i2 < _total2; _i2++) {
|
5961 |
+
var event = (0, _general.createEvent)(initEvents[_i2], flash);
|
5962 |
+
mediaElement.dispatchEvent(event);
|
5963 |
+
}
|
5964 |
+
|
5965 |
+
_window2.default['__ready__' + flash.id] = function () {
|
5966 |
+
|
5967 |
+
flash.flashReady = true;
|
5968 |
+
flash.flashApi = _document2.default.getElementById('__' + flash.id);
|
5969 |
+
|
5970 |
+
if (flash.flashApiStack.length) {
|
5971 |
+
for (var _i3 = 0, _total3 = flash.flashApiStack.length; _i3 < _total3; _i3++) {
|
5972 |
+
var stackItem = flash.flashApiStack[_i3];
|
5973 |
+
|
5974 |
+
if (stackItem.type === 'set') {
|
5975 |
+
var propName = stackItem.propName,
|
5976 |
+
capName = '' + propName.substring(0, 1).toUpperCase() + propName.substring(1);
|
5977 |
+
|
5978 |
+
flash['set' + capName](stackItem.value);
|
5979 |
+
} else if (stackItem.type === 'call') {
|
5980 |
+
flash[stackItem.methodName]();
|
5981 |
+
}
|
5982 |
+
}
|
5983 |
+
}
|
5984 |
+
};
|
5985 |
+
|
5986 |
+
_window2.default['__event__' + flash.id] = function (eventName, message) {
|
5987 |
+
var event = (0, _general.createEvent)(eventName, flash);
|
5988 |
+
if (message) {
|
5989 |
+
try {
|
5990 |
+
event.data = JSON.parse(message);
|
5991 |
+
event.details.data = JSON.parse(message);
|
5992 |
+
} catch (e) {
|
5993 |
+
event.message = message;
|
5994 |
+
}
|
5995 |
+
}
|
5996 |
+
|
5997 |
+
flash.mediaElement.dispatchEvent(event);
|
5998 |
+
};
|
5999 |
+
|
6000 |
+
flash.flashWrapper = _document2.default.createElement('div');
|
6001 |
+
|
6002 |
+
if (['always', 'sameDomain'].indexOf(flash.options.shimScriptAccess) === -1) {
|
6003 |
+
flash.options.shimScriptAccess = 'sameDomain';
|
6004 |
+
}
|
6005 |
+
|
6006 |
+
var autoplay = mediaElement.originalNode.autoplay,
|
6007 |
+
flashVars = ['uid=' + flash.id, 'autoplay=' + autoplay, 'allowScriptAccess=' + flash.options.shimScriptAccess, 'preload=' + (mediaElement.originalNode.getAttribute('preload') || '')],
|
6008 |
+
isVideo = mediaElement.originalNode !== null && mediaElement.originalNode.tagName.toLowerCase() === 'video',
|
6009 |
+
flashHeight = isVideo ? mediaElement.originalNode.height : 1,
|
6010 |
+
flashWidth = isVideo ? mediaElement.originalNode.width : 1;
|
6011 |
+
|
6012 |
+
if (mediaElement.originalNode.getAttribute('src')) {
|
6013 |
+
flashVars.push('src=' + mediaElement.originalNode.getAttribute('src'));
|
6014 |
+
}
|
6015 |
+
|
6016 |
+
if (flash.options.enablePseudoStreaming === true) {
|
6017 |
+
flashVars.push('pseudostreamstart=' + flash.options.pseudoStreamingStartQueryParam);
|
6018 |
+
flashVars.push('pseudostreamtype=' + flash.options.pseudoStreamingType);
|
6019 |
+
}
|
6020 |
+
|
6021 |
+
if (flash.options.streamDelimiter) {
|
6022 |
+
flashVars.push('streamdelimiter=' + encodeURIComponent(flash.options.streamDelimiter));
|
6023 |
+
}
|
6024 |
+
|
6025 |
+
if (flash.options.proxyType) {
|
6026 |
+
flashVars.push('proxytype=' + flash.options.proxyType);
|
6027 |
+
}
|
6028 |
+
|
6029 |
+
mediaElement.appendChild(flash.flashWrapper);
|
6030 |
+
mediaElement.originalNode.style.display = 'none';
|
6031 |
+
|
6032 |
+
var settings = [];
|
6033 |
+
|
6034 |
+
if (_constants.IS_IE || _constants.IS_EDGE) {
|
6035 |
+
var specialIEContainer = _document2.default.createElement('div');
|
6036 |
+
flash.flashWrapper.appendChild(specialIEContainer);
|
6037 |
+
|
6038 |
+
if (_constants.IS_EDGE) {
|
6039 |
+
settings = ['type="application/x-shockwave-flash"', 'data="' + flash.options.pluginPath + flash.options.filename + '"', 'id="__' + flash.id + '"', 'width="' + flashWidth + '"', 'height="' + flashHeight + '\'"'];
|
6040 |
+
} else {
|
6041 |
+
settings = ['classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"', 'codebase="//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab"', 'id="__' + flash.id + '"', 'width="' + flashWidth + '"', 'height="' + flashHeight + '"'];
|
6042 |
+
}
|
6043 |
+
|
6044 |
+
if (!isVideo) {
|
6045 |
+
settings.push('style="clip: rect(0 0 0 0); position: absolute;"');
|
6046 |
+
}
|
6047 |
+
|
6048 |
+
specialIEContainer.outerHTML = '<object ' + settings.join(' ') + '>' + ('<param name="movie" value="' + flash.options.pluginPath + flash.options.filename + '?x=' + new Date() + '" />') + ('<param name="flashvars" value="' + flashVars.join('&') + '" />') + '<param name="quality" value="high" />' + '<param name="bgcolor" value="#000000" />' + '<param name="wmode" value="transparent" />' + ('<param name="allowScriptAccess" value="' + flash.options.shimScriptAccess + '" />') + '<param name="allowFullScreen" value="true" />' + ('<div>' + _i18n2.default.t('mejs.install-flash') + '</div>') + '</object>';
|
6049 |
+
} else {
|
6050 |
+
|
6051 |
+
settings = ['id="__' + flash.id + '"', 'name="__' + flash.id + '"', 'play="true"', 'loop="false"', 'quality="high"', 'bgcolor="#000000"', 'wmode="transparent"', 'allowScriptAccess="' + flash.options.shimScriptAccess + '"', 'allowFullScreen="true"', 'type="application/x-shockwave-flash"', 'pluginspage="//www.macromedia.com/go/getflashplayer"', 'src="' + flash.options.pluginPath + flash.options.filename + '"', 'flashvars="' + flashVars.join('&') + '"'];
|
6052 |
+
|
6053 |
+
if (isVideo) {
|
6054 |
+
settings.push('width="' + flashWidth + '"');
|
6055 |
+
settings.push('height="' + flashHeight + '"');
|
6056 |
+
} else {
|
6057 |
+
settings.push('style="position: fixed; left: -9999em; top: -9999em;"');
|
6058 |
+
}
|
6059 |
+
|
6060 |
+
flash.flashWrapper.innerHTML = '<embed ' + settings.join(' ') + '>';
|
6061 |
+
}
|
6062 |
+
|
6063 |
+
flash.flashNode = flash.flashWrapper.lastChild;
|
6064 |
+
|
6065 |
+
flash.hide = function () {
|
6066 |
+
isActive = false;
|
6067 |
+
if (isVideo) {
|
6068 |
+
flash.flashNode.style.display = 'none';
|
6069 |
+
}
|
6070 |
+
};
|
6071 |
+
flash.show = function () {
|
6072 |
+
isActive = true;
|
6073 |
+
if (isVideo) {
|
6074 |
+
flash.flashNode.style.display = '';
|
6075 |
+
}
|
6076 |
+
};
|
6077 |
+
flash.setSize = function (width, height) {
|
6078 |
+
flash.flashNode.style.width = width + 'px';
|
6079 |
+
flash.flashNode.style.height = height + 'px';
|
6080 |
+
|
6081 |
+
if (flash.flashApi !== null && typeof flash.flashApi.fire_setSize === 'function') {
|
6082 |
+
flash.flashApi.fire_setSize(width, height);
|
6083 |
+
}
|
6084 |
+
};
|
6085 |
+
|
6086 |
+
flash.destroy = function () {
|
6087 |
+
flash.flashNode.remove();
|
6088 |
+
};
|
6089 |
+
|
6090 |
+
if (mediaFiles && mediaFiles.length > 0) {
|
6091 |
+
for (var _i4 = 0, _total4 = mediaFiles.length; _i4 < _total4; _i4++) {
|
6092 |
+
if (_renderer.renderer.renderers[options.prefix].canPlayType(mediaFiles[_i4].type)) {
|
6093 |
+
flash.setSrc(mediaFiles[_i4].src);
|
6094 |
+
break;
|
6095 |
+
}
|
6096 |
+
}
|
6097 |
+
}
|
6098 |
+
|
6099 |
+
return flash;
|
6100 |
+
}
|
6101 |
+
};
|
6102 |
+
|
6103 |
+
var hasFlash = PluginDetector.hasPluginVersion('flash', [10, 0, 0]);
|
6104 |
+
|
6105 |
+
if (hasFlash) {
|
6106 |
+
_media.typeChecks.push(function (url) {
|
6107 |
+
url = url.toLowerCase();
|
6108 |
+
|
6109 |
+
if (url.startsWith('rtmp')) {
|
6110 |
+
if (~url.indexOf('.mp3')) {
|
6111 |
+
return 'audio/rtmp';
|
6112 |
+
} else {
|
6113 |
+
return 'video/rtmp';
|
6114 |
+
}
|
6115 |
+
} else if (/\.og(a|g)/i.test(url)) {
|
6116 |
+
return 'audio/ogg';
|
6117 |
+
} else if (~url.indexOf('.m3u8')) {
|
6118 |
+
return 'application/x-mpegURL';
|
6119 |
+
} else if (~url.indexOf('.mpd')) {
|
6120 |
+
return 'application/dash+xml';
|
6121 |
+
} else if (~url.indexOf('.flv')) {
|
6122 |
+
return 'video/flv';
|
6123 |
+
} else {
|
6124 |
+
return null;
|
6125 |
+
}
|
6126 |
+
});
|
6127 |
+
|
6128 |
+
var FlashMediaElementVideoRenderer = {
|
6129 |
+
name: 'flash_video',
|
6130 |
+
options: {
|
6131 |
+
prefix: 'flash_video',
|
6132 |
+
filename: 'mediaelement-flash-video.swf',
|
6133 |
+
enablePseudoStreaming: false,
|
6134 |
+
|
6135 |
+
pseudoStreamingStartQueryParam: 'start',
|
6136 |
+
|
6137 |
+
pseudoStreamingType: 'byte',
|
6138 |
+
|
6139 |
+
proxyType: '',
|
6140 |
+
|
6141 |
+
streamDelimiter: ''
|
6142 |
+
},
|
6143 |
+
|
6144 |
+
canPlayType: function canPlayType(type) {
|
6145 |
+
return ~['video/mp4', 'video/rtmp', 'audio/rtmp', 'rtmp/mp4', 'audio/mp4', 'video/flv', 'video/x-flv'].indexOf(type.toLowerCase());
|
6146 |
+
},
|
6147 |
+
|
6148 |
+
create: FlashMediaElementRenderer.create
|
6149 |
+
|
6150 |
+
};
|
6151 |
+
_renderer.renderer.add(FlashMediaElementVideoRenderer);
|
6152 |
+
|
6153 |
+
var FlashMediaElementHlsVideoRenderer = {
|
6154 |
+
name: 'flash_hls',
|
6155 |
+
options: {
|
6156 |
+
prefix: 'flash_hls',
|
6157 |
+
filename: 'mediaelement-flash-video-hls.swf'
|
6158 |
+
},
|
6159 |
+
|
6160 |
+
canPlayType: function canPlayType(type) {
|
6161 |
+
return ~['application/x-mpegurl', 'application/vnd.apple.mpegurl', 'audio/mpegurl', 'audio/hls', 'video/hls'].indexOf(type.toLowerCase());
|
6162 |
+
},
|
6163 |
+
|
6164 |
+
create: FlashMediaElementRenderer.create
|
6165 |
+
};
|
6166 |
+
_renderer.renderer.add(FlashMediaElementHlsVideoRenderer);
|
6167 |
+
|
6168 |
+
var FlashMediaElementMdashVideoRenderer = {
|
6169 |
+
name: 'flash_dash',
|
6170 |
+
options: {
|
6171 |
+
prefix: 'flash_dash',
|
6172 |
+
filename: 'mediaelement-flash-video-mdash.swf'
|
6173 |
+
},
|
6174 |
+
|
6175 |
+
canPlayType: function canPlayType(type) {
|
6176 |
+
return ~['application/dash+xml'].indexOf(type.toLowerCase());
|
6177 |
+
},
|
6178 |
+
|
6179 |
+
create: FlashMediaElementRenderer.create
|
6180 |
+
};
|
6181 |
+
_renderer.renderer.add(FlashMediaElementMdashVideoRenderer);
|
6182 |
+
|
6183 |
+
var FlashMediaElementAudioRenderer = {
|
6184 |
+
name: 'flash_audio',
|
6185 |
+
options: {
|
6186 |
+
prefix: 'flash_audio',
|
6187 |
+
filename: 'mediaelement-flash-audio.swf'
|
6188 |
+
},
|
6189 |
+
|
6190 |
+
canPlayType: function canPlayType(type) {
|
6191 |
+
return ~['audio/mp3'].indexOf(type.toLowerCase());
|
6192 |
+
},
|
6193 |
+
|
6194 |
+
create: FlashMediaElementRenderer.create
|
6195 |
+
};
|
6196 |
+
_renderer.renderer.add(FlashMediaElementAudioRenderer);
|
6197 |
+
|
6198 |
+
var FlashMediaElementAudioOggRenderer = {
|
6199 |
+
name: 'flash_audio_ogg',
|
6200 |
+
options: {
|
6201 |
+
prefix: 'flash_audio_ogg',
|
6202 |
+
filename: 'mediaelement-flash-audio-ogg.swf'
|
6203 |
+
},
|
6204 |
+
|
6205 |
+
canPlayType: function canPlayType(type) {
|
6206 |
+
return ~['audio/ogg', 'audio/oga', 'audio/ogv'].indexOf(type.toLowerCase());
|
6207 |
+
},
|
6208 |
+
|
6209 |
+
create: FlashMediaElementRenderer.create
|
6210 |
+
};
|
6211 |
+
_renderer.renderer.add(FlashMediaElementAudioOggRenderer);
|
6212 |
+
}
|
6213 |
+
|
6214 |
+
},{"2":2,"25":25,"27":27,"28":28,"3":3,"5":5,"7":7,"8":8}],21:[function(_dereq_,module,exports){
|
6215 |
+
'use strict';
|
6216 |
+
|
6217 |
+
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
|
6218 |
+
|
6219 |
+
var _window = _dereq_(3);
|
6220 |
+
|
6221 |
+
var _window2 = _interopRequireDefault(_window);
|
6222 |
+
|
6223 |
+
var _mejs = _dereq_(7);
|
6224 |
+
|
6225 |
+
var _mejs2 = _interopRequireDefault(_mejs);
|
6226 |
+
|
6227 |
+
var _renderer = _dereq_(8);
|
6228 |
+
|
6229 |
+
var _general = _dereq_(27);
|
6230 |
+
|
6231 |
+
var _constants = _dereq_(25);
|
6232 |
+
|
6233 |
+
var _media = _dereq_(28);
|
6234 |
+
|
6235 |
+
var _dom = _dereq_(26);
|
6236 |
+
|
6237 |
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
6238 |
+
|
6239 |
+
var NativeFlv = {
|
6240 |
+
|
6241 |
+
promise: null,
|
6242 |
+
|
6243 |
+
load: function load(settings) {
|
6244 |
+
if (typeof flvjs !== 'undefined') {
|
6245 |
+
NativeFlv.promise = new Promise(function (resolve) {
|
6246 |
+
resolve();
|
6247 |
+
}).then(function () {
|
6248 |
+
NativeFlv._createPlayer(settings);
|
6249 |
+
});
|
6250 |
+
} else {
|
6251 |
+
settings.options.path = typeof settings.options.path === 'string' ? settings.options.path : 'https://cdn.jsdelivr.net/npm/flv.js@latest';
|
6252 |
+
|
6253 |
+
NativeFlv.promise = NativeFlv.promise || (0, _dom.loadScript)(settings.options.path);
|
6254 |
+
NativeFlv.promise.then(function () {
|
6255 |
+
NativeFlv._createPlayer(settings);
|
6256 |
+
});
|
6257 |
+
}
|
6258 |
+
|
6259 |
+
return NativeFlv.promise;
|
6260 |
+
},
|
6261 |
+
|
6262 |
+
_createPlayer: function _createPlayer(settings) {
|
6263 |
+
flvjs.LoggingControl.enableDebug = settings.options.debug;
|
6264 |
+
flvjs.LoggingControl.enableVerbose = settings.options.debug;
|
6265 |
+
var player = flvjs.createPlayer(settings.options, settings.configs);
|
6266 |
+
_window2.default['__ready__' + settings.id](player);
|
6267 |
+
return player;
|
6268 |
+
}
|
6269 |
+
};
|
6270 |
+
|
6271 |
+
var FlvNativeRenderer = {
|
6272 |
+
name: 'native_flv',
|
6273 |
+
options: {
|
6274 |
+
prefix: 'native_flv',
|
6275 |
+
flv: {
|
6276 |
+
path: 'https://cdn.jsdelivr.net/npm/flv.js@latest',
|
6277 |
+
|
6278 |
+
cors: true,
|
6279 |
+
debug: false
|
6280 |
+
}
|
6281 |
+
},
|
6282 |
+
|
6283 |
+
canPlayType: function canPlayType(type) {
|
6284 |
+
return _constants.HAS_MSE && ['video/x-flv', 'video/flv'].indexOf(type.toLowerCase()) > -1;
|
6285 |
+
},
|
6286 |
+
|
6287 |
+
create: function create(mediaElement, options, mediaFiles) {
|
6288 |
+
|
6289 |
+
var originalNode = mediaElement.originalNode,
|
6290 |
+
id = mediaElement.id + '_' + options.prefix;
|
6291 |
+
|
6292 |
+
var node = null,
|
6293 |
+
flvPlayer = null;
|
6294 |
+
|
6295 |
+
node = originalNode.cloneNode(true);
|
6296 |
+
options = Object.assign(options, mediaElement.options);
|
6297 |
+
|
6298 |
+
var props = _mejs2.default.html5media.properties,
|
6299 |
+
events = _mejs2.default.html5media.events.concat(['click', 'mouseover', 'mouseout']).filter(function (e) {
|
6300 |
+
return e !== 'error';
|
6301 |
+
}),
|
6302 |
+
attachNativeEvents = function attachNativeEvents(e) {
|
6303 |
+
var event = (0, _general.createEvent)(e.type, mediaElement);
|
6304 |
+
mediaElement.dispatchEvent(event);
|
6305 |
+
},
|
6306 |
+
assignGettersSetters = function assignGettersSetters(propName) {
|
6307 |
+
var capName = '' + propName.substring(0, 1).toUpperCase() + propName.substring(1);
|
6308 |
+
|
6309 |
+
node['get' + capName] = function () {
|
6310 |
+
return flvPlayer !== null ? node[propName] : null;
|
6311 |
+
};
|
6312 |
+
|
6313 |
+
node['set' + capName] = function (value) {
|
6314 |
+
if (_mejs2.default.html5media.readOnlyProperties.indexOf(propName) === -1) {
|
6315 |
+
if (propName === 'src') {
|
6316 |
+
node[propName] = (typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && value.src ? value.src : value;
|
6317 |
+
if (flvPlayer !== null) {
|
6318 |
+
var _flvOptions = {};
|
6319 |
+
_flvOptions.type = 'flv';
|
6320 |
+
_flvOptions.url = value;
|
6321 |
+
_flvOptions.cors = options.flv.cors;
|
6322 |
+
_flvOptions.debug = options.flv.debug;
|
6323 |
+
_flvOptions.path = options.flv.path;
|
6324 |
+
var _flvConfigs = options.flv.configs;
|
6325 |
+
|
6326 |
+
flvPlayer.destroy();
|
6327 |
+
for (var i = 0, total = events.length; i < total; i++) {
|
6328 |
+
node.removeEventListener(events[i], attachNativeEvents);
|
6329 |
+
}
|
6330 |
+
flvPlayer = NativeFlv._createPlayer({
|
6331 |
+
options: _flvOptions,
|
6332 |
+
configs: _flvConfigs,
|
6333 |
+
id: id
|
6334 |
+
});
|
6335 |
+
flvPlayer.attachMediaElement(node);
|
6336 |
+
flvPlayer.load();
|
6337 |
+
}
|
6338 |
+
} else {
|
6339 |
+
node[propName] = value;
|
6340 |
+
}
|
6341 |
+
}
|
6342 |
+
};
|
6343 |
+
};
|
6344 |
+
|
6345 |
+
for (var i = 0, total = props.length; i < total; i++) {
|
6346 |
+
assignGettersSetters(props[i]);
|
6347 |
+
}
|
6348 |
+
|
6349 |
+
_window2.default['__ready__' + id] = function (_flvPlayer) {
|
6350 |
+
mediaElement.flvPlayer = flvPlayer = _flvPlayer;
|
6351 |
+
|
6352 |
+
var flvEvents = flvjs.Events,
|
6353 |
+
assignEvents = function assignEvents(eventName) {
|
6354 |
+
if (eventName === 'loadedmetadata') {
|
6355 |
+
flvPlayer.unload();
|
6356 |
+
flvPlayer.detachMediaElement();
|
6357 |
+
flvPlayer.attachMediaElement(node);
|
6358 |
+
flvPlayer.load();
|
6359 |
+
}
|
6360 |
+
|
6361 |
+
node.addEventListener(eventName, attachNativeEvents);
|
6362 |
+
};
|
6363 |
+
|
6364 |
+
for (var _i = 0, _total = events.length; _i < _total; _i++) {
|
6365 |
+
assignEvents(events[_i]);
|
6366 |
+
}
|
6367 |
+
|
6368 |
+
var assignFlvEvents = function assignFlvEvents(name, data) {
|
6369 |
+
if (name === 'error') {
|
6370 |
+
var message = data[0] + ': ' + data[1] + ' ' + data[2].msg;
|
6371 |
+
mediaElement.generateError(message, node.src);
|
6372 |
+
} else {
|
6373 |
+
var _event = (0, _general.createEvent)(name, mediaElement);
|
6374 |
+
_event.data = data;
|
6375 |
+
mediaElement.dispatchEvent(_event);
|
6376 |
+
}
|
6377 |
+
};
|
6378 |
+
|
6379 |
+
var _loop = function _loop(eventType) {
|
6380 |
+
if (flvEvents.hasOwnProperty(eventType)) {
|
6381 |
+
flvPlayer.on(flvEvents[eventType], function () {
|
6382 |
+
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
|
6383 |
+
args[_key] = arguments[_key];
|
6384 |
+
}
|
6385 |
+
|
6386 |
+
return assignFlvEvents(flvEvents[eventType], args);
|
6387 |
+
});
|
6388 |
+
}
|
6389 |
+
};
|
6390 |
+
|
6391 |
+
for (var eventType in flvEvents) {
|
6392 |
+
_loop(eventType);
|
6393 |
+
}
|
6394 |
+
};
|
6395 |
+
|
6396 |
+
if (mediaFiles && mediaFiles.length > 0) {
|
6397 |
+
for (var _i2 = 0, _total2 = mediaFiles.length; _i2 < _total2; _i2++) {
|
6398 |
+
if (_renderer.renderer.renderers[options.prefix].canPlayType(mediaFiles[_i2].type)) {
|
6399 |
+
node.setAttribute('src', mediaFiles[_i2].src);
|
6400 |
+
break;
|
6401 |
+
}
|
6402 |
+
}
|
6403 |
+
}
|
6404 |
+
|
6405 |
+
node.setAttribute('id', id);
|
6406 |
+
|
6407 |
+
originalNode.parentNode.insertBefore(node, originalNode);
|
6408 |
+
originalNode.autoplay = false;
|
6409 |
+
originalNode.style.display = 'none';
|
6410 |
+
|
6411 |
+
var flvOptions = {};
|
6412 |
+
flvOptions.type = 'flv';
|
6413 |
+
flvOptions.url = node.src;
|
6414 |
+
flvOptions.cors = options.flv.cors;
|
6415 |
+
flvOptions.debug = options.flv.debug;
|
6416 |
+
flvOptions.path = options.flv.path;
|
6417 |
+
var flvConfigs = options.flv.configs;
|
6418 |
+
|
6419 |
+
node.setSize = function (width, height) {
|
6420 |
+
node.style.width = width + 'px';
|
6421 |
+
node.style.height = height + 'px';
|
6422 |
+
return node;
|
6423 |
+
};
|
6424 |
+
|
6425 |
+
node.hide = function () {
|
6426 |
+
if (flvPlayer !== null) {
|
6427 |
+
flvPlayer.pause();
|
6428 |
+
}
|
6429 |
+
node.style.display = 'none';
|
6430 |
+
return node;
|
6431 |
+
};
|
6432 |
+
|
6433 |
+
node.show = function () {
|
6434 |
+
node.style.display = '';
|
6435 |
+
return node;
|
6436 |
+
};
|
6437 |
+
|
6438 |
+
node.destroy = function () {
|
6439 |
+
if (flvPlayer !== null) {
|
6440 |
+
flvPlayer.destroy();
|
6441 |
+
}
|
6442 |
+
};
|
6443 |
+
|
6444 |
+
var event = (0, _general.createEvent)('rendererready', node);
|
6445 |
+
mediaElement.dispatchEvent(event);
|
6446 |
+
|
6447 |
+
mediaElement.promises.push(NativeFlv.load({
|
6448 |
+
options: flvOptions,
|
6449 |
+
configs: flvConfigs,
|
6450 |
+
id: id
|
6451 |
+
}));
|
6452 |
+
|
6453 |
+
return node;
|
6454 |
+
}
|
6455 |
+
};
|
6456 |
+
|
6457 |
+
_media.typeChecks.push(function (url) {
|
6458 |
+
return ~url.toLowerCase().indexOf('.flv') ? 'video/flv' : null;
|
6459 |
+
});
|
6460 |
+
|
6461 |
+
_renderer.renderer.add(FlvNativeRenderer);
|
6462 |
+
|
6463 |
+
},{"25":25,"26":26,"27":27,"28":28,"3":3,"7":7,"8":8}],22:[function(_dereq_,module,exports){
|
6464 |
+
'use strict';
|
6465 |
+
|
6466 |
+
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
|
6467 |
+
|
6468 |
+
var _window = _dereq_(3);
|
6469 |
+
|
6470 |
+
var _window2 = _interopRequireDefault(_window);
|
6471 |
+
|
6472 |
+
var _mejs = _dereq_(7);
|
6473 |
+
|
6474 |
+
var _mejs2 = _interopRequireDefault(_mejs);
|
6475 |
+
|
6476 |
+
var _renderer = _dereq_(8);
|
6477 |
+
|
6478 |
+
var _general = _dereq_(27);
|
6479 |
+
|
6480 |
+
var _constants = _dereq_(25);
|
6481 |
+
|
6482 |
+
var _media = _dereq_(28);
|
6483 |
+
|
6484 |
+
var _dom = _dereq_(26);
|
6485 |
+
|
6486 |
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
6487 |
+
|
6488 |
+
var NativeHls = {
|
6489 |
+
|
6490 |
+
promise: null,
|
6491 |
+
|
6492 |
+
load: function load(settings) {
|
6493 |
+
if (typeof Hls !== 'undefined') {
|
6494 |
+
NativeHls.promise = new Promise(function (resolve) {
|
6495 |
+
resolve();
|
6496 |
+
}).then(function () {
|
6497 |
+
NativeHls._createPlayer(settings);
|
6498 |
+
});
|
6499 |
+
} else {
|
6500 |
+
settings.options.path = typeof settings.options.path === 'string' ? settings.options.path : 'https://cdn.jsdelivr.net/npm/hls.js@latest';
|
6501 |
+
|
6502 |
+
NativeHls.promise = NativeHls.promise || (0, _dom.loadScript)(settings.options.path);
|
6503 |
+
NativeHls.promise.then(function () {
|
6504 |
+
NativeHls._createPlayer(settings);
|
6505 |
+
});
|
6506 |
+
}
|
6507 |
+
|
6508 |
+
return NativeHls.promise;
|
6509 |
+
},
|
6510 |
+
|
6511 |
+
_createPlayer: function _createPlayer(settings) {
|
6512 |
+
var player = new Hls(settings.options);
|
6513 |
+
_window2.default['__ready__' + settings.id](player);
|
6514 |
+
return player;
|
6515 |
+
}
|
6516 |
+
};
|
6517 |
+
|
6518 |
+
var HlsNativeRenderer = {
|
6519 |
+
name: 'native_hls',
|
6520 |
+
options: {
|
6521 |
+
prefix: 'native_hls',
|
6522 |
+
hls: {
|
6523 |
+
path: 'https://cdn.jsdelivr.net/npm/hls.js@latest',
|
6524 |
+
|
6525 |
+
autoStartLoad: false,
|
6526 |
+
debug: false
|
6527 |
+
}
|
6528 |
+
},
|
6529 |
+
|
6530 |
+
canPlayType: function canPlayType(type) {
|
6531 |
+
return _constants.HAS_MSE && ['application/x-mpegurl', 'application/vnd.apple.mpegurl', 'audio/mpegurl', 'audio/hls', 'video/hls'].indexOf(type.toLowerCase()) > -1;
|
6532 |
+
},
|
6533 |
+
|
6534 |
+
create: function create(mediaElement, options, mediaFiles) {
|
6535 |
+
|
6536 |
+
var originalNode = mediaElement.originalNode,
|
6537 |
+
id = mediaElement.id + '_' + options.prefix,
|
6538 |
+
preload = originalNode.getAttribute('preload'),
|
6539 |
+
autoplay = originalNode.autoplay;
|
6540 |
+
|
6541 |
+
var hlsPlayer = null,
|
6542 |
+
node = null,
|
6543 |
+
index = 0,
|
6544 |
+
total = mediaFiles.length;
|
6545 |
+
|
6546 |
+
node = originalNode.cloneNode(true);
|
6547 |
+
options = Object.assign(options, mediaElement.options);
|
6548 |
+
options.hls.autoStartLoad = preload && preload !== 'none' || autoplay;
|
6549 |
+
|
6550 |
+
var props = _mejs2.default.html5media.properties,
|
6551 |
+
events = _mejs2.default.html5media.events.concat(['click', 'mouseover', 'mouseout']).filter(function (e) {
|
6552 |
+
return e !== 'error';
|
6553 |
+
}),
|
6554 |
+
attachNativeEvents = function attachNativeEvents(e) {
|
6555 |
+
var event = (0, _general.createEvent)(e.type, mediaElement);
|
6556 |
+
mediaElement.dispatchEvent(event);
|
6557 |
+
},
|
6558 |
+
assignGettersSetters = function assignGettersSetters(propName) {
|
6559 |
+
var capName = '' + propName.substring(0, 1).toUpperCase() + propName.substring(1);
|
6560 |
+
|
6561 |
+
node['get' + capName] = function () {
|
6562 |
+
return hlsPlayer !== null ? node[propName] : null;
|
6563 |
+
};
|
6564 |
+
|
6565 |
+
node['set' + capName] = function (value) {
|
6566 |
+
if (_mejs2.default.html5media.readOnlyProperties.indexOf(propName) === -1) {
|
6567 |
+
if (propName === 'src') {
|
6568 |
+
node[propName] = (typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && value.src ? value.src : value;
|
6569 |
+
if (hlsPlayer !== null) {
|
6570 |
+
hlsPlayer.destroy();
|
6571 |
+
for (var i = 0, _total = events.length; i < _total; i++) {
|
6572 |
+
node.removeEventListener(events[i], attachNativeEvents);
|
6573 |
+
}
|
6574 |
+
hlsPlayer = NativeHls._createPlayer({
|
6575 |
+
options: options.hls,
|
6576 |
+
id: id
|
6577 |
+
});
|
6578 |
+
hlsPlayer.loadSource(value);
|
6579 |
+
hlsPlayer.attachMedia(node);
|
6580 |
+
}
|
6581 |
+
} else {
|
6582 |
+
node[propName] = value;
|
6583 |
+
}
|
6584 |
+
}
|
6585 |
+
};
|
6586 |
+
};
|
6587 |
+
|
6588 |
+
for (var i = 0, _total2 = props.length; i < _total2; i++) {
|
6589 |
+
assignGettersSetters(props[i]);
|
6590 |
+
}
|
6591 |
+
|
6592 |
+
_window2.default['__ready__' + id] = function (_hlsPlayer) {
|
6593 |
+
mediaElement.hlsPlayer = hlsPlayer = _hlsPlayer;
|
6594 |
+
var hlsEvents = Hls.Events,
|
6595 |
+
assignEvents = function assignEvents(eventName) {
|
6596 |
+
if (eventName === 'loadedmetadata') {
|
6597 |
+
var url = mediaElement.originalNode.src;
|
6598 |
+
hlsPlayer.detachMedia();
|
6599 |
+
hlsPlayer.loadSource(url);
|
6600 |
+
hlsPlayer.attachMedia(node);
|
6601 |
+
}
|
6602 |
+
|
6603 |
+
node.addEventListener(eventName, attachNativeEvents);
|
6604 |
+
};
|
6605 |
+
|
6606 |
+
for (var _i = 0, _total3 = events.length; _i < _total3; _i++) {
|
6607 |
+
assignEvents(events[_i]);
|
6608 |
+
}
|
6609 |
+
|
6610 |
+
var recoverDecodingErrorDate = void 0,
|
6611 |
+
recoverSwapAudioCodecDate = void 0;
|
6612 |
+
var assignHlsEvents = function assignHlsEvents(name, data) {
|
6613 |
+
if (name === 'hlsError') {
|
6614 |
+
console.warn(data);
|
6615 |
+
data = data[1];
|
6616 |
+
|
6617 |
+
if (data.fatal) {
|
6618 |
+
switch (data.type) {
|
6619 |
+
case 'mediaError':
|
6620 |
+
var now = new Date().getTime();
|
6621 |
+
if (!recoverDecodingErrorDate || now - recoverDecodingErrorDate > 3000) {
|
6622 |
+
recoverDecodingErrorDate = new Date().getTime();
|
6623 |
+
hlsPlayer.recoverMediaError();
|
6624 |
+
} else if (!recoverSwapAudioCodecDate || now - recoverSwapAudioCodecDate > 3000) {
|
6625 |
+
recoverSwapAudioCodecDate = new Date().getTime();
|
6626 |
+
console.warn('Attempting to swap Audio Codec and recover from media error');
|
6627 |
+
hlsPlayer.swapAudioCodec();
|
6628 |
+
hlsPlayer.recoverMediaError();
|
6629 |
+
} else {
|
6630 |
+
var message = 'Cannot recover, last media error recovery failed';
|
6631 |
+
mediaElement.generateError(message, node.src);
|
6632 |
+
console.error(message);
|
6633 |
+
}
|
6634 |
+
break;
|
6635 |
+
case 'networkError':
|
6636 |
+
if (data.details === 'manifestLoadError') {
|
6637 |
+
if (index < total && mediaFiles[index + 1] !== undefined) {
|
6638 |
+
node.setSrc(mediaFiles[index++].src);
|
6639 |
+
node.load();
|
6640 |
+
node.play();
|
6641 |
+
} else {
|
6642 |
+
var _message = 'Network error';
|
6643 |
+
mediaElement.generateError(_message, mediaFiles);
|
6644 |
+
console.error(_message);
|
6645 |
+
}
|
6646 |
+
} else {
|
6647 |
+
var _message2 = 'Network error';
|
6648 |
+
mediaElement.generateError(_message2, mediaFiles);
|
6649 |
+
console.error(_message2);
|
6650 |
+
}
|
6651 |
+
break;
|
6652 |
+
default:
|
6653 |
+
hlsPlayer.destroy();
|
6654 |
+
break;
|
6655 |
+
}
|
6656 |
+
}
|
6657 |
+
} else {
|
6658 |
+
var _event = (0, _general.createEvent)(name, mediaElement);
|
6659 |
+
_event.data = data;
|
6660 |
+
mediaElement.dispatchEvent(_event);
|
6661 |
+
}
|
6662 |
+
};
|
6663 |
+
|
6664 |
+
var _loop = function _loop(eventType) {
|
6665 |
+
if (hlsEvents.hasOwnProperty(eventType)) {
|
6666 |
+
hlsPlayer.on(hlsEvents[eventType], function () {
|
6667 |
+
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
|
6668 |
+
args[_key] = arguments[_key];
|
6669 |
+
}
|
6670 |
+
|
6671 |
+
return assignHlsEvents(hlsEvents[eventType], args);
|
6672 |
+
});
|
6673 |
+
}
|
6674 |
+
};
|
6675 |
+
|
6676 |
+
for (var eventType in hlsEvents) {
|
6677 |
+
_loop(eventType);
|
6678 |
+
}
|
6679 |
+
};
|
6680 |
+
|
6681 |
+
if (total > 0) {
|
6682 |
+
for (; index < total; index++) {
|
6683 |
+
if (_renderer.renderer.renderers[options.prefix].canPlayType(mediaFiles[index].type)) {
|
6684 |
+
node.setAttribute('src', mediaFiles[index].src);
|
6685 |
+
break;
|
6686 |
+
}
|
6687 |
+
}
|
6688 |
+
}
|
6689 |
+
|
6690 |
+
if (preload !== 'auto' && !autoplay) {
|
6691 |
+
node.addEventListener('play', function () {
|
6692 |
+
if (hlsPlayer !== null) {
|
6693 |
+
hlsPlayer.startLoad();
|
6694 |
+
}
|
6695 |
+
});
|
6696 |
+
|
6697 |
+
node.addEventListener('pause', function () {
|
6698 |
+
if (hlsPlayer !== null) {
|
6699 |
+
hlsPlayer.stopLoad();
|
6700 |
+
}
|
6701 |
+
});
|
6702 |
+
}
|
6703 |
+
|
6704 |
+
node.setAttribute('id', id);
|
6705 |
+
|
6706 |
+
originalNode.parentNode.insertBefore(node, originalNode);
|
6707 |
+
originalNode.autoplay = false;
|
6708 |
+
originalNode.style.display = 'none';
|
6709 |
+
|
6710 |
+
node.setSize = function (width, height) {
|
6711 |
+
node.style.width = width + 'px';
|
6712 |
+
node.style.height = height + 'px';
|
6713 |
+
return node;
|
6714 |
+
};
|
6715 |
+
|
6716 |
+
node.hide = function () {
|
6717 |
+
node.pause();
|
6718 |
+
node.style.display = 'none';
|
6719 |
+
return node;
|
6720 |
+
};
|
6721 |
+
|
6722 |
+
node.show = function () {
|
6723 |
+
node.style.display = '';
|
6724 |
+
return node;
|
6725 |
+
};
|
6726 |
+
|
6727 |
+
node.destroy = function () {
|
6728 |
+
if (hlsPlayer !== null) {
|
6729 |
+
hlsPlayer.stopLoad();
|
6730 |
+
hlsPlayer.destroy();
|
6731 |
+
}
|
6732 |
+
};
|
6733 |
+
|
6734 |
+
var event = (0, _general.createEvent)('rendererready', node);
|
6735 |
+
mediaElement.dispatchEvent(event);
|
6736 |
+
|
6737 |
+
mediaElement.promises.push(NativeHls.load({
|
6738 |
+
options: options.hls,
|
6739 |
+
id: id
|
6740 |
+
}));
|
6741 |
+
|
6742 |
+
return node;
|
6743 |
+
}
|
6744 |
+
};
|
6745 |
+
|
6746 |
+
_media.typeChecks.push(function (url) {
|
6747 |
+
return ~url.toLowerCase().indexOf('.m3u8') ? 'application/x-mpegURL' : null;
|
6748 |
+
});
|
6749 |
+
|
6750 |
+
_renderer.renderer.add(HlsNativeRenderer);
|
6751 |
+
|
6752 |
+
},{"25":25,"26":26,"27":27,"28":28,"3":3,"7":7,"8":8}],23:[function(_dereq_,module,exports){
|
6753 |
+
'use strict';
|
6754 |
+
|
6755 |
+
var _window = _dereq_(3);
|
6756 |
+
|
6757 |
+
var _window2 = _interopRequireDefault(_window);
|
6758 |
+
|
6759 |
+
var _document = _dereq_(2);
|
6760 |
+
|
6761 |
+
var _document2 = _interopRequireDefault(_document);
|
6762 |
+
|
6763 |
+
var _mejs = _dereq_(7);
|
6764 |
+
|
6765 |
+
var _mejs2 = _interopRequireDefault(_mejs);
|
6766 |
+
|
6767 |
+
var _renderer = _dereq_(8);
|
6768 |
+
|
6769 |
+
var _general = _dereq_(27);
|
6770 |
+
|
6771 |
+
var _constants = _dereq_(25);
|
6772 |
+
|
6773 |
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
6774 |
+
|
6775 |
+
var HtmlMediaElement = {
|
6776 |
+
name: 'html5',
|
6777 |
+
options: {
|
6778 |
+
prefix: 'html5'
|
6779 |
+
},
|
6780 |
+
|
6781 |
+
canPlayType: function canPlayType(type) {
|
6782 |
+
|
6783 |
+
var mediaElement = _document2.default.createElement('video');
|
6784 |
+
|
6785 |
+
if (_constants.IS_ANDROID && /\/mp(3|4)$/i.test(type) || ~['application/x-mpegurl', 'vnd.apple.mpegurl', 'audio/mpegurl', 'audio/hls', 'video/hls'].indexOf(type.toLowerCase()) && _constants.SUPPORTS_NATIVE_HLS) {
|
6786 |
+
return 'yes';
|
6787 |
+
} else if (mediaElement.canPlayType) {
|
6788 |
+
return mediaElement.canPlayType(type.toLowerCase()).replace(/no/, '');
|
6789 |
+
} else {
|
6790 |
+
return '';
|
6791 |
+
}
|
6792 |
+
},
|
6793 |
+
|
6794 |
+
create: function create(mediaElement, options, mediaFiles) {
|
6795 |
+
|
6796 |
+
var id = mediaElement.id + '_' + options.prefix;
|
6797 |
+
var isActive = false;
|
6798 |
+
|
6799 |
+
var node = null;
|
6800 |
+
|
6801 |
+
if (mediaElement.originalNode === undefined || mediaElement.originalNode === null) {
|
6802 |
+
node = _document2.default.createElement('audio');
|
6803 |
+
mediaElement.appendChild(node);
|
6804 |
+
} else {
|
6805 |
+
node = mediaElement.originalNode;
|
6806 |
+
}
|
6807 |
+
|
6808 |
+
node.setAttribute('id', id);
|
6809 |
+
|
6810 |
+
var props = _mejs2.default.html5media.properties,
|
6811 |
+
assignGettersSetters = function assignGettersSetters(propName) {
|
6812 |
+
var capName = '' + propName.substring(0, 1).toUpperCase() + propName.substring(1);
|
6813 |
+
|
6814 |
+
node['get' + capName] = function () {
|
6815 |
+
return node[propName];
|
6816 |
+
};
|
6817 |
+
|
6818 |
+
node['set' + capName] = function (value) {
|
6819 |
+
if (_mejs2.default.html5media.readOnlyProperties.indexOf(propName) === -1) {
|
6820 |
+
node[propName] = value;
|
6821 |
+
}
|
6822 |
+
};
|
6823 |
+
};
|
6824 |
+
|
6825 |
+
for (var i = 0, _total = props.length; i < _total; i++) {
|
6826 |
+
assignGettersSetters(props[i]);
|
6827 |
+
}
|
6828 |
+
|
6829 |
+
var events = _mejs2.default.html5media.events.concat(['click', 'mouseover', 'mouseout']).filter(function (e) {
|
6830 |
+
return e !== 'error';
|
6831 |
+
}),
|
6832 |
+
assignEvents = function assignEvents(eventName) {
|
6833 |
+
node.addEventListener(eventName, function (e) {
|
6834 |
+
if (isActive) {
|
6835 |
+
var _event = (0, _general.createEvent)(e.type, e.target);
|
6836 |
+
mediaElement.dispatchEvent(_event);
|
6837 |
+
}
|
6838 |
+
});
|
6839 |
+
};
|
6840 |
+
|
6841 |
+
for (var _i = 0, _total2 = events.length; _i < _total2; _i++) {
|
6842 |
+
assignEvents(events[_i]);
|
6843 |
+
}
|
6844 |
+
|
6845 |
+
node.setSize = function (width, height) {
|
6846 |
+
node.style.width = width + 'px';
|
6847 |
+
node.style.height = height + 'px';
|
6848 |
+
return node;
|
6849 |
+
};
|
6850 |
+
|
6851 |
+
node.hide = function () {
|
6852 |
+
isActive = false;
|
6853 |
+
node.style.display = 'none';
|
6854 |
+
|
6855 |
+
return node;
|
6856 |
+
};
|
6857 |
+
|
6858 |
+
node.show = function () {
|
6859 |
+
isActive = true;
|
6860 |
+
node.style.display = '';
|
6861 |
+
|
6862 |
+
return node;
|
6863 |
+
};
|
6864 |
+
|
6865 |
+
var index = 0,
|
6866 |
+
total = mediaFiles.length;
|
6867 |
+
if (total > 0) {
|
6868 |
+
for (; index < total; index++) {
|
6869 |
+
if (_renderer.renderer.renderers[options.prefix].canPlayType(mediaFiles[index].type)) {
|
6870 |
+
node.setAttribute('src', mediaFiles[index].src);
|
6871 |
+
break;
|
6872 |
+
}
|
6873 |
+
}
|
6874 |
+
}
|
6875 |
+
|
6876 |
+
node.addEventListener('error', function (e) {
|
6877 |
+
if (e.target.error.code === 4 && isActive) {
|
6878 |
+
if (index < total && mediaFiles[index + 1] !== undefined) {
|
6879 |
+
node.src = mediaFiles[index++].src;
|
6880 |
+
node.load();
|
6881 |
+
node.play();
|
6882 |
+
} else {
|
6883 |
+
mediaElement.generateError('Media error: Format(s) not supported or source(s) not found', mediaFiles);
|
6884 |
+
}
|
6885 |
+
}
|
6886 |
+
});
|
6887 |
+
|
6888 |
+
var event = (0, _general.createEvent)('rendererready', node);
|
6889 |
+
mediaElement.dispatchEvent(event);
|
6890 |
+
|
6891 |
+
return node;
|
6892 |
+
}
|
6893 |
+
};
|
6894 |
+
|
6895 |
+
_window2.default.HtmlMediaElement = _mejs2.default.HtmlMediaElement = HtmlMediaElement;
|
6896 |
+
|
6897 |
+
_renderer.renderer.add(HtmlMediaElement);
|
6898 |
+
|
6899 |
+
},{"2":2,"25":25,"27":27,"3":3,"7":7,"8":8}],24:[function(_dereq_,module,exports){
|
6900 |
+
'use strict';
|
6901 |
+
|
6902 |
+
var _window = _dereq_(3);
|
6903 |
+
|
6904 |
+
var _window2 = _interopRequireDefault(_window);
|
6905 |
+
|
6906 |
+
var _document = _dereq_(2);
|
6907 |
+
|
6908 |
+
var _document2 = _interopRequireDefault(_document);
|
6909 |
+
|
6910 |
+
var _mejs = _dereq_(7);
|
6911 |
+
|
6912 |
+
var _mejs2 = _interopRequireDefault(_mejs);
|
6913 |
+
|
6914 |
+
var _renderer = _dereq_(8);
|
6915 |
+
|
6916 |
+
var _general = _dereq_(27);
|
6917 |
+
|
6918 |
+
var _media = _dereq_(28);
|
6919 |
+
|
6920 |
+
var _dom = _dereq_(26);
|
6921 |
+
|
6922 |
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
6923 |
+
|
6924 |
+
var YouTubeApi = {
|
6925 |
+
isIframeStarted: false,
|
6926 |
+
|
6927 |
+
isIframeLoaded: false,
|
6928 |
+
|
6929 |
+
iframeQueue: [],
|
6930 |
+
|
6931 |
+
enqueueIframe: function enqueueIframe(settings) {
|
6932 |
+
YouTubeApi.isLoaded = typeof YT !== 'undefined' && YT.loaded;
|
6933 |
+
|
6934 |
+
if (YouTubeApi.isLoaded) {
|
6935 |
+
YouTubeApi.createIframe(settings);
|
6936 |
+
} else {
|
6937 |
+
YouTubeApi.loadIframeApi();
|
6938 |
+
YouTubeApi.iframeQueue.push(settings);
|
6939 |
+
}
|
6940 |
+
},
|
6941 |
+
|
6942 |
+
loadIframeApi: function loadIframeApi() {
|
6943 |
+
if (!YouTubeApi.isIframeStarted) {
|
6944 |
+
(0, _dom.loadScript)('https://www.youtube.com/player_api');
|
6945 |
+
YouTubeApi.isIframeStarted = true;
|
6946 |
+
}
|
6947 |
+
},
|
6948 |
+
|
6949 |
+
iFrameReady: function iFrameReady() {
|
6950 |
+
|
6951 |
+
YouTubeApi.isLoaded = true;
|
6952 |
+
YouTubeApi.isIframeLoaded = true;
|
6953 |
+
|
6954 |
+
while (YouTubeApi.iframeQueue.length > 0) {
|
6955 |
+
var settings = YouTubeApi.iframeQueue.pop();
|
6956 |
+
YouTubeApi.createIframe(settings);
|
6957 |
+
}
|
6958 |
+
},
|
6959 |
+
|
6960 |
+
createIframe: function createIframe(settings) {
|
6961 |
+
return new YT.Player(settings.containerId, settings);
|
6962 |
+
},
|
6963 |
+
|
6964 |
+
getYouTubeId: function getYouTubeId(url) {
|
6965 |
+
|
6966 |
+
var youTubeId = '';
|
6967 |
+
|
6968 |
+
if (url.indexOf('?') > 0) {
|
6969 |
+
youTubeId = YouTubeApi.getYouTubeIdFromParam(url);
|
6970 |
+
|
6971 |
+
if (youTubeId === '') {
|
6972 |
+
youTubeId = YouTubeApi.getYouTubeIdFromUrl(url);
|
6973 |
+
}
|
6974 |
+
} else {
|
6975 |
+
youTubeId = YouTubeApi.getYouTubeIdFromUrl(url);
|
6976 |
+
}
|
6977 |
+
|
6978 |
+
var id = youTubeId.substring(youTubeId.lastIndexOf('/') + 1);
|
6979 |
+
youTubeId = id.split('?');
|
6980 |
+
return youTubeId[0];
|
6981 |
+
},
|
6982 |
+
|
6983 |
+
getYouTubeIdFromParam: function getYouTubeIdFromParam(url) {
|
6984 |
+
|
6985 |
+
if (url === undefined || url === null || !url.trim().length) {
|
6986 |
+
return null;
|
6987 |
+
}
|
6988 |
+
|
6989 |
+
var parts = url.split('?'),
|
6990 |
+
parameters = parts[1].split('&');
|
6991 |
+
|
6992 |
+
var youTubeId = '';
|
6993 |
+
|
6994 |
+
for (var i = 0, total = parameters.length; i < total; i++) {
|
6995 |
+
var paramParts = parameters[i].split('=');
|
6996 |
+
if (paramParts[0] === 'v') {
|
6997 |
+
youTubeId = paramParts[1];
|
6998 |
+
break;
|
6999 |
+
}
|
7000 |
+
}
|
7001 |
+
|
7002 |
+
return youTubeId;
|
7003 |
+
},
|
7004 |
+
|
7005 |
+
getYouTubeIdFromUrl: function getYouTubeIdFromUrl(url) {
|
7006 |
+
|
7007 |
+
if (url === undefined || url === null || !url.trim().length) {
|
7008 |
+
return null;
|
7009 |
+
}
|
7010 |
+
|
7011 |
+
var parts = url.split('?');
|
7012 |
+
url = parts[0];
|
7013 |
+
return url.substring(url.lastIndexOf('/') + 1);
|
7014 |
+
},
|
7015 |
+
|
7016 |
+
getYouTubeNoCookieUrl: function getYouTubeNoCookieUrl(url) {
|
7017 |
+
if (url === undefined || url === null || !url.trim().length || url.indexOf('//www.youtube') === -1) {
|
7018 |
+
return url;
|
7019 |
+
}
|
7020 |
+
|
7021 |
+
var parts = url.split('/');
|
7022 |
+
parts[2] = parts[2].replace('.com', '-nocookie.com');
|
7023 |
+
return parts.join('/');
|
7024 |
+
}
|
7025 |
+
};
|
7026 |
+
|
7027 |
+
var YouTubeIframeRenderer = {
|
7028 |
+
name: 'youtube_iframe',
|
7029 |
+
|
7030 |
+
options: {
|
7031 |
+
prefix: 'youtube_iframe',
|
7032 |
+
|
7033 |
+
youtube: {
|
7034 |
+
autoplay: 0,
|
7035 |
+
controls: 0,
|
7036 |
+
disablekb: 1,
|
7037 |
+
end: 0,
|
7038 |
+
loop: 0,
|
7039 |
+
modestbranding: 0,
|
7040 |
+
playsinline: 0,
|
7041 |
+
rel: 0,
|
7042 |
+
showinfo: 0,
|
7043 |
+
start: 0,
|
7044 |
+
iv_load_policy: 3,
|
7045 |
+
|
7046 |
+
nocookie: false,
|
7047 |
+
|
7048 |
+
imageQuality: null
|
7049 |
+
}
|
7050 |
+
},
|
7051 |
+
|
7052 |
+
canPlayType: function canPlayType(type) {
|
7053 |
+
return ~['video/youtube', 'video/x-youtube'].indexOf(type.toLowerCase());
|
7054 |
+
},
|
7055 |
+
|
7056 |
+
create: function create(mediaElement, options, mediaFiles) {
|
7057 |
+
|
7058 |
+
var youtube = {},
|
7059 |
+
apiStack = [],
|
7060 |
+
readyState = 4;
|
7061 |
+
|
7062 |
+
var youTubeApi = null,
|
7063 |
+
paused = true,
|
7064 |
+
ended = false,
|
7065 |
+
youTubeIframe = null,
|
7066 |
+
volume = 1;
|
7067 |
+
|
7068 |
+
youtube.options = options;
|
7069 |
+
youtube.id = mediaElement.id + '_' + options.prefix;
|
7070 |
+
youtube.mediaElement = mediaElement;
|
7071 |
+
|
7072 |
+
var props = _mejs2.default.html5media.properties,
|
7073 |
+
assignGettersSetters = function assignGettersSetters(propName) {
|
7074 |
+
|
7075 |
+
var capName = '' + propName.substring(0, 1).toUpperCase() + propName.substring(1);
|
7076 |
+
|
7077 |
+
youtube['get' + capName] = function () {
|
7078 |
+
if (youTubeApi !== null) {
|
7079 |
+
var value = null;
|
7080 |
+
|
7081 |
+
switch (propName) {
|
7082 |
+
case 'currentTime':
|
7083 |
+
return youTubeApi.getCurrentTime();
|
7084 |
+
case 'duration':
|
7085 |
+
return youTubeApi.getDuration();
|
7086 |
+
case 'volume':
|
7087 |
+
volume = youTubeApi.getVolume() / 100;
|
7088 |
+
return volume;
|
7089 |
+
case 'paused':
|
7090 |
+
return paused;
|
7091 |
+
case 'ended':
|
7092 |
+
return ended;
|
7093 |
+
case 'muted':
|
7094 |
+
return youTubeApi.isMuted();
|
7095 |
+
case 'buffered':
|
7096 |
+
var percentLoaded = youTubeApi.getVideoLoadedFraction(),
|
7097 |
+
duration = youTubeApi.getDuration();
|
7098 |
+
return {
|
7099 |
+
start: function start() {
|
7100 |
+
return 0;
|
7101 |
+
},
|
7102 |
+
end: function end() {
|
7103 |
+
return percentLoaded * duration;
|
7104 |
+
},
|
7105 |
+
length: 1
|
7106 |
+
};
|
7107 |
+
case 'src':
|
7108 |
+
return youTubeApi.getVideoUrl();
|
7109 |
+
case 'readyState':
|
7110 |
+
return readyState;
|
7111 |
}
|
7112 |
+
|
7113 |
+
return value;
|
7114 |
+
} else {
|
7115 |
+
return null;
|
7116 |
+
}
|
7117 |
+
};
|
7118 |
+
|
7119 |
+
youtube['set' + capName] = function (value) {
|
7120 |
+
if (youTubeApi !== null) {
|
7121 |
+
switch (propName) {
|
7122 |
+
case 'src':
|
7123 |
+
var url = typeof value === 'string' ? value : value[0].src,
|
7124 |
+
_videoId = YouTubeApi.getYouTubeId(url);
|
7125 |
+
|
7126 |
+
if (mediaElement.originalNode.autoplay) {
|
7127 |
+
youTubeApi.loadVideoById(_videoId);
|
7128 |
+
} else {
|
7129 |
+
youTubeApi.cueVideoById(_videoId);
|
7130 |
+
}
|
7131 |
+
break;
|
7132 |
+
case 'currentTime':
|
7133 |
+
youTubeApi.seekTo(value);
|
7134 |
+
break;
|
7135 |
+
case 'muted':
|
7136 |
+
if (value) {
|
7137 |
+
youTubeApi.mute();
|
7138 |
+
} else {
|
7139 |
+
youTubeApi.unMute();
|
7140 |
+
}
|
7141 |
+
setTimeout(function () {
|
7142 |
+
var event = (0, _general.createEvent)('volumechange', youtube);
|
7143 |
+
mediaElement.dispatchEvent(event);
|
7144 |
+
}, 50);
|
7145 |
+
break;
|
7146 |
+
case 'volume':
|
7147 |
+
volume = value;
|
7148 |
+
youTubeApi.setVolume(value * 100);
|
7149 |
+
setTimeout(function () {
|
7150 |
+
var event = (0, _general.createEvent)('volumechange', youtube);
|
7151 |
+
mediaElement.dispatchEvent(event);
|
7152 |
+
}, 50);
|
7153 |
+
break;
|
7154 |
+
case 'readyState':
|
7155 |
+
var event = (0, _general.createEvent)('canplay', youtube);
|
7156 |
+
mediaElement.dispatchEvent(event);
|
7157 |
+
break;
|
7158 |
+
default:
|
7159 |
+
|
7160 |
+
break;
|
7161 |
+
}
|
7162 |
+
} else {
|
7163 |
+
apiStack.push({ type: 'set', propName: propName, value: value });
|
7164 |
+
}
|
7165 |
+
};
|
7166 |
+
};
|
7167 |
+
|
7168 |
+
for (var i = 0, total = props.length; i < total; i++) {
|
7169 |
+
assignGettersSetters(props[i]);
|
7170 |
+
}
|
7171 |
+
|
7172 |
+
var methods = _mejs2.default.html5media.methods,
|
7173 |
+
assignMethods = function assignMethods(methodName) {
|
7174 |
+
youtube[methodName] = function () {
|
7175 |
+
if (youTubeApi !== null) {
|
7176 |
+
switch (methodName) {
|
7177 |
+
case 'play':
|
7178 |
+
paused = false;
|
7179 |
+
return youTubeApi.playVideo();
|
7180 |
+
case 'pause':
|
7181 |
+
paused = true;
|
7182 |
+
return youTubeApi.pauseVideo();
|
7183 |
+
case 'load':
|
7184 |
+
return null;
|
7185 |
+
}
|
7186 |
+
} else {
|
7187 |
+
apiStack.push({ type: 'call', methodName: methodName });
|
7188 |
+
}
|
7189 |
+
};
|
7190 |
+
};
|
7191 |
+
|
7192 |
+
for (var _i = 0, _total = methods.length; _i < _total; _i++) {
|
7193 |
+
assignMethods(methods[_i]);
|
7194 |
+
}
|
7195 |
+
|
7196 |
+
var errorHandler = function errorHandler(error) {
|
7197 |
+
var message = '';
|
7198 |
+
switch (error.data) {
|
7199 |
+
case 2:
|
7200 |
+
message = 'The request contains an invalid parameter value. Verify that video ID has 11 characters and that contains no invalid characters, such as exclamation points or asterisks.';
|
7201 |
+
break;
|
7202 |
+
case 5:
|
7203 |
+
message = 'The requested content cannot be played in an HTML5 player or another error related to the HTML5 player has occurred.';
|
7204 |
+
break;
|
7205 |
+
case 100:
|
7206 |
+
message = 'The video requested was not found. Either video has been removed or has been marked as private.';
|
7207 |
+
break;
|
7208 |
+
case 101:
|
7209 |
+
case 105:
|
7210 |
+
message = 'The owner of the requested video does not allow it to be played in embedded players.';
|
7211 |
+
break;
|
7212 |
+
default:
|
7213 |
+
message = 'Unknown error.';
|
7214 |
+
break;
|
7215 |
+
}
|
7216 |
+
mediaElement.generateError('Code ' + error.data + ': ' + message, mediaFiles);
|
7217 |
+
};
|
7218 |
+
|
7219 |
+
var youtubeContainer = _document2.default.createElement('div');
|
7220 |
+
youtubeContainer.id = youtube.id;
|
7221 |
+
|
7222 |
+
if (youtube.options.youtube.nocookie) {
|
7223 |
+
mediaElement.originalNode.src = YouTubeApi.getYouTubeNoCookieUrl(mediaFiles[0].src);
|
7224 |
+
}
|
7225 |
+
|
7226 |
+
mediaElement.originalNode.parentNode.insertBefore(youtubeContainer, mediaElement.originalNode);
|
7227 |
+
mediaElement.originalNode.style.display = 'none';
|
7228 |
+
|
7229 |
+
var isAudio = mediaElement.originalNode.tagName.toLowerCase() === 'audio',
|
7230 |
+
height = isAudio ? '1' : mediaElement.originalNode.height,
|
7231 |
+
width = isAudio ? '1' : mediaElement.originalNode.width,
|
7232 |
+
videoId = YouTubeApi.getYouTubeId(mediaFiles[0].src),
|
7233 |
+
youtubeSettings = {
|
7234 |
+
id: youtube.id,
|
7235 |
+
containerId: youtubeContainer.id,
|
7236 |
+
videoId: videoId,
|
7237 |
+
height: height,
|
7238 |
+
width: width,
|
7239 |
+
playerVars: Object.assign({
|
7240 |
+
controls: 0,
|
7241 |
+
rel: 0,
|
7242 |
+
disablekb: 1,
|
7243 |
+
showinfo: 0,
|
7244 |
+
modestbranding: 0,
|
7245 |
+
html5: 1,
|
7246 |
+
iv_load_policy: 3
|
7247 |
+
}, youtube.options.youtube),
|
7248 |
+
origin: _window2.default.location.host,
|
7249 |
+
events: {
|
7250 |
+
onReady: function onReady(e) {
|
7251 |
+
mediaElement.youTubeApi = youTubeApi = e.target;
|
7252 |
+
mediaElement.youTubeState = {
|
7253 |
+
paused: true,
|
7254 |
+
ended: false
|
7255 |
+
};
|
7256 |
+
|
7257 |
+
if (apiStack.length) {
|
7258 |
+
for (var _i2 = 0, _total2 = apiStack.length; _i2 < _total2; _i2++) {
|
7259 |
+
|
7260 |
+
var stackItem = apiStack[_i2];
|
7261 |
+
|
7262 |
+
if (stackItem.type === 'set') {
|
7263 |
+
var propName = stackItem.propName,
|
7264 |
+
capName = '' + propName.substring(0, 1).toUpperCase() + propName.substring(1);
|
7265 |
+
|
7266 |
+
youtube['set' + capName](stackItem.value);
|
7267 |
+
} else if (stackItem.type === 'call') {
|
7268 |
+
youtube[stackItem.methodName]();
|
7269 |
+
}
|
7270 |
+
}
|
7271 |
+
}
|
7272 |
+
|
7273 |
+
youTubeIframe = youTubeApi.getIframe();
|
7274 |
+
|
7275 |
+
if (mediaElement.originalNode.muted) {
|
7276 |
+
youTubeApi.mute();
|
7277 |
+
}
|
7278 |
+
|
7279 |
+
var events = ['mouseover', 'mouseout'],
|
7280 |
+
assignEvents = function assignEvents(e) {
|
7281 |
+
var newEvent = (0, _general.createEvent)(e.type, youtube);
|
7282 |
+
mediaElement.dispatchEvent(newEvent);
|
7283 |
+
};
|
7284 |
+
|
7285 |
+
for (var _i3 = 0, _total3 = events.length; _i3 < _total3; _i3++) {
|
7286 |
+
youTubeIframe.addEventListener(events[_i3], assignEvents, false);
|
7287 |
+
}
|
7288 |
+
|
7289 |
+
var initEvents = ['rendererready', 'loadedmetadata', 'loadeddata', 'canplay'];
|
7290 |
+
|
7291 |
+
for (var _i4 = 0, _total4 = initEvents.length; _i4 < _total4; _i4++) {
|
7292 |
+
var event = (0, _general.createEvent)(initEvents[_i4], youtube);
|
7293 |
+
mediaElement.dispatchEvent(event);
|
7294 |
+
}
|
7295 |
+
},
|
7296 |
+
onStateChange: function onStateChange(e) {
|
7297 |
+
var events = [];
|
7298 |
+
|
7299 |
+
switch (e.data) {
|
7300 |
+
case -1:
|
7301 |
+
events = ['loadedmetadata'];
|
7302 |
+
paused = true;
|
7303 |
+
ended = false;
|
7304 |
+
break;
|
7305 |
+
case 0:
|
7306 |
+
events = ['ended'];
|
7307 |
+
paused = false;
|
7308 |
+
ended = !youtube.options.youtube.loop;
|
7309 |
+
if (!youtube.options.youtube.loop) {
|
7310 |
+
youtube.stopInterval();
|
7311 |
+
}
|
7312 |
+
break;
|
7313 |
+
case 1:
|
7314 |
+
events = ['play', 'playing'];
|
7315 |
+
paused = false;
|
7316 |
+
ended = false;
|
7317 |
+
youtube.startInterval();
|
7318 |
+
break;
|
7319 |
+
case 2:
|
7320 |
+
events = ['pause'];
|
7321 |
+
paused = true;
|
7322 |
+
ended = false;
|
7323 |
+
youtube.stopInterval();
|
7324 |
+
break;
|
7325 |
+
case 3:
|
7326 |
+
events = ['progress'];
|
7327 |
+
ended = false;
|
7328 |
+
break;
|
7329 |
+
case 5:
|
7330 |
+
events = ['loadeddata', 'loadedmetadata', 'canplay'];
|
7331 |
+
paused = true;
|
7332 |
+
ended = false;
|
7333 |
+
break;
|
7334 |
+
}
|
7335 |
+
|
7336 |
+
for (var _i5 = 0, _total5 = events.length; _i5 < _total5; _i5++) {
|
7337 |
+
var event = (0, _general.createEvent)(events[_i5], youtube);
|
7338 |
+
mediaElement.dispatchEvent(event);
|
7339 |
+
}
|
7340 |
+
},
|
7341 |
+
onError: function onError(e) {
|
7342 |
+
return errorHandler(e);
|
7343 |
+
}
|
7344 |
+
}
|
7345 |
+
};
|
7346 |
+
|
7347 |
+
if (isAudio || mediaElement.originalNode.hasAttribute('playsinline')) {
|
7348 |
+
youtubeSettings.playerVars.playsinline = 1;
|
7349 |
+
}
|
7350 |
+
|
7351 |
+
if (mediaElement.originalNode.controls) {
|
7352 |
+
youtubeSettings.playerVars.controls = 1;
|
7353 |
+
}
|
7354 |
+
if (mediaElement.originalNode.autoplay) {
|
7355 |
+
youtubeSettings.playerVars.autoplay = 1;
|
7356 |
+
}
|
7357 |
+
if (mediaElement.originalNode.loop) {
|
7358 |
+
youtubeSettings.playerVars.loop = 1;
|
7359 |
+
}
|
7360 |
+
|
7361 |
+
if ((youtubeSettings.playerVars.loop && parseInt(youtubeSettings.playerVars.loop, 10) === 1 || mediaElement.originalNode.src.indexOf('loop=') > -1) && !youtubeSettings.playerVars.playlist && mediaElement.originalNode.src.indexOf('playlist=') === -1) {
|
7362 |
+
youtubeSettings.playerVars.playlist = YouTubeApi.getYouTubeId(mediaElement.originalNode.src);
|
7363 |
+
}
|
7364 |
+
|
7365 |
+
YouTubeApi.enqueueIframe(youtubeSettings);
|
7366 |
+
|
7367 |
+
youtube.onEvent = function (eventName, player, _youTubeState) {
|
7368 |
+
if (_youTubeState !== null && _youTubeState !== undefined) {
|
7369 |
+
mediaElement.youTubeState = _youTubeState;
|
7370 |
+
}
|
7371 |
+
};
|
7372 |
+
|
7373 |
+
youtube.setSize = function (width, height) {
|
7374 |
+
if (youTubeApi !== null) {
|
7375 |
+
youTubeApi.setSize(width, height);
|
7376 |
+
}
|
7377 |
+
};
|
7378 |
+
youtube.hide = function () {
|
7379 |
+
youtube.stopInterval();
|
7380 |
+
youtube.pause();
|
7381 |
+
if (youTubeIframe) {
|
7382 |
+
youTubeIframe.style.display = 'none';
|
7383 |
+
}
|
7384 |
+
};
|
7385 |
+
youtube.show = function () {
|
7386 |
+
if (youTubeIframe) {
|
7387 |
+
youTubeIframe.style.display = '';
|
7388 |
+
}
|
7389 |
+
};
|
7390 |
+
youtube.destroy = function () {
|
7391 |
+
youTubeApi.destroy();
|
7392 |
+
};
|
7393 |
+
youtube.interval = null;
|
7394 |
+
|
7395 |
+
youtube.startInterval = function () {
|
7396 |
+
youtube.interval = setInterval(function () {
|
7397 |
+
var event = (0, _general.createEvent)('timeupdate', youtube);
|
7398 |
+
mediaElement.dispatchEvent(event);
|
7399 |
+
}, 250);
|
7400 |
+
};
|
7401 |
+
youtube.stopInterval = function () {
|
7402 |
+
if (youtube.interval) {
|
7403 |
+
clearInterval(youtube.interval);
|
7404 |
+
}
|
7405 |
+
};
|
7406 |
+
youtube.getPosterUrl = function () {
|
7407 |
+
var quality = options.youtube.imageQuality,
|
7408 |
+
resolutions = ['default', 'hqdefault', 'mqdefault', 'sddefault', 'maxresdefault'],
|
7409 |
+
id = YouTubeApi.getYouTubeId(mediaElement.originalNode.src);
|
7410 |
+
return quality && resolutions.indexOf(quality) > -1 && id ? 'https://img.youtube.com/vi/' + id + '/' + quality + '.jpg' : '';
|
7411 |
+
};
|
7412 |
+
|
7413 |
+
return youtube;
|
7414 |
+
}
|
7415 |
+
};
|
7416 |
+
|
7417 |
+
_window2.default.onYouTubePlayerAPIReady = function () {
|
7418 |
+
YouTubeApi.iFrameReady();
|
7419 |
+
};
|
7420 |
+
|
7421 |
+
_media.typeChecks.push(function (url) {
|
7422 |
+
return (/\/\/(www\.youtube|youtu\.?be)/i.test(url) ? 'video/x-youtube' : null
|
7423 |
+
);
|
7424 |
+
});
|
7425 |
+
|
7426 |
+
_renderer.renderer.add(YouTubeIframeRenderer);
|
7427 |
+
|
7428 |
+
},{"2":2,"26":26,"27":27,"28":28,"3":3,"7":7,"8":8}],25:[function(_dereq_,module,exports){
|
7429 |
+
'use strict';
|
7430 |
+
|
7431 |
+
Object.defineProperty(exports, "__esModule", {
|
7432 |
+
value: true
|
7433 |
+
});
|
7434 |
+
exports.cancelFullScreen = exports.requestFullScreen = exports.isFullScreen = exports.FULLSCREEN_EVENT_NAME = exports.HAS_NATIVE_FULLSCREEN_ENABLED = exports.HAS_TRUE_NATIVE_FULLSCREEN = exports.HAS_IOS_FULLSCREEN = exports.HAS_MS_NATIVE_FULLSCREEN = exports.HAS_MOZ_NATIVE_FULLSCREEN = exports.HAS_WEBKIT_NATIVE_FULLSCREEN = exports.HAS_NATIVE_FULLSCREEN = exports.SUPPORTS_NATIVE_HLS = exports.SUPPORT_PASSIVE_EVENT = exports.SUPPORT_POINTER_EVENTS = exports.HAS_MSE = exports.IS_STOCK_ANDROID = exports.IS_SAFARI = exports.IS_FIREFOX = exports.IS_CHROME = exports.IS_EDGE = exports.IS_IE = exports.IS_ANDROID = exports.IS_IOS = exports.IS_IPOD = exports.IS_IPHONE = exports.IS_IPAD = exports.UA = exports.NAV = undefined;
|
7435 |
+
|
7436 |
+
var _window = _dereq_(3);
|
7437 |
+
|
7438 |
+
var _window2 = _interopRequireDefault(_window);
|
7439 |
+
|
7440 |
+
var _document = _dereq_(2);
|
7441 |
+
|
7442 |
+
var _document2 = _interopRequireDefault(_document);
|
7443 |
+
|
7444 |
+
var _mejs = _dereq_(7);
|
7445 |
+
|
7446 |
+
var _mejs2 = _interopRequireDefault(_mejs);
|
7447 |
+
|
7448 |
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
7449 |
+
|
7450 |
+
var NAV = exports.NAV = _window2.default.navigator;
|
7451 |
+
var UA = exports.UA = NAV.userAgent.toLowerCase();
|
7452 |
+
var IS_IPAD = exports.IS_IPAD = /ipad/i.test(UA) && !_window2.default.MSStream;
|
7453 |
+
var IS_IPHONE = exports.IS_IPHONE = /iphone/i.test(UA) && !_window2.default.MSStream;
|
7454 |
+
var IS_IPOD = exports.IS_IPOD = /ipod/i.test(UA) && !_window2.default.MSStream;
|
7455 |
+
var IS_IOS = exports.IS_IOS = /ipad|iphone|ipod/i.test(UA) && !_window2.default.MSStream;
|
7456 |
+
var IS_ANDROID = exports.IS_ANDROID = /android/i.test(UA);
|
7457 |
+
var IS_IE = exports.IS_IE = /(trident|microsoft)/i.test(NAV.appName);
|
7458 |
+
var IS_EDGE = exports.IS_EDGE = 'msLaunchUri' in NAV && !('documentMode' in _document2.default);
|
7459 |
+
var IS_CHROME = exports.IS_CHROME = /chrome/i.test(UA);
|
7460 |
+
var IS_FIREFOX = exports.IS_FIREFOX = /firefox/i.test(UA);
|
7461 |
+
var IS_SAFARI = exports.IS_SAFARI = /safari/i.test(UA) && !IS_CHROME;
|
7462 |
+
var IS_STOCK_ANDROID = exports.IS_STOCK_ANDROID = /^mozilla\/\d+\.\d+\s\(linux;\su;/i.test(UA);
|
7463 |
+
var HAS_MSE = exports.HAS_MSE = 'MediaSource' in _window2.default;
|
7464 |
+
var SUPPORT_POINTER_EVENTS = exports.SUPPORT_POINTER_EVENTS = function () {
|
7465 |
+
var element = _document2.default.createElement('x'),
|
7466 |
+
documentElement = _document2.default.documentElement,
|
7467 |
+
getComputedStyle = _window2.default.getComputedStyle;
|
7468 |
+
|
7469 |
+
if (!('pointerEvents' in element.style)) {
|
7470 |
+
return false;
|
7471 |
+
}
|
7472 |
+
|
7473 |
+
element.style.pointerEvents = 'auto';
|
7474 |
+
element.style.pointerEvents = 'x';
|
7475 |
+
documentElement.appendChild(element);
|
7476 |
+
var supports = getComputedStyle && getComputedStyle(element, '').pointerEvents === 'auto';
|
7477 |
+
element.remove();
|
7478 |
+
return !!supports;
|
7479 |
+
}();
|
7480 |
+
|
7481 |
+
var SUPPORT_PASSIVE_EVENT = exports.SUPPORT_PASSIVE_EVENT = function () {
|
7482 |
+
var supportsPassive = false;
|
7483 |
+
try {
|
7484 |
+
var opts = Object.defineProperty({}, 'passive', {
|
7485 |
+
get: function get() {
|
7486 |
+
supportsPassive = true;
|
7487 |
+
}
|
7488 |
+
});
|
7489 |
+
_window2.default.addEventListener('test', null, opts);
|
7490 |
+
} catch (e) {}
|
7491 |
+
|
7492 |
+
return supportsPassive;
|
7493 |
+
}();
|
7494 |
+
|
7495 |
+
var html5Elements = ['source', 'track', 'audio', 'video'];
|
7496 |
+
var video = void 0;
|
7497 |
+
|
7498 |
+
for (var i = 0, total = html5Elements.length; i < total; i++) {
|
7499 |
+
video = _document2.default.createElement(html5Elements[i]);
|
7500 |
+
}
|
7501 |
+
|
7502 |
+
var SUPPORTS_NATIVE_HLS = exports.SUPPORTS_NATIVE_HLS = IS_SAFARI || IS_ANDROID && (IS_CHROME || IS_STOCK_ANDROID) || IS_IE && /edge/i.test(UA);
|
7503 |
+
|
7504 |
+
var hasiOSFullScreen = video.webkitEnterFullscreen !== undefined;
|
7505 |
+
|
7506 |
+
var hasNativeFullscreen = video.requestFullscreen !== undefined;
|
7507 |
+
|
7508 |
+
if (hasiOSFullScreen && /mac os x 10_5/i.test(UA)) {
|
7509 |
+
hasNativeFullscreen = false;
|
7510 |
+
hasiOSFullScreen = false;
|
7511 |
+
}
|
7512 |
+
|
7513 |
+
var hasWebkitNativeFullScreen = video.webkitRequestFullScreen !== undefined;
|
7514 |
+
var hasMozNativeFullScreen = video.mozRequestFullScreen !== undefined;
|
7515 |
+
var hasMsNativeFullScreen = video.msRequestFullscreen !== undefined;
|
7516 |
+
var hasTrueNativeFullScreen = hasWebkitNativeFullScreen || hasMozNativeFullScreen || hasMsNativeFullScreen;
|
7517 |
+
var nativeFullScreenEnabled = hasTrueNativeFullScreen;
|
7518 |
+
var fullScreenEventName = '';
|
7519 |
+
var isFullScreen = void 0,
|
7520 |
+
requestFullScreen = void 0,
|
7521 |
+
cancelFullScreen = void 0;
|
7522 |
+
|
7523 |
+
if (hasMozNativeFullScreen) {
|
7524 |
+
nativeFullScreenEnabled = _document2.default.mozFullScreenEnabled;
|
7525 |
+
} else if (hasMsNativeFullScreen) {
|
7526 |
+
nativeFullScreenEnabled = _document2.default.msFullscreenEnabled;
|
7527 |
+
}
|
7528 |
+
|
7529 |
+
if (IS_CHROME) {
|
7530 |
+
hasiOSFullScreen = false;
|
7531 |
+
}
|
7532 |
+
|
7533 |
+
if (hasTrueNativeFullScreen) {
|
7534 |
+
if (hasWebkitNativeFullScreen) {
|
7535 |
+
fullScreenEventName = 'webkitfullscreenchange';
|
7536 |
+
} else if (hasMozNativeFullScreen) {
|
7537 |
+
fullScreenEventName = 'mozfullscreenchange';
|
7538 |
+
} else if (hasMsNativeFullScreen) {
|
7539 |
+
fullScreenEventName = 'MSFullscreenChange';
|
7540 |
+
}
|
7541 |
+
|
7542 |
+
exports.isFullScreen = isFullScreen = function isFullScreen() {
|
7543 |
+
if (hasMozNativeFullScreen) {
|
7544 |
+
return _document2.default.mozFullScreen;
|
7545 |
+
} else if (hasWebkitNativeFullScreen) {
|
7546 |
+
return _document2.default.webkitIsFullScreen;
|
7547 |
+
} else if (hasMsNativeFullScreen) {
|
7548 |
+
return _document2.default.msFullscreenElement !== null;
|
7549 |
+
}
|
7550 |
+
};
|
7551 |
+
|
7552 |
+
exports.requestFullScreen = requestFullScreen = function requestFullScreen(el) {
|
7553 |
+
if (hasWebkitNativeFullScreen) {
|
7554 |
+
el.webkitRequestFullScreen();
|
7555 |
+
} else if (hasMozNativeFullScreen) {
|
7556 |
+
el.mozRequestFullScreen();
|
7557 |
+
} else if (hasMsNativeFullScreen) {
|
7558 |
+
el.msRequestFullscreen();
|
7559 |
+
}
|
7560 |
+
};
|
7561 |
+
|
7562 |
+
exports.cancelFullScreen = cancelFullScreen = function cancelFullScreen() {
|
7563 |
+
if (hasWebkitNativeFullScreen) {
|
7564 |
+
_document2.default.webkitCancelFullScreen();
|
7565 |
+
} else if (hasMozNativeFullScreen) {
|
7566 |
+
_document2.default.mozCancelFullScreen();
|
7567 |
+
} else if (hasMsNativeFullScreen) {
|
7568 |
+
_document2.default.msExitFullscreen();
|
7569 |
+
}
|
7570 |
+
};
|
7571 |
+
}
|
7572 |
+
|
7573 |
+
var HAS_NATIVE_FULLSCREEN = exports.HAS_NATIVE_FULLSCREEN = hasNativeFullscreen;
|
7574 |
+
var HAS_WEBKIT_NATIVE_FULLSCREEN = exports.HAS_WEBKIT_NATIVE_FULLSCREEN = hasWebkitNativeFullScreen;
|
7575 |
+
var HAS_MOZ_NATIVE_FULLSCREEN = exports.HAS_MOZ_NATIVE_FULLSCREEN = hasMozNativeFullScreen;
|
7576 |
+
var HAS_MS_NATIVE_FULLSCREEN = exports.HAS_MS_NATIVE_FULLSCREEN = hasMsNativeFullScreen;
|
7577 |
+
var HAS_IOS_FULLSCREEN = exports.HAS_IOS_FULLSCREEN = hasiOSFullScreen;
|
7578 |
+
var HAS_TRUE_NATIVE_FULLSCREEN = exports.HAS_TRUE_NATIVE_FULLSCREEN = hasTrueNativeFullScreen;
|
7579 |
+
var HAS_NATIVE_FULLSCREEN_ENABLED = exports.HAS_NATIVE_FULLSCREEN_ENABLED = nativeFullScreenEnabled;
|
7580 |
+
var FULLSCREEN_EVENT_NAME = exports.FULLSCREEN_EVENT_NAME = fullScreenEventName;
|
7581 |
+
exports.isFullScreen = isFullScreen;
|
7582 |
+
exports.requestFullScreen = requestFullScreen;
|
7583 |
+
exports.cancelFullScreen = cancelFullScreen;
|
7584 |
+
|
7585 |
+
|
7586 |
+
_mejs2.default.Features = _mejs2.default.Features || {};
|
7587 |
+
_mejs2.default.Features.isiPad = IS_IPAD;
|
7588 |
+
_mejs2.default.Features.isiPod = IS_IPOD;
|
7589 |
+
_mejs2.default.Features.isiPhone = IS_IPHONE;
|
7590 |
+
_mejs2.default.Features.isiOS = _mejs2.default.Features.isiPhone || _mejs2.default.Features.isiPad;
|
7591 |
+
_mejs2.default.Features.isAndroid = IS_ANDROID;
|
7592 |
+
_mejs2.default.Features.isIE = IS_IE;
|
7593 |
+
_mejs2.default.Features.isEdge = IS_EDGE;
|
7594 |
+
_mejs2.default.Features.isChrome = IS_CHROME;
|
7595 |
+
_mejs2.default.Features.isFirefox = IS_FIREFOX;
|
7596 |
+
_mejs2.default.Features.isSafari = IS_SAFARI;
|
7597 |
+
_mejs2.default.Features.isStockAndroid = IS_STOCK_ANDROID;
|
7598 |
+
_mejs2.default.Features.hasMSE = HAS_MSE;
|
7599 |
+
_mejs2.default.Features.supportsNativeHLS = SUPPORTS_NATIVE_HLS;
|
7600 |
+
_mejs2.default.Features.supportsPointerEvents = SUPPORT_POINTER_EVENTS;
|
7601 |
+
_mejs2.default.Features.supportsPassiveEvent = SUPPORT_PASSIVE_EVENT;
|
7602 |
+
_mejs2.default.Features.hasiOSFullScreen = HAS_IOS_FULLSCREEN;
|
7603 |
+
_mejs2.default.Features.hasNativeFullscreen = HAS_NATIVE_FULLSCREEN;
|
7604 |
+
_mejs2.default.Features.hasWebkitNativeFullScreen = HAS_WEBKIT_NATIVE_FULLSCREEN;
|
7605 |
+
_mejs2.default.Features.hasMozNativeFullScreen = HAS_MOZ_NATIVE_FULLSCREEN;
|
7606 |
+
_mejs2.default.Features.hasMsNativeFullScreen = HAS_MS_NATIVE_FULLSCREEN;
|
7607 |
+
_mejs2.default.Features.hasTrueNativeFullScreen = HAS_TRUE_NATIVE_FULLSCREEN;
|
7608 |
+
_mejs2.default.Features.nativeFullScreenEnabled = HAS_NATIVE_FULLSCREEN_ENABLED;
|
7609 |
+
_mejs2.default.Features.fullScreenEventName = FULLSCREEN_EVENT_NAME;
|
7610 |
+
_mejs2.default.Features.isFullScreen = isFullScreen;
|
7611 |
+
_mejs2.default.Features.requestFullScreen = requestFullScreen;
|
7612 |
+
_mejs2.default.Features.cancelFullScreen = cancelFullScreen;
|
7613 |
+
|
7614 |
+
},{"2":2,"3":3,"7":7}],26:[function(_dereq_,module,exports){
|
7615 |
+
'use strict';
|
7616 |
+
|
7617 |
+
Object.defineProperty(exports, "__esModule", {
|
7618 |
+
value: true
|
7619 |
+
});
|
7620 |
+
exports.removeClass = exports.addClass = exports.hasClass = undefined;
|
7621 |
+
exports.loadScript = loadScript;
|
7622 |
+
exports.offset = offset;
|
7623 |
+
exports.toggleClass = toggleClass;
|
7624 |
+
exports.fadeOut = fadeOut;
|
7625 |
+
exports.fadeIn = fadeIn;
|
7626 |
+
exports.siblings = siblings;
|
7627 |
+
exports.visible = visible;
|
7628 |
+
exports.ajax = ajax;
|
7629 |
+
|
7630 |
+
var _window = _dereq_(3);
|
7631 |
+
|
7632 |
+
var _window2 = _interopRequireDefault(_window);
|
7633 |
+
|
7634 |
+
var _document = _dereq_(2);
|
7635 |
+
|
7636 |
+
var _document2 = _interopRequireDefault(_document);
|
7637 |
+
|
7638 |
+
var _mejs = _dereq_(7);
|
7639 |
+
|
7640 |
+
var _mejs2 = _interopRequireDefault(_mejs);
|
7641 |
+
|
7642 |
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
7643 |
+
|
7644 |
+
function loadScript(url) {
|
7645 |
+
return new Promise(function (resolve, reject) {
|
7646 |
+
var script = _document2.default.createElement('script');
|
7647 |
+
script.src = url;
|
7648 |
+
script.async = true;
|
7649 |
+
script.onload = function () {
|
7650 |
+
script.remove();
|
7651 |
+
resolve();
|
7652 |
+
};
|
7653 |
+
script.onerror = function () {
|
7654 |
+
script.remove();
|
7655 |
+
reject();
|
7656 |
+
};
|
7657 |
+
_document2.default.head.appendChild(script);
|
7658 |
+
});
|
7659 |
+
}
|
7660 |
+
|
7661 |
+
function offset(el) {
|
7662 |
+
var rect = el.getBoundingClientRect(),
|
7663 |
+
scrollLeft = _window2.default.pageXOffset || _document2.default.documentElement.scrollLeft,
|
7664 |
+
scrollTop = _window2.default.pageYOffset || _document2.default.documentElement.scrollTop;
|
7665 |
+
return { top: rect.top + scrollTop, left: rect.left + scrollLeft };
|
7666 |
+
}
|
7667 |
+
|
7668 |
+
var hasClassMethod = void 0,
|
7669 |
+
addClassMethod = void 0,
|
7670 |
+
removeClassMethod = void 0;
|
7671 |
+
|
7672 |
+
if ('classList' in _document2.default.documentElement) {
|
7673 |
+
hasClassMethod = function hasClassMethod(el, className) {
|
7674 |
+
return el.classList !== undefined && el.classList.contains(className);
|
7675 |
+
};
|
7676 |
+
addClassMethod = function addClassMethod(el, className) {
|
7677 |
+
return el.classList.add(className);
|
7678 |
+
};
|
7679 |
+
removeClassMethod = function removeClassMethod(el, className) {
|
7680 |
+
return el.classList.remove(className);
|
7681 |
+
};
|
7682 |
+
} else {
|
7683 |
+
hasClassMethod = function hasClassMethod(el, className) {
|
7684 |
+
return new RegExp('\\b' + className + '\\b').test(el.className);
|
7685 |
+
};
|
7686 |
+
addClassMethod = function addClassMethod(el, className) {
|
7687 |
+
if (!hasClass(el, className)) {
|
7688 |
+
el.className += ' ' + className;
|
7689 |
+
}
|
7690 |
+
};
|
7691 |
+
removeClassMethod = function removeClassMethod(el, className) {
|
7692 |
+
el.className = el.className.replace(new RegExp('\\b' + className + '\\b', 'g'), '');
|
7693 |
+
};
|
7694 |
+
}
|
7695 |
+
|
7696 |
+
var hasClass = exports.hasClass = hasClassMethod;
|
7697 |
+
var addClass = exports.addClass = addClassMethod;
|
7698 |
+
var removeClass = exports.removeClass = removeClassMethod;
|
7699 |
+
|
7700 |
+
function toggleClass(el, className) {
|
7701 |
+
hasClass(el, className) ? removeClass(el, className) : addClass(el, className);
|
7702 |
+
}
|
7703 |
+
|
7704 |
+
function fadeOut(el) {
|
7705 |
+
var duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 400;
|
7706 |
+
var callback = arguments[2];
|
7707 |
+
|
7708 |
+
if (!el.style.opacity) {
|
7709 |
+
el.style.opacity = 1;
|
7710 |
+
}
|
7711 |
+
|
7712 |
+
var start = null;
|
7713 |
+
_window2.default.requestAnimationFrame(function animate(timestamp) {
|
7714 |
+
start = start || timestamp;
|
7715 |
+
var progress = timestamp - start;
|
7716 |
+
var opacity = parseFloat(1 - progress / duration, 2);
|
7717 |
+
el.style.opacity = opacity < 0 ? 0 : opacity;
|
7718 |
+
if (progress > duration) {
|
7719 |
+
if (callback && typeof callback === 'function') {
|
7720 |
+
callback();
|
7721 |
+
}
|
7722 |
+
} else {
|
7723 |
+
_window2.default.requestAnimationFrame(animate);
|
7724 |
+
}
|
7725 |
+
});
|
7726 |
+
}
|
7727 |
+
|
7728 |
+
function fadeIn(el) {
|
7729 |
+
var duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 400;
|
7730 |
+
var callback = arguments[2];
|
7731 |
+
|
7732 |
+
if (!el.style.opacity) {
|
7733 |
+
el.style.opacity = 0;
|
7734 |
+
}
|
7735 |
+
|
7736 |
+
var start = null;
|
7737 |
+
_window2.default.requestAnimationFrame(function animate(timestamp) {
|
7738 |
+
start = start || timestamp;
|
7739 |
+
var progress = timestamp - start;
|
7740 |
+
var opacity = parseFloat(progress / duration, 2);
|
7741 |
+
el.style.opacity = opacity > 1 ? 1 : opacity;
|
7742 |
+
if (progress > duration) {
|
7743 |
+
if (callback && typeof callback === 'function') {
|
7744 |
+
callback();
|
7745 |
+
}
|
7746 |
+
} else {
|
7747 |
+
_window2.default.requestAnimationFrame(animate);
|
7748 |
+
}
|
7749 |
+
});
|
7750 |
+
}
|
7751 |
+
|
7752 |
+
function siblings(el, filter) {
|
7753 |
+
var siblings = [];
|
7754 |
+
el = el.parentNode.firstChild;
|
7755 |
+
do {
|
7756 |
+
if (!filter || filter(el)) {
|
7757 |
+
siblings.push(el);
|
7758 |
+
}
|
7759 |
+
} while (el = el.nextSibling);
|
7760 |
+
return siblings;
|
7761 |
+
}
|
7762 |
+
|
7763 |
+
function visible(elem) {
|
7764 |
+
if (elem.getClientRects !== undefined && elem.getClientRects === 'function') {
|
7765 |
+
return !!(elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length);
|
7766 |
+
}
|
7767 |
+
return !!(elem.offsetWidth || elem.offsetHeight);
|
7768 |
+
}
|
7769 |
+
|
7770 |
+
function ajax(url, dataType, success, error) {
|
7771 |
+
var xhr = _window2.default.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP');
|
7772 |
+
|
7773 |
+
var type = 'application/x-www-form-urlencoded; charset=UTF-8',
|
7774 |
+
completed = false,
|
7775 |
+
accept = '*/'.concat('*');
|
7776 |
+
|
7777 |
+
switch (dataType) {
|
7778 |
+
case 'text':
|
7779 |
+
type = 'text/plain';
|
7780 |
+
break;
|
7781 |
+
case 'json':
|
7782 |
+
type = 'application/json, text/javascript';
|
7783 |
+
break;
|
7784 |
+
case 'html':
|
7785 |
+
type = 'text/html';
|
7786 |
+
break;
|
7787 |
+
case 'xml':
|
7788 |
+
type = 'application/xml, text/xml';
|
7789 |
+
break;
|
7790 |
+
}
|
7791 |
+
|
7792 |
+
if (type !== 'application/x-www-form-urlencoded') {
|
7793 |
+
accept = type + ', */*; q=0.01';
|
7794 |
+
}
|
7795 |
+
|
7796 |
+
if (xhr) {
|
7797 |
+
xhr.open('GET', url, true);
|
7798 |
+
xhr.setRequestHeader('Accept', accept);
|
7799 |
+
xhr.onreadystatechange = function () {
|
7800 |
+
if (completed) {
|
7801 |
+
return;
|
7802 |
+
}
|
7803 |
+
|
7804 |
+
if (xhr.readyState === 4) {
|
7805 |
+
if (xhr.status === 200) {
|
7806 |
+
completed = true;
|
7807 |
+
var data = void 0;
|
7808 |
+
switch (dataType) {
|
7809 |
+
case 'json':
|
7810 |
+
data = JSON.parse(xhr.responseText);
|
7811 |
+
break;
|
7812 |
+
case 'xml':
|
7813 |
+
data = xhr.responseXML;
|
7814 |
+
break;
|
7815 |
+
default:
|
7816 |
+
data = xhr.responseText;
|
7817 |
+
break;
|
7818 |
+
}
|
7819 |
+
success(data);
|
7820 |
+
} else if (typeof error === 'function') {
|
7821 |
+
error(xhr.status);
|
7822 |
+
}
|
7823 |
+
}
|
7824 |
+
};
|
7825 |
+
|
7826 |
+
xhr.send();
|
7827 |
+
}
|
7828 |
+
}
|
7829 |
+
|
7830 |
+
_mejs2.default.Utils = _mejs2.default.Utils || {};
|
7831 |
+
_mejs2.default.Utils.offset = offset;
|
7832 |
+
_mejs2.default.Utils.hasClass = hasClass;
|
7833 |
+
_mejs2.default.Utils.addClass = addClass;
|
7834 |
+
_mejs2.default.Utils.removeClass = removeClass;
|
7835 |
+
_mejs2.default.Utils.toggleClass = toggleClass;
|
7836 |
+
_mejs2.default.Utils.fadeIn = fadeIn;
|
7837 |
+
_mejs2.default.Utils.fadeOut = fadeOut;
|
7838 |
+
_mejs2.default.Utils.siblings = siblings;
|
7839 |
+
_mejs2.default.Utils.visible = visible;
|
7840 |
+
_mejs2.default.Utils.ajax = ajax;
|
7841 |
+
_mejs2.default.Utils.loadScript = loadScript;
|
7842 |
+
|
7843 |
+
},{"2":2,"3":3,"7":7}],27:[function(_dereq_,module,exports){
|
7844 |
+
'use strict';
|
7845 |
+
|
7846 |
+
Object.defineProperty(exports, "__esModule", {
|
7847 |
+
value: true
|
7848 |
+
});
|
7849 |
+
exports.escapeHTML = escapeHTML;
|
7850 |
+
exports.debounce = debounce;
|
7851 |
+
exports.isObjectEmpty = isObjectEmpty;
|
7852 |
+
exports.splitEvents = splitEvents;
|
7853 |
+
exports.createEvent = createEvent;
|
7854 |
+
exports.isNodeAfter = isNodeAfter;
|
7855 |
+
exports.isString = isString;
|
7856 |
+
|
7857 |
+
var _mejs = _dereq_(7);
|
7858 |
+
|
7859 |
+
var _mejs2 = _interopRequireDefault(_mejs);
|
7860 |
+
|
7861 |
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
7862 |
+
|
7863 |
+
function escapeHTML(input) {
|
7864 |
+
|
7865 |
+
if (typeof input !== 'string') {
|
7866 |
+
throw new Error('Argument passed must be a string');
|
7867 |
+
}
|
7868 |
+
|
7869 |
+
var map = {
|
7870 |
+
'&': '&',
|
7871 |
+
'<': '<',
|
7872 |
+
'>': '>',
|
7873 |
+
'"': '"'
|
7874 |
+
};
|
7875 |
+
|
7876 |
+
return input.replace(/[&<>"]/g, function (c) {
|
7877 |
+
return map[c];
|
7878 |
+
});
|
7879 |
+
}
|
7880 |
+
|
7881 |
+
function debounce(func, wait) {
|
7882 |
+
var _this = this,
|
7883 |
+
_arguments = arguments;
|
7884 |
+
|
7885 |
+
var immediate = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
7886 |
+
|
7887 |
+
|
7888 |
+
if (typeof func !== 'function') {
|
7889 |
+
throw new Error('First argument must be a function');
|
7890 |
+
}
|
7891 |
+
|
7892 |
+
if (typeof wait !== 'number') {
|
7893 |
+
throw new Error('Second argument must be a numeric value');
|
7894 |
+
}
|
7895 |
+
|
7896 |
+
var timeout = void 0;
|
7897 |
+
return function () {
|
7898 |
+
var context = _this,
|
7899 |
+
args = _arguments;
|
7900 |
+
var later = function later() {
|
7901 |
+
timeout = null;
|
7902 |
+
if (!immediate) {
|
7903 |
+
func.apply(context, args);
|
7904 |
}
|
7905 |
+
};
|
7906 |
+
var callNow = immediate && !timeout;
|
7907 |
+
clearTimeout(timeout);
|
7908 |
+
timeout = setTimeout(later, wait);
|
7909 |
|
7910 |
+
if (callNow) {
|
7911 |
+
func.apply(context, args);
|
7912 |
+
}
|
7913 |
+
};
|
7914 |
+
}
|
7915 |
|
7916 |
+
function isObjectEmpty(instance) {
|
7917 |
+
return Object.getOwnPropertyNames(instance).length <= 0;
|
7918 |
+
}
|
|
|
|
|
|
|
7919 |
|
7920 |
+
function splitEvents(events, id) {
|
7921 |
+
var rwindow = /^((after|before)print|(before)?unload|hashchange|message|o(ff|n)line|page(hide|show)|popstate|resize|storage)\b/;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7922 |
|
7923 |
+
var ret = { d: [], w: [] };
|
7924 |
+
(events || '').split(' ').forEach(function (v) {
|
7925 |
+
var eventName = '' + v + (id ? '.' + id : '');
|
|
|
|
|
7926 |
|
7927 |
+
if (eventName.startsWith('.')) {
|
7928 |
+
ret.d.push(eventName);
|
7929 |
+
ret.w.push(eventName);
|
7930 |
+
} else {
|
7931 |
+
ret[rwindow.test(v) ? 'w' : 'd'].push(eventName);
|
7932 |
+
}
|
7933 |
+
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7934 |
|
7935 |
+
ret.d = ret.d.join(' ');
|
7936 |
+
ret.w = ret.w.join(' ');
|
7937 |
+
return ret;
|
7938 |
+
}
|
7939 |
|
7940 |
+
function createEvent(eventName, target) {
|
|
|
|
|
7941 |
|
7942 |
+
if (typeof eventName !== 'string') {
|
7943 |
+
throw new Error('Event name must be a string');
|
7944 |
+
}
|
|
|
7945 |
|
7946 |
+
var eventFrags = eventName.match(/([a-z]+\.([a-z]+))/i),
|
7947 |
+
detail = {
|
7948 |
+
target: target
|
7949 |
+
};
|
7950 |
|
7951 |
+
if (eventFrags !== null) {
|
7952 |
+
eventName = eventFrags[1];
|
7953 |
+
detail.namespace = eventFrags[2];
|
7954 |
+
}
|
7955 |
|
7956 |
+
return new window.CustomEvent(eventName, {
|
7957 |
+
detail: detail
|
|
|
|
|
|
|
|
|
7958 |
});
|
7959 |
+
}
|
7960 |
|
7961 |
+
function isNodeAfter(sourceNode, targetNode) {
|
|
|
|
|
7962 |
|
7963 |
+
return !!(sourceNode && targetNode && sourceNode.compareDocumentPosition(targetNode) & 2);
|
7964 |
+
}
|
|
|
7965 |
|
7966 |
+
function isString(value) {
|
7967 |
+
return typeof value === 'string';
|
7968 |
+
}
|
7969 |
|
7970 |
+
_mejs2.default.Utils = _mejs2.default.Utils || {};
|
7971 |
+
_mejs2.default.Utils.escapeHTML = escapeHTML;
|
7972 |
+
_mejs2.default.Utils.debounce = debounce;
|
7973 |
+
_mejs2.default.Utils.isObjectEmpty = isObjectEmpty;
|
7974 |
+
_mejs2.default.Utils.splitEvents = splitEvents;
|
7975 |
+
_mejs2.default.Utils.createEvent = createEvent;
|
7976 |
+
_mejs2.default.Utils.isNodeAfter = isNodeAfter;
|
7977 |
+
_mejs2.default.Utils.isString = isString;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7978 |
|
7979 |
+
},{"7":7}],28:[function(_dereq_,module,exports){
|
7980 |
+
'use strict';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7981 |
|
7982 |
+
Object.defineProperty(exports, "__esModule", {
|
7983 |
+
value: true
|
7984 |
+
});
|
7985 |
+
exports.typeChecks = undefined;
|
7986 |
+
exports.absolutizeUrl = absolutizeUrl;
|
7987 |
+
exports.formatType = formatType;
|
7988 |
+
exports.getMimeFromType = getMimeFromType;
|
7989 |
+
exports.getTypeFromFile = getTypeFromFile;
|
7990 |
+
exports.getExtension = getExtension;
|
7991 |
+
exports.normalizeExtension = normalizeExtension;
|
7992 |
|
7993 |
+
var _mejs = _dereq_(7);
|
7994 |
|
7995 |
+
var _mejs2 = _interopRequireDefault(_mejs);
|
|
|
|
|
|
|
|
|
|
|
7996 |
|
7997 |
+
var _general = _dereq_(27);
|
7998 |
|
7999 |
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
8000 |
|
8001 |
+
var typeChecks = exports.typeChecks = [];
|
|
|
|
|
8002 |
|
8003 |
+
function absolutizeUrl(url) {
|
|
|
|
|
8004 |
|
8005 |
+
if (typeof url !== 'string') {
|
8006 |
+
throw new Error('`url` argument must be a string');
|
8007 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8008 |
|
8009 |
+
var el = document.createElement('div');
|
8010 |
+
el.innerHTML = '<a href="' + (0, _general.escapeHTML)(url) + '">x</a>';
|
8011 |
+
return el.firstChild.href;
|
8012 |
+
}
|
8013 |
|
8014 |
+
function formatType(url) {
|
8015 |
+
var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8016 |
|
8017 |
+
return url && !type ? getTypeFromFile(url) : type;
|
8018 |
+
}
|
|
|
|
|
|
|
8019 |
|
8020 |
+
function getMimeFromType(type) {
|
8021 |
|
8022 |
+
if (typeof type !== 'string') {
|
8023 |
+
throw new Error('`type` argument must be a string');
|
8024 |
+
}
|
8025 |
|
8026 |
+
return type && type.indexOf(';') > -1 ? type.substr(0, type.indexOf(';')) : type;
|
8027 |
+
}
|
8028 |
|
8029 |
+
function getTypeFromFile(url) {
|
8030 |
|
8031 |
+
if (typeof url !== 'string') {
|
8032 |
+
throw new Error('`url` argument must be a string');
|
8033 |
+
}
|
8034 |
|
8035 |
+
for (var i = 0, total = typeChecks.length; i < total; i++) {
|
8036 |
+
var type = typeChecks[i](url);
|
|
|
|
|
8037 |
|
8038 |
+
if (type) {
|
8039 |
+
return type;
|
8040 |
+
}
|
8041 |
+
}
|
|
|
|
|
|
|
|
|
8042 |
|
8043 |
+
var ext = getExtension(url),
|
8044 |
+
normalizedExt = normalizeExtension(ext);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8045 |
|
8046 |
+
var mime = 'video/mp4';
|
|
|
|
|
|
|
|
|
|
|
8047 |
|
8048 |
+
if (normalizedExt) {
|
8049 |
+
if (~['mp4', 'm4v', 'ogg', 'ogv', 'webm', 'flv', 'mpeg', 'mov'].indexOf(normalizedExt)) {
|
8050 |
+
mime = 'video/' + normalizedExt;
|
8051 |
+
} else if (~['mp3', 'oga', 'wav', 'mid', 'midi'].indexOf(normalizedExt)) {
|
8052 |
+
mime = 'audio/' + normalizedExt;
|
8053 |
+
}
|
8054 |
+
}
|
8055 |
|
8056 |
+
return mime;
|
8057 |
+
}
|
|
|
|
|
8058 |
|
8059 |
+
function getExtension(url) {
|
|
|
8060 |
|
8061 |
+
if (typeof url !== 'string') {
|
8062 |
+
throw new Error('`url` argument must be a string');
|
8063 |
+
}
|
|
|
|
|
8064 |
|
8065 |
+
var baseUrl = url.split('?')[0],
|
8066 |
+
baseName = baseUrl.split('\\').pop().split('/').pop();
|
8067 |
+
return ~baseName.indexOf('.') ? baseName.substring(baseName.lastIndexOf('.') + 1) : '';
|
8068 |
+
}
|
|
|
|
|
8069 |
|
8070 |
+
function normalizeExtension(extension) {
|
8071 |
|
8072 |
+
if (typeof extension !== 'string') {
|
8073 |
+
throw new Error('`extension` argument must be a string');
|
8074 |
+
}
|
8075 |
|
8076 |
+
switch (extension) {
|
8077 |
+
case 'mp4':
|
8078 |
+
case 'm4v':
|
8079 |
+
return 'mp4';
|
8080 |
+
case 'webm':
|
8081 |
+
case 'webma':
|
8082 |
+
case 'webmv':
|
8083 |
+
return 'webm';
|
8084 |
+
case 'ogg':
|
8085 |
+
case 'oga':
|
8086 |
+
case 'ogv':
|
8087 |
+
return 'ogg';
|
8088 |
+
default:
|
8089 |
+
return extension;
|
8090 |
+
}
|
8091 |
+
}
|
8092 |
|
8093 |
+
_mejs2.default.Utils = _mejs2.default.Utils || {};
|
8094 |
+
_mejs2.default.Utils.typeChecks = typeChecks;
|
8095 |
+
_mejs2.default.Utils.absolutizeUrl = absolutizeUrl;
|
8096 |
+
_mejs2.default.Utils.formatType = formatType;
|
8097 |
+
_mejs2.default.Utils.getMimeFromType = getMimeFromType;
|
8098 |
+
_mejs2.default.Utils.getTypeFromFile = getTypeFromFile;
|
8099 |
+
_mejs2.default.Utils.getExtension = getExtension;
|
8100 |
+
_mejs2.default.Utils.normalizeExtension = normalizeExtension;
|
8101 |
|
8102 |
+
},{"27":27,"7":7}],29:[function(_dereq_,module,exports){
|
8103 |
+
'use strict';
|
8104 |
|
8105 |
+
var _document = _dereq_(2);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8106 |
|
8107 |
+
var _document2 = _interopRequireDefault(_document);
|
|
|
|
|
|
|
8108 |
|
8109 |
+
var _promisePolyfill = _dereq_(4);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8110 |
|
8111 |
+
var _promisePolyfill2 = _interopRequireDefault(_promisePolyfill);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8112 |
|
8113 |
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
8114 |
+
|
8115 |
+
(function (arr) {
|
8116 |
+
arr.forEach(function (item) {
|
8117 |
+
if (item.hasOwnProperty('remove')) {
|
8118 |
+
return;
|
8119 |
}
|
8120 |
+
Object.defineProperty(item, 'remove', {
|
8121 |
+
configurable: true,
|
8122 |
+
enumerable: true,
|
8123 |
+
writable: true,
|
8124 |
+
value: function remove() {
|
8125 |
+
this.parentNode.removeChild(this);
|
8126 |
+
}
|
8127 |
+
});
|
8128 |
});
|
8129 |
+
})([Element.prototype, CharacterData.prototype, DocumentType.prototype]);
|
8130 |
+
|
8131 |
+
(function () {
|
8132 |
|
8133 |
+
if (typeof window.CustomEvent === 'function') {
|
8134 |
+
return false;
|
8135 |
+
}
|
8136 |
+
|
8137 |
+
function CustomEvent(event, params) {
|
8138 |
+
params = params || { bubbles: false, cancelable: false, detail: undefined };
|
8139 |
+
var evt = _document2.default.createEvent('CustomEvent');
|
8140 |
+
evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);
|
8141 |
+
return evt;
|
8142 |
+
}
|
8143 |
|
8144 |
+
CustomEvent.prototype = window.Event.prototype;
|
8145 |
+
window.CustomEvent = CustomEvent;
|
8146 |
+
})();
|
8147 |
|
8148 |
+
if (typeof Object.assign !== 'function') {
|
8149 |
+
Object.assign = function (target) {
|
8150 |
+
|
8151 |
+
if (target === null || target === undefined) {
|
8152 |
+
throw new TypeError('Cannot convert undefined or null to object');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8153 |
}
|
|
|
8154 |
|
8155 |
+
var to = Object(target);
|
8156 |
+
|
8157 |
+
for (var index = 1, total = arguments.length; index < total; index++) {
|
8158 |
+
var nextSource = arguments[index];
|
8159 |
+
|
8160 |
+
if (nextSource !== null) {
|
8161 |
+
for (var nextKey in nextSource) {
|
8162 |
+
if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {
|
8163 |
+
to[nextKey] = nextSource[nextKey];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8164 |
}
|
8165 |
}
|
|
|
8166 |
}
|
8167 |
+
}
|
8168 |
+
return to;
|
8169 |
+
};
|
8170 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8171 |
|
8172 |
+
if (!String.prototype.startsWith) {
|
8173 |
+
String.prototype.startsWith = function (searchString, position) {
|
8174 |
+
position = position || 0;
|
8175 |
+
return this.substr(position, searchString.length) === searchString;
|
8176 |
+
};
|
8177 |
+
}
|
8178 |
+
|
8179 |
+
if (!Element.prototype.matches) {
|
8180 |
+
Element.prototype.matches = Element.prototype.matchesSelector || Element.prototype.mozMatchesSelector || Element.prototype.msMatchesSelector || Element.prototype.oMatchesSelector || Element.prototype.webkitMatchesSelector || function (s) {
|
8181 |
+
var matches = (this.document || this.ownerDocument).querySelectorAll(s),
|
8182 |
+
i = matches.length - 1;
|
8183 |
+
while (--i >= 0 && matches.item(i) !== this) {}
|
8184 |
+
return i > -1;
|
8185 |
+
};
|
8186 |
+
}
|
8187 |
+
|
8188 |
+
if (window.Element && !Element.prototype.closest) {
|
8189 |
+
Element.prototype.closest = function (s) {
|
8190 |
+
var matches = (this.document || this.ownerDocument).querySelectorAll(s),
|
8191 |
+
i = void 0,
|
8192 |
+
el = this;
|
8193 |
+
do {
|
8194 |
+
i = matches.length;
|
8195 |
+
while (--i >= 0 && matches.item(i) !== el) {}
|
8196 |
+
} while (i < 0 && (el = el.parentElement));
|
8197 |
+
return el;
|
8198 |
+
};
|
8199 |
+
}
|
8200 |
+
|
8201 |
+
(function () {
|
8202 |
+
var lastTime = 0;
|
8203 |
+
var vendors = ['ms', 'moz', 'webkit', 'o'];
|
8204 |
+
for (var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) {
|
8205 |
+
window.requestAnimationFrame = window[vendors[x] + 'RequestAnimationFrame'];
|
8206 |
+
window.cancelAnimationFrame = window[vendors[x] + 'CancelAnimationFrame'] || window[vendors[x] + 'CancelRequestAnimationFrame'];
|
8207 |
+
}
|
8208 |
+
|
8209 |
+
if (!window.requestAnimationFrame) window.requestAnimationFrame = function (callback) {
|
8210 |
+
var currTime = new Date().getTime();
|
8211 |
+
var timeToCall = Math.max(0, 16 - (currTime - lastTime));
|
8212 |
+
var id = window.setTimeout(function () {
|
8213 |
+
callback(currTime + timeToCall);
|
8214 |
+
}, timeToCall);
|
8215 |
+
lastTime = currTime + timeToCall;
|
8216 |
+
return id;
|
8217 |
+
};
|
8218 |
+
|
8219 |
+
if (!window.cancelAnimationFrame) window.cancelAnimationFrame = function (id) {
|
8220 |
+
clearTimeout(id);
|
8221 |
+
};
|
8222 |
+
})();
|
8223 |
+
|
8224 |
+
if (/firefox/i.test(navigator.userAgent)) {
|
8225 |
+
var getComputedStyle = window.getComputedStyle;
|
8226 |
+
window.getComputedStyle = function (el, pseudoEl) {
|
8227 |
+
var t = getComputedStyle(el, pseudoEl);
|
8228 |
+
return t === null ? { getPropertyValue: function getPropertyValue() {} } : t;
|
8229 |
+
};
|
8230 |
+
}
|
8231 |
+
|
8232 |
+
if (!window.Promise) {
|
8233 |
+
window.Promise = _promisePolyfill2.default;
|
8234 |
+
}
|
8235 |
+
|
8236 |
+
(function (constructor) {
|
8237 |
+
if (constructor && constructor.prototype && constructor.prototype.children === null) {
|
8238 |
+
Object.defineProperty(constructor.prototype, 'children', {
|
8239 |
+
get: function get() {
|
8240 |
+
var i = 0,
|
8241 |
+
node = void 0,
|
8242 |
+
nodes = this.childNodes,
|
8243 |
+
children = [];
|
8244 |
+
while (node = nodes[i++]) {
|
8245 |
+
if (node.nodeType === 1) {
|
8246 |
+
children.push(node);
|
8247 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
8248 |
}
|
8249 |
+
return children;
|
8250 |
}
|
8251 |
+
});
|
8252 |
+
}
|
8253 |
+
})(window.Node || window.Element);
|
8254 |
+
|
8255 |
+
},{"2":2,"4":4}],30:[function(_dereq_,module,exports){
|
8256 |
+
'use strict';
|
8257 |
+
|
8258 |
+
Object.defineProperty(exports, "__esModule", {
|
8259 |
+
value: true
|
8260 |
+
});
|
8261 |
+
exports.isDropFrame = isDropFrame;
|
8262 |
+
exports.secondsToTimeCode = secondsToTimeCode;
|
8263 |
+
exports.timeCodeToSeconds = timeCodeToSeconds;
|
8264 |
+
exports.calculateTimeFormat = calculateTimeFormat;
|
8265 |
+
exports.convertSMPTEtoSeconds = convertSMPTEtoSeconds;
|
8266 |
+
|
8267 |
+
var _mejs = _dereq_(7);
|
8268 |
+
|
8269 |
+
var _mejs2 = _interopRequireDefault(_mejs);
|
8270 |
+
|
8271 |
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
8272 |
+
|
8273 |
+
function isDropFrame() {
|
8274 |
+
var fps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 25;
|
8275 |
+
|
8276 |
+
return !(fps % 1 === 0);
|
8277 |
+
}
|
8278 |
+
function secondsToTimeCode(time) {
|
8279 |
+
var forceHours = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
8280 |
+
var showFrameCount = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
8281 |
+
var fps = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 25;
|
8282 |
+
var secondsDecimalLength = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;
|
8283 |
+
var timeFormat = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 'hh:mm:ss';
|
8284 |
+
|
8285 |
+
|
8286 |
+
time = !time || typeof time !== 'number' || time < 0 ? 0 : time;
|
8287 |
+
|
8288 |
+
var dropFrames = Math.round(fps * 0.066666),
|
8289 |
+
timeBase = Math.round(fps),
|
8290 |
+
framesPer24Hours = Math.round(fps * 3600) * 24,
|
8291 |
+
framesPer10Minutes = Math.round(fps * 600),
|
8292 |
+
frameSep = isDropFrame(fps) ? ';' : ':',
|
8293 |
+
hours = void 0,
|
8294 |
+
minutes = void 0,
|
8295 |
+
seconds = void 0,
|
8296 |
+
frames = void 0,
|
8297 |
+
f = Math.round(time * fps);
|
8298 |
+
|
8299 |
+
if (isDropFrame(fps)) {
|
8300 |
+
|
8301 |
+
if (f < 0) {
|
8302 |
+
f = framesPer24Hours + f;
|
8303 |
}
|
8304 |
+
|
8305 |
+
f = f % framesPer24Hours;
|
8306 |
+
|
8307 |
+
var d = Math.floor(f / framesPer10Minutes);
|
8308 |
+
var m = f % framesPer10Minutes;
|
8309 |
+
f = f + dropFrames * 9 * d;
|
8310 |
+
if (m > dropFrames) {
|
8311 |
+
f = f + dropFrames * Math.floor((m - dropFrames) / Math.round(timeBase * 60 - dropFrames));
|
8312 |
+
}
|
8313 |
+
|
8314 |
+
var timeBaseDivision = Math.floor(f / timeBase);
|
8315 |
+
|
8316 |
+
hours = Math.floor(Math.floor(timeBaseDivision / 60) / 60);
|
8317 |
+
minutes = Math.floor(timeBaseDivision / 60) % 60;
|
8318 |
+
|
8319 |
+
if (showFrameCount) {
|
8320 |
+
seconds = timeBaseDivision % 60;
|
8321 |
+
} else {
|
8322 |
+
seconds = Math.floor(f / timeBase % 60).toFixed(secondsDecimalLength);
|
8323 |
+
}
|
8324 |
+
} else {
|
8325 |
+
hours = Math.floor(time / 3600) % 24;
|
8326 |
+
minutes = Math.floor(time / 60) % 60;
|
8327 |
+
if (showFrameCount) {
|
8328 |
+
seconds = Math.floor(time % 60);
|
8329 |
+
} else {
|
8330 |
+
seconds = Math.floor(time % 60).toFixed(secondsDecimalLength);
|
8331 |
+
}
|
8332 |
+
}
|
8333 |
+
hours = hours <= 0 ? 0 : hours;
|
8334 |
+
minutes = minutes <= 0 ? 0 : minutes;
|
8335 |
+
seconds = seconds <= 0 ? 0 : seconds;
|
8336 |
+
|
8337 |
+
seconds = seconds === 60 ? 0 : seconds;
|
8338 |
+
minutes = minutes === 60 ? 0 : minutes;
|
8339 |
+
|
8340 |
+
var timeFormatFrags = timeFormat.split(':');
|
8341 |
+
var timeFormatSettings = {};
|
8342 |
+
for (var i = 0, total = timeFormatFrags.length; i < total; ++i) {
|
8343 |
+
var unique = '';
|
8344 |
+
for (var j = 0, t = timeFormatFrags[i].length; j < t; j++) {
|
8345 |
+
if (unique.indexOf(timeFormatFrags[i][j]) < 0) {
|
8346 |
+
unique += timeFormatFrags[i][j];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8347 |
}
|
8348 |
}
|
8349 |
+
if (~['f', 's', 'm', 'h'].indexOf(unique)) {
|
8350 |
+
timeFormatSettings[unique] = timeFormatFrags[i].length;
|
8351 |
+
}
|
8352 |
+
}
|
8353 |
+
|
8354 |
+
var result = forceHours || hours > 0 ? (hours < 10 && timeFormatSettings.h > 1 ? '0' + hours : hours) + ':' : '';
|
8355 |
+
result += (minutes < 10 && timeFormatSettings.m > 1 ? '0' + minutes : minutes) + ':';
|
8356 |
+
result += '' + (seconds < 10 && timeFormatSettings.s > 1 ? '0' + seconds : seconds);
|
8357 |
+
|
8358 |
+
if (showFrameCount) {
|
8359 |
+
frames = (f % timeBase).toFixed(0);
|
8360 |
+
frames = frames <= 0 ? 0 : frames;
|
8361 |
+
result += frames < 10 && timeFormatSettings.f ? frameSep + '0' + frames : '' + frameSep + frames;
|
8362 |
+
}
|
8363 |
+
|
8364 |
+
return result;
|
8365 |
+
}
|
8366 |
+
|
8367 |
+
function timeCodeToSeconds(time) {
|
8368 |
+
var fps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 25;
|
8369 |
+
|
8370 |
+
|
8371 |
+
if (typeof time !== 'string') {
|
8372 |
+
throw new TypeError('Time must be a string');
|
8373 |
+
}
|
8374 |
+
|
8375 |
+
if (time.indexOf(';') > 0) {
|
8376 |
+
time = time.replace(';', ':');
|
8377 |
+
}
|
8378 |
+
|
8379 |
+
if (!/\d{2}(\:\d{2}){0,3}/i.test(time)) {
|
8380 |
+
throw new TypeError('Time code must have the format `00:00:00`');
|
8381 |
+
}
|
8382 |
+
|
8383 |
+
var parts = time.split(':');
|
8384 |
+
|
8385 |
+
var output = void 0,
|
8386 |
+
hours = 0,
|
8387 |
+
minutes = 0,
|
8388 |
+
seconds = 0,
|
8389 |
+
frames = 0,
|
8390 |
+
totalMinutes = 0,
|
8391 |
+
dropFrames = Math.round(fps * 0.066666),
|
8392 |
+
timeBase = Math.round(fps),
|
8393 |
+
hFrames = timeBase * 3600,
|
8394 |
+
mFrames = timeBase * 60;
|
8395 |
+
|
8396 |
+
switch (parts.length) {
|
8397 |
+
default:
|
8398 |
+
case 1:
|
8399 |
+
seconds = parseInt(parts[0], 10);
|
8400 |
+
break;
|
8401 |
+
case 2:
|
8402 |
+
minutes = parseInt(parts[0], 10);
|
8403 |
+
seconds = parseInt(parts[1], 10);
|
8404 |
+
break;
|
8405 |
+
case 3:
|
8406 |
+
hours = parseInt(parts[0], 10);
|
8407 |
+
minutes = parseInt(parts[1], 10);
|
8408 |
+
seconds = parseInt(parts[2], 10);
|
8409 |
+
break;
|
8410 |
+
case 4:
|
8411 |
+
hours = parseInt(parts[0], 10);
|
8412 |
+
minutes = parseInt(parts[1], 10);
|
8413 |
+
seconds = parseInt(parts[2], 10);
|
8414 |
+
frames = parseInt(parts[3], 10);
|
8415 |
+
break;
|
8416 |
+
}
|
8417 |
+
|
8418 |
+
if (isDropFrame(fps)) {
|
8419 |
+
totalMinutes = 60 * hours + minutes;
|
8420 |
+
output = hFrames * hours + mFrames * minutes + timeBase * seconds + frames - dropFrames * (totalMinutes - Math.floor(totalMinutes / 10));
|
8421 |
+
} else {
|
8422 |
+
output = (hFrames * hours + mFrames * minutes + fps * seconds + frames) / fps;
|
8423 |
+
}
|
8424 |
+
|
8425 |
+
return parseFloat(output.toFixed(3));
|
8426 |
+
}
|
8427 |
+
|
8428 |
+
function calculateTimeFormat(time, options) {
|
8429 |
+
var fps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 25;
|
8430 |
+
|
8431 |
+
|
8432 |
+
time = !time || typeof time !== 'number' || time < 0 ? 0 : time;
|
8433 |
+
|
8434 |
+
var hours = Math.floor(time / 3600) % 24,
|
8435 |
+
minutes = Math.floor(time / 60) % 60,
|
8436 |
+
seconds = Math.floor(time % 60),
|
8437 |
+
frames = Math.floor((time % 1 * fps).toFixed(3)),
|
8438 |
+
lis = [[frames, 'f'], [seconds, 's'], [minutes, 'm'], [hours, 'h']];
|
8439 |
+
|
8440 |
+
var format = options.timeFormat,
|
8441 |
+
firstTwoPlaces = format[1] === format[0],
|
8442 |
+
separatorIndex = firstTwoPlaces ? 2 : 1,
|
8443 |
+
separator = format.length < separatorIndex ? format[separatorIndex] : ':',
|
8444 |
+
firstChar = format[0],
|
8445 |
+
required = false;
|
8446 |
+
|
8447 |
+
for (var i = 0, len = lis.length; i < len; i++) {
|
8448 |
+
if (~format.indexOf(lis[i][1])) {
|
8449 |
+
required = true;
|
8450 |
+
} else if (required) {
|
8451 |
+
var hasNextValue = false;
|
8452 |
+
for (var j = i; j < len; j++) {
|
8453 |
+
if (lis[j][0] > 0) {
|
8454 |
+
hasNextValue = true;
|
8455 |
+
break;
|
8456 |
}
|
8457 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8458 |
|
8459 |
+
if (!hasNextValue) {
|
8460 |
+
break;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8461 |
}
|
8462 |
+
|
8463 |
+
if (!firstTwoPlaces) {
|
8464 |
+
format = firstChar + format;
|
8465 |
+
}
|
8466 |
+
format = lis[i][1] + separator + format;
|
8467 |
+
if (firstTwoPlaces) {
|
8468 |
+
format = lis[i][1] + format;
|
8469 |
+
}
|
8470 |
+
firstChar = lis[i][1];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8471 |
}
|
8472 |
+
}
|
8473 |
+
|
8474 |
+
options.timeFormat = format;
|
8475 |
+
}
|
8476 |
+
|
8477 |
+
function convertSMPTEtoSeconds(SMPTE) {
|
8478 |
+
|
8479 |
+
if (typeof SMPTE !== 'string') {
|
8480 |
+
throw new TypeError('Argument must be a string value');
|
8481 |
+
}
|
8482 |
+
|
8483 |
+
SMPTE = SMPTE.replace(',', '.');
|
8484 |
+
|
8485 |
+
var decimalLen = ~SMPTE.indexOf('.') ? SMPTE.split('.')[1].length : 0;
|
8486 |
+
|
8487 |
+
var secs = 0,
|
8488 |
+
multiplier = 1;
|
8489 |
+
|
8490 |
+
SMPTE = SMPTE.split(':').reverse();
|
8491 |
+
|
8492 |
+
for (var i = 0, total = SMPTE.length; i < total; i++) {
|
8493 |
+
multiplier = 1;
|
8494 |
+
if (i > 0) {
|
8495 |
+
multiplier = Math.pow(60, i);
|
8496 |
+
}
|
8497 |
+
secs += Number(SMPTE[i]) * multiplier;
|
8498 |
+
}
|
8499 |
+
return Number(secs.toFixed(decimalLen));
|
8500 |
+
}
|
8501 |
+
|
8502 |
+
_mejs2.default.Utils = _mejs2.default.Utils || {};
|
8503 |
+
_mejs2.default.Utils.secondsToTimeCode = secondsToTimeCode;
|
8504 |
+
_mejs2.default.Utils.timeCodeToSeconds = timeCodeToSeconds;
|
8505 |
+
_mejs2.default.Utils.calculateTimeFormat = calculateTimeFormat;
|
8506 |
+
_mejs2.default.Utils.convertSMPTEtoSeconds = convertSMPTEtoSeconds;
|
8507 |
|
8508 |
+
},{"7":7}]},{},[29,6,5,15,23,20,19,21,22,24,16,18,17,9,10,11,12,13,14]);
|
lib/media-element/mediaelement-and-player.min.js
CHANGED
@@ -1,174 +1,12 @@
|
|
1 |
/*!
|
2 |
-
* MediaElement.js
|
3 |
-
*
|
4 |
-
* http://mediaelementjs.com/
|
5 |
-
*
|
6 |
-
* Creates a JavaScript object that mimics HTML5 MediaElement API
|
7 |
-
* for browsers that don't understand HTML5 or can't play the provided codec
|
8 |
-
* Can play MP4 (H.264), Ogg, WebM, FLV, WMV, WMA, ACC, and MP3
|
9 |
-
*
|
10 |
-
* Copyright 2010-2013, John Dyer (http://j.hn)
|
11 |
-
* License: MIT
|
12 |
-
*
|
13 |
-
*/var mejs=mejs||{};mejs.version="2.13.1";mejs.meIndex=0;
|
14 |
-
mejs.plugins={silverlight:[{version:[3,0],types:["video/mp4","video/m4v","video/mov","video/wmv","audio/wma","audio/m4a","audio/mp3","audio/wav","audio/mpeg"]}],flash:[{version:[9,0,124],types:["video/mp4","video/m4v","video/mov","video/flv","video/rtmp","video/x-flv","audio/flv","audio/x-flv","audio/mp3","audio/m4a","audio/mpeg","video/youtube","video/x-youtube"]}],youtube:[{version:null,types:["video/youtube","video/x-youtube","audio/youtube","audio/x-youtube"]}],vimeo:[{version:null,types:["video/vimeo",
|
15 |
-
"video/x-vimeo"]}]};
|
16 |
-
mejs.Utility={encodeUrl:function(a){return encodeURIComponent(a)},escapeHTML:function(a){return a.toString().split("&").join("&").split("<").join("<").split('"').join(""")},absolutizeUrl:function(a){var b=document.createElement("div");b.innerHTML='<a href="'+this.escapeHTML(a)+'">x</a>';return b.firstChild.href},getScriptPath:function(a){for(var b=0,c,d="",e="",f,g,h=document.getElementsByTagName("script"),l=h.length,j=a.length;b<l;b++){f=h[b].src;c=f.lastIndexOf("/");if(c>-1){g=f.substring(c+
|
17 |
-
1);f=f.substring(0,c+1)}else{g=f;f=""}for(c=0;c<j;c++){e=a[c];e=g.indexOf(e);if(e>-1){d=f;break}}if(d!=="")break}return d},secondsToTimeCode:function(a,b,c,d){if(typeof c=="undefined")c=false;else if(typeof d=="undefined")d=25;var e=Math.floor(a/3600)%24,f=Math.floor(a/60)%60,g=Math.floor(a%60);a=Math.floor((a%1*d).toFixed(3));return(b||e>0?(e<10?"0"+e:e)+":":"")+(f<10?"0"+f:f)+":"+(g<10?"0"+g:g)+(c?":"+(a<10?"0"+a:a):"")},timeCodeToSeconds:function(a,b,c,d){if(typeof c=="undefined")c=false;else if(typeof d==
|
18 |
-
"undefined")d=25;a=a.split(":");b=parseInt(a[0],10);var e=parseInt(a[1],10),f=parseInt(a[2],10),g=0,h=0;if(c)g=parseInt(a[3])/d;return h=b*3600+e*60+f+g},convertSMPTEtoSeconds:function(a){if(typeof a!="string")return false;a=a.replace(",",".");var b=0,c=a.indexOf(".")!=-1?a.split(".")[1].length:0,d=1;a=a.split(":").reverse();for(var e=0;e<a.length;e++){d=1;if(e>0)d=Math.pow(60,e);b+=Number(a[e])*d}return Number(b.toFixed(c))},removeSwf:function(a){var b=document.getElementById(a);if(b&&/object|embed/i.test(b.nodeName))if(mejs.MediaFeatures.isIE){b.style.display=
|
19 |
-
"none";(function(){b.readyState==4?mejs.Utility.removeObjectInIE(a):setTimeout(arguments.callee,10)})()}else b.parentNode.removeChild(b)},removeObjectInIE:function(a){if(a=document.getElementById(a)){for(var b in a)if(typeof a[b]=="function")a[b]=null;a.parentNode.removeChild(a)}}};
|
20 |
-
mejs.PluginDetector={hasPluginVersion:function(a,b){var c=this.plugins[a];b[1]=b[1]||0;b[2]=b[2]||0;return c[0]>b[0]||c[0]==b[0]&&c[1]>b[1]||c[0]==b[0]&&c[1]==b[1]&&c[2]>=b[2]?true:false},nav:window.navigator,ua:window.navigator.userAgent.toLowerCase(),plugins:[],addPlugin:function(a,b,c,d,e){this.plugins[a]=this.detectPlugin(b,c,d,e)},detectPlugin:function(a,b,c,d){var e=[0,0,0],f;if(typeof this.nav.plugins!="undefined"&&typeof this.nav.plugins[a]=="object"){if((c=this.nav.plugins[a].description)&&
|
21 |
-
!(typeof this.nav.mimeTypes!="undefined"&&this.nav.mimeTypes[b]&&!this.nav.mimeTypes[b].enabledPlugin)){e=c.replace(a,"").replace(/^\s+/,"").replace(/\sr/gi,".").split(".");for(a=0;a<e.length;a++)e[a]=parseInt(e[a].match(/\d+/),10)}}else if(typeof window.ActiveXObject!="undefined")try{if(f=new ActiveXObject(c))e=d(f)}catch(g){}return e}};
|
22 |
-
mejs.PluginDetector.addPlugin("flash","Shockwave Flash","application/x-shockwave-flash","ShockwaveFlash.ShockwaveFlash",function(a){var b=[];if(a=a.GetVariable("$version")){a=a.split(" ")[1].split(",");b=[parseInt(a[0],10),parseInt(a[1],10),parseInt(a[2],10)]}return b});
|
23 |
-
mejs.PluginDetector.addPlugin("silverlight","Silverlight Plug-In","application/x-silverlight-2","AgControl.AgControl",function(a){var b=[0,0,0,0],c=function(d,e,f,g){for(;d.isVersionSupported(e[0]+"."+e[1]+"."+e[2]+"."+e[3]);)e[f]+=g;e[f]-=g};c(a,b,0,1);c(a,b,1,1);c(a,b,2,1E4);c(a,b,2,1E3);c(a,b,2,100);c(a,b,2,10);c(a,b,2,1);c(a,b,3,1);return b});
|
24 |
-
mejs.MediaFeatures={init:function(){var a=this,b=document,c=mejs.PluginDetector.nav,d=mejs.PluginDetector.ua.toLowerCase(),e,f=["source","track","audio","video"];a.isiPad=d.match(/ipad/i)!==null;a.isiPhone=d.match(/iphone/i)!==null;a.isiOS=a.isiPhone||a.isiPad;a.isAndroid=d.match(/android/i)!==null;a.isBustedAndroid=d.match(/android 2\.[12]/)!==null;a.isBustedNativeHTTPS=location.protocol==="https:"&&(d.match(/android [12]\./)!==null||d.match(/macintosh.* version.* safari/)!==null);a.isIE=c.appName.toLowerCase().match(/trident/gi)!==
|
25 |
-
null;a.isChrome=d.match(/chrome/gi)!==null;a.isFirefox=d.match(/firefox/gi)!==null;a.isWebkit=d.match(/webkit/gi)!==null;a.isGecko=d.match(/gecko/gi)!==null&&!a.isWebkit&&!a.isIE;a.isOpera=d.match(/opera/gi)!==null;a.hasTouch="ontouchstart"in window&&window.ontouchstart!=null;a.svg=!!document.createElementNS&&!!document.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect;for(c=0;c<f.length;c++)e=document.createElement(f[c]);a.supportsMediaTag=typeof e.canPlayType!=="undefined"||a.isBustedAndroid;
|
26 |
-
try{e.canPlayType("video/mp4")}catch(g){a.supportsMediaTag=false}a.hasSemiNativeFullScreen=typeof e.webkitEnterFullscreen!=="undefined";a.hasNativeFullscreen=typeof e.requestFullscreen!=="undefined";a.hasWebkitNativeFullScreen=typeof e.webkitRequestFullScreen!=="undefined";a.hasMozNativeFullScreen=typeof e.mozRequestFullScreen!=="undefined";a.hasMsNativeFullScreen=typeof e.msRequestFullscreen!=="undefined";a.hasTrueNativeFullScreen=a.hasWebkitNativeFullScreen||a.hasMozNativeFullScreen||a.hasMsNativeFullScreen;
|
27 |
-
a.nativeFullScreenEnabled=a.hasTrueNativeFullScreen;if(a.hasMozNativeFullScreen)a.nativeFullScreenEnabled=document.mozFullScreenEnabled;else if(a.hasMsNativeFullScreen)a.nativeFullScreenEnabled=document.msFullscreenEnabled;if(a.isChrome)a.hasSemiNativeFullScreen=false;if(a.hasTrueNativeFullScreen){a.fullScreenEventName="";if(a.hasWebkitNativeFullScreen)a.fullScreenEventName="webkitfullscreenchange";else if(a.hasMozNativeFullScreen)a.fullScreenEventName="mozfullscreenchange";else if(a.hasMsNativeFullScreen)a.fullScreenEventName=
|
28 |
-
"MSFullscreenChange";a.isFullScreen=function(){if(e.mozRequestFullScreen)return b.mozFullScreen;else if(e.webkitRequestFullScreen)return b.webkitIsFullScreen;else if(e.hasMsNativeFullScreen)return b.msFullscreenElement!==null};a.requestFullScreen=function(h){if(a.hasWebkitNativeFullScreen)h.webkitRequestFullScreen();else if(a.hasMozNativeFullScreen)h.mozRequestFullScreen();else a.hasMsNativeFullScreen&&h.msRequestFullscreen()};a.cancelFullScreen=function(){if(a.hasWebkitNativeFullScreen)document.webkitCancelFullScreen();
|
29 |
-
else if(a.hasMozNativeFullScreen)document.mozCancelFullScreen();else a.hasMsNativeFullScreen&&document.msExitFullscreen()}}if(a.hasSemiNativeFullScreen&&d.match(/mac os x 10_5/i)){a.hasNativeFullScreen=false;a.hasSemiNativeFullScreen=false}}};mejs.MediaFeatures.init();
|
30 |
-
mejs.HtmlMediaElement={pluginType:"native",isFullScreen:false,setCurrentTime:function(a){this.currentTime=a},setMuted:function(a){this.muted=a},setVolume:function(a){this.volume=a},stop:function(){this.pause()},setSrc:function(a){for(var b=this.getElementsByTagName("source");b.length>0;)this.removeChild(b[0]);if(typeof a=="string")this.src=a;else{var c;for(b=0;b<a.length;b++){c=a[b];if(this.canPlayType(c.type)){this.src=c.src;break}}}},setVideoSize:function(a,b){this.width=a;this.height=b}};
|
31 |
-
mejs.PluginMediaElement=function(a,b,c){this.id=a;this.pluginType=b;this.src=c;this.events={};this.attributes={}};
|
32 |
-
mejs.PluginMediaElement.prototype={pluginElement:null,pluginType:"",isFullScreen:false,playbackRate:-1,defaultPlaybackRate:-1,seekable:[],played:[],paused:true,ended:false,seeking:false,duration:0,error:null,tagName:"",muted:false,volume:1,currentTime:0,play:function(){if(this.pluginApi!=null){this.pluginType=="youtube"?this.pluginApi.playVideo():this.pluginApi.playMedia();this.paused=false}},load:function(){if(this.pluginApi!=null){this.pluginType!="youtube"&&this.pluginApi.loadMedia();this.paused=
|
33 |
-
false}},pause:function(){if(this.pluginApi!=null){this.pluginType=="youtube"?this.pluginApi.pauseVideo():this.pluginApi.pauseMedia();this.paused=true}},stop:function(){if(this.pluginApi!=null){this.pluginType=="youtube"?this.pluginApi.stopVideo():this.pluginApi.stopMedia();this.paused=true}},canPlayType:function(a){var b,c,d,e=mejs.plugins[this.pluginType];for(b=0;b<e.length;b++){d=e[b];if(mejs.PluginDetector.hasPluginVersion(this.pluginType,d.version))for(c=0;c<d.types.length;c++)if(a==d.types[c])return"probably"}return""},
|
34 |
-
positionFullscreenButton:function(a,b,c){this.pluginApi!=null&&this.pluginApi.positionFullscreenButton&&this.pluginApi.positionFullscreenButton(Math.floor(a),Math.floor(b),c)},hideFullscreenButton:function(){this.pluginApi!=null&&this.pluginApi.hideFullscreenButton&&this.pluginApi.hideFullscreenButton()},setSrc:function(a){if(typeof a=="string"){this.pluginApi.setSrc(mejs.Utility.absolutizeUrl(a));this.src=mejs.Utility.absolutizeUrl(a)}else{var b,c;for(b=0;b<a.length;b++){c=a[b];if(this.canPlayType(c.type)){this.pluginApi.setSrc(mejs.Utility.absolutizeUrl(c.src));
|
35 |
-
this.src=mejs.Utility.absolutizeUrl(a);break}}}},setCurrentTime:function(a){if(this.pluginApi!=null){this.pluginType=="youtube"?this.pluginApi.seekTo(a):this.pluginApi.setCurrentTime(a);this.currentTime=a}},setVolume:function(a){if(this.pluginApi!=null){this.pluginType=="youtube"?this.pluginApi.setVolume(a*100):this.pluginApi.setVolume(a);this.volume=a}},setMuted:function(a){if(this.pluginApi!=null){if(this.pluginType=="youtube"){a?this.pluginApi.mute():this.pluginApi.unMute();this.muted=a;this.dispatchEvent("volumechange")}else this.pluginApi.setMuted(a);
|
36 |
-
this.muted=a}},setVideoSize:function(a,b){if(this.pluginElement.style){this.pluginElement.style.width=a+"px";this.pluginElement.style.height=b+"px"}this.pluginApi!=null&&this.pluginApi.setVideoSize&&this.pluginApi.setVideoSize(a,b)},setFullscreen:function(a){this.pluginApi!=null&&this.pluginApi.setFullscreen&&this.pluginApi.setFullscreen(a)},enterFullScreen:function(){this.pluginApi!=null&&this.pluginApi.setFullscreen&&this.setFullscreen(true)},exitFullScreen:function(){this.pluginApi!=null&&this.pluginApi.setFullscreen&&
|
37 |
-
this.setFullscreen(false)},addEventListener:function(a,b){this.events[a]=this.events[a]||[];this.events[a].push(b)},removeEventListener:function(a,b){if(!a){this.events={};return true}var c=this.events[a];if(!c)return true;if(!b){this.events[a]=[];return true}for(i=0;i<c.length;i++)if(c[i]===b){this.events[a].splice(i,1);return true}return false},dispatchEvent:function(a){var b,c,d=this.events[a];if(d){c=Array.prototype.slice.call(arguments,1);for(b=0;b<d.length;b++)d[b].apply(null,c)}},hasAttribute:function(a){return a in
|
38 |
-
this.attributes},removeAttribute:function(a){delete this.attributes[a]},getAttribute:function(a){if(this.hasAttribute(a))return this.attributes[a];return""},setAttribute:function(a,b){this.attributes[a]=b},remove:function(){mejs.Utility.removeSwf(this.pluginElement.id);mejs.MediaPluginBridge.unregisterPluginElement(this.pluginElement.id)}};
|
39 |
-
mejs.MediaPluginBridge={pluginMediaElements:{},htmlMediaElements:{},registerPluginElement:function(a,b,c){this.pluginMediaElements[a]=b;this.htmlMediaElements[a]=c},unregisterPluginElement:function(a){delete this.pluginMediaElements[a];delete this.htmlMediaElements[a]},initPlugin:function(a){var b=this.pluginMediaElements[a],c=this.htmlMediaElements[a];if(b){switch(b.pluginType){case "flash":b.pluginElement=b.pluginApi=document.getElementById(a);break;case "silverlight":b.pluginElement=document.getElementById(b.id);
|
40 |
-
b.pluginApi=b.pluginElement.Content.MediaElementJS}b.pluginApi!=null&&b.success&&b.success(b,c)}},fireEvent:function(a,b,c){var d,e;if(a=this.pluginMediaElements[a]){b={type:b,target:a};for(d in c){a[d]=c[d];b[d]=c[d]}e=c.bufferedTime||0;b.target.buffered=b.buffered={start:function(){return 0},end:function(){return e},length:1};a.dispatchEvent(b.type,b)}}};
|
41 |
-
mejs.MediaElementDefaults={mode:"auto",plugins:["flash","silverlight","youtube","vimeo"],enablePluginDebug:false,httpsBasicAuthSite:false,type:"",pluginPath:mejs.Utility.getScriptPath(["mediaelement.js","mediaelement.min.js","mediaelement-and-player.js","mediaelement-and-player.min.js"]),flashName:"flashmediaelement.swf",flashStreamer:"",enablePluginSmoothing:false,enablePseudoStreaming:false,pseudoStreamingStartQueryParam:"start",silverlightName:"silverlightmediaelement.xap",defaultVideoWidth:480,
|
42 |
-
defaultVideoHeight:270,pluginWidth:-1,pluginHeight:-1,pluginVars:[],timerRate:250,startVolume:0.8,success:function(){},error:function(){}};mejs.MediaElement=function(a,b){return mejs.HtmlMediaElementShim.create(a,b)};
|
43 |
-
mejs.HtmlMediaElementShim={create:function(a,b){var c=mejs.MediaElementDefaults,d=typeof a=="string"?document.getElementById(a):a,e=d.tagName.toLowerCase(),f=e==="audio"||e==="video",g=f?d.getAttribute("src"):d.getAttribute("href");e=d.getAttribute("poster");var h=d.getAttribute("autoplay"),l=d.getAttribute("preload"),j=d.getAttribute("controls"),k;for(k in b)c[k]=b[k];g=typeof g=="undefined"||g===null||g==""?null:g;e=typeof e=="undefined"||e===null?"":e;l=typeof l=="undefined"||l===null||l==="false"?
|
44 |
-
"none":l;h=!(typeof h=="undefined"||h===null||h==="false");j=!(typeof j=="undefined"||j===null||j==="false");k=this.determinePlayback(d,c,mejs.MediaFeatures.supportsMediaTag,f,g);k.url=k.url!==null?mejs.Utility.absolutizeUrl(k.url):"";if(k.method=="native"){if(mejs.MediaFeatures.isBustedAndroid){d.src=k.url;d.addEventListener("click",function(){d.play()},false)}return this.updateNative(k,c,h,l)}else if(k.method!=="")return this.createPlugin(k,c,e,h,l,j);else{this.createErrorMessage(k,c,e);return this}},
|
45 |
-
determinePlayback:function(a,b,c,d,e){var f=[],g,h,l,j={method:"",url:"",htmlMediaElement:a,isVideo:a.tagName.toLowerCase()!="audio"},k;if(typeof b.type!="undefined"&&b.type!=="")if(typeof b.type=="string")f.push({type:b.type,url:e});else for(g=0;g<b.type.length;g++)f.push({type:b.type[g],url:e});else if(e!==null){l=this.formatType(e,a.getAttribute("type"));f.push({type:l,url:e})}else for(g=0;g<a.childNodes.length;g++){h=a.childNodes[g];if(h.nodeType==1&&h.tagName.toLowerCase()=="source"){e=h.getAttribute("src");
|
46 |
-
l=this.formatType(e,h.getAttribute("type"));h=h.getAttribute("media");if(!h||!window.matchMedia||window.matchMedia&&window.matchMedia(h).matches)f.push({type:l,url:e})}}if(!d&&f.length>0&&f[0].url!==null&&this.getTypeFromFile(f[0].url).indexOf("audio")>-1)j.isVideo=false;if(mejs.MediaFeatures.isBustedAndroid)a.canPlayType=function(m){return m.match(/video\/(mp4|m4v)/gi)!==null?"maybe":""};if(c&&(b.mode==="auto"||b.mode==="auto_plugin"||b.mode==="native")&&!(mejs.MediaFeatures.isBustedNativeHTTPS&&
|
47 |
-
b.httpsBasicAuthSite===true)){if(!d){g=document.createElement(j.isVideo?"video":"audio");a.parentNode.insertBefore(g,a);a.style.display="none";j.htmlMediaElement=a=g}for(g=0;g<f.length;g++)if(a.canPlayType(f[g].type).replace(/no/,"")!==""||a.canPlayType(f[g].type.replace(/mp3/,"mpeg")).replace(/no/,"")!==""){j.method="native";j.url=f[g].url;break}if(j.method==="native"){if(j.url!==null)a.src=j.url;if(b.mode!=="auto_plugin")return j}}if(b.mode==="auto"||b.mode==="auto_plugin"||b.mode==="shim")for(g=
|
48 |
-
0;g<f.length;g++){l=f[g].type;for(a=0;a<b.plugins.length;a++){e=b.plugins[a];h=mejs.plugins[e];for(c=0;c<h.length;c++){k=h[c];if(k.version==null||mejs.PluginDetector.hasPluginVersion(e,k.version))for(d=0;d<k.types.length;d++)if(l==k.types[d]){j.method=e;j.url=f[g].url;return j}}}}if(b.mode==="auto_plugin"&&j.method==="native")return j;if(j.method===""&&f.length>0)j.url=f[0].url;return j},formatType:function(a,b){return a&&!b?this.getTypeFromFile(a):b&&~b.indexOf(";")?b.substr(0,b.indexOf(";")):b},
|
49 |
-
getTypeFromFile:function(a){a=a.split("?")[0];a=a.substring(a.lastIndexOf(".")+1).toLowerCase();return(/(mp4|m4v|ogg|ogv|webm|webmv|flv|wmv|mpeg|mov)/gi.test(a)?"video":"audio")+"/"+this.getTypeFromExtension(a)},getTypeFromExtension:function(a){switch(a){case "mp4":case "m4v":return"mp4";case "webm":case "webma":case "webmv":return"webm";case "ogg":case "oga":case "ogv":return"ogg";default:return a}},createErrorMessage:function(a,b,c){var d=a.htmlMediaElement,e=document.createElement("div");e.className=
|
50 |
-
"me-cannotplay";try{e.style.width=d.width+"px";e.style.height=d.height+"px"}catch(f){}e.innerHTML=b.customError?b.customError:c!==""?'<a href="'+a.url+'"><img src="'+c+'" width="100%" height="100%" /></a>':'<a href="'+a.url+'"><span>'+mejs.i18n.t("Download File")+"</span></a>";d.parentNode.insertBefore(e,d);d.style.display="none";b.error(d)},createPlugin:function(a,b,c,d,e,f){c=a.htmlMediaElement;var g=1,h=1,l="me_"+a.method+"_"+mejs.meIndex++,j=new mejs.PluginMediaElement(l,a.method,a.url),k=document.createElement("div"),
|
51 |
-
m;j.tagName=c.tagName;for(m=0;m<c.attributes.length;m++){var n=c.attributes[m];n.specified==true&&j.setAttribute(n.name,n.value)}for(m=c.parentNode;m!==null&&m.tagName.toLowerCase()!="body";){if(m.parentNode.tagName.toLowerCase()=="p"){m.parentNode.parentNode.insertBefore(m,m.parentNode);break}m=m.parentNode}if(a.isVideo){g=b.pluginWidth>0?b.pluginWidth:b.videoWidth>0?b.videoWidth:c.getAttribute("width")!==null?c.getAttribute("width"):b.defaultVideoWidth;h=b.pluginHeight>0?b.pluginHeight:b.videoHeight>
|
52 |
-
0?b.videoHeight:c.getAttribute("height")!==null?c.getAttribute("height"):b.defaultVideoHeight;g=mejs.Utility.encodeUrl(g);h=mejs.Utility.encodeUrl(h)}else if(b.enablePluginDebug){g=320;h=240}j.success=b.success;mejs.MediaPluginBridge.registerPluginElement(l,j,c);k.className="me-plugin";k.id=l+"_container";a.isVideo?c.parentNode.insertBefore(k,c):document.body.insertBefore(k,document.body.childNodes[0]);d=["id="+l,"isvideo="+(a.isVideo?"true":"false"),"autoplay="+(d?"true":"false"),"preload="+e,"width="+
|
53 |
-
g,"startvolume="+b.startVolume,"timerrate="+b.timerRate,"flashstreamer="+b.flashStreamer,"height="+h,"pseudostreamstart="+b.pseudoStreamingStartQueryParam];if(a.url!==null)a.method=="flash"?d.push("file="+mejs.Utility.encodeUrl(a.url)):d.push("file="+a.url);b.enablePluginDebug&&d.push("debug=true");b.enablePluginSmoothing&&d.push("smoothing=true");b.enablePseudoStreaming&&d.push("pseudostreaming=true");f&&d.push("controls=true");if(b.pluginVars)d=d.concat(b.pluginVars);switch(a.method){case "silverlight":k.innerHTML=
|
54 |
-
'<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" id="'+l+'" name="'+l+'" width="'+g+'" height="'+h+'" class="mejs-shim"><param name="initParams" value="'+d.join(",")+'" /><param name="windowless" value="true" /><param name="background" value="black" /><param name="minRuntimeVersion" value="3.0.0.0" /><param name="autoUpgrade" value="true" /><param name="source" value="'+b.pluginPath+b.silverlightName+'" /></object>';break;case "flash":if(mejs.MediaFeatures.isIE){a=
|
55 |
-
document.createElement("div");k.appendChild(a);a.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab" id="'+l+'" width="'+g+'" height="'+h+'" class="mejs-shim"><param name="movie" value="'+b.pluginPath+b.flashName+"?x="+new Date+'" /><param name="flashvars" value="'+d.join("&")+'" /><param name="quality" value="high" /><param name="bgcolor" value="#000000" /><param name="wmode" value="transparent" /><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="true" /></object>'}else k.innerHTML=
|
56 |
-
'<embed id="'+l+'" name="'+l+'" play="true" loop="false" quality="high" bgcolor="#000000" wmode="transparent" allowScriptAccess="always" allowFullScreen="true" type="application/x-shockwave-flash" pluginspage="//www.macromedia.com/go/getflashplayer" src="'+b.pluginPath+b.flashName+'" flashvars="'+d.join("&")+'" width="'+g+'" height="'+h+'" class="mejs-shim"></embed>';break;case "youtube":b=a.url.substr(a.url.lastIndexOf("=")+1);youtubeSettings={container:k,containerId:k.id,pluginMediaElement:j,pluginId:l,
|
57 |
-
videoId:b,height:h,width:g};mejs.PluginDetector.hasPluginVersion("flash",[10,0,0])?mejs.YouTubeApi.createFlash(youtubeSettings):mejs.YouTubeApi.enqueueIframe(youtubeSettings);break;case "vimeo":j.vimeoid=a.url.substr(a.url.lastIndexOf("/")+1);k.innerHTML='<iframe src="http://player.vimeo.com/video/'+j.vimeoid+'?portrait=0&byline=0&title=0" width="'+g+'" height="'+h+'" frameborder="0" class="mejs-shim"></iframe>'}c.style.display="none";c.removeAttribute("autoplay");return j},updateNative:function(a,
|
58 |
-
b){var c=a.htmlMediaElement,d;for(d in mejs.HtmlMediaElement)c[d]=mejs.HtmlMediaElement[d];b.success(c,c);return c}};
|
59 |
-
mejs.YouTubeApi={isIframeStarted:false,isIframeLoaded:false,loadIframeApi:function(){if(!this.isIframeStarted){var a=document.createElement("script");a.src="//www.youtube.com/player_api";var b=document.getElementsByTagName("script")[0];b.parentNode.insertBefore(a,b);this.isIframeStarted=true}},iframeQueue:[],enqueueIframe:function(a){if(this.isLoaded)this.createIframe(a);else{this.loadIframeApi();this.iframeQueue.push(a)}},createIframe:function(a){var b=a.pluginMediaElement,c=new YT.Player(a.containerId,
|
60 |
-
{height:a.height,width:a.width,videoId:a.videoId,playerVars:{controls:0},events:{onReady:function(){a.pluginMediaElement.pluginApi=c;mejs.MediaPluginBridge.initPlugin(a.pluginId);setInterval(function(){mejs.YouTubeApi.createEvent(c,b,"timeupdate")},250)},onStateChange:function(d){mejs.YouTubeApi.handleStateChange(d.data,c,b)}}})},createEvent:function(a,b,c){c={type:c,target:b};if(a&&a.getDuration){b.currentTime=c.currentTime=a.getCurrentTime();b.duration=c.duration=a.getDuration();c.paused=b.paused;
|
61 |
-
c.ended=b.ended;c.muted=a.isMuted();c.volume=a.getVolume()/100;c.bytesTotal=a.getVideoBytesTotal();c.bufferedBytes=a.getVideoBytesLoaded();var d=c.bufferedBytes/c.bytesTotal*c.duration;c.target.buffered=c.buffered={start:function(){return 0},end:function(){return d},length:1}}b.dispatchEvent(c.type,c)},iFrameReady:function(){for(this.isIframeLoaded=this.isLoaded=true;this.iframeQueue.length>0;)this.createIframe(this.iframeQueue.pop())},flashPlayers:{},createFlash:function(a){this.flashPlayers[a.pluginId]=
|
62 |
-
a;var b,c="//www.youtube.com/apiplayer?enablejsapi=1&playerapiid="+a.pluginId+"&version=3&autoplay=0&controls=0&modestbranding=1&loop=0";if(mejs.MediaFeatures.isIE){b=document.createElement("div");a.container.appendChild(b);b.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab" id="'+a.pluginId+'" width="'+a.width+'" height="'+a.height+'" class="mejs-shim"><param name="movie" value="'+
|
63 |
-
c+'" /><param name="wmode" value="transparent" /><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="true" /></object>'}else a.container.innerHTML='<object type="application/x-shockwave-flash" id="'+a.pluginId+'" data="'+c+'" width="'+a.width+'" height="'+a.height+'" style="visibility: visible; " class="mejs-shim"><param name="allowScriptAccess" value="always"><param name="wmode" value="transparent"></object>'},flashReady:function(a){var b=this.flashPlayers[a],c=
|
64 |
-
document.getElementById(a),d=b.pluginMediaElement;d.pluginApi=d.pluginElement=c;mejs.MediaPluginBridge.initPlugin(a);c.cueVideoById(b.videoId);a=b.containerId+"_callback";window[a]=function(e){mejs.YouTubeApi.handleStateChange(e,c,d)};c.addEventListener("onStateChange",a);setInterval(function(){mejs.YouTubeApi.createEvent(c,d,"timeupdate")},250)},handleStateChange:function(a,b,c){switch(a){case -1:c.paused=true;c.ended=true;mejs.YouTubeApi.createEvent(b,c,"loadedmetadata");break;case 0:c.paused=false;
|
65 |
-
c.ended=true;mejs.YouTubeApi.createEvent(b,c,"ended");break;case 1:c.paused=false;c.ended=false;mejs.YouTubeApi.createEvent(b,c,"play");mejs.YouTubeApi.createEvent(b,c,"playing");break;case 2:c.paused=true;c.ended=false;mejs.YouTubeApi.createEvent(b,c,"pause");break;case 3:mejs.YouTubeApi.createEvent(b,c,"progress")}}};function onYouTubePlayerAPIReady(){mejs.YouTubeApi.iFrameReady()}function onYouTubePlayerReady(a){mejs.YouTubeApi.flashReady(a)}window.mejs=mejs;window.MediaElement=mejs.MediaElement;
|
66 |
-
(function(a,b){var c={locale:{language:"",strings:{}},methods:{}};c.locale.getLanguage=function(){return c.locale.language||navigator.language};if(typeof mejsL10n!="undefined")c.locale.language=mejsL10n.language;c.locale.INIT_LANGUAGE=c.locale.getLanguage();c.methods.checkPlain=function(d){var e,f,g={"&":"&",'"':""","<":"<",">":">"};d=String(d);for(e in g)if(g.hasOwnProperty(e)){f=RegExp(e,"g");d=d.replace(f,g[e])}return d};c.methods.formatString=function(d,e){for(var f in e){switch(f.charAt(0)){case "@":e[f]=
|
67 |
-
c.methods.checkPlain(e[f]);break;case "!":break;default:e[f]='<em class="placeholder">'+c.methods.checkPlain(e[f])+"</em>"}d=d.replace(f,e[f])}return d};c.methods.t=function(d,e,f){if(c.locale.strings&&c.locale.strings[f.context]&&c.locale.strings[f.context][d])d=c.locale.strings[f.context][d];if(e)d=c.methods.formatString(d,e);return d};c.t=function(d,e,f){if(typeof d==="string"&&d.length>0){var g=c.locale.getLanguage();f=f||{context:g};return c.methods.t(d,e,f)}else throw{name:"InvalidArgumentException",
|
68 |
-
message:"First argument is either not a string or empty."};};b.i18n=c})(document,mejs);(function(a){if(typeof mejsL10n!="undefined")a[mejsL10n.language]=mejsL10n.strings})(mejs.i18n.locale.strings);(function(a){a.de={Fullscreen:"Vollbild","Go Fullscreen":"Vollbild an","Turn off Fullscreen":"Vollbild aus",Close:"Schlie\u00dfen"}})(mejs.i18n.locale.strings);
|
69 |
-
(function(a){a.zh={Fullscreen:"\u5168\u87a2\u5e55","Go Fullscreen":"\u5168\u5c4f\u6a21\u5f0f","Turn off Fullscreen":"\u9000\u51fa\u5168\u5c4f\u6a21\u5f0f",Close:"\u95dc\u9589"}})(mejs.i18n.locale.strings);
|
70 |
-
|
71 |
-
/*!
|
72 |
-
* MediaElementPlayer
|
73 |
-
* http://mediaelementjs.com/
|
74 |
*
|
75 |
-
*
|
76 |
-
* using
|
77 |
*
|
78 |
-
* Copyright 2010-
|
79 |
* License: MIT
|
80 |
*
|
81 |
-
*/
|
82 |
-
(function(f){mejs.MepDefaults={poster:"",showPosterWhenEnded:false,defaultVideoWidth:480,defaultVideoHeight:270,videoWidth:-1,videoHeight:-1,defaultAudioWidth:400,defaultAudioHeight:30,defaultSeekBackwardInterval:function(a){return a.duration*0.05},defaultSeekForwardInterval:function(a){return a.duration*0.05},audioWidth:-1,audioHeight:-1,startVolume:0.8,loop:false,autoRewind:true,enableAutosize:true,alwaysShowHours:false,showTimecodeFrameCount:false,framesPerSecond:25,autosizeProgress:true,alwaysShowControls:false,
|
83 |
-
hideVideoControlsOnLoad:false,clickToPlayPause:true,iPadUseNativeControls:false,iPhoneUseNativeControls:false,AndroidUseNativeControls:false,features:["playpause","current","progress","duration","tracks","volume","fullscreen"],isVideo:true,enableKeyboard:true,pauseOtherPlayers:true,keyActions:[{keys:[32,179],action:function(a,b){b.paused||b.ended?b.play():b.pause()}},{keys:[38],action:function(a,b){b.setVolume(Math.min(b.volume+0.1,1))}},{keys:[40],action:function(a,b){b.setVolume(Math.max(b.volume-
|
84 |
-
0.1,0))}},{keys:[37,227],action:function(a,b){if(!isNaN(b.duration)&&b.duration>0){if(a.isVideo){a.showControls();a.startControlsTimer()}var c=Math.max(b.currentTime-a.options.defaultSeekBackwardInterval(b),0);b.setCurrentTime(c)}}},{keys:[39,228],action:function(a,b){if(!isNaN(b.duration)&&b.duration>0){if(a.isVideo){a.showControls();a.startControlsTimer()}var c=Math.min(b.currentTime+a.options.defaultSeekForwardInterval(b),b.duration);b.setCurrentTime(c)}}},{keys:[70],action:function(a){if(typeof a.enterFullScreen!=
|
85 |
-
"undefined")a.isFullScreen?a.exitFullScreen():a.enterFullScreen()}}]};mejs.mepIndex=0;mejs.players={};mejs.MediaElementPlayer=function(a,b){if(!(this instanceof mejs.MediaElementPlayer))return new mejs.MediaElementPlayer(a,b);this.$media=this.$node=f(a);this.node=this.media=this.$media[0];if(typeof this.node.player!="undefined")return this.node.player;else this.node.player=this;if(typeof b=="undefined")b=this.$node.data("mejsoptions");this.options=f.extend({},mejs.MepDefaults,b);this.id="mep_"+mejs.mepIndex++;
|
86 |
-
mejs.players[this.id]=this;this.init();return this};mejs.MediaElementPlayer.prototype={hasFocus:false,controlsAreVisible:true,init:function(){var a=this,b=mejs.MediaFeatures,c=f.extend(true,{},a.options,{success:function(d,g){a.meReady(d,g)},error:function(d){a.handleError(d)}}),e=a.media.tagName.toLowerCase();a.isDynamic=e!=="audio"&&e!=="video";a.isVideo=a.isDynamic?a.options.isVideo:e!=="audio"&&a.options.isVideo;if(b.isiPad&&a.options.iPadUseNativeControls||b.isiPhone&&a.options.iPhoneUseNativeControls){a.$media.attr("controls",
|
87 |
-
"controls");if(b.isiPad&&a.media.getAttribute("autoplay")!==null){a.media.load();a.media.play()}}else if(!(b.isAndroid&&a.options.AndroidUseNativeControls)){a.$media.removeAttr("controls");a.container=f('<div id="'+a.id+'" class="mejs-container '+(mejs.MediaFeatures.svg?"svg":"no-svg")+'"><div class="mejs-inner"><div class="mejs-mediaelement"></div><div class="mejs-layers"></div><div class="mejs-controls"></div><div class="mejs-clear"></div></div></div>').addClass(a.$media[0].className).insertBefore(a.$media);
|
88 |
-
a.container.addClass((b.isAndroid?"mejs-android ":"")+(b.isiOS?"mejs-ios ":"")+(b.isiPad?"mejs-ipad ":"")+(b.isiPhone?"mejs-iphone ":"")+(a.isVideo?"mejs-video ":"mejs-audio "));if(b.isiOS){b=a.$media.clone();a.container.find(".mejs-mediaelement").append(b);a.$media.remove();a.$node=a.$media=b;a.node=a.media=b[0]}else a.container.find(".mejs-mediaelement").append(a.$media);a.controls=a.container.find(".mejs-controls");a.layers=a.container.find(".mejs-layers");b=a.isVideo?"video":"audio";e=b.substring(0,
|
89 |
-
1).toUpperCase()+b.substring(1);a.width=a.options[b+"Width"]>0||a.options[b+"Width"].toString().indexOf("%")>-1?a.options[b+"Width"]:a.media.style.width!==""&&a.media.style.width!==null?a.media.style.width:a.media.getAttribute("width")!==null?a.$media.attr("width"):a.options["default"+e+"Width"];a.height=a.options[b+"Height"]>0||a.options[b+"Height"].toString().indexOf("%")>-1?a.options[b+"Height"]:a.media.style.height!==""&&a.media.style.height!==null?a.media.style.height:a.$media[0].getAttribute("height")!==
|
90 |
-
null?a.$media.attr("height"):a.options["default"+e+"Height"];a.setPlayerSize(a.width,a.height);c.pluginWidth=a.width;c.pluginHeight=a.height}mejs.MediaElement(a.$media[0],c);typeof a.container!="undefined"&&a.controlsAreVisible&&a.container.trigger("controlsshown")},showControls:function(a){var b=this;a=typeof a=="undefined"||a;if(!b.controlsAreVisible){if(a){b.controls.css("visibility","visible").stop(true,true).fadeIn(200,function(){b.controlsAreVisible=true;b.container.trigger("controlsshown")});
|
91 |
-
b.container.find(".mejs-control").css("visibility","visible").stop(true,true).fadeIn(200,function(){b.controlsAreVisible=true})}else{b.controls.css("visibility","visible").css("display","block");b.container.find(".mejs-control").css("visibility","visible").css("display","block");b.controlsAreVisible=true;b.container.trigger("controlsshown")}b.setControlsSize()}},hideControls:function(a){var b=this;a=typeof a=="undefined"||a;if(!(!b.controlsAreVisible||b.options.alwaysShowControls))if(a){b.controls.stop(true,
|
92 |
-
true).fadeOut(200,function(){f(this).css("visibility","hidden").css("display","block");b.controlsAreVisible=false;b.container.trigger("controlshidden")});b.container.find(".mejs-control").stop(true,true).fadeOut(200,function(){f(this).css("visibility","hidden").css("display","block")})}else{b.controls.css("visibility","hidden").css("display","block");b.container.find(".mejs-control").css("visibility","hidden").css("display","block");b.controlsAreVisible=false;b.container.trigger("controlshidden")}},
|
93 |
-
controlsTimer:null,startControlsTimer:function(a){var b=this;a=typeof a!="undefined"?a:1500;b.killControlsTimer("start");b.controlsTimer=setTimeout(function(){b.hideControls();b.killControlsTimer("hide")},a)},killControlsTimer:function(){if(this.controlsTimer!==null){clearTimeout(this.controlsTimer);delete this.controlsTimer;this.controlsTimer=null}},controlsEnabled:true,disableControls:function(){this.killControlsTimer();this.hideControls(false);this.controlsEnabled=false},enableControls:function(){this.showControls(false);
|
94 |
-
this.controlsEnabled=true},meReady:function(a,b){var c=this,e=mejs.MediaFeatures,d=b.getAttribute("autoplay");d=!(typeof d=="undefined"||d===null||d==="false");var g;if(!c.created){c.created=true;c.media=a;c.domNode=b;if(!(e.isAndroid&&c.options.AndroidUseNativeControls)&&!(e.isiPad&&c.options.iPadUseNativeControls)&&!(e.isiPhone&&c.options.iPhoneUseNativeControls)){c.buildposter(c,c.controls,c.layers,c.media);c.buildkeyboard(c,c.controls,c.layers,c.media);c.buildoverlays(c,c.controls,c.layers,c.media);
|
95 |
-
c.findTracks();for(g in c.options.features){e=c.options.features[g];if(c["build"+e])try{c["build"+e](c,c.controls,c.layers,c.media)}catch(k){}}c.container.trigger("controlsready");c.setPlayerSize(c.width,c.height);c.setControlsSize();if(c.isVideo){if(mejs.MediaFeatures.hasTouch)c.$media.bind("touchstart",function(){if(c.controlsAreVisible)c.hideControls(false);else c.controlsEnabled&&c.showControls(false)});else{mejs.MediaElementPlayer.prototype.clickToPlayPauseCallback=function(){if(c.options.clickToPlayPause)c.media.paused?
|
96 |
-
c.media.play():c.media.pause()};c.media.addEventListener("click",c.clickToPlayPauseCallback,false);c.container.bind("mouseenter mouseover",function(){if(c.controlsEnabled)if(!c.options.alwaysShowControls){c.killControlsTimer("enter");c.showControls();c.startControlsTimer(2500)}}).bind("mousemove",function(){if(c.controlsEnabled){c.controlsAreVisible||c.showControls();c.options.alwaysShowControls||c.startControlsTimer(2500)}}).bind("mouseleave",function(){c.controlsEnabled&&!c.media.paused&&!c.options.alwaysShowControls&&
|
97 |
-
c.startControlsTimer(1E3)})}c.options.hideVideoControlsOnLoad&&c.hideControls(false);d&&!c.options.alwaysShowControls&&c.hideControls();c.options.enableAutosize&&c.media.addEventListener("loadedmetadata",function(j){if(c.options.videoHeight<=0&&c.domNode.getAttribute("height")===null&&!isNaN(j.target.videoHeight)){c.setPlayerSize(j.target.videoWidth,j.target.videoHeight);c.setControlsSize();c.media.setVideoSize(j.target.videoWidth,j.target.videoHeight)}},false)}a.addEventListener("play",function(){for(var j in mejs.players){var m=
|
98 |
-
mejs.players[j];m.id!=c.id&&c.options.pauseOtherPlayers&&!m.paused&&!m.ended&&m.pause();m.hasFocus=false}c.hasFocus=true},false);c.media.addEventListener("ended",function(){if(c.options.autoRewind)try{c.media.setCurrentTime(0)}catch(j){}c.media.pause();c.setProgressRail&&c.setProgressRail();c.setCurrentRail&&c.setCurrentRail();if(c.options.loop)c.media.play();else!c.options.alwaysShowControls&&c.controlsEnabled&&c.showControls()},false);c.media.addEventListener("loadedmetadata",function(){c.updateDuration&&
|
99 |
-
c.updateDuration();c.updateCurrent&&c.updateCurrent();if(!c.isFullScreen){c.setPlayerSize(c.width,c.height);c.setControlsSize()}},false);setTimeout(function(){c.setPlayerSize(c.width,c.height);c.setControlsSize()},50);c.globalBind("resize",function(){c.isFullScreen||mejs.MediaFeatures.hasTrueNativeFullScreen&&document.webkitIsFullScreen||c.setPlayerSize(c.width,c.height);c.setControlsSize()});c.media.pluginType=="youtube"&&c.container.find(".mejs-overlay-play").hide()}if(d&&a.pluginType=="native"){a.load();
|
100 |
-
a.play()}if(c.options.success)typeof c.options.success=="string"?window[c.options.success](c.media,c.domNode,c):c.options.success(c.media,c.domNode,c)}},handleError:function(a){this.controls.hide();this.options.error&&this.options.error(a)},setPlayerSize:function(a,b){if(typeof a!="undefined")this.width=a;if(typeof b!="undefined")this.height=b;if(this.height.toString().indexOf("%")>0||this.$node.css("max-width")==="100%"||parseInt(this.$node.css("max-width").replace(/px/,""),10)/this.$node.offsetParent().width()===
|
101 |
-
1||this.$node[0].currentStyle&&this.$node[0].currentStyle.maxWidth==="100%"){var c=this.isVideo?this.media.videoWidth&&this.media.videoWidth>0?this.media.videoWidth:this.options.defaultVideoWidth:this.options.defaultAudioWidth,e=this.isVideo?this.media.videoHeight&&this.media.videoHeight>0?this.media.videoHeight:this.options.defaultVideoHeight:this.options.defaultAudioHeight,d=this.container.parent().closest(":visible").width();c=this.isVideo||!this.options.autosizeProgress?parseInt(d*e/c,10):e;if(this.container.parent()[0].tagName.toLowerCase()===
|
102 |
-
"body"){d=f(window).width();c=f(window).height()}if(c!=0&&d!=0){this.container.width(d).height(c);this.$media.add(this.container.find(".mejs-shim")).width("100%").height("100%");this.isVideo&&this.media.setVideoSize&&this.media.setVideoSize(d,c);this.layers.children(".mejs-layer").width("100%").height("100%")}}else{this.container.width(this.width).height(this.height);this.layers.children(".mejs-layer").width(this.width).height(this.height)}d=this.layers.find(".mejs-overlay-play");c=d.find(".mejs-overlay-button");
|
103 |
-
d.height(this.container.height()-this.controls.height());c.css("margin-top","-"+(c.height()/2-this.controls.height()/2).toString()+"px")},setControlsSize:function(){var a=0,b=0,c=this.controls.find(".mejs-time-rail"),e=this.controls.find(".mejs-time-total");this.controls.find(".mejs-time-current");this.controls.find(".mejs-time-loaded");var d=c.siblings();if(this.options&&!this.options.autosizeProgress)b=parseInt(c.css("width"));if(b===0||!b){d.each(function(){var g=f(this);if(g.css("position")!=
|
104 |
-
"absolute"&&g.is(":visible"))a+=f(this).outerWidth(true)});b=this.controls.width()-a-(c.outerWidth(true)-c.width())}c.width(b);e.width(b-(e.outerWidth(true)-e.width()));this.setProgressRail&&this.setProgressRail();this.setCurrentRail&&this.setCurrentRail()},buildposter:function(a,b,c,e){var d=f('<div class="mejs-poster mejs-layer"></div>').appendTo(c);b=a.$media.attr("poster");if(a.options.poster!=="")b=a.options.poster;b!==""&&b!=null?this.setPoster(b):d.hide();e.addEventListener("play",function(){d.hide()},
|
105 |
-
false);a.options.showPosterWhenEnded&&a.options.autoRewind&&e.addEventListener("ended",function(){d.show()},false)},setPoster:function(a){var b=this.container.find(".mejs-poster"),c=b.find("img");if(c.length==0)c=f('<img width="100%" height="100%" />').appendTo(b);c.attr("src",a);b.css({"background-image":"url("+a+")"})},buildoverlays:function(a,b,c,e){var d=this;if(a.isVideo){var g=f('<div class="mejs-overlay mejs-layer"><div class="mejs-overlay-loading"><span></span></div></div>').hide().appendTo(c),
|
106 |
-
k=f('<div class="mejs-overlay mejs-layer"><div class="mejs-overlay-error"></div></div>').hide().appendTo(c),j=f('<div class="mejs-overlay mejs-layer mejs-overlay-play"><div class="mejs-overlay-button"></div></div>').appendTo(c).click(function(){if(d.options.clickToPlayPause)e.paused?e.play():e.pause()});e.addEventListener("play",function(){j.hide();g.hide();b.find(".mejs-time-buffering").hide();k.hide()},false);e.addEventListener("playing",function(){j.hide();g.hide();b.find(".mejs-time-buffering").hide();
|
107 |
-
k.hide()},false);e.addEventListener("seeking",function(){g.show();b.find(".mejs-time-buffering").show()},false);e.addEventListener("seeked",function(){g.hide();b.find(".mejs-time-buffering").hide()},false);e.addEventListener("pause",function(){mejs.MediaFeatures.isiPhone||j.show()},false);e.addEventListener("waiting",function(){g.show();b.find(".mejs-time-buffering").show()},false);e.addEventListener("loadeddata",function(){g.show();b.find(".mejs-time-buffering").show()},false);e.addEventListener("canplay",
|
108 |
-
function(){g.hide();b.find(".mejs-time-buffering").hide()},false);e.addEventListener("error",function(){g.hide();b.find(".mejs-time-buffering").hide();k.show();k.find("mejs-overlay-error").html("Error loading this resource")},false)}},buildkeyboard:function(a,b,c,e){this.globalBind("keydown",function(d){if(a.hasFocus&&a.options.enableKeyboard)for(var g=0,k=a.options.keyActions.length;g<k;g++)for(var j=a.options.keyActions[g],m=0,q=j.keys.length;m<q;m++)if(d.keyCode==j.keys[m]){d.preventDefault();
|
109 |
-
j.action(a,e,d.keyCode);return false}return true});this.globalBind("click",function(d){if(f(d.target).closest(".mejs-container").length==0)a.hasFocus=false})},findTracks:function(){var a=this,b=a.$media.find("track");a.tracks=[];b.each(function(c,e){e=f(e);a.tracks.push({srclang:e.attr("srclang")?e.attr("srclang").toLowerCase():"",src:e.attr("src"),kind:e.attr("kind"),label:e.attr("label")||"",entries:[],isLoaded:false})})},changeSkin:function(a){this.container[0].className="mejs-container "+a;this.setPlayerSize(this.width,
|
110 |
-
this.height);this.setControlsSize()},play:function(){this.media.play()},pause:function(){try{this.media.pause()}catch(a){}},load:function(){this.media.load()},setMuted:function(a){this.media.setMuted(a)},setCurrentTime:function(a){this.media.setCurrentTime(a)},getCurrentTime:function(){return this.media.currentTime},setVolume:function(a){this.media.setVolume(a)},getVolume:function(){return this.media.volume},setSrc:function(a){this.media.setSrc(a)},remove:function(){var a,b;for(a in this.options.features){b=
|
111 |
-
this.options.features[a];if(this["clean"+b])try{this["clean"+b](this)}catch(c){}}if(this.isDynamic)this.$node.insertBefore(this.container);else{this.$media.prop("controls",true);this.$node.clone().show().insertBefore(this.container);this.$node.remove()}this.media.pluginType!=="native"&&this.media.remove();delete mejs.players[this.id];this.container.remove();this.globalUnbind();delete this.node.player}};(function(){function a(c,e){var d={d:[],w:[]};f.each((c||"").split(" "),function(g,k){var j=k+"."+
|
112 |
-
e;if(j.indexOf(".")===0){d.d.push(j);d.w.push(j)}else d[b.test(k)?"w":"d"].push(j)});d.d=d.d.join(" ");d.w=d.w.join(" ");return d}var b=/^((after|before)print|(before)?unload|hashchange|message|o(ff|n)line|page(hide|show)|popstate|resize|storage)\b/;mejs.MediaElementPlayer.prototype.globalBind=function(c,e,d){c=a(c,this.id);c.d&&f(document).bind(c.d,e,d);c.w&&f(window).bind(c.w,e,d)};mejs.MediaElementPlayer.prototype.globalUnbind=function(c,e){c=a(c,this.id);c.d&&f(document).unbind(c.d,e);c.w&&f(window).unbind(c.w,
|
113 |
-
e)}})();if(typeof jQuery!="undefined")jQuery.fn.mediaelementplayer=function(a){a===false?this.each(function(){var b=jQuery(this).data("mediaelementplayer");b&&b.remove();jQuery(this).removeData("mediaelementplayer")}):this.each(function(){jQuery(this).data("mediaelementplayer",new mejs.MediaElementPlayer(this,a))});return this};f(document).ready(function(){f(".mejs-player").mediaelementplayer()});window.MediaElementPlayer=mejs.MediaElementPlayer})(mejs.$);
|
114 |
-
(function(f){f.extend(mejs.MepDefaults,{playpauseText:mejs.i18n.t("Play/Pause")});f.extend(MediaElementPlayer.prototype,{buildplaypause:function(a,b,c,e){var d=f('<div class="mejs-button mejs-playpause-button mejs-play" ><button type="button" aria-controls="'+this.id+'" title="'+this.options.playpauseText+'" aria-label="'+this.options.playpauseText+'"></button></div>').appendTo(b).click(function(g){g.preventDefault();e.paused?e.play():e.pause();return false});e.addEventListener("play",function(){d.removeClass("mejs-play").addClass("mejs-pause")},
|
115 |
-
false);e.addEventListener("playing",function(){d.removeClass("mejs-play").addClass("mejs-pause")},false);e.addEventListener("pause",function(){d.removeClass("mejs-pause").addClass("mejs-play")},false);e.addEventListener("paused",function(){d.removeClass("mejs-pause").addClass("mejs-play")},false)}})})(mejs.$);
|
116 |
-
(function(f){f.extend(mejs.MepDefaults,{stopText:"Stop"});f.extend(MediaElementPlayer.prototype,{buildstop:function(a,b,c,e){f('<div class="mejs-button mejs-stop-button mejs-stop"><button type="button" aria-controls="'+this.id+'" title="'+this.options.stopText+'" aria-label="'+this.options.stopText+'"></button></div>').appendTo(b).click(function(){e.paused||e.pause();if(e.currentTime>0){e.setCurrentTime(0);e.pause();b.find(".mejs-time-current").width("0px");b.find(".mejs-time-handle").css("left",
|
117 |
-
"0px");b.find(".mejs-time-float-current").html(mejs.Utility.secondsToTimeCode(0));b.find(".mejs-currenttime").html(mejs.Utility.secondsToTimeCode(0));c.find(".mejs-poster").show()}})}})})(mejs.$);
|
118 |
-
(function(f){f.extend(MediaElementPlayer.prototype,{buildprogress:function(a,b,c,e){f('<div class="mejs-time-rail"><span class="mejs-time-total"><span class="mejs-time-buffering"></span><span class="mejs-time-loaded"></span><span class="mejs-time-current"></span><span class="mejs-time-handle"></span><span class="mejs-time-float"><span class="mejs-time-float-current">00:00</span><span class="mejs-time-float-corner"></span></span></span></div>').appendTo(b);b.find(".mejs-time-buffering").hide();var d=
|
119 |
-
this,g=b.find(".mejs-time-total");c=b.find(".mejs-time-loaded");var k=b.find(".mejs-time-current"),j=b.find(".mejs-time-handle"),m=b.find(".mejs-time-float"),q=b.find(".mejs-time-float-current"),p=function(h){h=h.pageX;var l=g.offset(),r=g.outerWidth(true),n=0,o=n=0;if(e.duration){if(h<l.left)h=l.left;else if(h>r+l.left)h=r+l.left;o=h-l.left;n=o/r;n=n<=0.02?0:n*e.duration;t&&n!==e.currentTime&&e.setCurrentTime(n);if(!mejs.MediaFeatures.hasTouch){m.css("left",o);q.html(mejs.Utility.secondsToTimeCode(n));
|
120 |
-
m.show()}}},t=false;g.bind("mousedown",function(h){if(h.which===1){t=true;p(h);d.globalBind("mousemove.dur",function(l){p(l)});d.globalBind("mouseup.dur",function(){t=false;m.hide();d.globalUnbind(".dur")});return false}}).bind("mouseenter",function(){d.globalBind("mousemove.dur",function(h){p(h)});mejs.MediaFeatures.hasTouch||m.show()}).bind("mouseleave",function(){if(!t){d.globalUnbind(".dur");m.hide()}});e.addEventListener("progress",function(h){a.setProgressRail(h);a.setCurrentRail(h)},false);
|
121 |
-
e.addEventListener("timeupdate",function(h){a.setProgressRail(h);a.setCurrentRail(h)},false);d.loaded=c;d.total=g;d.current=k;d.handle=j},setProgressRail:function(a){var b=a!=undefined?a.target:this.media,c=null;if(b&&b.buffered&&b.buffered.length>0&&b.buffered.end&&b.duration)c=b.buffered.end(0)/b.duration;else if(b&&b.bytesTotal!=undefined&&b.bytesTotal>0&&b.bufferedBytes!=undefined)c=b.bufferedBytes/b.bytesTotal;else if(a&&a.lengthComputable&&a.total!=0)c=a.loaded/a.total;if(c!==null){c=Math.min(1,
|
122 |
-
Math.max(0,c));this.loaded&&this.total&&this.loaded.width(this.total.width()*c)}},setCurrentRail:function(){if(this.media.currentTime!=undefined&&this.media.duration)if(this.total&&this.handle){var a=Math.round(this.total.width()*this.media.currentTime/this.media.duration),b=a-Math.round(this.handle.outerWidth(true)/2);this.current.width(a);this.handle.css("left",b)}}})})(mejs.$);
|
123 |
-
(function(f){f.extend(mejs.MepDefaults,{duration:-1,timeAndDurationSeparator:"<span> | </span>"});f.extend(MediaElementPlayer.prototype,{buildcurrent:function(a,b,c,e){f('<div class="mejs-time"><span class="mejs-currenttime">'+(a.options.alwaysShowHours?"00:":"")+(a.options.showTimecodeFrameCount?"00:00:00":"00:00")+"</span></div>").appendTo(b);this.currenttime=this.controls.find(".mejs-currenttime");e.addEventListener("timeupdate",function(){a.updateCurrent()},false)},buildduration:function(a,b,
|
124 |
-
c,e){if(b.children().last().find(".mejs-currenttime").length>0)f(this.options.timeAndDurationSeparator+'<span class="mejs-duration">'+(this.options.duration>0?mejs.Utility.secondsToTimeCode(this.options.duration,this.options.alwaysShowHours||this.media.duration>3600,this.options.showTimecodeFrameCount,this.options.framesPerSecond||25):(a.options.alwaysShowHours?"00:":"")+(a.options.showTimecodeFrameCount?"00:00:00":"00:00"))+"</span>").appendTo(b.find(".mejs-time"));else{b.find(".mejs-currenttime").parent().addClass("mejs-currenttime-container");
|
125 |
-
f('<div class="mejs-time mejs-duration-container"><span class="mejs-duration">'+(this.options.duration>0?mejs.Utility.secondsToTimeCode(this.options.duration,this.options.alwaysShowHours||this.media.duration>3600,this.options.showTimecodeFrameCount,this.options.framesPerSecond||25):(a.options.alwaysShowHours?"00:":"")+(a.options.showTimecodeFrameCount?"00:00:00":"00:00"))+"</span></div>").appendTo(b)}this.durationD=this.controls.find(".mejs-duration");e.addEventListener("timeupdate",function(){a.updateDuration()},
|
126 |
-
false)},updateCurrent:function(){if(this.currenttime)this.currenttime.html(mejs.Utility.secondsToTimeCode(this.media.currentTime,this.options.alwaysShowHours||this.media.duration>3600,this.options.showTimecodeFrameCount,this.options.framesPerSecond||25))},updateDuration:function(){this.container.toggleClass("mejs-long-video",this.media.duration>3600);if(this.durationD&&(this.options.duration>0||this.media.duration))this.durationD.html(mejs.Utility.secondsToTimeCode(this.options.duration>0?this.options.duration:
|
127 |
-
this.media.duration,this.options.alwaysShowHours,this.options.showTimecodeFrameCount,this.options.framesPerSecond||25))}})})(mejs.$);
|
128 |
-
(function(f){f.extend(mejs.MepDefaults,{muteText:mejs.i18n.t("Mute Toggle"),hideVolumeOnTouchDevices:true,audioVolume:"horizontal",videoVolume:"vertical"});f.extend(MediaElementPlayer.prototype,{buildvolume:function(a,b,c,e){if(!(mejs.MediaFeatures.hasTouch&&this.options.hideVolumeOnTouchDevices)){var d=this,g=d.isVideo?d.options.videoVolume:d.options.audioVolume,k=g=="horizontal"?f('<div class="mejs-button mejs-volume-button mejs-mute"><button type="button" aria-controls="'+d.id+'" title="'+d.options.muteText+
|
129 |
-
'" aria-label="'+d.options.muteText+'"></button></div><div class="mejs-horizontal-volume-slider"><div class="mejs-horizontal-volume-total"></div><div class="mejs-horizontal-volume-current"></div><div class="mejs-horizontal-volume-handle"></div></div>').appendTo(b):f('<div class="mejs-button mejs-volume-button mejs-mute"><button type="button" aria-controls="'+d.id+'" title="'+d.options.muteText+'" aria-label="'+d.options.muteText+'"></button><div class="mejs-volume-slider"><div class="mejs-volume-total"></div><div class="mejs-volume-current"></div><div class="mejs-volume-handle"></div></div></div>').appendTo(b),
|
130 |
-
j=d.container.find(".mejs-volume-slider, .mejs-horizontal-volume-slider"),m=d.container.find(".mejs-volume-total, .mejs-horizontal-volume-total"),q=d.container.find(".mejs-volume-current, .mejs-horizontal-volume-current"),p=d.container.find(".mejs-volume-handle, .mejs-horizontal-volume-handle"),t=function(n,o){if(!j.is(":visible")&&typeof o=="undefined"){j.show();t(n,true);j.hide()}else{n=Math.max(0,n);n=Math.min(n,1);n==0?k.removeClass("mejs-mute").addClass("mejs-unmute"):k.removeClass("mejs-unmute").addClass("mejs-mute");
|
131 |
-
if(g=="vertical"){var s=m.height(),u=m.position(),v=s-s*n;p.css("top",Math.round(u.top+v-p.height()/2));q.height(s-v);q.css("top",u.top+v)}else{s=m.width();u=m.position();s=s*n;p.css("left",Math.round(u.left+s-p.width()/2));q.width(Math.round(s))}}},h=function(n){var o=null,s=m.offset();if(g=="vertical"){o=m.height();parseInt(m.css("top").replace(/px/,""),10);o=(o-(n.pageY-s.top))/o;if(s.top==0||s.left==0)return}else{o=m.width();o=(n.pageX-s.left)/o}o=Math.max(0,o);o=Math.min(o,1);t(o);o==0?e.setMuted(true):
|
132 |
-
e.setMuted(false);e.setVolume(o)},l=false,r=false;k.hover(function(){j.show();r=true},function(){r=false;!l&&g=="vertical"&&j.hide()});j.bind("mouseover",function(){r=true}).bind("mousedown",function(n){h(n);d.globalBind("mousemove.vol",function(o){h(o)});d.globalBind("mouseup.vol",function(){l=false;d.globalUnbind(".vol");!r&&g=="vertical"&&j.hide()});l=true;return false});k.find("button").click(function(){e.setMuted(!e.muted)});e.addEventListener("volumechange",function(){if(!l)if(e.muted){t(0);
|
133 |
-
k.removeClass("mejs-mute").addClass("mejs-unmute")}else{t(e.volume);k.removeClass("mejs-unmute").addClass("mejs-mute")}},false);if(d.container.is(":visible")){t(a.options.startVolume);a.options.startVolume===0&&e.setMuted(true);e.pluginType==="native"&&e.setVolume(a.options.startVolume)}}}})})(mejs.$);
|
134 |
-
(function(f){f.extend(mejs.MepDefaults,{usePluginFullScreen:true,newWindowCallback:function(){return""},fullscreenText:mejs.i18n.t("Fullscreen")});f.extend(MediaElementPlayer.prototype,{isFullScreen:false,isNativeFullScreen:false,isInIframe:false,buildfullscreen:function(a,b,c,e){if(a.isVideo){a.isInIframe=window.location!=window.parent.location;if(mejs.MediaFeatures.hasTrueNativeFullScreen){c=function(){if(a.isFullScreen)if(mejs.MediaFeatures.isFullScreen()){a.isNativeFullScreen=true;a.setControlsSize()}else{a.isNativeFullScreen=
|
135 |
-
false;a.exitFullScreen()}};mejs.MediaFeatures.hasMozNativeFullScreen?a.globalBind(mejs.MediaFeatures.fullScreenEventName,c):a.container.bind(mejs.MediaFeatures.fullScreenEventName,c)}var d=this,g=f('<div class="mejs-button mejs-fullscreen-button"><button type="button" aria-controls="'+d.id+'" title="'+d.options.fullscreenText+'" aria-label="'+d.options.fullscreenText+'"></button></div>').appendTo(b);if(d.media.pluginType==="native"||!d.options.usePluginFullScreen&&!mejs.MediaFeatures.isFirefox)g.click(function(){mejs.MediaFeatures.hasTrueNativeFullScreen&&
|
136 |
-
mejs.MediaFeatures.isFullScreen()||a.isFullScreen?a.exitFullScreen():a.enterFullScreen()});else{var k=null;if(function(){var h=document.createElement("x"),l=document.documentElement,r=window.getComputedStyle;if(!("pointerEvents"in h.style))return false;h.style.pointerEvents="auto";h.style.pointerEvents="x";l.appendChild(h);r=r&&r(h,"").pointerEvents==="auto";l.removeChild(h);return!!r}()&&!mejs.MediaFeatures.isOpera){var j=false,m=function(){if(j){for(var h in q)q[h].hide();g.css("pointer-events",
|
137 |
-
"");d.controls.css("pointer-events","");d.media.removeEventListener("click",d.clickToPlayPauseCallback);j=false}},q={};b=["top","left","right","bottom"];var p,t=function(){var h=g.offset().left-d.container.offset().left,l=g.offset().top-d.container.offset().top,r=g.outerWidth(true),n=g.outerHeight(true),o=d.container.width(),s=d.container.height();for(p in q)q[p].css({position:"absolute",top:0,left:0});q.top.width(o).height(l);q.left.width(h).height(n).css({top:l});q.right.width(o-h-r).height(n).css({top:l,
|
138 |
-
left:h+r});q.bottom.width(o).height(s-n-l).css({top:l+n})};d.globalBind("resize",function(){t()});p=0;for(c=b.length;p<c;p++)q[b[p]]=f('<div class="mejs-fullscreen-hover" />').appendTo(d.container).mouseover(m).hide();g.on("mouseover",function(){if(!d.isFullScreen){var h=g.offset(),l=a.container.offset();e.positionFullscreenButton(h.left-l.left,h.top-l.top,false);g.css("pointer-events","none");d.controls.css("pointer-events","none");d.media.addEventListener("click",d.clickToPlayPauseCallback);for(p in q)q[p].show();
|
139 |
-
t();j=true}});e.addEventListener("fullscreenchange",function(){d.isFullScreen=!d.isFullScreen;d.isFullScreen?d.media.removeEventListener("click",d.clickToPlayPauseCallback):d.media.addEventListener("click",d.clickToPlayPauseCallback);m()});d.globalBind("mousemove",function(h){if(j){var l=g.offset();if(h.pageY<l.top||h.pageY>l.top+g.outerHeight(true)||h.pageX<l.left||h.pageX>l.left+g.outerWidth(true)){g.css("pointer-events","");d.controls.css("pointer-events","");j=false}}})}else g.on("mouseover",
|
140 |
-
function(){if(k!==null){clearTimeout(k);delete k}var h=g.offset(),l=a.container.offset();e.positionFullscreenButton(h.left-l.left,h.top-l.top,true)}).on("mouseout",function(){if(k!==null){clearTimeout(k);delete k}k=setTimeout(function(){e.hideFullscreenButton()},1500)})}a.fullscreenBtn=g;d.globalBind("keydown",function(h){if((mejs.MediaFeatures.hasTrueNativeFullScreen&&mejs.MediaFeatures.isFullScreen()||d.isFullScreen)&&h.keyCode==27)a.exitFullScreen()})}},cleanfullscreen:function(a){a.exitFullScreen()},
|
141 |
-
containerSizeTimeout:null,enterFullScreen:function(){var a=this;if(!(a.media.pluginType!=="native"&&(mejs.MediaFeatures.isFirefox||a.options.usePluginFullScreen))){f(document.documentElement).addClass("mejs-fullscreen");normalHeight=a.container.height();normalWidth=a.container.width();if(a.media.pluginType==="native")if(mejs.MediaFeatures.hasTrueNativeFullScreen){mejs.MediaFeatures.requestFullScreen(a.container[0]);a.isInIframe&&setTimeout(function c(){if(a.isNativeFullScreen)f(window).width()!==
|
142 |
-
screen.width?a.exitFullScreen():setTimeout(c,500)},500)}else if(mejs.MediaFeatures.hasSemiNativeFullScreen){a.media.webkitEnterFullscreen();return}if(a.isInIframe){var b=a.options.newWindowCallback(this);if(b!=="")if(mejs.MediaFeatures.hasTrueNativeFullScreen)setTimeout(function(){if(!a.isNativeFullScreen){a.pause();window.open(b,a.id,"top=0,left=0,width="+screen.availWidth+",height="+screen.availHeight+",resizable=yes,scrollbars=no,status=no,toolbar=no")}},250);else{a.pause();window.open(b,a.id,
|
143 |
-
"top=0,left=0,width="+screen.availWidth+",height="+screen.availHeight+",resizable=yes,scrollbars=no,status=no,toolbar=no");return}}a.container.addClass("mejs-container-fullscreen").width("100%").height("100%");a.containerSizeTimeout=setTimeout(function(){a.container.css({width:"100%",height:"100%"});a.setControlsSize()},500);if(a.media.pluginType==="native")a.$media.width("100%").height("100%");else{a.container.find(".mejs-shim").width("100%").height("100%");a.media.setVideoSize(f(window).width(),
|
144 |
-
f(window).height())}a.layers.children("div").width("100%").height("100%");a.fullscreenBtn&&a.fullscreenBtn.removeClass("mejs-fullscreen").addClass("mejs-unfullscreen");a.setControlsSize();a.isFullScreen=true}},exitFullScreen:function(){clearTimeout(this.containerSizeTimeout);if(this.media.pluginType!=="native"&&mejs.MediaFeatures.isFirefox)this.media.setFullscreen(false);else{if(mejs.MediaFeatures.hasTrueNativeFullScreen&&(mejs.MediaFeatures.isFullScreen()||this.isFullScreen))mejs.MediaFeatures.cancelFullScreen();
|
145 |
-
f(document.documentElement).removeClass("mejs-fullscreen");this.container.removeClass("mejs-container-fullscreen").width(normalWidth).height(normalHeight);if(this.media.pluginType==="native")this.$media.width(normalWidth).height(normalHeight);else{this.container.find(".mejs-shim").width(normalWidth).height(normalHeight);this.media.setVideoSize(normalWidth,normalHeight)}this.layers.children("div").width(normalWidth).height(normalHeight);this.fullscreenBtn.removeClass("mejs-unfullscreen").addClass("mejs-fullscreen");
|
146 |
-
this.setControlsSize();this.isFullScreen=false}}})})(mejs.$);
|
147 |
-
(function(f){f.extend(mejs.MepDefaults,{startLanguage:"",tracksText:mejs.i18n.t("Captions/Subtitles"),hideCaptionsButtonWhenEmpty:true,toggleCaptionsButtonWhenOnlyOne:false,slidesSelector:""});f.extend(MediaElementPlayer.prototype,{hasChapters:false,buildtracks:function(a,b,c,e){if(a.tracks.length!=0){var d;if(this.domNode.textTracks)for(d=this.domNode.textTracks.length-1;d>=0;d--)this.domNode.textTracks[d].mode="hidden";a.chapters=f('<div class="mejs-chapters mejs-layer"></div>').prependTo(c).hide();a.captions=
|
148 |
-
f('<div class="mejs-captions-layer mejs-layer"><div class="mejs-captions-position mejs-captions-position-hover"><span class="mejs-captions-text"></span></div></div>').prependTo(c).hide();a.captionsText=a.captions.find(".mejs-captions-text");a.captionsButton=f('<div class="mejs-button mejs-captions-button"><button type="button" aria-controls="'+this.id+'" title="'+this.options.tracksText+'" aria-label="'+this.options.tracksText+'"></button><div class="mejs-captions-selector"><ul><li><input type="radio" name="'+
|
149 |
-
a.id+'_captions" id="'+a.id+'_captions_none" value="none" checked="checked" /><label for="'+a.id+'_captions_none">'+mejs.i18n.t("None")+"</label></li></ul></div></div>").appendTo(b);for(d=b=0;d<a.tracks.length;d++)a.tracks[d].kind=="subtitles"&&b++;this.options.toggleCaptionsButtonWhenOnlyOne&&b==1?a.captionsButton.on("click",function(){a.setTrack(a.selectedTrack==null?a.tracks[0].srclang:"none")}):a.captionsButton.hover(function(){f(this).find(".mejs-captions-selector").css("visibility","visible")},
|
150 |
-
function(){f(this).find(".mejs-captions-selector").css("visibility","hidden")}).on("click","input[type=radio]",function(){lang=this.value;a.setTrack(lang)});a.options.alwaysShowControls?a.container.find(".mejs-captions-position").addClass("mejs-captions-position-hover"):a.container.bind("controlsshown",function(){a.container.find(".mejs-captions-position").addClass("mejs-captions-position-hover")}).bind("controlshidden",function(){e.paused||a.container.find(".mejs-captions-position").removeClass("mejs-captions-position-hover")});
|
151 |
-
a.trackToLoad=-1;a.selectedTrack=null;a.isLoadingTrack=false;for(d=0;d<a.tracks.length;d++)a.tracks[d].kind=="subtitles"&&a.addTrackButton(a.tracks[d].srclang,a.tracks[d].label);a.loadNextTrack();e.addEventListener("timeupdate",function(){a.displayCaptions()},false);if(a.options.slidesSelector!=""){a.slidesContainer=f(a.options.slidesSelector);e.addEventListener("timeupdate",function(){a.displaySlides()},false)}e.addEventListener("loadedmetadata",function(){a.displayChapters()},false);a.container.hover(function(){if(a.hasChapters){a.chapters.css("visibility",
|
152 |
-
"visible");a.chapters.fadeIn(200).height(a.chapters.find(".mejs-chapter").outerHeight())}},function(){a.hasChapters&&!e.paused&&a.chapters.fadeOut(200,function(){f(this).css("visibility","hidden");f(this).css("display","block")})});a.node.getAttribute("autoplay")!==null&&a.chapters.css("visibility","hidden")}},setTrack:function(a){var b;if(a=="none"){this.selectedTrack=null;this.captionsButton.removeClass("mejs-captions-enabled")}else for(b=0;b<this.tracks.length;b++)if(this.tracks[b].srclang==a){this.selectedTrack==
|
153 |
-
null&&this.captionsButton.addClass("mejs-captions-enabled");this.selectedTrack=this.tracks[b];this.captions.attr("lang",this.selectedTrack.srclang);this.displayCaptions();break}},loadNextTrack:function(){this.trackToLoad++;if(this.trackToLoad<this.tracks.length){this.isLoadingTrack=true;this.loadTrack(this.trackToLoad)}else{this.isLoadingTrack=false;this.checkForTracks()}},loadTrack:function(a){var b=this,c=b.tracks[a];f.ajax({url:c.src,dataType:"text",success:function(e){c.entries=typeof e=="string"&&
|
154 |
-
/<tt\s+xml/ig.exec(e)?mejs.TrackFormatParser.dfxp.parse(e):mejs.TrackFormatParser.webvvt.parse(e);c.isLoaded=true;b.enableTrackButton(c.srclang,c.label);b.loadNextTrack();c.kind=="chapters"&&b.media.addEventListener("play",function(){b.media.duration>0&&b.displayChapters(c)},false);c.kind=="slides"&&b.setupSlides(c)},error:function(){b.loadNextTrack()}})},enableTrackButton:function(a,b){if(b==="")b=mejs.language.codes[a]||a;this.captionsButton.find("input[value="+a+"]").prop("disabled",false).siblings("label").html(b);
|
155 |
-
this.options.startLanguage==a&&f("#"+this.id+"_captions_"+a).click();this.adjustLanguageBox()},addTrackButton:function(a,b){if(b==="")b=mejs.language.codes[a]||a;this.captionsButton.find("ul").append(f('<li><input type="radio" name="'+this.id+'_captions" id="'+this.id+"_captions_"+a+'" value="'+a+'" disabled="disabled" /><label for="'+this.id+"_captions_"+a+'">'+b+" (loading)</label></li>"));this.adjustLanguageBox();this.container.find(".mejs-captions-translations option[value="+a+"]").remove()},
|
156 |
-
adjustLanguageBox:function(){this.captionsButton.find(".mejs-captions-selector").height(this.captionsButton.find(".mejs-captions-selector ul").outerHeight(true)+this.captionsButton.find(".mejs-captions-translations").outerHeight(true))},checkForTracks:function(){var a=false;if(this.options.hideCaptionsButtonWhenEmpty){for(i=0;i<this.tracks.length;i++)if(this.tracks[i].kind=="subtitles"){a=true;break}if(!a){this.captionsButton.hide();this.setControlsSize()}}},displayCaptions:function(){if(typeof this.tracks!=
|
157 |
-
"undefined"){var a,b=this.selectedTrack;if(b!=null&&b.isLoaded)for(a=0;a<b.entries.times.length;a++)if(this.media.currentTime>=b.entries.times[a].start&&this.media.currentTime<=b.entries.times[a].stop){this.captionsText.html(b.entries.text[a]);this.captions.show().height(0);return}this.captions.hide()}},setupSlides:function(a){this.slides=a;this.slides.entries.imgs=[this.slides.entries.text.length];this.showSlide(0)},showSlide:function(a){if(!(typeof this.tracks=="undefined"||typeof this.slidesContainer==
|
158 |
-
"undefined")){var b=this,c=b.slides.entries.text[a],e=b.slides.entries.imgs[a];if(typeof e=="undefined"||typeof e.fadeIn=="undefined")b.slides.entries.imgs[a]=e=f('<img src="'+c+'">').on("load",function(){e.appendTo(b.slidesContainer).hide().fadeIn().siblings(":visible").fadeOut()});else!e.is(":visible")&&!e.is(":animated")&&e.fadeIn().siblings(":visible").fadeOut()}},displaySlides:function(){if(typeof this.slides!="undefined"){var a=this.slides,b;for(b=0;b<a.entries.times.length;b++)if(this.media.currentTime>=
|
159 |
-
a.entries.times[b].start&&this.media.currentTime<=a.entries.times[b].stop){this.showSlide(b);break}}},displayChapters:function(){var a;for(a=0;a<this.tracks.length;a++)if(this.tracks[a].kind=="chapters"&&this.tracks[a].isLoaded){this.drawChapters(this.tracks[a]);this.hasChapters=true;break}},drawChapters:function(a){var b=this,c,e,d=e=0;b.chapters.empty();for(c=0;c<a.entries.times.length;c++){e=a.entries.times[c].stop-a.entries.times[c].start;e=Math.floor(e/b.media.duration*100);if(e+d>100||c==a.entries.times.length-
|
160 |
-
1&&e+d<100)e=100-d;b.chapters.append(f('<div class="mejs-chapter" rel="'+a.entries.times[c].start+'" style="left: '+d.toString()+"%;width: "+e.toString()+'%;"><div class="mejs-chapter-block'+(c==a.entries.times.length-1?" mejs-chapter-block-last":"")+'"><span class="ch-title">'+a.entries.text[c]+'</span><span class="ch-time">'+mejs.Utility.secondsToTimeCode(a.entries.times[c].start)+"–"+mejs.Utility.secondsToTimeCode(a.entries.times[c].stop)+"</span></div></div>"));d+=e}b.chapters.find("div.mejs-chapter").click(function(){b.media.setCurrentTime(parseFloat(f(this).attr("rel")));
|
161 |
-
b.media.paused&&b.media.play()});b.chapters.show()}});mejs.language={codes:{af:"Afrikaans",sq:"Albanian",ar:"Arabic",be:"Belarusian",bg:"Bulgarian",ca:"Catalan",zh:"Chinese","zh-cn":"Chinese Simplified","zh-tw":"Chinese Traditional",hr:"Croatian",cs:"Czech",da:"Danish",nl:"Dutch",en:"English",et:"Estonian",tl:"Filipino",fi:"Finnish",fr:"French",gl:"Galician",de:"German",el:"Greek",ht:"Haitian Creole",iw:"Hebrew",hi:"Hindi",hu:"Hungarian",is:"Icelandic",id:"Indonesian",ga:"Irish",it:"Italian",ja:"Japanese",
|
162 |
-
ko:"Korean",lv:"Latvian",lt:"Lithuanian",mk:"Macedonian",ms:"Malay",mt:"Maltese",no:"Norwegian",fa:"Persian",pl:"Polish",pt:"Portuguese",ro:"Romanian",ru:"Russian",sr:"Serbian",sk:"Slovak",sl:"Slovenian",es:"Spanish",sw:"Swahili",sv:"Swedish",tl:"Tagalog",th:"Thai",tr:"Turkish",uk:"Ukrainian",vi:"Vietnamese",cy:"Welsh",yi:"Yiddish"}};mejs.TrackFormatParser={webvvt:{pattern_identifier:/^([a-zA-z]+-)?[0-9]+$/,pattern_timecode:/^([0-9]{2}:[0-9]{2}:[0-9]{2}([,.][0-9]{1,3})?) --\> ([0-9]{2}:[0-9]{2}:[0-9]{2}([,.][0-9]{3})?)(.*)$/,
|
163 |
-
parse:function(a){var b=0;a=mejs.TrackFormatParser.split2(a,/\r?\n/);for(var c={text:[],times:[]},e,d;b<a.length;b++)if(this.pattern_identifier.exec(a[b])){b++;if((e=this.pattern_timecode.exec(a[b]))&&b<a.length){b++;d=a[b];for(b++;a[b]!==""&&b<a.length;){d=d+"\n"+a[b];b++}d=f.trim(d).replace(/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig,"<a href='$1' target='_blank'>$1</a>");c.text.push(d);c.times.push({start:mejs.Utility.convertSMPTEtoSeconds(e[1])==0?0.2:mejs.Utility.convertSMPTEtoSeconds(e[1]),
|
164 |
-
stop:mejs.Utility.convertSMPTEtoSeconds(e[3]),settings:e[5]})}}return c}},dfxp:{parse:function(a){a=f(a).filter("tt");var b=0;b=a.children("div").eq(0);var c=b.find("p");b=a.find("#"+b.attr("style"));var e,d;a={text:[],times:[]};if(b.length){d=b.removeAttr("id").get(0).attributes;if(d.length){e={};for(b=0;b<d.length;b++)e[d[b].name.split(":")[1]]=d[b].value}}for(b=0;b<c.length;b++){var g;d={start:null,stop:null,style:null};if(c.eq(b).attr("begin"))d.start=mejs.Utility.convertSMPTEtoSeconds(c.eq(b).attr("begin"));
|
165 |
-
if(!d.start&&c.eq(b-1).attr("end"))d.start=mejs.Utility.convertSMPTEtoSeconds(c.eq(b-1).attr("end"));if(c.eq(b).attr("end"))d.stop=mejs.Utility.convertSMPTEtoSeconds(c.eq(b).attr("end"));if(!d.stop&&c.eq(b+1).attr("begin"))d.stop=mejs.Utility.convertSMPTEtoSeconds(c.eq(b+1).attr("begin"));if(e){g="";for(var k in e)g+=k+":"+e[k]+";"}if(g)d.style=g;if(d.start==0)d.start=0.2;a.times.push(d);d=f.trim(c.eq(b).html()).replace(/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig,
|
166 |
-
"<a href='$1' target='_blank'>$1</a>");a.text.push(d);if(a.times.start==0)a.times.start=2}return a}},split2:function(a,b){return a.split(b)}};if("x\n\ny".split(/\n/gi).length!=3)mejs.TrackFormatParser.split2=function(a,b){var c=[],e="",d;for(d=0;d<a.length;d++){e+=a.substring(d,d+1);if(b.test(e)){c.push(e.replace(b,""));e=""}}c.push(e);return c}})(mejs.$);
|
167 |
-
(function(f){f.extend(mejs.MepDefaults,{contextMenuItems:[{render:function(a){if(typeof a.enterFullScreen=="undefined")return null;return a.isFullScreen?mejs.i18n.t("Turn off Fullscreen"):mejs.i18n.t("Go Fullscreen")},click:function(a){a.isFullScreen?a.exitFullScreen():a.enterFullScreen()}},{render:function(a){return a.media.muted?mejs.i18n.t("Unmute"):mejs.i18n.t("Mute")},click:function(a){a.media.muted?a.setMuted(false):a.setMuted(true)}},{isSeparator:true},{render:function(){return mejs.i18n.t("Download Video")},
|
168 |
-
click:function(a){window.location.href=a.media.currentSrc}}]});f.extend(MediaElementPlayer.prototype,{buildcontextmenu:function(a){a.contextMenu=f('<div class="mejs-contextmenu"></div>').appendTo(f("body")).hide();a.container.bind("contextmenu",function(b){if(a.isContextMenuEnabled){b.preventDefault();a.renderContextMenu(b.clientX-1,b.clientY-1);return false}});a.container.bind("click",function(){a.contextMenu.hide()});a.contextMenu.bind("mouseleave",function(){a.startContextMenuTimer()})},cleancontextmenu:function(a){a.contextMenu.remove()},
|
169 |
-
isContextMenuEnabled:true,enableContextMenu:function(){this.isContextMenuEnabled=true},disableContextMenu:function(){this.isContextMenuEnabled=false},contextMenuTimeout:null,startContextMenuTimer:function(){var a=this;a.killContextMenuTimer();a.contextMenuTimer=setTimeout(function(){a.hideContextMenu();a.killContextMenuTimer()},750)},killContextMenuTimer:function(){var a=this.contextMenuTimer;if(a!=null){clearTimeout(a);delete a}},hideContextMenu:function(){this.contextMenu.hide()},renderContextMenu:function(a,
|
170 |
-
b){for(var c=this,e="",d=c.options.contextMenuItems,g=0,k=d.length;g<k;g++)if(d[g].isSeparator)e+='<div class="mejs-contextmenu-separator"></div>';else{var j=d[g].render(c);if(j!=null)e+='<div class="mejs-contextmenu-item" data-itemindex="'+g+'" id="element-'+Math.random()*1E6+'">'+j+"</div>"}c.contextMenu.empty().append(f(e)).css({top:b,left:a}).show();c.contextMenu.find(".mejs-contextmenu-item").each(function(){var m=f(this),q=parseInt(m.data("itemindex"),10),p=c.options.contextMenuItems[q];typeof p.show!=
|
171 |
-
"undefined"&&p.show(m,c);m.click(function(){typeof p.click!="undefined"&&p.click(c);c.contextMenu.hide()})});setTimeout(function(){c.killControlsTimer("rev3")},100)}})})(mejs.$);
|
172 |
-
(function(f){f.extend(mejs.MepDefaults,{postrollCloseText:mejs.i18n.t("Close")});f.extend(MediaElementPlayer.prototype,{buildpostroll:function(a,b,c){var e=this.container.find('link[rel="postroll"]').attr("href");if(typeof e!=="undefined"){a.postroll=f('<div class="mejs-postroll-layer mejs-layer"><a class="mejs-postroll-close" onclick="$(this).parent().hide();return false;">'+this.options.postrollCloseText+'</a><div class="mejs-postroll-layer-content"></div></div>').prependTo(c).hide();this.media.addEventListener("ended",
|
173 |
-
function(){f.ajax({dataType:"html",url:e,success:function(d){c.find(".mejs-postroll-layer-content").html(d)}});a.postroll.show()},false)}}})})(mejs.$);
|
174 |
-
|
1 |
/*!
|
2 |
+
* MediaElement.js
|
3 |
+
* http://www.mediaelementjs.com/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
*
|
5 |
+
* Wrapper that mimics native HTML5 MediaElement (audio and video)
|
6 |
+
* using a variety of technologies (pure JavaScript, Flash, iframe)
|
7 |
*
|
8 |
+
* Copyright 2010-2017, John Dyer (http://j.hn/)
|
9 |
* License: MIT
|
10 |
*
|
11 |
+
*/
|
12 |
+
!function e(t,n,i){function o(a,s){if(!n[a]){if(!t[a]){var l="function"==typeof require&&require;if(!s&&l)return l(a,!0);if(r)return r(a,!0);var d=new Error("Cannot find module '"+a+"'");throw d.code="MODULE_NOT_FOUND",d}var u=n[a]={exports:{}};t[a][0].call(u.exports,function(e){var n=t[a][1][e];return o(n||e)},u,u.exports,e,t,n,i)}return n[a].exports}for(var r="function"==typeof require&&require,a=0;a<i.length;a++)o(i[a]);return o}({1:[function(e,t,n){},{}],2:[function(e,t,n){(function(n){var i,o=void 0!==n?n:"undefined"!=typeof window?window:{},r=e(1);"undefined"!=typeof document?i=document:(i=o["__GLOBAL_DOCUMENT_CACHE@4"])||(i=o["__GLOBAL_DOCUMENT_CACHE@4"]=r),t.exports=i}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{1:1}],3:[function(e,t,n){(function(e){var n;n="undefined"!=typeof window?window:void 0!==e?e:"undefined"!=typeof self?self:{},t.exports=n}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],4:[function(e,t,n){!function(e){function n(){}function i(e){if("object"!=typeof this)throw new TypeError("Promises must be constructed via new");if("function"!=typeof e)throw new TypeError("not a function");this._state=0,this._handled=!1,this._value=void 0,this._deferreds=[],l(e,this)}function o(e,t){for(;3===e._state;)e=e._value;0!==e._state?(e._handled=!0,i._immediateFn(function(){var n=1===e._state?t.onFulfilled:t.onRejected;if(null!==n){var i;try{i=n(e._value)}catch(e){return void a(t.promise,e)}r(t.promise,i)}else(1===e._state?r:a)(t.promise,e._value)})):e._deferreds.push(t)}function r(e,t){try{if(t===e)throw new TypeError("A promise cannot be resolved with itself.");if(t&&("object"==typeof t||"function"==typeof t)){var n=t.then;if(t instanceof i)return e._state=3,e._value=t,void s(e);if("function"==typeof n)return void l(function(e,t){return function(){e.apply(t,arguments)}}(n,t),e)}e._state=1,e._value=t,s(e)}catch(t){a(e,t)}}function a(e,t){e._state=2,e._value=t,s(e)}function s(e){2===e._state&&0===e._deferreds.length&&i._immediateFn(function(){e._handled||i._unhandledRejectionFn(e._value)});for(var t=0,n=e._deferreds.length;t<n;t++)o(e,e._deferreds[t]);e._deferreds=null}function l(e,t){var n=!1;try{e(function(e){n||(n=!0,r(t,e))},function(e){n||(n=!0,a(t,e))})}catch(e){if(n)return;n=!0,a(t,e)}}var d=setTimeout;i.prototype.catch=function(e){return this.then(null,e)},i.prototype.then=function(e,t){var i=new this.constructor(n);return o(this,new function(e,t,n){this.onFulfilled="function"==typeof e?e:null,this.onRejected="function"==typeof t?t:null,this.promise=n}(e,t,i)),i},i.all=function(e){var t=Array.prototype.slice.call(e);return new i(function(e,n){function i(r,a){try{if(a&&("object"==typeof a||"function"==typeof a)){var s=a.then;if("function"==typeof s)return void s.call(a,function(e){i(r,e)},n)}t[r]=a,0==--o&&e(t)}catch(e){n(e)}}if(0===t.length)return e([]);for(var o=t.length,r=0;r<t.length;r++)i(r,t[r])})},i.resolve=function(e){return e&&"object"==typeof e&&e.constructor===i?e:new i(function(t){t(e)})},i.reject=function(e){return new i(function(t,n){n(e)})},i.race=function(e){return new i(function(t,n){for(var i=0,o=e.length;i<o;i++)e[i].then(t,n)})},i._immediateFn="function"==typeof setImmediate&&function(e){setImmediate(e)}||function(e){d(e,0)},i._unhandledRejectionFn=function(e){"undefined"!=typeof console&&console&&console.warn("Possible Unhandled Promise Rejection:",e)},i._setImmediateFn=function(e){i._immediateFn=e},i._setUnhandledRejectionFn=function(e){i._unhandledRejectionFn=e},void 0!==t&&t.exports?t.exports=i:e.Promise||(e.Promise=i)}(this)},{}],5:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o=function(e){return e&&e.__esModule?e:{default:e}}(e(7)),r=e(15),a=e(27),s={lang:"en",en:r.EN};s.language=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];if(null!==t&&void 0!==t&&t.length){if("string"!=typeof t[0])throw new TypeError("Language code must be a string value");if(!/^[a-z]{2,3}((\-|_)[a-z]{2})?$/i.test(t[0]))throw new TypeError("Language code must have format 2-3 letters and. optionally, hyphen, underscore followed by 2 more letters");s.lang=t[0],void 0===s[t[0]]?(t[1]=null!==t[1]&&void 0!==t[1]&&"object"===i(t[1])?t[1]:{},s[t[0]]=(0,a.isObjectEmpty)(t[1])?r.EN:t[1]):null!==t[1]&&void 0!==t[1]&&"object"===i(t[1])&&(s[t[0]]=t[1])}return s.lang},s.t=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if("string"==typeof e&&e.length){var n=void 0,o=void 0,r=s.language(),l=function(e,t,n){if("object"!==(void 0===e?"undefined":i(e))||"number"!=typeof t||"number"!=typeof n)return e;return[function(){return arguments.length<=1?void 0:arguments[1]},function(){return 1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:arguments.length<=2?void 0:arguments[2]},function(){return 0===(arguments.length<=0?void 0:arguments[0])||1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:arguments.length<=2?void 0:arguments[2]},function(){return(arguments.length<=0?void 0:arguments[0])%10==1&&(arguments.length<=0?void 0:arguments[0])%100!=11?arguments.length<=1?void 0:arguments[1]:0!==(arguments.length<=0?void 0:arguments[0])?arguments.length<=2?void 0:arguments[2]:arguments.length<=3?void 0:arguments[3]},function(){return 1===(arguments.length<=0?void 0:arguments[0])||11===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:2===(arguments.length<=0?void 0:arguments[0])||12===(arguments.length<=0?void 0:arguments[0])?arguments.length<=2?void 0:arguments[2]:(arguments.length<=0?void 0:arguments[0])>2&&(arguments.length<=0?void 0:arguments[0])<20?arguments.length<=3?void 0:arguments[3]:arguments.length<=4?void 0:arguments[4]},function(){return 1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:0===(arguments.length<=0?void 0:arguments[0])||(arguments.length<=0?void 0:arguments[0])%100>0&&(arguments.length<=0?void 0:arguments[0])%100<20?arguments.length<=2?void 0:arguments[2]:arguments.length<=3?void 0:arguments[3]},function(){return(arguments.length<=0?void 0:arguments[0])%10==1&&(arguments.length<=0?void 0:arguments[0])%100!=11?arguments.length<=1?void 0:arguments[1]:(arguments.length<=0?void 0:arguments[0])%10>=2&&((arguments.length<=0?void 0:arguments[0])%100<10||(arguments.length<=0?void 0:arguments[0])%100>=20)?arguments.length<=2?void 0:arguments[2]:[3]},function(){return(arguments.length<=0?void 0:arguments[0])%10==1&&(arguments.length<=0?void 0:arguments[0])%100!=11?arguments.length<=1?void 0:arguments[1]:(arguments.length<=0?void 0:arguments[0])%10>=2&&(arguments.length<=0?void 0:arguments[0])%10<=4&&((arguments.length<=0?void 0:arguments[0])%100<10||(arguments.length<=0?void 0:arguments[0])%100>=20)?arguments.length<=2?void 0:arguments[2]:arguments.length<=3?void 0:arguments[3]},function(){return 1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:(arguments.length<=0?void 0:arguments[0])>=2&&(arguments.length<=0?void 0:arguments[0])<=4?arguments.length<=2?void 0:arguments[2]:arguments.length<=3?void 0:arguments[3]},function(){return 1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:(arguments.length<=0?void 0:arguments[0])%10>=2&&(arguments.length<=0?void 0:arguments[0])%10<=4&&((arguments.length<=0?void 0:arguments[0])%100<10||(arguments.length<=0?void 0:arguments[0])%100>=20)?arguments.length<=2?void 0:arguments[2]:arguments.length<=3?void 0:arguments[3]},function(){return(arguments.length<=0?void 0:arguments[0])%100==1?arguments.length<=2?void 0:arguments[2]:(arguments.length<=0?void 0:arguments[0])%100==2?arguments.length<=3?void 0:arguments[3]:(arguments.length<=0?void 0:arguments[0])%100==3||(arguments.length<=0?void 0:arguments[0])%100==4?arguments.length<=4?void 0:arguments[4]:arguments.length<=1?void 0:arguments[1]},function(){return 1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:2===(arguments.length<=0?void 0:arguments[0])?arguments.length<=2?void 0:arguments[2]:(arguments.length<=0?void 0:arguments[0])>2&&(arguments.length<=0?void 0:arguments[0])<7?arguments.length<=3?void 0:arguments[3]:(arguments.length<=0?void 0:arguments[0])>6&&(arguments.length<=0?void 0:arguments[0])<11?arguments.length<=4?void 0:arguments[4]:arguments.length<=5?void 0:arguments[5]},function(){return 0===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=2?void 0:arguments[2]:2===(arguments.length<=0?void 0:arguments[0])?arguments.length<=3?void 0:arguments[3]:(arguments.length<=0?void 0:arguments[0])%100>=3&&(arguments.length<=0?void 0:arguments[0])%100<=10?arguments.length<=4?void 0:arguments[4]:(arguments.length<=0?void 0:arguments[0])%100>=11?arguments.length<=5?void 0:arguments[5]:arguments.length<=6?void 0:arguments[6]},function(){return 1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:0===(arguments.length<=0?void 0:arguments[0])||(arguments.length<=0?void 0:arguments[0])%100>1&&(arguments.length<=0?void 0:arguments[0])%100<11?arguments.length<=2?void 0:arguments[2]:(arguments.length<=0?void 0:arguments[0])%100>10&&(arguments.length<=0?void 0:arguments[0])%100<20?arguments.length<=3?void 0:arguments[3]:arguments.length<=4?void 0:arguments[4]},function(){return(arguments.length<=0?void 0:arguments[0])%10==1?arguments.length<=1?void 0:arguments[1]:(arguments.length<=0?void 0:arguments[0])%10==2?arguments.length<=2?void 0:arguments[2]:arguments.length<=3?void 0:arguments[3]},function(){return 11!==(arguments.length<=0?void 0:arguments[0])&&(arguments.length<=0?void 0:arguments[0])%10==1?arguments.length<=1?void 0:arguments[1]:arguments.length<=2?void 0:arguments[2]},function(){return 1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:(arguments.length<=0?void 0:arguments[0])%10>=2&&(arguments.length<=0?void 0:arguments[0])%10<=4&&((arguments.length<=0?void 0:arguments[0])%100<10||(arguments.length<=0?void 0:arguments[0])%100>=20)?arguments.length<=2?void 0:arguments[2]:arguments.length<=3?void 0:arguments[3]},function(){return 1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:2===(arguments.length<=0?void 0:arguments[0])?arguments.length<=2?void 0:arguments[2]:8!==(arguments.length<=0?void 0:arguments[0])&&11!==(arguments.length<=0?void 0:arguments[0])?arguments.length<=3?void 0:arguments[3]:arguments.length<=4?void 0:arguments[4]},function(){return 0===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:arguments.length<=2?void 0:arguments[2]},function(){return 1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:2===(arguments.length<=0?void 0:arguments[0])?arguments.length<=2?void 0:arguments[2]:3===(arguments.length<=0?void 0:arguments[0])?arguments.length<=3?void 0:arguments[3]:arguments.length<=4?void 0:arguments[4]},function(){return 0===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=2?void 0:arguments[2]:arguments.length<=3?void 0:arguments[3]}][n].apply(null,[t].concat(e))};return void 0!==s[r]&&(n=s[r][e],null!==t&&"number"==typeof t&&(o=s[r]["mejs.plural-form"],n=l.apply(null,[n,t,o]))),!n&&s.en&&(n=s.en[e],null!==t&&"number"==typeof t&&(o=s.en["mejs.plural-form"],n=l.apply(null,[n,t,o]))),n=n||e,null!==t&&"number"==typeof t&&(n=n.replace("%1",t)),(0,a.escapeHTML)(n)}return e},o.default.i18n=s,"undefined"!=typeof mejsL10n&&o.default.i18n.language(mejsL10n.language,mejsL10n.strings),n.default=s},{15:15,27:27,7:7}],6:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(n,"__esModule",{value:!0});var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r=i(e(3)),a=i(e(2)),s=i(e(7)),l=e(27),d=e(28),u=e(8),c=e(25),f=function e(t,n,i){var f=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e);var p=this;i=Array.isArray(i)?i:null,p.defaults={renderers:[],fakeNodeName:"mediaelementwrapper",pluginPath:"build/",shimScriptAccess:"sameDomain"},n=Object.assign(p.defaults,n),p.mediaElement=a.default.createElement(n.fakeNodeName);var m=t,h=!1;if("string"==typeof t?p.mediaElement.originalNode=a.default.getElementById(t):(p.mediaElement.originalNode=t,m=t.id),void 0===p.mediaElement.originalNode||null===p.mediaElement.originalNode)return null;p.mediaElement.options=n,m=m||"mejs_"+Math.random().toString().slice(2),p.mediaElement.originalNode.setAttribute("id",m+"_from_mejs");var v=p.mediaElement.originalNode.tagName.toLowerCase();["video","audio"].indexOf(v)>-1&&!p.mediaElement.originalNode.getAttribute("preload")&&p.mediaElement.originalNode.setAttribute("preload","none"),p.mediaElement.originalNode.parentNode.insertBefore(p.mediaElement,p.mediaElement.originalNode),p.mediaElement.appendChild(p.mediaElement.originalNode);var g=function(e,t){if("https:"===r.default.location.protocol&&0===e.indexOf("http:")&&c.IS_IOS&&s.default.html5media.mediaTypes.indexOf(t)>-1){var n=new XMLHttpRequest;n.onreadystatechange=function(){if(4===this.readyState&&200===this.status){var t=(r.default.URL||r.default.webkitURL).createObjectURL(this.response);return p.mediaElement.originalNode.setAttribute("src",t),t}return e},n.open("GET",e),n.responseType="blob",n.send()}return e},y=void 0;if(null!==i)y=i;else if(null!==p.mediaElement.originalNode)switch(y=[],p.mediaElement.originalNode.nodeName.toLowerCase()){case"iframe":y.push({type:"",src:p.mediaElement.originalNode.getAttribute("src")});break;case"audio":case"video":var E=p.mediaElement.originalNode.children.length,b=p.mediaElement.originalNode.getAttribute("src");if(b){var S=p.mediaElement.originalNode,x=(0,d.formatType)(b,S.getAttribute("type"));y.push({type:x,src:g(b,x)})}for(var w=0;w<E;w++){var P=p.mediaElement.originalNode.children[w];if("source"===P.tagName.toLowerCase()){var T=P.getAttribute("src"),C=(0,d.formatType)(T,P.getAttribute("type"));y.push({type:C,src:g(T,C)})}}}p.mediaElement.id=m,p.mediaElement.renderers={},p.mediaElement.events={},p.mediaElement.promises=[],p.mediaElement.renderer=null,p.mediaElement.rendererName=null,p.mediaElement.changeRenderer=function(e,t){var n=f,i=Object.keys(t[0]).length>2?t[0]:t[0].src;if(void 0!==n.mediaElement.renderer&&null!==n.mediaElement.renderer&&n.mediaElement.renderer.name===e)return n.mediaElement.renderer.pause(),n.mediaElement.renderer.stop&&n.mediaElement.renderer.stop(),n.mediaElement.renderer.show(),n.mediaElement.renderer.setSrc(i),!0;void 0!==n.mediaElement.renderer&&null!==n.mediaElement.renderer&&(n.mediaElement.renderer.pause(),n.mediaElement.renderer.stop&&n.mediaElement.renderer.stop(),n.mediaElement.renderer.hide());var o=n.mediaElement.renderers[e],r=null;if(void 0!==o&&null!==o)return o.show(),o.setSrc(i),n.mediaElement.renderer=o,n.mediaElement.rendererName=e,!0;for(var a=n.mediaElement.options.renderers.length?n.mediaElement.options.renderers:u.renderer.order,s=0,l=a.length;s<l;s++){var d=a[s];if(d===e){r=u.renderer.renderers[d];var c=Object.assign(r.options,n.mediaElement.options);return o=r.create(n.mediaElement,c,t),o.name=e,n.mediaElement.renderers[r.name]=o,n.mediaElement.renderer=o,n.mediaElement.rendererName=e,o.show(),!0}}return!1},p.mediaElement.setSize=function(e,t){void 0!==p.mediaElement.renderer&&null!==p.mediaElement.renderer&&p.mediaElement.renderer.setSize(e,t)},p.mediaElement.generateError=function(e,t){e=e||"",t=Array.isArray(t)?t:[];var n=(0,l.createEvent)("error",p.mediaElement);n.message=e,n.urls=t,p.mediaElement.dispatchEvent(n),h=!0};var k=s.default.html5media.properties,_=s.default.html5media.methods,N=function(e,t,n,i){var o=e[t];Object.defineProperty(e,t,{get:function(){return n.apply(e,[o])},set:function(t){return o=i.apply(e,[t])}})},A=function(e){if("src"!==e){var t=""+e.substring(0,1).toUpperCase()+e.substring(1),n=function(){return void 0!==p.mediaElement.renderer&&null!==p.mediaElement.renderer&&"function"==typeof p.mediaElement.renderer["get"+t]?p.mediaElement.renderer["get"+t]():null},i=function(e){void 0!==p.mediaElement.renderer&&null!==p.mediaElement.renderer&&"function"==typeof p.mediaElement.renderer["set"+t]&&p.mediaElement.renderer["set"+t](e)};N(p.mediaElement,e,n,i),p.mediaElement["get"+t]=n,p.mediaElement["set"+t]=i}},L=function(){return void 0!==p.mediaElement.renderer&&null!==p.mediaElement.renderer?p.mediaElement.renderer.getSrc():null},F=function(e){var t=[];if("string"==typeof e)t.push({src:e,type:e?(0,d.getTypeFromFile)(e):""});else if("object"===(void 0===e?"undefined":o(e))&&void 0!==e.src){var n=(0,d.absolutizeUrl)(e.src),i=e.type,r=Object.assign(e,{src:n,type:""!==i&&null!==i&&void 0!==i||!n?i:(0,d.getTypeFromFile)(n)});t.push(r)}else if(Array.isArray(e))for(var a=0,s=e.length;a<s;a++){var c=(0,d.absolutizeUrl)(e[a].src),f=e[a].type,m=Object.assign(e[a],{src:c,type:""!==f&&null!==f&&void 0!==f||!c?f:(0,d.getTypeFromFile)(c)});t.push(m)}var h=u.renderer.select(t,p.mediaElement.options.renderers.length?p.mediaElement.options.renderers:[]),v=void 0;if(p.mediaElement.paused||(p.mediaElement.pause(),v=(0,l.createEvent)("pause",p.mediaElement),p.mediaElement.dispatchEvent(v)),p.mediaElement.originalNode.src=t[0].src||"",null!==h||!t[0].src)return t[0].src?p.mediaElement.changeRenderer(h.rendererName,t):null;p.mediaElement.generateError("No renderer found",t)},j=function(e,t){try{if("play"===e&&"native_dash"===p.mediaElement.rendererName){var n=p.mediaElement.renderer[e](t);n&&"function"==typeof n.then&&n.catch(function(){p.mediaElement.paused&&setTimeout(function(){var e=p.mediaElement.renderer.play();void 0!==e&&e.catch(function(){p.mediaElement.renderer.paused||p.mediaElement.renderer.pause()})},150)})}else p.mediaElement.renderer[e](t)}catch(e){p.mediaElement.generateError(e,y)}},I=function(e){p.mediaElement[e]=function(){for(var t=arguments.length,n=Array(t),i=0;i<t;i++)n[i]=arguments[i];return void 0!==p.mediaElement.renderer&&null!==p.mediaElement.renderer&&"function"==typeof p.mediaElement.renderer[e]&&(p.mediaElement.promises.length?Promise.all(p.mediaElement.promises).then(function(){j(e,n)}).catch(function(e){p.mediaElement.generateError(e,y)}):j(e,n)),null}};N(p.mediaElement,"src",L,F),p.mediaElement.getSrc=L,p.mediaElement.setSrc=F;for(var M=0,O=k.length;M<O;M++)A(k[M]);for(var D=0,V=_.length;D<V;D++)I(_[D]);return p.mediaElement.addEventListener=function(e,t){p.mediaElement.events[e]=p.mediaElement.events[e]||[],p.mediaElement.events[e].push(t)},p.mediaElement.removeEventListener=function(e,t){if(!e)return p.mediaElement.events={},!0;var n=p.mediaElement.events[e];if(!n)return!0;if(!t)return p.mediaElement.events[e]=[],!0;for(var i=0;i<n.length;i++)if(n[i]===t)return p.mediaElement.events[e].splice(i,1),!0;return!1},p.mediaElement.dispatchEvent=function(e){var t=p.mediaElement.events[e.type];if(t)for(var n=0;n<t.length;n++)t[n].apply(null,[e])},p.mediaElement.destroy=function(){var e=p.mediaElement.originalNode.cloneNode(!0),t=p.mediaElement.parentElement;e.removeAttribute("id"),e.remove(),p.mediaElement.remove(),t.append(e)},y.length&&(p.mediaElement.src=y),p.mediaElement.promises.length?Promise.all(p.mediaElement.promises).then(function(){p.mediaElement.options.success&&p.mediaElement.options.success(p.mediaElement,p.mediaElement.originalNode)}).catch(function(){h&&p.mediaElement.options.error&&p.mediaElement.options.error(p.mediaElement,p.mediaElement.originalNode)}):(p.mediaElement.options.success&&p.mediaElement.options.success(p.mediaElement,p.mediaElement.originalNode),h&&p.mediaElement.options.error&&p.mediaElement.options.error(p.mediaElement,p.mediaElement.originalNode)),p.mediaElement};r.default.MediaElement=f,s.default.MediaElement=f,n.default=f},{2:2,25:25,27:27,28:28,3:3,7:7,8:8}],7:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i=function(e){return e&&e.__esModule?e:{default:e}}(e(3)),o={};o.version="4.2.8",o.html5media={properties:["volume","src","currentTime","muted","duration","paused","ended","buffered","error","networkState","readyState","seeking","seekable","currentSrc","preload","bufferedBytes","bufferedTime","initialTime","startOffsetTime","defaultPlaybackRate","playbackRate","played","autoplay","loop","controls"],readOnlyProperties:["duration","paused","ended","buffered","error","networkState","readyState","seeking","seekable"],methods:["load","play","pause","canPlayType"],events:["loadstart","durationchange","loadedmetadata","loadeddata","progress","canplay","canplaythrough","suspend","abort","error","emptied","stalled","play","playing","pause","waiting","seeking","seeked","timeupdate","ended","ratechange","volumechange"],mediaTypes:["audio/mp3","audio/ogg","audio/oga","audio/wav","audio/x-wav","audio/wave","audio/x-pn-wav","audio/mpeg","audio/mp4","video/mp4","video/webm","video/ogg","video/ogv"]},i.default.mejs=o,n.default=o},{3:3}],8:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.renderer=void 0;var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),r=function(e){return e&&e.__esModule?e:{default:e}}(e(7)),a=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.renderers={},this.order=[]}return o(e,[{key:"add",value:function(e){if(void 0===e.name)throw new TypeError("renderer must contain at least `name` property");this.renderers[e.name]=e,this.order.push(e.name)}},{key:"select",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=t.length;if(t=t.length?t:this.order,!n){var i=[/^(html5|native)/i,/^flash/i,/iframe$/i],o=function(e){for(var t=0,n=i.length;t<n;t++)if(i[t].test(e))return t;return i.length};t.sort(function(e,t){return o(e)-o(t)})}for(var r=0,a=t.length;r<a;r++){var s=t[r],l=this.renderers[s];if(null!==l&&void 0!==l)for(var d=0,u=e.length;d<u;d++)if("function"==typeof l.canPlayType&&"string"==typeof e[d].type&&l.canPlayType(e[d].type))return{rendererName:l.name,src:e[d].src}}return null}},{key:"order",set:function(e){if(!Array.isArray(e))throw new TypeError("order must be an array of strings.");this._order=e},get:function(){return this._order}},{key:"renderers",set:function(e){if(null!==e&&"object"!==(void 0===e?"undefined":i(e)))throw new TypeError("renderers must be an array of objects.");this._renderers=e},get:function(){return this._renderers}}]),e}(),s=n.renderer=new a;r.default.Renderers=s},{7:7}],9:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}var o=i(e(3)),r=i(e(2)),a=i(e(5)),s=e(16),l=i(s),d=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(e(25)),u=e(27),c=e(26),f=e(28);Object.assign(s.config,{usePluginFullScreen:!0,fullscreenText:null,useFakeFullscreen:!1}),Object.assign(l.default.prototype,{isFullScreen:!1,isNativeFullScreen:!1,isInIframe:!1,isPluginClickThroughCreated:!1,fullscreenMode:"",containerSizeTimeout:null,buildfullscreen:function(e){if(e.isVideo){e.isInIframe=o.default.location!==o.default.parent.location,e.detectFullscreenMode();var t=this,n=(0,u.isString)(t.options.fullscreenText)?t.options.fullscreenText:a.default.t("mejs.fullscreen"),i=r.default.createElement("div");if(i.className=t.options.classPrefix+"button "+t.options.classPrefix+"fullscreen-button",i.innerHTML='<button type="button" aria-controls="'+t.id+'" title="'+n+'" aria-label="'+n+'" tabindex="0"></button>',t.addControlElement(i,"fullscreen"),i.addEventListener("click",function(){d.HAS_TRUE_NATIVE_FULLSCREEN&&d.IS_FULLSCREEN||e.isFullScreen?e.exitFullScreen():e.enterFullScreen()}),e.fullscreenBtn=i,t.options.keyActions.push({keys:[70],action:function(e,t,n,i){i.ctrlKey||void 0!==e.enterFullScreen&&(e.isFullScreen?e.exitFullScreen():e.enterFullScreen())}}),t.exitFullscreenCallback=function(n){27===(n.which||n.keyCode||0)&&(d.HAS_TRUE_NATIVE_FULLSCREEN&&d.IS_FULLSCREEN||t.isFullScreen)&&e.exitFullScreen()},t.globalBind("keydown",t.exitFullscreenCallback),t.normalHeight=0,t.normalWidth=0,d.HAS_TRUE_NATIVE_FULLSCREEN){e.globalBind(d.FULLSCREEN_EVENT_NAME,function(){e.isFullScreen&&(d.isFullScreen()?(e.isNativeFullScreen=!0,e.setControlsSize()):(e.isNativeFullScreen=!1,e.exitFullScreen()))})}}},cleanfullscreen:function(e){e.exitFullScreen(),e.globalUnbind("keydown",e.exitFullscreenCallback)},detectFullscreenMode:function(){var e=null!==this.media.rendererName&&/(native|html5)/i.test(this.media.rendererName),t="";return d.HAS_TRUE_NATIVE_FULLSCREEN&&e?t="native-native":d.HAS_TRUE_NATIVE_FULLSCREEN&&!e?t="plugin-native":this.usePluginFullScreen&&d.SUPPORT_POINTER_EVENTS&&(t="plugin-click"),this.fullscreenMode=t,t},enterFullScreen:function(){var e=this,t=null!==e.media.rendererName&&/(html5|native)/i.test(e.media.rendererName),n=getComputedStyle(e.getElement(e.container));if(!1===e.options.useFakeFullscreen&&d.IS_IOS&&d.HAS_IOS_FULLSCREEN&&"function"==typeof e.media.originalNode.webkitEnterFullscreen&&e.media.originalNode.canPlayType((0,f.getTypeFromFile)(e.media.getSrc())))e.media.originalNode.webkitEnterFullscreen();else{if((0,c.addClass)(r.default.documentElement,e.options.classPrefix+"fullscreen"),(0,c.addClass)(e.getElement(e.container),e.options.classPrefix+"container-fullscreen"),e.normalHeight=parseFloat(n.height),e.normalWidth=parseFloat(n.width),"native-native"!==e.fullscreenMode&&"plugin-native"!==e.fullscreenMode||(d.requestFullScreen(e.getElement(e.container)),e.isInIframe&&setTimeout(function t(){if(e.isNativeFullScreen){var n=o.default.innerWidth||r.default.documentElement.clientWidth||r.default.body.clientWidth,i=screen.width;Math.abs(i-n)>.002*i?e.exitFullScreen():setTimeout(t,500)}},1e3)),e.getElement(e.container).style.width="100%",e.getElement(e.container).style.height="100%",e.containerSizeTimeout=setTimeout(function(){e.getElement(e.container).style.width="100%",e.getElement(e.container).style.height="100%",e.setControlsSize()},500),t)e.node.style.width="100%",e.node.style.height="100%";else for(var i=e.getElement(e.container).querySelectorAll("embed, object, video"),a=i.length,s=0;s<a;s++)i[s].style.width="100%",i[s].style.height="100%";e.options.setDimensions&&"function"==typeof e.media.setSize&&e.media.setSize(screen.width,screen.height);for(var l=e.getElement(e.layers).children,p=l.length,m=0;m<p;m++)l[m].style.width="100%",l[m].style.height="100%";e.fullscreenBtn&&((0,c.removeClass)(e.fullscreenBtn,e.options.classPrefix+"fullscreen"),(0,c.addClass)(e.fullscreenBtn,e.options.classPrefix+"unfullscreen")),e.setControlsSize(),e.isFullScreen=!0;var h=Math.min(screen.width/e.width,screen.height/e.height),v=e.getElement(e.container).querySelector("."+e.options.classPrefix+"captions-text");v&&(v.style.fontSize=100*h+"%",v.style.lineHeight="normal",e.getElement(e.container).querySelector("."+e.options.classPrefix+"captions-position").style.bottom=(screen.height-e.normalHeight)/2-e.getElement(e.controls).offsetHeight/2+h+15+"px");var g=(0,u.createEvent)("enteredfullscreen",e.getElement(e.container));e.getElement(e.container).dispatchEvent(g)}},exitFullScreen:function(){var e=null!==this.media.rendererName&&/(native|html5)/i.test(this.media.rendererName);if(clearTimeout(this.containerSizeTimeout),d.HAS_TRUE_NATIVE_FULLSCREEN&&(d.IS_FULLSCREEN||this.isFullScreen)&&d.cancelFullScreen(),(0,c.removeClass)(r.default.documentElement,this.options.classPrefix+"fullscreen"),(0,c.removeClass)(this.getElement(this.container),this.options.classPrefix+"container-fullscreen"),this.options.setDimensions){if(this.getElement(this.container).style.width=this.normalWidth+"px",this.getElement(this.container).style.height=this.normalHeight+"px",e)this.node.style.width=this.normalWidth+"px",this.node.style.height=this.normalHeight+"px";else for(var t=this.getElement(this.container).querySelectorAll("embed, object, video"),n=t.length,i=0;i<n;i++)t[i].style.width=this.normalWidth+"px",t[i].style.height=this.normalHeight+"px";"function"==typeof this.media.setSize&&this.media.setSize(this.normalWidth,this.normalHeight);for(var o=this.getElement(this.layers).children,a=o.length,s=0;s<a;s++)o[s].style.width=this.normalWidth+"px",o[s].style.height=this.normalHeight+"px"}this.fullscreenBtn&&((0,c.removeClass)(this.fullscreenBtn,this.options.classPrefix+"unfullscreen"),(0,c.addClass)(this.fullscreenBtn,this.options.classPrefix+"fullscreen")),this.setControlsSize(),this.isFullScreen=!1;var l=this.getElement(this.container).querySelector("."+this.options.classPrefix+"captions-text");l&&(l.style.fontSize="",l.style.lineHeight="",this.getElement(this.container).querySelector("."+this.options.classPrefix+"captions-position").style.bottom="");var f=(0,u.createEvent)("exitedfullscreen",this.getElement(this.container));this.getElement(this.container).dispatchEvent(f)}})},{16:16,2:2,25:25,26:26,27:27,28:28,3:3,5:5}],10:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}var o=i(e(2)),r=e(16),a=i(r),s=i(e(5)),l=e(27),d=e(26);Object.assign(r.config,{playText:null,pauseText:null}),Object.assign(a.default.prototype,{buildplaypause:function(e,t,n,i){function r(e){"play"===e?((0,d.removeClass)(p,a.options.classPrefix+"play"),(0,d.removeClass)(p,a.options.classPrefix+"replay"),(0,d.addClass)(p,a.options.classPrefix+"pause"),m.setAttribute("title",f),m.setAttribute("aria-label",f)):((0,d.removeClass)(p,a.options.classPrefix+"pause"),(0,d.removeClass)(p,a.options.classPrefix+"replay"),(0,d.addClass)(p,a.options.classPrefix+"play"),m.setAttribute("title",c),m.setAttribute("aria-label",c))}var a=this,u=a.options,c=(0,l.isString)(u.playText)?u.playText:s.default.t("mejs.play"),f=(0,l.isString)(u.pauseText)?u.pauseText:s.default.t("mejs.pause"),p=o.default.createElement("div");p.className=a.options.classPrefix+"button "+a.options.classPrefix+"playpause-button "+a.options.classPrefix+"play",p.innerHTML='<button type="button" aria-controls="'+a.id+'" title="'+c+'" aria-label="'+f+'" tabindex="0"></button>',p.addEventListener("click",function(){a.paused?a.play():a.pause()});var m=p.querySelector("button");a.addControlElement(p,"playpause"),r("pse"),i.addEventListener("loadedmetadata",function(){-1===i.rendererName.indexOf("flash")&&r("pse")}),i.addEventListener("play",function(){r("play")}),i.addEventListener("playing",function(){r("play")}),i.addEventListener("pause",function(){r("pse")}),i.addEventListener("ended",function(){e.options.loop||((0,d.removeClass)(p,a.options.classPrefix+"pause"),(0,d.removeClass)(p,a.options.classPrefix+"play"),(0,d.addClass)(p,a.options.classPrefix+"replay"),m.setAttribute("title",c),m.setAttribute("aria-label",c))})}})},{16:16,2:2,26:26,27:27,5:5}],11:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}var o=i(e(2)),r=e(16),a=i(r),s=i(e(5)),l=e(25),d=e(30),u=e(26);Object.assign(r.config,{enableProgressTooltip:!0,useSmoothHover:!0,forceLive:!1}),Object.assign(a.default.prototype,{buildprogress:function(e,t,n,i){var a=0,c=!1,f=!1,p=this,m=e.options.autoRewind,h=e.options.enableProgressTooltip?'<span class="'+p.options.classPrefix+'time-float"><span class="'+p.options.classPrefix+'time-float-current">00:00</span><span class="'+p.options.classPrefix+'time-float-corner"></span></span>':"",v=o.default.createElement("div");v.className=p.options.classPrefix+"time-rail",v.innerHTML='<span class="'+p.options.classPrefix+"time-total "+p.options.classPrefix+'time-slider"><span class="'+p.options.classPrefix+'time-buffering"></span><span class="'+p.options.classPrefix+'time-loaded"></span><span class="'+p.options.classPrefix+'time-current"></span><span class="'+p.options.classPrefix+'time-hovered no-hover"></span><span class="'+p.options.classPrefix+'time-handle"><span class="'+p.options.classPrefix+'time-handle-content"></span></span>'+h+"</span>",p.addControlElement(v,"progress"),p.options.keyActions.push({keys:[37,227],action:function(e){if(!isNaN(e.duration)&&e.duration>0){e.isVideo&&(e.showControls(),e.startControlsTimer()),e.getElement(e.container).querySelector("."+r.config.classPrefix+"time-total").focus();var t=Math.max(e.currentTime-e.options.defaultSeekBackwardInterval(e),0);e.setCurrentTime(t)}}},{keys:[39,228],action:function(e){if(!isNaN(e.duration)&&e.duration>0){e.isVideo&&(e.showControls(),e.startControlsTimer()),e.getElement(e.container).querySelector("."+r.config.classPrefix+"time-total").focus();var t=Math.min(e.currentTime+e.options.defaultSeekForwardInterval(e),e.duration);e.setCurrentTime(t)}}}),p.rail=t.querySelector("."+p.options.classPrefix+"time-rail"),p.total=t.querySelector("."+p.options.classPrefix+"time-total"),p.loaded=t.querySelector("."+p.options.classPrefix+"time-loaded"),p.current=t.querySelector("."+p.options.classPrefix+"time-current"),p.handle=t.querySelector("."+p.options.classPrefix+"time-handle"),p.timefloat=t.querySelector("."+p.options.classPrefix+"time-float"),p.timefloatcurrent=t.querySelector("."+p.options.classPrefix+"time-float-current"),p.slider=t.querySelector("."+p.options.classPrefix+"time-slider"),p.hovered=t.querySelector("."+p.options.classPrefix+"time-hovered"),p.buffer=t.querySelector("."+p.options.classPrefix+"time-buffering"),p.newTime=0,p.forcedHandlePause=!1,p.setTransformStyle=function(e,t){e.style.transform=t,e.style.webkitTransform=t,e.style.MozTransform=t,e.style.msTransform=t,e.style.OTransform=t},p.buffer.style.display="none";var g=function(t){var n=getComputedStyle(p.total),i=(0,u.offset)(p.total),o=p.total.offsetWidth,r=void 0!==n.webkitTransform?"webkitTransform":void 0!==n.mozTransform?"mozTransform ":void 0!==n.oTransform?"oTransform":void 0!==n.msTransform?"msTransform":"transform",a="WebKitCSSMatrix"in window?"WebKitCSSMatrix":"MSCSSMatrix"in window?"MSCSSMatrix":"CSSMatrix"in window?"CSSMatrix":void 0,s=0,f=0,m=0,h=void 0;if(h=t.originalEvent&&t.originalEvent.changedTouches?t.originalEvent.changedTouches[0].pageX:t.changedTouches?t.changedTouches[0].pageX:t.pageX,p.getDuration()){if(h<i.left?h=i.left:h>o+i.left&&(h=o+i.left),m=h-i.left,s=m/o,p.newTime=s<=.02?0:s*p.getDuration(),c&&null!==p.getCurrentTime()&&p.newTime.toFixed(4)!==p.getCurrentTime().toFixed(4)&&(p.setCurrentRailHandle(p.newTime),p.updateCurrent(p.newTime)),!l.IS_IOS&&!l.IS_ANDROID){if(m<0&&(m=0),p.options.useSmoothHover&&null!==a&&void 0!==window[a]){var v=new window[a](getComputedStyle(p.handle)[r]).m41,g=m/parseFloat(getComputedStyle(p.total).width)-v/parseFloat(getComputedStyle(p.total).width);p.hovered.style.left=v+"px",p.setTransformStyle(p.hovered,"scaleX("+g+")"),p.hovered.setAttribute("pos",m),g>=0?(0,u.removeClass)(p.hovered,"negative"):(0,u.addClass)(p.hovered,"negative")}if(p.timefloat){var y=p.timefloat.offsetWidth/2,E=mejs.Utils.offset(p.getElement(p.container)),b=getComputedStyle(p.timefloat);f=h-E.left<p.timefloat.offsetWidth?y:h-E.left>=p.getElement(p.container).offsetWidth-y?p.total.offsetWidth-y:m,(0,u.hasClass)(p.getElement(p.container),p.options.classPrefix+"long-video")&&(f+=parseFloat(b.marginLeft)/2+p.timefloat.offsetWidth/2),p.timefloat.style.left=f+"px",p.timefloatcurrent.innerHTML=(0,d.secondsToTimeCode)(p.newTime,e.options.alwaysShowHours,e.options.showTimecodeFrameCount,e.options.framesPerSecond,e.options.secondsDecimalLength,e.options.timeFormat),p.timefloat.style.display="block"}}}else l.IS_IOS||l.IS_ANDROID||!p.timefloat||(f=p.timefloat.offsetWidth+o>=p.getElement(p.container).offsetWidth?p.timefloat.offsetWidth/2:0,p.timefloat.style.left=f+"px",p.timefloat.style.left=f+"px",p.timefloat.style.display="block")},y=function(){new Date-a>=1e3&&p.play()},E=function(){c&&null!==p.getCurrentTime()&&p.newTime.toFixed(4)!==p.getCurrentTime().toFixed(4)&&(p.setCurrentTime(p.newTime),p.setCurrentRail(),p.updateCurrent(p.newTime)),p.forcedHandlePause&&(p.slider.focus(),p.play()),p.forcedHandlePause=!1};p.slider.addEventListener("focus",function(){e.options.autoRewind=!1}),p.slider.addEventListener("blur",function(){e.options.autoRewind=m}),p.slider.addEventListener("keydown",function(t){if(new Date-a>=1e3&&(f=p.paused),p.options.keyActions.length){var n=t.which||t.keyCode||0,o=p.getDuration(),r=e.options.defaultSeekForwardInterval(i),s=e.options.defaultSeekBackwardInterval(i),d=p.getCurrentTime(),u=p.getElement(p.container).querySelector("."+p.options.classPrefix+"volume-slider");if(38===n||40===n){u&&(u.style.display="block"),p.isVideo&&(p.showControls(),p.startControlsTimer());var c=38===n?Math.min(p.volume+.1,1):Math.max(p.volume-.1,0),m=c<=0;return p.setVolume(c),void p.setMuted(m)}switch(u&&(u.style.display="none"),n){case 37:p.getDuration()!==1/0&&(d-=s);break;case 39:p.getDuration()!==1/0&&(d+=r);break;case 36:d=0;break;case 35:d=o;break;case 13:case 32:return void(l.IS_FIREFOX&&(p.paused?p.play():p.pause()));default:return}d=d<0?0:d>=o?o:Math.floor(d),a=new Date,f||e.pause(),d<p.getDuration()&&!f&&setTimeout(y,1100),p.setCurrentTime(d),e.showControls(),t.preventDefault(),t.stopPropagation()}});var b=["mousedown","touchstart"];p.slider.addEventListener("dragstart",function(){return!1});for(var S=0,x=b.length;S<x;S++)p.slider.addEventListener(b[S],function(e){if(p.forcedHandlePause=!1,p.getDuration()!==1/0&&(1===e.which||0===e.which)){p.paused||(p.pause(),p.forcedHandlePause=!0),c=!0,g(e);for(var t=["mouseup","touchend"],n=0,i=t.length;n<i;n++)p.getElement(p.container).addEventListener(t[n],function(e){var t=e.target;(t===p.slider||t.closest("."+p.options.classPrefix+"time-slider"))&&g(e)});p.globalBind("mouseup.dur touchend.dur",function(){E(),c=!1,p.timefloat&&(p.timefloat.style.display="none")})}},!(!l.SUPPORT_PASSIVE_EVENT||"touchstart"!==b[S])&&{passive:!0});p.slider.addEventListener("mouseenter",function(e){e.target===p.slider&&p.getDuration()!==1/0&&(p.getElement(p.container).addEventListener("mousemove",function(e){var t=e.target;(t===p.slider||t.closest("."+p.options.classPrefix+"time-slider"))&&g(e)}),!p.timefloat||l.IS_IOS||l.IS_ANDROID||(p.timefloat.style.display="block"),p.hovered&&!l.IS_IOS&&!l.IS_ANDROID&&p.options.useSmoothHover&&(0,u.removeClass)(p.hovered,"no-hover"))}),p.slider.addEventListener("mouseleave",function(){p.getDuration()!==1/0&&(c||(p.timefloat&&(p.timefloat.style.display="none"),p.hovered&&p.options.useSmoothHover&&(0,u.addClass)(p.hovered,"no-hover")))}),p.broadcastCallback=function(n){var r=t.querySelector("."+p.options.classPrefix+"broadcast");if(p.options.forceLive||p.getDuration()===1/0){if(!r||p.options.forceLive){var a=o.default.createElement("span");a.className=p.options.classPrefix+"broadcast",a.innerText=s.default.t("mejs.live-broadcast"),p.slider.style.display="none",p.rail.appendChild(a)}}else r&&(p.slider.style.display="",r.remove()),e.setProgressRail(n),p.forcedHandlePause||e.setCurrentRail(n),function(){var t=p.getCurrentTime(),n=s.default.t("mejs.time-slider"),o=(0,d.secondsToTimeCode)(t,e.options.alwaysShowHours,e.options.showTimecodeFrameCount,e.options.framesPerSecond,e.options.secondsDecimalLength,e.options.timeFormat),r=p.getDuration();p.slider.setAttribute("role","slider"),p.slider.tabIndex=0,i.paused?(p.slider.setAttribute("aria-label",n),p.slider.setAttribute("aria-valuemin",0),p.slider.setAttribute("aria-valuemax",r),p.slider.setAttribute("aria-valuenow",t),p.slider.setAttribute("aria-valuetext",o)):(p.slider.removeAttribute("aria-label"),p.slider.removeAttribute("aria-valuemin"),p.slider.removeAttribute("aria-valuemax"),p.slider.removeAttribute("aria-valuenow"),p.slider.removeAttribute("aria-valuetext"))}()},i.addEventListener("progress",p.broadcastCallback),i.addEventListener("timeupdate",p.broadcastCallback),i.addEventListener("play",function(){p.buffer.style.display="none"}),i.addEventListener("playing",function(){p.buffer.style.display="none"}),i.addEventListener("seeking",function(){p.buffer.style.display=""}),i.addEventListener("seeked",function(){p.buffer.style.display="none"}),i.addEventListener("pause",function(){p.buffer.style.display="none"}),i.addEventListener("waiting",function(){p.buffer.style.display=""}),i.addEventListener("loadeddata",function(){p.buffer.style.display=""}),i.addEventListener("canplay",function(){p.buffer.style.display="none"}),i.addEventListener("error",function(){p.buffer.style.display="none"}),p.getElement(p.container).addEventListener("controlsresize",function(t){p.getDuration()!==1/0&&(e.setProgressRail(t),p.forcedHandlePause||e.setCurrentRail(t))})},cleanprogress:function(e,t,n,i){i.removeEventListener("progress",e.broadcastCallback),i.removeEventListener("timeupdate",e.broadcastCallback),e.rail&&e.rail.remove()},setProgressRail:function(e){var t=void 0!==e?e.detail.target||e.target:this.media,n=null;t&&t.buffered&&t.buffered.length>0&&t.buffered.end&&this.getDuration()?n=t.buffered.end(t.buffered.length-1)/this.getDuration():t&&void 0!==t.bytesTotal&&t.bytesTotal>0&&void 0!==t.bufferedBytes?n=t.bufferedBytes/t.bytesTotal:e&&e.lengthComputable&&0!==e.total&&(n=e.loaded/e.total),null!==n&&(n=Math.min(1,Math.max(0,n)),this.loaded&&this.setTransformStyle(this.loaded,"scaleX("+n+")"))},setCurrentRailHandle:function(e){this.setCurrentRailMain(this,e)},setCurrentRail:function(){this.setCurrentRailMain(this)},setCurrentRailMain:function(e,t){if(void 0!==e.getCurrentTime()&&e.getDuration()){var n=void 0===t?e.getCurrentTime():t;if(e.total&&e.handle){var i=parseFloat(getComputedStyle(e.total).width),o=Math.round(i*n/e.getDuration()),r=o-Math.round(e.handle.offsetWidth/2);if(r=r<0?0:r,e.setTransformStyle(e.current,"scaleX("+o/i+")"),e.setTransformStyle(e.handle,"translateX("+r+"px)"),e.options.useSmoothHover&&!(0,u.hasClass)(e.hovered,"no-hover")){var a=parseInt(e.hovered.getAttribute("pos"),10),s=(a=isNaN(a)?0:a)/i-r/i;e.hovered.style.left=r+"px",e.setTransformStyle(e.hovered,"scaleX("+s+")"),s>=0?(0,u.removeClass)(e.hovered,"negative"):(0,u.addClass)(e.hovered,"negative")}}}}})},{16:16,2:2,25:25,26:26,30:30,5:5}],12:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}var o=i(e(2)),r=e(16),a=i(r),s=e(30),l=e(26);Object.assign(r.config,{duration:0,timeAndDurationSeparator:"<span> | </span>"}),Object.assign(a.default.prototype,{buildcurrent:function(e,t,n,i){var r=this,a=o.default.createElement("div");a.className=r.options.classPrefix+"time",a.setAttribute("role","timer"),a.setAttribute("aria-live","off"),a.innerHTML='<span class="'+r.options.classPrefix+'currenttime">'+(0,s.secondsToTimeCode)(0,e.options.alwaysShowHours,e.options.showTimecodeFrameCount,e.options.framesPerSecond,e.options.secondsDecimalLength,e.options.timeFormat)+"</span>",r.addControlElement(a,"current"),e.updateCurrent(),r.updateTimeCallback=function(){r.controlsAreVisible&&e.updateCurrent()},i.addEventListener("timeupdate",r.updateTimeCallback)},cleancurrent:function(e,t,n,i){i.removeEventListener("timeupdate",e.updateTimeCallback)},buildduration:function(e,t,n,i){var r=this;if(t.lastChild.querySelector("."+r.options.classPrefix+"currenttime"))t.querySelector("."+r.options.classPrefix+"time").innerHTML+=r.options.timeAndDurationSeparator+'<span class="'+r.options.classPrefix+'duration">'+(0,s.secondsToTimeCode)(r.options.duration,r.options.alwaysShowHours,r.options.showTimecodeFrameCount,r.options.framesPerSecond,r.options.secondsDecimalLength,r.options.timeFormat)+"</span>";else{t.querySelector("."+r.options.classPrefix+"currenttime")&&(0,l.addClass)(t.querySelector("."+r.options.classPrefix+"currenttime").parentNode,r.options.classPrefix+"currenttime-container");var a=o.default.createElement("div");a.className=r.options.classPrefix+"time "+r.options.classPrefix+"duration-container",a.innerHTML='<span class="'+r.options.classPrefix+'duration">'+(0,s.secondsToTimeCode)(r.options.duration,r.options.alwaysShowHours,r.options.showTimecodeFrameCount,r.options.framesPerSecond,r.options.secondsDecimalLength,r.options.timeFormat)+"</span>",r.addControlElement(a,"duration")}r.updateDurationCallback=function(){r.controlsAreVisible&&e.updateDuration()},i.addEventListener("timeupdate",r.updateDurationCallback)},cleanduration:function(e,t,n,i){i.removeEventListener("timeupdate",e.updateDurationCallback)},updateCurrent:function(){var e=this.getCurrentTime();isNaN(e)&&(e=0);var t=(0,s.secondsToTimeCode)(e,this.options.alwaysShowHours,this.options.showTimecodeFrameCount,this.options.framesPerSecond,this.options.secondsDecimalLength,this.options.timeFormat);t.length>5?(0,l.addClass)(this.getElement(this.container),this.options.classPrefix+"long-video"):(0,l.removeClass)(this.getElement(this.container),this.options.classPrefix+"long-video"),this.getElement(this.controls).querySelector("."+this.options.classPrefix+"currenttime")&&(this.getElement(this.controls).querySelector("."+this.options.classPrefix+"currenttime").innerText=t)},updateDuration:function(){var e=this.getDuration();(isNaN(e)||e===1/0||e<0)&&(this.media.duration=this.options.duration=e=0),this.options.duration>0&&(e=this.options.duration);var t=(0,s.secondsToTimeCode)(e,this.options.alwaysShowHours,this.options.showTimecodeFrameCount,this.options.framesPerSecond,this.options.secondsDecimalLength,this.options.timeFormat);t.length>5?(0,l.addClass)(this.getElement(this.container),this.options.classPrefix+"long-video"):(0,l.removeClass)(this.getElement(this.container),this.options.classPrefix+"long-video"),this.getElement(this.controls).querySelector("."+this.options.classPrefix+"duration")&&e>0&&(this.getElement(this.controls).querySelector("."+this.options.classPrefix+"duration").innerHTML=t)}})},{16:16,2:2,26:26,30:30}],13:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}var o=i(e(2)),r=i(e(7)),a=i(e(5)),s=e(16),l=i(s),d=e(30),u=e(27),c=e(26);Object.assign(s.config,{startLanguage:"",tracksText:null,chaptersText:null,tracksAriaLive:!1,hideCaptionsButtonWhenEmpty:!0,toggleCaptionsButtonWhenOnlyOne:!1,slidesSelector:""}),Object.assign(l.default.prototype,{hasChapters:!1,buildtracks:function(e,t,n,i){if(this.findTracks(),e.tracks.length||e.trackFiles&&0!==!e.trackFiles.length){var r=this,s=r.options.tracksAriaLive?' role="log" aria-live="assertive" aria-atomic="false"':"",l=(0,u.isString)(r.options.tracksText)?r.options.tracksText:a.default.t("mejs.captions-subtitles"),d=(0,u.isString)(r.options.chaptersText)?r.options.chaptersText:a.default.t("mejs.captions-chapters"),f=null===e.trackFiles?e.tracks.length:e.trackFiles.length;if(r.domNode.textTracks)for(var p=r.domNode.textTracks.length-1;p>=0;p--)r.domNode.textTracks[p].mode="hidden";r.cleartracks(e),e.captions=o.default.createElement("div"),e.captions.className=r.options.classPrefix+"captions-layer "+r.options.classPrefix+"layer",e.captions.innerHTML='<div class="'+r.options.classPrefix+"captions-position "+r.options.classPrefix+'captions-position-hover"'+s+'><span class="'+r.options.classPrefix+'captions-text"></span></div>',e.captions.style.display="none",n.insertBefore(e.captions,n.firstChild),e.captionsText=e.captions.querySelector("."+r.options.classPrefix+"captions-text"),e.captionsButton=o.default.createElement("div"),e.captionsButton.className=r.options.classPrefix+"button "+r.options.classPrefix+"captions-button",e.captionsButton.innerHTML='<button type="button" aria-controls="'+r.id+'" title="'+l+'" aria-label="'+l+'" tabindex="0"></button><div class="'+r.options.classPrefix+"captions-selector "+r.options.classPrefix+'offscreen"><ul class="'+r.options.classPrefix+'captions-selector-list"><li class="'+r.options.classPrefix+'captions-selector-list-item"><input type="radio" class="'+r.options.classPrefix+'captions-selector-input" name="'+e.id+'_captions" id="'+e.id+'_captions_none" value="none" checked disabled><label class="'+r.options.classPrefix+"captions-selector-label "+r.options.classPrefix+'captions-selected" for="'+e.id+'_captions_none">'+a.default.t("mejs.none")+"</label></li></ul></div>",r.addControlElement(e.captionsButton,"tracks"),e.captionsButton.querySelector("."+r.options.classPrefix+"captions-selector-input").disabled=!1,e.chaptersButton=o.default.createElement("div"),e.chaptersButton.className=r.options.classPrefix+"button "+r.options.classPrefix+"chapters-button",e.chaptersButton.innerHTML='<button type="button" aria-controls="'+r.id+'" title="'+d+'" aria-label="'+d+'" tabindex="0"></button><div class="'+r.options.classPrefix+"chapters-selector "+r.options.classPrefix+'offscreen"><ul class="'+r.options.classPrefix+'chapters-selector-list"></ul></div>';for(var m=0,h=0;h<f;h++){var v=e.tracks[h].kind;e.tracks[h].src.trim()&&("subtitles"===v||"captions"===v?m++:"chapters"!==v||t.querySelector("."+r.options.classPrefix+"chapter-selector")||e.captionsButton.parentNode.insertBefore(e.chaptersButton,e.captionsButton))}e.trackToLoad=-1,e.selectedTrack=null,e.isLoadingTrack=!1;for(var g=0;g<f;g++){var y=e.tracks[g].kind;!e.tracks[g].src.trim()||"subtitles"!==y&&"captions"!==y||e.addTrackButton(e.tracks[g].trackId,e.tracks[g].srclang,e.tracks[g].label)}e.loadNextTrack();var E=["mouseenter","focusin"],b=["mouseleave","focusout"];if(r.options.toggleCaptionsButtonWhenOnlyOne&&1===m)e.captionsButton.addEventListener("click",function(t){var n="none";null===e.selectedTrack&&(n=e.tracks[0].trackId);var i=t.keyCode||t.which;e.setTrack(n,void 0!==i)});else{for(var S=e.captionsButton.querySelectorAll("."+r.options.classPrefix+"captions-selector-label"),x=e.captionsButton.querySelectorAll("input[type=radio]"),w=0,P=E.length;w<P;w++)e.captionsButton.addEventListener(E[w],function(){(0,c.removeClass)(this.querySelector("."+r.options.classPrefix+"captions-selector"),r.options.classPrefix+"offscreen")});for(var T=0,C=b.length;T<C;T++)e.captionsButton.addEventListener(b[T],function(){(0,c.addClass)(this.querySelector("."+r.options.classPrefix+"captions-selector"),r.options.classPrefix+"offscreen")});for(var k=0,_=x.length;k<_;k++)x[k].addEventListener("click",function(t){var n=t.keyCode||t.which;e.setTrack(this.value,void 0!==n)});for(var N=0,A=S.length;N<A;N++)S[N].addEventListener("click",function(e){var t=(0,c.siblings)(this,function(e){return"INPUT"===e.tagName})[0],n=(0,u.createEvent)("click",t);t.dispatchEvent(n),e.preventDefault()});e.captionsButton.addEventListener("keydown",function(e){e.stopPropagation()})}for(var L=0,F=E.length;L<F;L++)e.chaptersButton.addEventListener(E[L],function(){this.querySelector("."+r.options.classPrefix+"chapters-selector-list").children.length&&(0,c.removeClass)(this.querySelector("."+r.options.classPrefix+"chapters-selector"),r.options.classPrefix+"offscreen")});for(var j=0,I=b.length;j<I;j++)e.chaptersButton.addEventListener(b[j],function(){(0,c.addClass)(this.querySelector("."+r.options.classPrefix+"chapters-selector"),r.options.classPrefix+"offscreen")});e.chaptersButton.addEventListener("keydown",function(e){e.stopPropagation()}),e.options.alwaysShowControls?(0,c.addClass)(e.getElement(e.container).querySelector("."+r.options.classPrefix+"captions-position"),r.options.classPrefix+"captions-position-hover"):(e.getElement(e.container).addEventListener("controlsshown",function(){(0,c.addClass)(e.getElement(e.container).querySelector("."+r.options.classPrefix+"captions-position"),r.options.classPrefix+"captions-position-hover")}),e.getElement(e.container).addEventListener("controlshidden",function(){i.paused||(0,c.removeClass)(e.getElement(e.container).querySelector("."+r.options.classPrefix+"captions-position"),r.options.classPrefix+"captions-position-hover")})),i.addEventListener("timeupdate",function(){e.displayCaptions()}),""!==e.options.slidesSelector&&(e.slidesContainer=o.default.querySelectorAll(e.options.slidesSelector),i.addEventListener("timeupdate",function(){e.displaySlides()}))}},cleartracks:function(e){e&&(e.captions&&e.captions.remove(),e.chapters&&e.chapters.remove(),e.captionsText&&e.captionsText.remove(),e.captionsButton&&e.captionsButton.remove(),e.chaptersButton&&e.chaptersButton.remove())},rebuildtracks:function(){this.findTracks(),this.buildtracks(this,this.getElement(this.controls),this.getElement(this.layers),this.media)},findTracks:function(){var e=null===this.trackFiles?this.node.querySelectorAll("track"):this.trackFiles,t=e.length;this.tracks=[];for(var n=0;n<t;n++){var i=e[n],o=i.getAttribute("srclang").toLowerCase()||"",r=this.id+"_track_"+n+"_"+i.getAttribute("kind")+"_"+o;this.tracks.push({trackId:r,srclang:o,src:i.getAttribute("src"),kind:i.getAttribute("kind"),label:i.getAttribute("label")||"",entries:[],isLoaded:!1})}},setTrack:function(e,t){for(var n=this,i=n.captionsButton.querySelectorAll('input[type="radio"]'),o=n.captionsButton.querySelectorAll("."+n.options.classPrefix+"captions-selected"),r=n.captionsButton.querySelector('input[value="'+e+'"]'),a=0,s=i.length;a<s;a++)i[a].checked=!1;for(var l=0,d=o.length;l<d;l++)(0,c.removeClass)(o[l],n.options.classPrefix+"captions-selected");r.checked=!0;for(var f=(0,c.siblings)(r,function(e){return(0,c.hasClass)(e,n.options.classPrefix+"captions-selector-label")}),p=0,m=f.length;p<m;p++)(0,c.addClass)(f[p],n.options.classPrefix+"captions-selected");if("none"===e)n.selectedTrack=null,(0,c.removeClass)(n.captionsButton,n.options.classPrefix+"captions-enabled");else for(var h=0,v=n.tracks.length;h<v;h++){var g=n.tracks[h];if(g.trackId===e){null===n.selectedTrack&&(0,c.addClass)(n.captionsButton,n.options.classPrefix+"captions-enabled"),n.selectedTrack=g,n.captions.setAttribute("lang",n.selectedTrack.srclang),n.displayCaptions();break}}var y=(0,u.createEvent)("captionschange",n.media);y.detail.caption=n.selectedTrack,n.media.dispatchEvent(y),t||setTimeout(function(){n.getElement(n.container).focus()},500)},loadNextTrack:function(){this.trackToLoad++,this.trackToLoad<this.tracks.length?(this.isLoadingTrack=!0,this.loadTrack(this.trackToLoad)):(this.isLoadingTrack=!1,this.checkForTracks())},loadTrack:function(e){var t=this,n=t.tracks[e];void 0===n||void 0===n.src&&""===n.src||(0,c.ajax)(n.src,"text",function(e){n.entries="string"==typeof e&&/<tt\s+xml/gi.exec(e)?r.default.TrackFormatParser.dfxp.parse(e):r.default.TrackFormatParser.webvtt.parse(e),n.isLoaded=!0,t.enableTrackButton(n),t.loadNextTrack(),"slides"===n.kind?t.setupSlides(n):"chapters"!==n.kind||t.hasChapters||(t.drawChapters(n),t.hasChapters=!0)},function(){t.removeTrackButton(n.trackId),t.loadNextTrack()})},enableTrackButton:function(e){var t=this,n=e.srclang,i=o.default.getElementById(""+e.trackId);if(i){var s=e.label;""===s&&(s=a.default.t(r.default.language.codes[n])||n),i.disabled=!1;for(var l=(0,c.siblings)(i,function(e){return(0,c.hasClass)(e,t.options.classPrefix+"captions-selector-label")}),d=0,f=l.length;d<f;d++)l[d].innerHTML=s;if(t.options.startLanguage===n){i.checked=!0;var p=(0,u.createEvent)("click",i);i.dispatchEvent(p)}}},removeTrackButton:function(e){var t=o.default.getElementById(""+e);if(t){var n=t.closest("li");n&&n.remove()}},addTrackButton:function(e,t,n){""===n&&(n=a.default.t(r.default.language.codes[t])||t),this.captionsButton.querySelector("ul").innerHTML+='<li class="'+this.options.classPrefix+'captions-selector-list-item"><input type="radio" class="'+this.options.classPrefix+'captions-selector-input" name="'+this.id+'_captions" id="'+e+'" value="'+e+'" disabled><label class="'+this.options.classPrefix+'captions-selector-label"for="'+e+'">'+n+" (loading)</label></li>"},checkForTracks:function(){var e=!1;if(this.options.hideCaptionsButtonWhenEmpty){for(var t=0,n=this.tracks.length;t<n;t++){var i=this.tracks[t].kind;if(("subtitles"===i||"captions"===i)&&this.tracks[t].isLoaded){e=!0;break}}this.captionsButton.style.display=e?"":"none",this.setControlsSize()}},displayCaptions:function(){if(void 0!==this.tracks){var e=this.selectedTrack;if(null!==e&&e.isLoaded){var t=this.searchTrackPosition(e.entries,this.media.currentTime);if(t>-1)return this.captionsText.innerHTML=function(e){var t=o.default.createElement("div");t.innerHTML=e;for(var n=t.getElementsByTagName("script"),i=n.length;i--;)n[i].remove();for(var r=t.getElementsByTagName("*"),a=0,s=r.length;a<s;a++)for(var l=r[a].attributes,d=Array.prototype.slice.call(l),u=0,c=d.length;u<c;u++)d[u].name.startsWith("on")||d[u].value.startsWith("javascript")?r[a].remove():"style"===d[u].name&&r[a].removeAttribute(d[u].name);return t.innerHTML}(e.entries[t].text),this.captionsText.className=this.options.classPrefix+"captions-text "+(e.entries[t].identifier||""),this.captions.style.display="",void(this.captions.style.height="0px");this.captions.style.display="none"}else this.captions.style.display="none"}},setupSlides:function(e){this.slides=e,this.slides.entries.imgs=[this.slides.entries.length],this.showSlide(0)},showSlide:function(e){var t=this,n=this;if(void 0!==n.tracks&&void 0!==n.slidesContainer){var i=n.slides.entries[e].text,r=n.slides.entries[e].imgs;if(void 0===r||void 0===r.fadeIn){var a=o.default.createElement("img");a.src=i,a.addEventListener("load",function(){var e=t,i=(0,c.siblings)(e,function(e){return i(e)});e.style.display="none",n.slidesContainer.innerHTML+=e.innerHTML,(0,c.fadeIn)(n.slidesContainer.querySelector(a));for(var o=0,r=i.length;o<r;o++)(0,c.fadeOut)(i[o],400)}),n.slides.entries[e].imgs=r=a}else if(!(0,c.visible)(r)){var s=(0,c.siblings)(self,function(e){return s(e)});(0,c.fadeIn)(n.slidesContainer.querySelector(r));for(var l=0,d=s.length;l<d;l++)(0,c.fadeOut)(s[l])}}},displaySlides:function(){if(void 0!==this.slides){var e=this.slides,t=this.searchTrackPosition(e.entries,this.media.currentTime);t>-1&&this.showSlide(t)}},drawChapters:function(e){var t=this,n=e.entries.length;if(n){t.chaptersButton.querySelector("ul").innerHTML="";for(var i=0;i<n;i++)t.chaptersButton.querySelector("ul").innerHTML+='<li class="'+t.options.classPrefix+'chapters-selector-list-item" role="menuitemcheckbox" aria-live="polite" aria-disabled="false" aria-checked="false"><input type="radio" class="'+t.options.classPrefix+'captions-selector-input" name="'+t.id+'_chapters" id="'+t.id+"_chapters_"+i+'" value="'+e.entries[i].start+'" disabled><label class="'+t.options.classPrefix+'chapters-selector-label"for="'+t.id+"_chapters_"+i+'">'+e.entries[i].text+"</label></li>";for(var o=t.chaptersButton.querySelectorAll('input[type="radio"]'),r=t.chaptersButton.querySelectorAll("."+t.options.classPrefix+"chapters-selector-label"),a=0,s=o.length;a<s;a++)o[a].disabled=!1,o[a].checked=!1,o[a].addEventListener("click",function(e){var n=t.chaptersButton.querySelectorAll("li"),i=(0,c.siblings)(this,function(e){return(0,c.hasClass)(e,t.options.classPrefix+"chapters-selector-label")})[0];this.checked=!0,this.parentNode.setAttribute("aria-checked",!0),(0,c.addClass)(i,t.options.classPrefix+"chapters-selected"),(0,c.removeClass)(t.chaptersButton.querySelector("."+t.options.classPrefix+"chapters-selected"),t.options.classPrefix+"chapters-selected");for(var o=0,r=n.length;o<r;o++)n[o].setAttribute("aria-checked",!1);void 0===(e.keyCode||e.which)&&setTimeout(function(){t.getElement(t.container).focus()},500),t.media.setCurrentTime(parseFloat(this.value)),t.media.paused&&t.media.play()});for(var l=0,d=r.length;l<d;l++)r[l].addEventListener("click",function(e){var t=(0,c.siblings)(this,function(e){return"INPUT"===e.tagName})[0],n=(0,u.createEvent)("click",t);t.dispatchEvent(n),e.preventDefault()})}},searchTrackPosition:function(e,t){for(var n=0,i=e.length-1,o=void 0,r=void 0,a=void 0;n<=i;){if(o=n+i>>1,r=e[o].start,a=e[o].stop,t>=r&&t<a)return o;r<t?n=o+1:r>t&&(i=o-1)}return-1}}),r.default.language={codes:{af:"mejs.afrikaans",sq:"mejs.albanian",ar:"mejs.arabic",be:"mejs.belarusian",bg:"mejs.bulgarian",ca:"mejs.catalan",zh:"mejs.chinese","zh-cn":"mejs.chinese-simplified","zh-tw":"mejs.chines-traditional",hr:"mejs.croatian",cs:"mejs.czech",da:"mejs.danish",nl:"mejs.dutch",en:"mejs.english",et:"mejs.estonian",fl:"mejs.filipino",fi:"mejs.finnish",fr:"mejs.french",gl:"mejs.galician",de:"mejs.german",el:"mejs.greek",ht:"mejs.haitian-creole",iw:"mejs.hebrew",hi:"mejs.hindi",hu:"mejs.hungarian",is:"mejs.icelandic",id:"mejs.indonesian",ga:"mejs.irish",it:"mejs.italian",ja:"mejs.japanese",ko:"mejs.korean",lv:"mejs.latvian",lt:"mejs.lithuanian",mk:"mejs.macedonian",ms:"mejs.malay",mt:"mejs.maltese",no:"mejs.norwegian",fa:"mejs.persian",pl:"mejs.polish",pt:"mejs.portuguese",ro:"mejs.romanian",ru:"mejs.russian",sr:"mejs.serbian",sk:"mejs.slovak",sl:"mejs.slovenian",es:"mejs.spanish",sw:"mejs.swahili",sv:"mejs.swedish",tl:"mejs.tagalog",th:"mejs.thai",tr:"mejs.turkish",uk:"mejs.ukrainian",vi:"mejs.vietnamese",cy:"mejs.welsh",yi:"mejs.yiddish"}},r.default.TrackFormatParser={webvtt:{pattern:/^((?:[0-9]{1,2}:)?[0-9]{2}:[0-9]{2}([,.][0-9]{1,3})?) --\> ((?:[0-9]{1,2}:)?[0-9]{2}:[0-9]{2}([,.][0-9]{3})?)(.*)$/,parse:function(e){for(var t=e.split(/\r?\n/),n=[],i=void 0,o=void 0,r=void 0,a=0,s=t.length;a<s;a++){if((i=this.pattern.exec(t[a]))&&a<t.length){for(a-1>=0&&""!==t[a-1]&&(r=t[a-1]),o=t[++a],a++;""!==t[a]&&a<t.length;)o=o+"\n"+t[a],a++;o=o.trim().replace(/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/gi,"<a href='$1' target='_blank'>$1</a>"),n.push({identifier:r,start:0===(0,d.convertSMPTEtoSeconds)(i[1])?.2:(0,d.convertSMPTEtoSeconds)(i[1]),stop:(0,d.convertSMPTEtoSeconds)(i[3]),text:o,settings:i[5]})}r=""}return n}},dfxp:{parse:function(e){var t=(e=$(e).filter("tt")).firstChild,n=t.querySelectorAll("p"),i=e.getElementById(""+t.attr("style")),o=[],r=void 0;if(i.length){i.removeAttribute("id");var a=i.attributes;if(a.length){r={};for(var s=0,l=a.length;s<l;s++)r[a[s].name.split(":")[1]]=a[s].value}}for(var u=0,c=n.length;u<c;u++){var f=void 0,p={start:null,stop:null,style:null,text:null};if(n.eq(u).attr("begin")&&(p.start=(0,d.convertSMPTEtoSeconds)(n.eq(u).attr("begin"))),!p.start&&n.eq(u-1).attr("end")&&(p.start=(0,d.convertSMPTEtoSeconds)(n.eq(u-1).attr("end"))),n.eq(u).attr("end")&&(p.stop=(0,d.convertSMPTEtoSeconds)(n.eq(u).attr("end"))),!p.stop&&n.eq(u+1).attr("begin")&&(p.stop=(0,d.convertSMPTEtoSeconds)(n.eq(u+1).attr("begin"))),r){f="";for(var m in r)f+=m+":"+r[m]+";"}f&&(p.style=f),0===p.start&&(p.start=.2),p.text=n.eq(u).innerHTML.trim().replace(/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/gi,"<a href='$1' target='_blank'>$1</a>"),o.push(p)}return o}}}},{16:16,2:2,26:26,27:27,30:30,5:5,7:7}],14:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}var o=i(e(2)),r=e(16),a=i(r),s=i(e(5)),l=e(25),d=e(27),u=e(26);Object.assign(r.config,{muteText:null,unmuteText:null,allyVolumeControlText:null,hideVolumeOnTouchDevices:!0,audioVolume:"horizontal",videoVolume:"vertical",startVolume:.8}),Object.assign(a.default.prototype,{buildvolume:function(e,t,n,i){if(!l.IS_ANDROID&&!l.IS_IOS||!this.options.hideVolumeOnTouchDevices){var a=this,c=a.isVideo?a.options.videoVolume:a.options.audioVolume,f=(0,d.isString)(a.options.muteText)?a.options.muteText:s.default.t("mejs.mute"),p=(0,d.isString)(a.options.unmuteText)?a.options.unmuteText:s.default.t("mejs.unmute"),m=(0,d.isString)(a.options.allyVolumeControlText)?a.options.allyVolumeControlText:s.default.t("mejs.volume-help-text"),h=o.default.createElement("div");if(h.className=a.options.classPrefix+"button "+a.options.classPrefix+"volume-button "+a.options.classPrefix+"mute",h.innerHTML="horizontal"===c?'<button type="button" aria-controls="'+a.id+'" title="'+f+'" aria-label="'+f+'" tabindex="0"></button>':'<button type="button" aria-controls="'+a.id+'" title="'+f+'" aria-label="'+f+'" tabindex="0"></button><a href="javascript:void(0);" class="'+a.options.classPrefix+'volume-slider" aria-label="'+s.default.t("mejs.volume-slider")+'" aria-valuemin="0" aria-valuemax="100" role="slider" aria-orientation="vertical"><span class="'+a.options.classPrefix+'offscreen">'+m+'</span><div class="'+a.options.classPrefix+'volume-total"><div class="'+a.options.classPrefix+'volume-current"></div><div class="'+a.options.classPrefix+'volume-handle"></div></div></a>',a.addControlElement(h,"volume"),a.options.keyActions.push({keys:[38],action:function(e){var t=e.getElement(e.container).querySelector("."+r.config.classPrefix+"volume-slider");(t||e.getElement(e.container).querySelector("."+r.config.classPrefix+"volume-slider").matches(":focus"))&&(t.style.display="block"),e.isVideo&&(e.showControls(),e.startControlsTimer());var n=Math.min(e.volume+.1,1);e.setVolume(n),n>0&&e.setMuted(!1)}},{keys:[40],action:function(e){var t=e.getElement(e.container).querySelector("."+r.config.classPrefix+"volume-slider");t&&(t.style.display="block"),e.isVideo&&(e.showControls(),e.startControlsTimer());var n=Math.max(e.volume-.1,0);e.setVolume(n),n<=.1&&e.setMuted(!0)}},{keys:[77],action:function(e){e.getElement(e.container).querySelector("."+r.config.classPrefix+"volume-slider").style.display="block",e.isVideo&&(e.showControls(),e.startControlsTimer()),e.media.muted?e.setMuted(!1):e.setMuted(!0)}}),"horizontal"===c){var v=o.default.createElement("a");v.className=a.options.classPrefix+"horizontal-volume-slider",v.href="javascript:void(0);",v.setAttribute("aria-label",s.default.t("mejs.volume-slider")),v.setAttribute("aria-valuemin",0),v.setAttribute("aria-valuemax",100),v.setAttribute("role","slider"),v.innerHTML+='<span class="'+a.options.classPrefix+'offscreen">'+m+'</span><div class="'+a.options.classPrefix+'horizontal-volume-total"><div class="'+a.options.classPrefix+'horizontal-volume-current"></div><div class="'+a.options.classPrefix+'horizontal-volume-handle"></div></div>',h.parentNode.insertBefore(v,h.nextSibling)}var g=!1,y=!1,E=!1,b="vertical"===c?a.getElement(a.container).querySelector("."+a.options.classPrefix+"volume-slider"):a.getElement(a.container).querySelector("."+a.options.classPrefix+"horizontal-volume-slider"),S="vertical"===c?a.getElement(a.container).querySelector("."+a.options.classPrefix+"volume-total"):a.getElement(a.container).querySelector("."+a.options.classPrefix+"horizontal-volume-total"),x="vertical"===c?a.getElement(a.container).querySelector("."+a.options.classPrefix+"volume-current"):a.getElement(a.container).querySelector("."+a.options.classPrefix+"horizontal-volume-current"),w="vertical"===c?a.getElement(a.container).querySelector("."+a.options.classPrefix+"volume-handle"):a.getElement(a.container).querySelector("."+a.options.classPrefix+"horizontal-volume-handle"),P=function(e){if(null!==e&&!isNaN(e)&&void 0!==e){if(e=Math.max(0,e),0===(e=Math.min(e,1))){(0,u.removeClass)(h,a.options.classPrefix+"mute"),(0,u.addClass)(h,a.options.classPrefix+"unmute");var t=h.firstElementChild;t.setAttribute("title",p),t.setAttribute("aria-label",p)}else{(0,u.removeClass)(h,a.options.classPrefix+"unmute"),(0,u.addClass)(h,a.options.classPrefix+"mute");var n=h.firstElementChild;n.setAttribute("title",f),n.setAttribute("aria-label",f)}var i=100*e+"%",o=getComputedStyle(w);"vertical"===c?(x.style.bottom=0,x.style.height=i,w.style.bottom=i,w.style.marginBottom=-parseFloat(o.height)/2+"px"):(x.style.left=0,x.style.width=i,w.style.left=i,w.style.marginLeft=-parseFloat(o.width)/2+"px")}},T=function(e){var t=(0,u.offset)(S),n=getComputedStyle(S);E=!0;var i=null;if("vertical"===c){var o=parseFloat(n.height);if(i=(o-(e.pageY-t.top))/o,0===t.top||0===t.left)return}else{var r=parseFloat(n.width);i=(e.pageX-t.left)/r}i=Math.max(0,i),i=Math.min(i,1),P(i),a.setMuted(0===i),a.setVolume(i),e.preventDefault(),e.stopPropagation()},C=function(){a.muted?(P(0),(0,u.removeClass)(h,a.options.classPrefix+"mute"),(0,u.addClass)(h,a.options.classPrefix+"unmute")):(P(i.volume),(0,u.removeClass)(h,a.options.classPrefix+"unmute"),(0,u.addClass)(h,a.options.classPrefix+"mute"))};e.getElement(e.container).addEventListener("keydown",function(e){!!e.target.closest("."+a.options.classPrefix+"container")||"vertical"!==c||(b.style.display="none")}),h.addEventListener("mouseenter",function(e){e.target===h&&(b.style.display="block",y=!0,e.preventDefault(),e.stopPropagation())}),h.addEventListener("focusin",function(){b.style.display="block",y=!0}),h.addEventListener("focusout",function(e){e.relatedTarget&&(!e.relatedTarget||e.relatedTarget.matches("."+a.options.classPrefix+"volume-slider"))||"vertical"!==c||(b.style.display="none")}),h.addEventListener("mouseleave",function(){y=!1,g||"vertical"!==c||(b.style.display="none")}),h.addEventListener("focusout",function(){y=!1}),h.addEventListener("keydown",function(e){if(a.options.keyActions.length){var t=e.which||e.keyCode||0,n=i.volume;switch(t){case 38:n=Math.min(n+.1,1);break;case 40:n=Math.max(0,n-.1);break;default:return!0}g=!1,P(n),i.setVolume(n),e.preventDefault(),e.stopPropagation()}}),h.querySelector("button").addEventListener("click",function(){i.setMuted(!i.muted);var e=(0,d.createEvent)("volumechange",i);i.dispatchEvent(e)}),b.addEventListener("dragstart",function(){return!1}),b.addEventListener("mouseover",function(){y=!0}),b.addEventListener("focusin",function(){b.style.display="block",y=!0}),b.addEventListener("focusout",function(){y=!1,g||"vertical"!==c||(b.style.display="none")}),b.addEventListener("mousedown",function(e){T(e),a.globalBind("mousemove.vol",function(e){var t=e.target;g&&(t===b||t.closest("vertical"===c?"."+a.options.classPrefix+"volume-slider":"."+a.options.classPrefix+"horizontal-volume-slider"))&&T(e)}),a.globalBind("mouseup.vol",function(){g=!1,y||"vertical"!==c||(b.style.display="none")}),g=!0,e.preventDefault(),e.stopPropagation()}),i.addEventListener("volumechange",function(e){g||C(),function(){var e=Math.floor(100*i.volume);b.setAttribute("aria-valuenow",e),b.setAttribute("aria-valuetext",e+"%")}()});var k=!1;i.addEventListener("rendererready",function(){E||setTimeout(function(){k=!0,(0===e.options.startVolume||i.originalNode.muted)&&(i.setMuted(!0),e.options.startVolume=0),i.setVolume(e.options.startVolume),a.setControlsSize()},250)}),i.addEventListener("loadedmetadata",function(){setTimeout(function(){E||k||((0===e.options.startVolume||i.originalNode.muted)&&i.setMuted(!0),i.setVolume(e.options.startVolume),a.setControlsSize()),k=!1},250)}),(0===e.options.startVolume||i.originalNode.muted)&&(i.setMuted(!0),e.options.startVolume=0,C()),a.getElement(a.container).addEventListener("controlsresize",function(){C()})}}})},{16:16,2:2,25:25,26:26,27:27,5:5}],15:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});n.EN={"mejs.plural-form":1,"mejs.download-file":"Download File","mejs.install-flash":"You are using a browser that does not have Flash player enabled or installed. Please turn on your Flash player plugin or download the latest version from https://get.adobe.com/flashplayer/","mejs.fullscreen":"Fullscreen","mejs.play":"Play","mejs.pause":"Pause","mejs.time-slider":"Time Slider","mejs.time-help-text":"Use Left/Right Arrow keys to advance one second, Up/Down arrows to advance ten seconds.","mejs.live-broadcast":"Live Broadcast","mejs.volume-help-text":"Use Up/Down Arrow keys to increase or decrease volume.","mejs.unmute":"Unmute","mejs.mute":"Mute","mejs.volume-slider":"Volume Slider","mejs.video-player":"Video Player","mejs.audio-player":"Audio Player","mejs.captions-subtitles":"Captions/Subtitles","mejs.captions-chapters":"Chapters","mejs.none":"None","mejs.afrikaans":"Afrikaans","mejs.albanian":"Albanian","mejs.arabic":"Arabic","mejs.belarusian":"Belarusian","mejs.bulgarian":"Bulgarian","mejs.catalan":"Catalan","mejs.chinese":"Chinese","mejs.chinese-simplified":"Chinese (Simplified)","mejs.chinese-traditional":"Chinese (Traditional)","mejs.croatian":"Croatian","mejs.czech":"Czech","mejs.danish":"Danish","mejs.dutch":"Dutch","mejs.english":"English","mejs.estonian":"Estonian","mejs.filipino":"Filipino","mejs.finnish":"Finnish","mejs.french":"French","mejs.galician":"Galician","mejs.german":"German","mejs.greek":"Greek","mejs.haitian-creole":"Haitian Creole","mejs.hebrew":"Hebrew","mejs.hindi":"Hindi","mejs.hungarian":"Hungarian","mejs.icelandic":"Icelandic","mejs.indonesian":"Indonesian","mejs.irish":"Irish","mejs.italian":"Italian","mejs.japanese":"Japanese","mejs.korean":"Korean","mejs.latvian":"Latvian","mejs.lithuanian":"Lithuanian","mejs.macedonian":"Macedonian","mejs.malay":"Malay","mejs.maltese":"Maltese","mejs.norwegian":"Norwegian","mejs.persian":"Persian","mejs.polish":"Polish","mejs.portuguese":"Portuguese","mejs.romanian":"Romanian","mejs.russian":"Russian","mejs.serbian":"Serbian","mejs.slovak":"Slovak","mejs.slovenian":"Slovenian","mejs.spanish":"Spanish","mejs.swahili":"Swahili","mejs.swedish":"Swedish","mejs.tagalog":"Tagalog","mejs.thai":"Thai","mejs.turkish":"Turkish","mejs.ukrainian":"Ukrainian","mejs.vietnamese":"Vietnamese","mejs.welsh":"Welsh","mejs.yiddish":"Yiddish"}},{}],16:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(n,"__esModule",{value:!0}),n.config=void 0;var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),a=i(e(3)),s=i(e(2)),l=i(e(7)),d=i(e(6)),u=i(e(17)),c=i(e(5)),f=e(25),p=e(27),m=e(30),h=e(28),v=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(e(26));l.default.mepIndex=0,l.default.players={};var g=n.config={poster:"",showPosterWhenEnded:!1,showPosterWhenPaused:!1,defaultVideoWidth:480,defaultVideoHeight:270,videoWidth:-1,videoHeight:-1,defaultAudioWidth:400,defaultAudioHeight:40,defaultSeekBackwardInterval:function(e){return.05*e.getDuration()},defaultSeekForwardInterval:function(e){return.05*e.getDuration()},setDimensions:!0,audioWidth:-1,audioHeight:-1,loop:!1,autoRewind:!0,enableAutosize:!0,timeFormat:"",alwaysShowHours:!1,showTimecodeFrameCount:!1,framesPerSecond:25,alwaysShowControls:!1,hideVideoControlsOnLoad:!1,hideVideoControlsOnPause:!1,clickToPlayPause:!0,controlsTimeoutDefault:1500,controlsTimeoutMouseEnter:2500,controlsTimeoutMouseLeave:1e3,iPadUseNativeControls:!1,iPhoneUseNativeControls:!1,AndroidUseNativeControls:!1,features:["playpause","current","progress","duration","tracks","volume","fullscreen"],useDefaultControls:!1,isVideo:!0,stretching:"auto",classPrefix:"mejs__",enableKeyboard:!0,pauseOtherPlayers:!0,secondsDecimalLength:0,customError:null,keyActions:[{keys:[32,179],action:function(e){f.IS_FIREFOX||(e.paused||e.ended?e.play():e.pause())}}]};l.default.MepDefaults=g;var y=function(){function e(t,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e);var i="string"==typeof t?s.default.getElementById(t):t;if(!(this instanceof e))return new e(i,n);if(this.node=this.media=i,this.node){if(this.media.player)return this.media.player;if(this.hasFocus=!1,this.controlsAreVisible=!0,this.controlsEnabled=!0,this.controlsTimer=null,this.currentMediaTime=0,this.proxy=null,void 0===n){var o=this.node.getAttribute("data-mejsoptions");n=o?JSON.parse(o):{}}return this.options=Object.assign({},g,n),this.options.loop&&!this.media.getAttribute("loop")?(this.media.loop=!0,this.node.loop=!0):this.media.loop&&(this.options.loop=!0),this.options.timeFormat||(this.options.timeFormat="mm:ss",this.options.alwaysShowHours&&(this.options.timeFormat="hh:mm:ss"),this.options.showTimecodeFrameCount&&(this.options.timeFormat+=":ff")),(0,m.calculateTimeFormat)(0,this.options,this.options.framesPerSecond||25),this.id="mep_"+l.default.mepIndex++,l.default.players[this.id]=this,this.init(),this}}return r(e,[{key:"getElement",value:function(e){return e}},{key:"init",value:function(){var e=this,t=Object.assign({},e.options,{success:function(t,n){e._meReady(t,n)},error:function(t){e._handleError(t)}}),n=e.node.tagName.toLowerCase();if(e.isDynamic="audio"!==n&&"video"!==n&&"iframe"!==n,e.isVideo=e.isDynamic?e.options.isVideo:"audio"!==n&&e.options.isVideo,e.mediaFiles=null,e.trackFiles=null,f.IS_IPAD&&e.options.iPadUseNativeControls||f.IS_IPHONE&&e.options.iPhoneUseNativeControls)e.node.setAttribute("controls",!0),f.IS_IPAD&&e.node.getAttribute("autoplay")&&e.play();else if(!e.isVideo&&(e.isVideo||!e.options.features.length&&!e.options.useDefaultControls)||f.IS_ANDROID&&e.options.AndroidUseNativeControls)e.isVideo||e.options.features.length||e.options.useDefaultControls||(e.node.style.display="none");else{e.node.removeAttribute("controls");var i=e.isVideo?c.default.t("mejs.video-player"):c.default.t("mejs.audio-player"),o=s.default.createElement("span");if(o.className=e.options.classPrefix+"offscreen",o.innerText=i,e.media.parentNode.insertBefore(o,e.media),e.container=s.default.createElement("div"),e.getElement(e.container).id=e.id,e.getElement(e.container).className=e.options.classPrefix+"container "+e.options.classPrefix+"container-keyboard-inactive "+e.media.className,e.getElement(e.container).tabIndex=0,e.getElement(e.container).setAttribute("role","application"),e.getElement(e.container).setAttribute("aria-label",i),e.getElement(e.container).innerHTML='<div class="'+e.options.classPrefix+'inner"><div class="'+e.options.classPrefix+'mediaelement"></div><div class="'+e.options.classPrefix+'layers"></div><div class="'+e.options.classPrefix+'controls"></div></div>',e.getElement(e.container).addEventListener("focus",function(t){if(!e.controlsAreVisible&&!e.hasFocus&&e.controlsEnabled){e.showControls(!0);var n=(0,p.isNodeAfter)(t.relatedTarget,e.getElement(e.container))?"."+e.options.classPrefix+"controls ."+e.options.classPrefix+"button:last-child > button":"."+e.options.classPrefix+"playpause-button > button";e.getElement(e.container).querySelector(n).focus()}}),e.node.parentNode.insertBefore(e.getElement(e.container),e.node),e.options.features.length||e.options.useDefaultControls||(e.getElement(e.container).style.background="transparent",e.getElement(e.container).querySelector("."+e.options.classPrefix+"controls").style.display="none"),e.isVideo&&"fill"===e.options.stretching&&!v.hasClass(e.getElement(e.container).parentNode,e.options.classPrefix+"fill-container")){e.outerContainer=e.media.parentNode;var r=s.default.createElement("div");r.className=e.options.classPrefix+"fill-container",e.getElement(e.container).parentNode.insertBefore(r,e.getElement(e.container)),r.appendChild(e.getElement(e.container))}if(f.IS_ANDROID&&v.addClass(e.getElement(e.container),e.options.classPrefix+"android"),f.IS_IOS&&v.addClass(e.getElement(e.container),e.options.classPrefix+"ios"),f.IS_IPAD&&v.addClass(e.getElement(e.container),e.options.classPrefix+"ipad"),f.IS_IPHONE&&v.addClass(e.getElement(e.container),e.options.classPrefix+"iphone"),v.addClass(e.getElement(e.container),e.isVideo?e.options.classPrefix+"video":e.options.classPrefix+"audio"),f.IS_SAFARI&&!f.IS_IOS){v.addClass(e.getElement(e.container),e.options.classPrefix+"hide-cues");for(var a=e.node.cloneNode(),u=e.node.children,m=[],g=[],y=0,E=u.length;y<E;y++){var b=u[y];!function(){switch(b.tagName.toLowerCase()){case"source":var e={};Array.prototype.slice.call(b.attributes).forEach(function(t){e[t.name]=t.value}),e.type=(0,h.formatType)(e.src,e.type),m.push(e);break;case"track":b.mode="hidden",g.push(b);break;default:a.appendChild(b)}}()}e.node.remove(),e.node=e.media=a,m.length&&(e.mediaFiles=m),g.length&&(e.trackFiles=g)}e.getElement(e.container).querySelector("."+e.options.classPrefix+"mediaelement").appendChild(e.node),e.media.player=e,e.controls=e.getElement(e.container).querySelector("."+e.options.classPrefix+"controls"),e.layers=e.getElement(e.container).querySelector("."+e.options.classPrefix+"layers");var S=e.isVideo?"video":"audio",x=S.substring(0,1).toUpperCase()+S.substring(1);e.options[S+"Width"]>0||e.options[S+"Width"].toString().indexOf("%")>-1?e.width=e.options[S+"Width"]:""!==e.node.style.width&&null!==e.node.style.width?e.width=e.node.style.width:e.node.getAttribute("width")?e.width=e.node.getAttribute("width"):e.width=e.options["default"+x+"Width"],e.options[S+"Height"]>0||e.options[S+"Height"].toString().indexOf("%")>-1?e.height=e.options[S+"Height"]:""!==e.node.style.height&&null!==e.node.style.height?e.height=e.node.style.height:e.node.getAttribute("height")?e.height=e.node.getAttribute("height"):e.height=e.options["default"+x+"Height"],e.initialAspectRatio=e.height>=e.width?e.width/e.height:e.height/e.width,e.setPlayerSize(e.width,e.height),t.pluginWidth=e.width,t.pluginHeight=e.height}if(l.default.MepDefaults=t,new d.default(e.media,t,e.mediaFiles),void 0!==e.getElement(e.container)&&e.options.features.length&&e.controlsAreVisible&&!e.options.hideVideoControlsOnLoad){var w=(0,p.createEvent)("controlsshown",e.getElement(e.container));e.getElement(e.container).dispatchEvent(w)}}},{key:"showControls",value:function(e){var t=this;if(e=void 0===e||e,!t.controlsAreVisible&&t.isVideo){if(e)!function(){v.fadeIn(t.getElement(t.controls),200,function(){v.removeClass(t.getElement(t.controls),t.options.classPrefix+"offscreen");var e=(0,p.createEvent)("controlsshown",t.getElement(t.container));t.getElement(t.container).dispatchEvent(e)});for(var e=t.getElement(t.container).querySelectorAll("."+t.options.classPrefix+"control"),n=function(n,i){v.fadeIn(e[n],200,function(){v.removeClass(e[n],t.options.classPrefix+"offscreen")})},i=0,o=e.length;i<o;i++)n(i)}();else{v.removeClass(t.getElement(t.controls),t.options.classPrefix+"offscreen"),t.getElement(t.controls).style.display="",t.getElement(t.controls).style.opacity=1;for(var n=t.getElement(t.container).querySelectorAll("."+t.options.classPrefix+"control"),i=0,o=n.length;i<o;i++)v.removeClass(n[i],t.options.classPrefix+"offscreen"),n[i].style.display="";var r=(0,p.createEvent)("controlsshown",t.getElement(t.container));t.getElement(t.container).dispatchEvent(r)}t.controlsAreVisible=!0,t.setControlsSize()}}},{key:"hideControls",value:function(e,t){var n=this;if(e=void 0===e||e,!0===t||!(!n.controlsAreVisible||n.options.alwaysShowControls||n.paused&&4===n.readyState&&(!n.options.hideVideoControlsOnLoad&&n.currentTime<=0||!n.options.hideVideoControlsOnPause&&n.currentTime>0)||n.isVideo&&!n.options.hideVideoControlsOnLoad&&!n.readyState||n.ended)){if(e)!function(){v.fadeOut(n.getElement(n.controls),200,function(){v.addClass(n.getElement(n.controls),n.options.classPrefix+"offscreen"),n.getElement(n.controls).style.display="";var e=(0,p.createEvent)("controlshidden",n.getElement(n.container));n.getElement(n.container).dispatchEvent(e)});for(var e=n.getElement(n.container).querySelectorAll("."+n.options.classPrefix+"control"),t=function(t,i){v.fadeOut(e[t],200,function(){v.addClass(e[t],n.options.classPrefix+"offscreen"),e[t].style.display=""})},i=0,o=e.length;i<o;i++)t(i)}();else{v.addClass(n.getElement(n.controls),n.options.classPrefix+"offscreen"),n.getElement(n.controls).style.display="",n.getElement(n.controls).style.opacity=0;for(var i=n.getElement(n.container).querySelectorAll("."+n.options.classPrefix+"control"),o=0,r=i.length;o<r;o++)v.addClass(i[o],n.options.classPrefix+"offscreen"),i[o].style.display="";var a=(0,p.createEvent)("controlshidden",n.getElement(n.container));n.getElement(n.container).dispatchEvent(a)}n.controlsAreVisible=!1}}},{key:"startControlsTimer",value:function(e){var t=this;e=void 0!==e?e:t.options.controlsTimeoutDefault,t.killControlsTimer("start"),t.controlsTimer=setTimeout(function(){t.hideControls(),t.killControlsTimer("hide")},e)}},{key:"killControlsTimer",value:function(){null!==this.controlsTimer&&(clearTimeout(this.controlsTimer),delete this.controlsTimer,this.controlsTimer=null)}},{key:"disableControls",value:function(){this.killControlsTimer(),this.controlsEnabled=!1,this.hideControls(!1,!0)}},{key:"enableControls",value:function(){this.controlsEnabled=!0,this.showControls(!1)}},{key:"_setDefaultPlayer",value:function(){var e=this;e.proxy&&e.proxy.pause(),e.proxy=new u.default(e),e.media.addEventListener("loadedmetadata",function(){e.getCurrentTime()>0&&e.currentMediaTime>0&&(e.setCurrentTime(e.currentMediaTime),f.IS_IOS||f.IS_ANDROID||e.play())})}},{key:"_meReady",value:function(e,t){var n=this,i=t.getAttribute("autoplay"),o=!(void 0===i||null===i||"false"===i),r=null!==e.rendererName&&/(native|html5)/i.test(n.media.rendererName);if(n.getElement(n.controls)&&n.enableControls(),n.getElement(n.container)&&n.getElement(n.container).querySelector("."+n.options.classPrefix+"overlay-play")&&(n.getElement(n.container).querySelector("."+n.options.classPrefix+"overlay-play").style.display=""),!n.created){if(n.created=!0,n.media=e,n.domNode=t,!(f.IS_ANDROID&&n.options.AndroidUseNativeControls||f.IS_IPAD&&n.options.iPadUseNativeControls||f.IS_IPHONE&&n.options.iPhoneUseNativeControls)){if(!n.isVideo&&!n.options.features.length&&!n.options.useDefaultControls)return o&&r&&n.play(),void(n.options.success&&("string"==typeof n.options.success?a.default[n.options.success](n.media,n.domNode,n):n.options.success(n.media,n.domNode,n)));if(n.featurePosition={},n._setDefaultPlayer(),n.buildposter(n,n.getElement(n.controls),n.getElement(n.layers),n.media),n.buildkeyboard(n,n.getElement(n.controls),n.getElement(n.layers),n.media),n.buildoverlays(n,n.getElement(n.controls),n.getElement(n.layers),n.media),n.options.useDefaultControls){var d=["playpause","current","progress","duration","tracks","volume","fullscreen"];n.options.features=d.concat(n.options.features.filter(function(e){return-1===d.indexOf(e)}))}n.buildfeatures(n,n.getElement(n.controls),n.getElement(n.layers),n.media);var u=(0,p.createEvent)("controlsready",n.getElement(n.container));n.getElement(n.container).dispatchEvent(u),n.setPlayerSize(n.width,n.height),n.setControlsSize(),n.isVideo&&(n.clickToPlayPauseCallback=function(){if(n.options.clickToPlayPause){var e=n.getElement(n.container).querySelector("."+n.options.classPrefix+"overlay-button"),t=e.getAttribute("aria-pressed");n.paused&&t?n.pause():n.paused?n.play():n.pause(),e.setAttribute("aria-pressed",!t),n.getElement(n.container).focus()}},n.createIframeLayer(),n.media.addEventListener("click",n.clickToPlayPauseCallback),!f.IS_ANDROID&&!f.IS_IOS||n.options.alwaysShowControls?(n.getElement(n.container).addEventListener("mouseenter",function(){n.controlsEnabled&&(n.options.alwaysShowControls||(n.killControlsTimer("enter"),n.showControls(),n.startControlsTimer(n.options.controlsTimeoutMouseEnter)))}),n.getElement(n.container).addEventListener("mousemove",function(){n.controlsEnabled&&(n.controlsAreVisible||n.showControls(),n.options.alwaysShowControls||n.startControlsTimer(n.options.controlsTimeoutMouseEnter))}),n.getElement(n.container).addEventListener("mouseleave",function(){n.controlsEnabled&&(n.paused||n.options.alwaysShowControls||n.startControlsTimer(n.options.controlsTimeoutMouseLeave))})):n.node.addEventListener("touchstart",function(){n.controlsAreVisible?n.hideControls(!1):n.controlsEnabled&&n.showControls(!1)},!!f.SUPPORT_PASSIVE_EVENT&&{passive:!0}),n.options.hideVideoControlsOnLoad&&n.hideControls(!1),n.options.enableAutosize&&n.media.addEventListener("loadedmetadata",function(e){var t=void 0!==e?e.detail.target||e.target:n.media;n.options.videoHeight<=0&&!n.domNode.getAttribute("height")&&!n.domNode.style.height&&null!==t&&!isNaN(t.videoHeight)&&(n.setPlayerSize(t.videoWidth,t.videoHeight),n.setControlsSize(),n.media.setSize(t.videoWidth,t.videoHeight))})),n.media.addEventListener("play",function(){n.hasFocus=!0;for(var e in l.default.players)if(l.default.players.hasOwnProperty(e)){var t=l.default.players[e];t.id===n.id||!n.options.pauseOtherPlayers||t.paused||t.ended||(t.pause(),t.hasFocus=!1)}f.IS_ANDROID||f.IS_IOS||n.options.alwaysShowControls||!n.isVideo||n.hideControls()}),n.media.addEventListener("ended",function(){if(n.options.autoRewind)try{n.setCurrentTime(0),setTimeout(function(){var e=n.getElement(n.container).querySelector("."+n.options.classPrefix+"overlay-loading");e&&e.parentNode&&(e.parentNode.style.display="none")},20)}catch(e){}"function"==typeof n.media.renderer.stop?n.media.renderer.stop():n.pause(),n.setProgressRail&&n.setProgressRail(),n.setCurrentRail&&n.setCurrentRail(),n.options.loop?n.play():!n.options.alwaysShowControls&&n.controlsEnabled&&n.showControls()}),n.media.addEventListener("loadedmetadata",function(){(0,m.calculateTimeFormat)(n.getDuration(),n.options,n.options.framesPerSecond||25),n.updateDuration&&n.updateDuration(),n.updateCurrent&&n.updateCurrent(),n.isFullScreen||(n.setPlayerSize(n.width,n.height),n.setControlsSize())});var c=null;n.media.addEventListener("timeupdate",function(){isNaN(n.getDuration())||c===n.getDuration()||(c=n.getDuration(),(0,m.calculateTimeFormat)(c,n.options,n.options.framesPerSecond||25),n.updateDuration&&n.updateDuration(),n.updateCurrent&&n.updateCurrent(),n.setControlsSize())}),n.getElement(n.container).addEventListener("click",function(e){v.addClass(e.currentTarget,n.options.classPrefix+"container-keyboard-inactive")}),n.getElement(n.container).addEventListener("focusin",function(e){v.removeClass(e.currentTarget,n.options.classPrefix+"container-keyboard-inactive"),!n.isVideo||f.IS_ANDROID||f.IS_IOS||!n.controlsEnabled||n.options.alwaysShowControls||(n.killControlsTimer("enter"),n.showControls(),n.startControlsTimer(n.options.controlsTimeoutMouseEnter))}),n.getElement(n.container).addEventListener("focusout",function(e){setTimeout(function(){e.relatedTarget&&n.keyboardAction&&!e.relatedTarget.closest("."+n.options.classPrefix+"container")&&(n.keyboardAction=!1,!n.isVideo||n.options.alwaysShowControls||n.paused||n.startControlsTimer(n.options.controlsTimeoutMouseLeave))},0)}),setTimeout(function(){n.setPlayerSize(n.width,n.height),n.setControlsSize()},0),n.globalResizeCallback=function(){n.isFullScreen||f.HAS_TRUE_NATIVE_FULLSCREEN&&s.default.webkitIsFullScreen||n.setPlayerSize(n.width,n.height),n.setControlsSize()},n.globalBind("resize",n.globalResizeCallback)}o&&r&&n.play(),n.options.success&&("string"==typeof n.options.success?a.default[n.options.success](n.media,n.domNode,n):n.options.success(n.media,n.domNode,n))}}},{key:"_handleError",value:function(e,t,n){var i=this.getElement(this.layers).querySelector("."+this.options.classPrefix+"overlay-play");i&&(i.style.display="none"),this.options.error&&this.options.error(e,t,n),this.getElement(this.container).querySelector("."+this.options.classPrefix+"cannotplay")&&this.getElement(this.container).querySelector("."+this.options.classPrefix+"cannotplay").remove();var o=s.default.createElement("div");o.className=this.options.classPrefix+"cannotplay",o.style.width="100%",o.style.height="100%";var r="function"==typeof this.options.customError?this.options.customError(this.media,this.media.originalNode):this.options.customError,a="";if(!r){var d=this.media.originalNode.getAttribute("poster");if(d&&(a='<img src="'+d+'" alt="'+l.default.i18n.t("mejs.download-file")+'">'),e.message&&(r="<p>"+e.message+"</p>"),e.urls)for(var u=0,c=e.urls.length;u<c;u++){var f=e.urls[u];r+='<a href="'+f.src+'" data-type="'+f.type+'"><span>'+l.default.i18n.t("mejs.download-file")+": "+f.src+"</span></a>"}}r&&this.getElement(this.layers).querySelector("."+this.options.classPrefix+"overlay-error")&&(o.innerHTML=r,this.getElement(this.layers).querySelector("."+this.options.classPrefix+"overlay-error").innerHTML=""+a+o.outerHTML,this.getElement(this.layers).querySelector("."+this.options.classPrefix+"overlay-error").parentNode.style.display="block"),this.controlsEnabled&&this.disableControls()}},{key:"setPlayerSize",value:function(e,t){if(!this.options.setDimensions)return!1;switch(void 0!==e&&(this.width=e),void 0!==t&&(this.height=t),this.options.stretching){case"fill":this.isVideo?this.setFillMode():this.setDimensions(this.width,this.height);break;case"responsive":this.setResponsiveMode();break;case"none":this.setDimensions(this.width,this.height);break;default:!0===this.hasFluidMode()?this.setResponsiveMode():this.setDimensions(this.width,this.height)}}},{key:"hasFluidMode",value:function(){return-1!==this.height.toString().indexOf("%")||this.node&&this.node.style.maxWidth&&"none"!==this.node.style.maxWidth&&this.node.style.maxWidth!==this.width||this.node&&this.node.currentStyle&&"100%"===this.node.currentStyle.maxWidth}},{key:"setResponsiveMode",value:function(){var e=this,t=function(){for(var t=void 0,n=e.getElement(e.container);n;){try{if(f.IS_FIREFOX&&"html"===n.tagName.toLowerCase()&&a.default.self!==a.default.top&&null!==a.default.frameElement)return a.default.frameElement;t=n.parentElement}catch(e){t=n.parentElement}if(t&&v.visible(t))return t;n=t}return null}(),n=t?getComputedStyle(t,null):getComputedStyle(s.default.body,null),i=e.isVideo?e.node.videoWidth&&e.node.videoWidth>0?e.node.videoWidth:e.node.getAttribute("width")?e.node.getAttribute("width"):e.options.defaultVideoWidth:e.options.defaultAudioWidth,o=e.isVideo?e.node.videoHeight&&e.node.videoHeight>0?e.node.videoHeight:e.node.getAttribute("height")?e.node.getAttribute("height"):e.options.defaultVideoHeight:e.options.defaultAudioHeight,r=function(){var t=1;return e.isVideo?(t=e.node.videoWidth&&e.node.videoWidth>0&&e.node.videoHeight&&e.node.videoHeight>0?e.height>=e.width?e.node.videoWidth/e.node.videoHeight:e.node.videoHeight/e.node.videoWidth:e.initialAspectRatio,(isNaN(t)||t<.01||t>100)&&(t=1),t):t}(),l=parseFloat(n.height),d=void 0,u=parseFloat(n.width);if(d=e.isVideo?"100%"===e.height?parseFloat(u*o/i,10):e.height>=e.width?parseFloat(u/r,10):parseFloat(u*r,10):o,isNaN(d)&&(d=l),e.getElement(e.container).parentNode.length>0&&"body"===e.getElement(e.container).parentNode.tagName.toLowerCase()&&(u=a.default.innerWidth||s.default.documentElement.clientWidth||s.default.body.clientWidth,d=a.default.innerHeight||s.default.documentElement.clientHeight||s.default.body.clientHeight),d&&u){e.getElement(e.container).style.width=u+"px",e.getElement(e.container).style.height=d+"px",e.node.style.width="100%",e.node.style.height="100%",e.isVideo&&e.media.setSize&&e.media.setSize(u,d);for(var c=e.getElement(e.layers).children,p=0,m=c.length;p<m;p++)c[p].style.width="100%",c[p].style.height="100%"}}},{key:"setFillMode",value:function(){var e=this,t=a.default.self!==a.default.top&&null!==a.default.frameElement,n=function(){for(var t=void 0,n=e.getElement(e.container);n;){try{if(f.IS_FIREFOX&&"html"===n.tagName.toLowerCase()&&a.default.self!==a.default.top&&null!==a.default.frameElement)return a.default.frameElement;t=n.parentElement}catch(e){t=n.parentElement}if(t&&v.visible(t))return t;n=t}return null}(),i=n?getComputedStyle(n,null):getComputedStyle(s.default.body,null);"none"!==e.node.style.height&&e.node.style.height!==e.height&&(e.node.style.height="auto"),"none"!==e.node.style.maxWidth&&e.node.style.maxWidth!==e.width&&(e.node.style.maxWidth="none"),"none"!==e.node.style.maxHeight&&e.node.style.maxHeight!==e.height&&(e.node.style.maxHeight="none"),e.node.currentStyle&&("100%"===e.node.currentStyle.height&&(e.node.currentStyle.height="auto"),"100%"===e.node.currentStyle.maxWidth&&(e.node.currentStyle.maxWidth="none"),"100%"===e.node.currentStyle.maxHeight&&(e.node.currentStyle.maxHeight="none")),t||parseFloat(i.width)||(n.style.width=e.media.offsetWidth+"px"),t||parseFloat(i.height)||(n.style.height=e.media.offsetHeight+"px"),i=getComputedStyle(n);var o=parseFloat(i.width),r=parseFloat(i.height);e.setDimensions("100%","100%");var l=e.getElement(e.container).querySelector("."+e.options.classPrefix+"poster>img");l&&(l.style.display="");for(var d=e.getElement(e.container).querySelectorAll("object, embed, iframe, video"),u=e.height,c=e.width,p=o,m=u*o/c,h=c*r/u,g=r,y=h>o==!1,E=y?Math.floor(p):Math.floor(h),b=y?Math.floor(m):Math.floor(g),S=y?o+"px":E+"px",x=y?b+"px":r+"px",w=0,P=d.length;w<P;w++)d[w].style.height=x,d[w].style.width=S,e.media.setSize&&e.media.setSize(S,x),d[w].style.marginLeft=Math.floor((o-E)/2)+"px",d[w].style.marginTop=0}},{key:"setDimensions",value:function(e,t){e=(0,p.isString)(e)&&e.indexOf("%")>-1?e:parseFloat(e)+"px",t=(0,p.isString)(t)&&t.indexOf("%")>-1?t:parseFloat(t)+"px",this.getElement(this.container).style.width=e,this.getElement(this.container).style.height=t;for(var n=this.getElement(this.layers).children,i=0,o=n.length;i<o;i++)n[i].style.width=e,n[i].style.height=t}},{key:"setControlsSize",value:function(){var e=this;if(v.visible(e.getElement(e.container)))if(e.rail&&v.visible(e.rail)){for(var t=e.total?getComputedStyle(e.total,null):null,n=t?parseFloat(t.marginLeft)+parseFloat(t.marginRight):0,i=getComputedStyle(e.rail),o=parseFloat(i.marginLeft)+parseFloat(i.marginRight),r=0,a=v.siblings(e.rail,function(t){return t!==e.rail}),s=a.length,l=0;l<s;l++)r+=a[l].offsetWidth;r+=n+(0===n?2*o:o)+1,e.getElement(e.container).style.minWidth=r+"px";var d=(0,p.createEvent)("controlsresize",e.getElement(e.container));e.getElement(e.container).dispatchEvent(d)}else{for(var u=e.getElement(e.controls).children,c=0,f=0,m=u.length;f<m;f++)c+=u[f].offsetWidth;e.getElement(e.container).style.minWidth=c+"px"}}},{key:"addControlElement",value:function(e,t){if(void 0!==this.featurePosition[t]){var n=this.getElement(this.controls).children[this.featurePosition[t]-1];n.parentNode.insertBefore(e,n.nextSibling)}else{this.getElement(this.controls).appendChild(e);for(var i=this.getElement(this.controls).children,o=0,r=i.length;o<r;o++)if(e===i[o]){this.featurePosition[t]=o;break}}}},{key:"createIframeLayer",value:function(){var e=this;if(e.isVideo&&null!==e.media.rendererName&&e.media.rendererName.indexOf("iframe")>-1&&!s.default.getElementById(e.media.id+"-iframe-overlay")){var t=s.default.createElement("div"),n=s.default.getElementById(e.media.id+"_"+e.media.rendererName);t.id=e.media.id+"-iframe-overlay",t.className=e.options.classPrefix+"iframe-overlay",t.addEventListener("click",function(t){e.options.clickToPlayPause&&(e.paused?e.play():e.pause(),t.preventDefault(),t.stopPropagation())}),n.parentNode.insertBefore(t,n)}}},{key:"resetSize",value:function(){var e=this;setTimeout(function(){e.setPlayerSize(e.width,e.height),e.setControlsSize()},50)}},{key:"setPoster",value:function(e){if(this.getElement(this.container)){var t=this.getElement(this.container).querySelector("."+this.options.classPrefix+"poster");t||((t=s.default.createElement("div")).className=this.options.classPrefix+"poster "+this.options.classPrefix+"layer",this.getElement(this.layers).appendChild(t));var n=t.querySelector("img");!n&&e&&((n=s.default.createElement("img")).className=this.options.classPrefix+"poster-img",n.width="100%",n.height="100%",t.style.display="",t.appendChild(n)),e?(n.setAttribute("src",e),t.style.backgroundImage='url("'+e+'")',t.style.display=""):n?(t.style.backgroundImage="none",t.style.display="none",n.remove()):t.style.display="none"}else(f.IS_IPAD&&this.options.iPadUseNativeControls||f.IS_IPHONE&&this.options.iPhoneUseNativeControls||f.IS_ANDROID&&this.options.AndroidUseNativeControls)&&(this.media.originalNode.poster=e)}},{key:"changeSkin",value:function(e){this.getElement(this.container).className=this.options.classPrefix+"container "+e,this.setPlayerSize(this.width,this.height),this.setControlsSize()}},{key:"globalBind",value:function(e,t){var n=this.node?this.node.ownerDocument:s.default;if((e=(0,p.splitEvents)(e,this.id)).d)for(var i=e.d.split(" "),o=0,r=i.length;o<r;o++)i[o].split(".").reduce(function(e,i){return n.addEventListener(i,t,!1),i},"");if(e.w)for(var l=e.w.split(" "),d=0,u=l.length;d<u;d++)l[d].split(".").reduce(function(e,n){return a.default.addEventListener(n,t,!1),n},"")}},{key:"globalUnbind",value:function(e,t){var n=this.node?this.node.ownerDocument:s.default;if((e=(0,p.splitEvents)(e,this.id)).d)for(var i=e.d.split(" "),o=0,r=i.length;o<r;o++)i[o].split(".").reduce(function(e,i){return n.removeEventListener(i,t,!1),i},"");if(e.w)for(var l=e.w.split(" "),d=0,u=l.length;d<u;d++)l[d].split(".").reduce(function(e,n){return a.default.removeEventListener(n,t,!1),n},"")}},{key:"buildfeatures",value:function(e,t,n,i){for(var o=0,r=this.options.features.length;o<r;o++){var a=this.options.features[o];if(this["build"+a])try{this["build"+a](e,t,n,i)}catch(e){console.error("error building "+a,e)}}}},{key:"buildposter",value:function(e,t,n,i){var o=s.default.createElement("div");o.className=this.options.classPrefix+"poster "+this.options.classPrefix+"layer",n.appendChild(o);var r=i.originalNode.getAttribute("poster");""!==e.options.poster&&(r&&f.IS_IOS&&i.originalNode.removeAttribute("poster"),r=e.options.poster),r?this.setPoster(r):null!==this.media.renderer&&"function"==typeof this.media.renderer.getPosterUrl?this.setPoster(this.media.renderer.getPosterUrl()):o.style.display="none",i.addEventListener("play",function(){o.style.display="none"}),i.addEventListener("playing",function(){o.style.display="none"}),e.options.showPosterWhenEnded&&e.options.autoRewind&&i.addEventListener("ended",function(){o.style.display=""}),i.addEventListener("error",function(){o.style.display="none"}),e.options.showPosterWhenPaused&&i.addEventListener("pause",function(){e.ended||(o.style.display="")})}},{key:"buildoverlays",value:function(e,t,n,i){if(e.isVideo){var o=this,r=s.default.createElement("div"),a=s.default.createElement("div"),l=s.default.createElement("div");r.style.display="none",r.className=o.options.classPrefix+"overlay "+o.options.classPrefix+"layer",r.innerHTML='<div class="'+o.options.classPrefix+'overlay-loading"><span class="'+o.options.classPrefix+'overlay-loading-bg-img"></span></div>',n.appendChild(r),a.style.display="none",a.className=o.options.classPrefix+"overlay "+o.options.classPrefix+"layer",a.innerHTML='<div class="'+o.options.classPrefix+'overlay-error"></div>',n.appendChild(a),l.className=o.options.classPrefix+"overlay "+o.options.classPrefix+"layer "+o.options.classPrefix+"overlay-play",l.innerHTML='<div class="'+o.options.classPrefix+'overlay-button" role="button" tabindex="0" aria-label="'+c.default.t("mejs.play")+'" aria-pressed="false"></div>',l.addEventListener("click",function(){if(o.options.clickToPlayPause){var e=o.getElement(o.container).querySelector("."+o.options.classPrefix+"overlay-button"),t=e.getAttribute("aria-pressed");o.paused?o.play():o.pause(),e.setAttribute("aria-pressed",!!t),o.getElement(o.container).focus()}}),l.addEventListener("keydown",function(e){var t=e.keyCode||e.which||0;if(13===t||f.IS_FIREFOX&&32===t){var n=(0,p.createEvent)("click",l);return l.dispatchEvent(n),!1}}),n.appendChild(l),null!==o.media.rendererName&&(/(youtube|facebook)/i.test(o.media.rendererName)&&!(o.media.originalNode.getAttribute("poster")||e.options.poster||"function"==typeof o.media.renderer.getPosterUrl&&o.media.renderer.getPosterUrl())||f.IS_STOCK_ANDROID||o.media.originalNode.getAttribute("autoplay"))&&(l.style.display="none");var d=!1;i.addEventListener("play",function(){l.style.display="none",r.style.display="none",a.style.display="none",d=!1}),i.addEventListener("playing",function(){l.style.display="none",r.style.display="none",a.style.display="none",d=!1}),i.addEventListener("seeking",function(){l.style.display="none",r.style.display="",d=!1}),i.addEventListener("seeked",function(){l.style.display=o.paused&&!f.IS_STOCK_ANDROID?"":"none",r.style.display="none",d=!1}),i.addEventListener("pause",function(){r.style.display="none",f.IS_STOCK_ANDROID||d||(l.style.display=""),d=!1}),i.addEventListener("waiting",function(){r.style.display="",d=!1}),i.addEventListener("loadeddata",function(){r.style.display="",f.IS_ANDROID&&(i.canplayTimeout=setTimeout(function(){if(s.default.createEvent){var e=s.default.createEvent("HTMLEvents");return e.initEvent("canplay",!0,!0),i.dispatchEvent(e)}},300)),d=!1}),i.addEventListener("canplay",function(){r.style.display="none",clearTimeout(i.canplayTimeout),d=!1}),i.addEventListener("error",function(e){o._handleError(e,o.media,o.node),r.style.display="none",l.style.display="none",d=!0}),i.addEventListener("loadedmetadata",function(){o.controlsEnabled||o.enableControls()}),i.addEventListener("keydown",function(t){o.onkeydown(e,i,t),d=!1})}}},{key:"buildkeyboard",value:function(e,t,n,i){var o=this;o.getElement(o.container).addEventListener("keydown",function(){o.keyboardAction=!0}),o.globalKeydownCallback=function(t){var n=s.default.activeElement.closest("."+o.options.classPrefix+"container"),r=o.media.closest("."+o.options.classPrefix+"container");return o.hasFocus=!(!n||!r||n.id!==r.id),o.onkeydown(e,i,t)},o.globalClickCallback=function(e){o.hasFocus=!!e.target.closest("."+o.options.classPrefix+"container")},o.globalBind("keydown",o.globalKeydownCallback),o.globalBind("click",o.globalClickCallback)}},{key:"onkeydown",value:function(e,t,n){if(e.hasFocus&&e.options.enableKeyboard)for(var i=0,o=e.options.keyActions.length;i<o;i++)for(var r=e.options.keyActions[i],a=0,s=r.keys.length;a<s;a++)if(n.keyCode===r.keys[a])return r.action(e,t,n.keyCode,n),n.preventDefault(),void n.stopPropagation();return!0}},{key:"play",value:function(){this.proxy.play()}},{key:"pause",value:function(){this.proxy.pause()}},{key:"load",value:function(){this.proxy.load()}},{key:"setCurrentTime",value:function(e){this.proxy.setCurrentTime(e)}},{key:"getCurrentTime",value:function(){return this.proxy.currentTime}},{key:"getDuration",value:function(){return this.proxy.duration}},{key:"setVolume",value:function(e){this.proxy.volume=e}},{key:"getVolume",value:function(){return this.proxy.getVolume()}},{key:"setMuted",value:function(e){this.proxy.setMuted(e)}},{key:"setSrc",value:function(e){this.controlsEnabled||this.enableControls(),this.proxy.setSrc(e)}},{key:"getSrc",value:function(){return this.proxy.getSrc()}},{key:"canPlayType",value:function(e){return this.proxy.canPlayType(e)}},{key:"remove",value:function(){var e=this,t=e.media.rendererName,n=e.media.originalNode.src;for(var i in e.options.features){var r=e.options.features[i];if(e["clean"+r])try{e["clean"+r](e,e.getElement(e.layers),e.getElement(e.controls),e.media)}catch(e){console.error("error cleaning "+r,e)}}var a=e.node.getAttribute("width"),d=e.node.getAttribute("height");if(a?-1===a.indexOf("%")&&(a+="px"):a="auto",d?-1===d.indexOf("%")&&(d+="px"):d="auto",e.node.style.width=a,e.node.style.height=d,e.setPlayerSize(0,0),e.isDynamic?e.getElement(e.container).parentNode.insertBefore(e.node,e.getElement(e.container)):function(){e.node.setAttribute("controls",!0),e.node.setAttribute("id",e.node.getAttribute("id").replace("_"+t,"").replace("_from_mejs",""));var i=e.getElement(e.container).querySelector("."+e.options.classPrefix+"poster>img");if(i&&e.node.setAttribute("poster",i.src),delete e.node.autoplay,""!==e.media.canPlayType((0,h.getTypeFromFile)(n))&&e.node.setAttribute("src",n),~t.indexOf("iframe")){s.default.getElementById(e.media.id+"-iframe-overlay").remove()}var o=e.node.cloneNode();if(o.style.display="",e.getElement(e.container).parentNode.insertBefore(o,e.getElement(e.container)),e.node.remove(),e.mediaFiles)for(var r=0,a=e.mediaFiles.length;r<a;r++){var l=s.default.createElement("source");l.setAttribute("src",e.mediaFiles[r].src),l.setAttribute("type",e.mediaFiles[r].type),o.appendChild(l)}if(e.trackFiles)for(var d=function(t,n){var i=e.trackFiles[t],r=s.default.createElement("track");r.kind=i.kind,r.label=i.label,r.srclang=i.srclang,r.src=i.src,o.appendChild(r),r.addEventListener("load",function(){this.mode="showing",o.textTracks[t].mode="showing"})},u=0,c=e.trackFiles.length;u<c;u++)d(u);delete e.node,delete e.mediaFiles,delete e.trackFiles}(),"function"==typeof e.media.renderer.destroy&&e.media.renderer.destroy(),delete l.default.players[e.id],"object"===o(e.getElement(e.container))){e.getElement(e.container).parentNode.querySelector("."+e.options.classPrefix+"offscreen").remove(),e.getElement(e.container).remove()}e.globalUnbind("resize",e.globalResizeCallback),e.globalUnbind("keydown",e.globalKeydownCallback),e.globalUnbind("click",e.globalClickCallback),delete e.media.player}},{key:"paused",get:function(){return this.proxy.paused}},{key:"muted",get:function(){return this.proxy.muted},set:function(e){this.setMuted(e)}},{key:"ended",get:function(){return this.proxy.ended}},{key:"readyState",get:function(){return this.proxy.readyState}},{key:"currentTime",set:function(e){this.setCurrentTime(e)},get:function(){return this.getCurrentTime()}},{key:"duration",get:function(){return this.getDuration()}},{key:"volume",set:function(e){this.setVolume(e)},get:function(){return this.getVolume()}},{key:"src",set:function(e){this.setSrc(e)},get:function(){return this.getSrc()}}]),e}();a.default.MediaElementPlayer=y,l.default.MediaElementPlayer=y,n.default=y},{17:17,2:2,25:25,26:26,27:27,28:28,3:3,30:30,5:5,6:6,7:7}],17:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),o=function(e){return e&&e.__esModule?e:{default:e}}(e(3)),r=function(){function e(t){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.media=t.media,this.isVideo=t.isVideo,this.classPrefix=t.options.classPrefix,this.createIframeLayer=function(){return t.createIframeLayer()},this.setPoster=function(e){return t.setPoster(e)},this}return i(e,[{key:"play",value:function(){this.media.play()}},{key:"pause",value:function(){this.media.pause()}},{key:"load",value:function(){this.isLoaded||this.media.load(),this.isLoaded=!0}},{key:"setCurrentTime",value:function(e){this.media.setCurrentTime(e)}},{key:"getCurrentTime",value:function(){return this.media.currentTime}},{key:"getDuration",value:function(){return this.media.getDuration()}},{key:"setVolume",value:function(e){this.media.setVolume(e)}},{key:"getVolume",value:function(){return this.media.getVolume()}},{key:"setMuted",value:function(e){this.media.setMuted(e)}},{key:"setSrc",value:function(e){var t=document.getElementById(this.media.id+"-iframe-overlay");t&&t.remove(),this.media.setSrc(e),this.createIframeLayer(),null!==this.media.renderer&&"function"==typeof this.media.renderer.getPosterUrl&&this.setPoster(this.media.renderer.getPosterUrl())}},{key:"getSrc",value:function(){return this.media.getSrc()}},{key:"canPlayType",value:function(e){return this.media.canPlayType(e)}},{key:"paused",get:function(){return this.media.paused}},{key:"muted",set:function(e){this.setMuted(e)},get:function(){return this.media.muted}},{key:"ended",get:function(){return this.media.ended}},{key:"readyState",get:function(){return this.media.readyState}},{key:"currentTime",set:function(e){this.setCurrentTime(e)},get:function(){return this.getCurrentTime()}},{key:"duration",get:function(){return this.getDuration()}},{key:"volume",set:function(e){this.setVolume(e)},get:function(){return this.getVolume()}},{key:"src",set:function(e){this.setSrc(e)},get:function(){return this.getSrc()}}]),e}();n.default=r,o.default.DefaultPlayer=r},{3:3}],18:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}var o=i(e(3)),r=i(e(7)),a=i(e(16));"undefined"!=typeof jQuery?r.default.$=o.default.jQuery=o.default.$=jQuery:"undefined"!=typeof Zepto?r.default.$=o.default.Zepto=o.default.$=Zepto:"undefined"!=typeof ender&&(r.default.$=o.default.ender=o.default.$=ender),function(e){void 0!==e&&(e.fn.mediaelementplayer=function(t){return!1===t?this.each(function(){var t=e(this).data("mediaelementplayer");t&&t.remove(),e(this).removeData("mediaelementplayer")}):this.each(function(){e(this).data("mediaelementplayer",new a.default(this,t))}),this},e(document).ready(function(){e("."+r.default.MepDefaults.classPrefix+"player").mediaelementplayer()}))}(r.default.$)},{16:16,3:3,7:7}],19:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r=i(e(3)),a=i(e(7)),s=e(8),l=e(27),d=e(28),u=e(25),c=e(26),f={promise:null,load:function(e){return"undefined"!=typeof dashjs?f.promise=new Promise(function(e){e()}).then(function(){f._createPlayer(e)}):(e.options.path="string"==typeof e.options.path?e.options.path:"https://cdn.dashjs.org/latest/dash.all.min.js",f.promise=f.promise||(0,c.loadScript)(e.options.path),f.promise.then(function(){f._createPlayer(e)})),f.promise},_createPlayer:function(e){var t=dashjs.MediaPlayer().create();return r.default["__ready__"+e.id](t),t}},p={name:"native_dash",options:{prefix:"native_dash",dash:{path:"https://cdn.dashjs.org/latest/dash.all.min.js",debug:!1,drm:{},robustnessLevel:""}},canPlayType:function(e){return u.HAS_MSE&&["application/dash+xml"].indexOf(e.toLowerCase())>-1},create:function(e,t,n){var i=e.originalNode,d=e.id+"_"+t.prefix,u=i.autoplay,c=i.children,p=null,m=null;i.removeAttribute("type");for(var h=0,v=c.length;h<v;h++)c[h].removeAttribute("type");p=i.cloneNode(!0),t=Object.assign(t,e.options);for(var g=a.default.html5media.properties,y=a.default.html5media.events.concat(["click","mouseover","mouseout"]).filter(function(e){return"error"!==e}),E=function(t){var n=(0,l.createEvent)(t.type,e);e.dispatchEvent(n)},b=function(e){var n=""+e.substring(0,1).toUpperCase()+e.substring(1);p["get"+n]=function(){return null!==m?p[e]:null},p["set"+n]=function(n){if(-1===a.default.html5media.readOnlyProperties.indexOf(e))if("src"===e){var i="object"===(void 0===n?"undefined":o(n))&&n.src?n.src:n;if(p[e]=i,null!==m){m.reset();for(var r=0,s=y.length;r<s;r++)p.removeEventListener(y[r],E);m=f._createPlayer({options:t.dash,id:d}),n&&"object"===(void 0===n?"undefined":o(n))&&"object"===o(n.drm)&&(m.setProtectionData(n.drm),(0,l.isString)(t.dash.robustnessLevel)&&t.dash.robustnessLevel&&m.getProtectionController().setRobustnessLevel(t.dash.robustnessLevel)),m.attachSource(i),u&&m.play()}}else p[e]=n}},S=0,x=g.length;S<x;S++)b(g[S]);if(r.default["__ready__"+d]=function(n){e.dashPlayer=m=n;for(var i=dashjs.MediaPlayer.events,r=function(e){"loadedmetadata"===e&&(m.getDebug().setLogToBrowserConsole(t.dash.debug),m.initialize(),m.setScheduleWhilePaused(!1),m.setFastSwitchEnabled(!0),m.attachView(p),m.setAutoPlay(!1),"object"!==o(t.dash.drm)||a.default.Utils.isObjectEmpty(t.dash.drm)||(m.setProtectionData(t.dash.drm),(0,l.isString)(t.dash.robustnessLevel)&&t.dash.robustnessLevel&&m.getProtectionController().setRobustnessLevel(t.dash.robustnessLevel)),m.attachSource(p.getSrc())),p.addEventListener(e,E)},s=0,d=y.length;s<d;s++)r(y[s]);var u=function(t){if("error"===t.type.toLowerCase())e.generateError(t.message,p.src),console.error(t);else{var n=(0,l.createEvent)(t.type,e);n.data=t,e.dispatchEvent(n)}};for(var c in i)i.hasOwnProperty(c)&&m.on(i[c],function(e){return u(e)})},n&&n.length>0)for(var w=0,P=n.length;w<P;w++)if(s.renderer.renderers[t.prefix].canPlayType(n[w].type)){p.setAttribute("src",n[w].src),void 0!==n[w].drm&&(t.dash.drm=n[w].drm);break}p.setAttribute("id",d),i.parentNode.insertBefore(p,i),i.autoplay=!1,i.style.display="none",p.setSize=function(e,t){return p.style.width=e+"px",p.style.height=t+"px",p},p.hide=function(){return p.pause(),p.style.display="none",p},p.show=function(){return p.style.display="",p},p.destroy=function(){null!==m&&m.reset()};var T=(0,l.createEvent)("rendererready",p);return e.dispatchEvent(T),e.promises.push(f.load({options:t.dash,id:d})),p}};d.typeChecks.push(function(e){return~e.toLowerCase().indexOf(".mpd")?"application/dash+xml":null}),s.renderer.add(p)},{25:25,26:26,27:27,28:28,3:3,7:7,8:8}],20:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(n,"__esModule",{value:!0}),n.PluginDetector=void 0;var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r=i(e(3)),a=i(e(2)),s=i(e(7)),l=i(e(5)),d=e(8),u=e(27),c=e(25),f=e(28),p=n.PluginDetector={plugins:[],hasPluginVersion:function(e,t){var n=p.plugins[e];return t[1]=t[1]||0,t[2]=t[2]||0,n[0]>t[0]||n[0]===t[0]&&n[1]>t[1]||n[0]===t[0]&&n[1]===t[1]&&n[2]>=t[2]},addPlugin:function(e,t,n,i,o){p.plugins[e]=p.detectPlugin(t,n,i,o)},detectPlugin:function(e,t,n,i){var a=[0,0,0],s=void 0,l=void 0;if(null!==c.NAV.plugins&&void 0!==c.NAV.plugins&&"object"===o(c.NAV.plugins[e])){if((s=c.NAV.plugins[e].description)&&(void 0===c.NAV.mimeTypes||!c.NAV.mimeTypes[t]||c.NAV.mimeTypes[t].enabledPlugin))for(var d=0,u=(a=s.replace(e,"").replace(/^\s+/,"").replace(/\sr/gi,".").split(".")).length;d<u;d++)a[d]=parseInt(a[d].match(/\d+/),10)}else if(void 0!==r.default.ActiveXObject)try{(l=new ActiveXObject(n))&&(a=i(l))}catch(e){}return a}};p.addPlugin("flash","Shockwave Flash","application/x-shockwave-flash","ShockwaveFlash.ShockwaveFlash",function(e){var t=[],n=e.GetVariable("$version");return n&&(n=n.split(" ")[1].split(","),t=[parseInt(n[0],10),parseInt(n[1],10),parseInt(n[2],10)]),t});var m=function(e,t,n){var i={},o=!1;i.options=t,i.id=e.id+"_"+i.options.prefix,i.mediaElement=e,i.flashState={},i.flashApi=null,i.flashApiStack=[];for(var p=s.default.html5media.properties,m=function(e){i.flashState[e]=null;var t=""+e.substring(0,1).toUpperCase()+e.substring(1);i["get"+t]=function(){if(null!==i.flashApi){if("function"==typeof i.flashApi["get_"+e]){var t=i.flashApi["get_"+e]();return"buffered"===e?{start:function(){return 0},end:function(){return t},length:1}:t}return null}return null},i["set"+t]=function(t){if("src"===e&&(t=(0,f.absolutizeUrl)(t)),null!==i.flashApi&&void 0!==i.flashApi["set_"+e])try{i.flashApi["set_"+e](t)}catch(e){}else i.flashApiStack.push({type:"set",propName:e,value:t})}},h=0,v=p.length;h<v;h++)m(p[h]);var g=s.default.html5media.methods,y=function(e){i[e]=function(){if(o)if(null!==i.flashApi){if(i.flashApi["fire_"+e])try{i.flashApi["fire_"+e]()}catch(e){}}else i.flashApiStack.push({type:"call",methodName:e})}};g.push("stop");for(var E=0,b=g.length;E<b;E++)y(g[E]);for(var S=["rendererready"],x=0,w=S.length;x<w;x++){var P=(0,u.createEvent)(S[x],i);e.dispatchEvent(P)}r.default["__ready__"+i.id]=function(){if(i.flashReady=!0,i.flashApi=a.default.getElementById("__"+i.id),i.flashApiStack.length)for(var e=0,t=i.flashApiStack.length;e<t;e++){var n=i.flashApiStack[e];if("set"===n.type){var o=n.propName,r=""+o.substring(0,1).toUpperCase()+o.substring(1);i["set"+r](n.value)}else"call"===n.type&&i[n.methodName]()}},r.default["__event__"+i.id]=function(e,t){var n=(0,u.createEvent)(e,i);if(t)try{n.data=JSON.parse(t),n.details.data=JSON.parse(t)}catch(e){n.message=t}i.mediaElement.dispatchEvent(n)},i.flashWrapper=a.default.createElement("div"),-1===["always","sameDomain"].indexOf(i.options.shimScriptAccess)&&(i.options.shimScriptAccess="sameDomain");var T=e.originalNode.autoplay,C=["uid="+i.id,"autoplay="+T,"allowScriptAccess="+i.options.shimScriptAccess,"preload="+(e.originalNode.getAttribute("preload")||"")],k=null!==e.originalNode&&"video"===e.originalNode.tagName.toLowerCase(),_=k?e.originalNode.height:1,N=k?e.originalNode.width:1;e.originalNode.getAttribute("src")&&C.push("src="+e.originalNode.getAttribute("src")),!0===i.options.enablePseudoStreaming&&(C.push("pseudostreamstart="+i.options.pseudoStreamingStartQueryParam),C.push("pseudostreamtype="+i.options.pseudoStreamingType)),i.options.streamDelimiter&&C.push("streamdelimiter="+encodeURIComponent(i.options.streamDelimiter)),i.options.proxyType&&C.push("proxytype="+i.options.proxyType),e.appendChild(i.flashWrapper),e.originalNode.style.display="none";var A=[];if(c.IS_IE||c.IS_EDGE){var L=a.default.createElement("div");i.flashWrapper.appendChild(L),A=c.IS_EDGE?['type="application/x-shockwave-flash"','data="'+i.options.pluginPath+i.options.filename+'"','id="__'+i.id+'"','width="'+N+'"','height="'+_+"'\""]:['classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"','codebase="//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab"','id="__'+i.id+'"','width="'+N+'"','height="'+_+'"'],k||A.push('style="clip: rect(0 0 0 0); position: absolute;"'),L.outerHTML="<object "+A.join(" ")+'><param name="movie" value="'+i.options.pluginPath+i.options.filename+"?x="+new Date+'" /><param name="flashvars" value="'+C.join("&")+'" /><param name="quality" value="high" /><param name="bgcolor" value="#000000" /><param name="wmode" value="transparent" /><param name="allowScriptAccess" value="'+i.options.shimScriptAccess+'" /><param name="allowFullScreen" value="true" /><div>'+l.default.t("mejs.install-flash")+"</div></object>"}else A=['id="__'+i.id+'"','name="__'+i.id+'"','play="true"','loop="false"','quality="high"','bgcolor="#000000"','wmode="transparent"','allowScriptAccess="'+i.options.shimScriptAccess+'"','allowFullScreen="true"','type="application/x-shockwave-flash"','pluginspage="//www.macromedia.com/go/getflashplayer"','src="'+i.options.pluginPath+i.options.filename+'"','flashvars="'+C.join("&")+'"'],k?(A.push('width="'+N+'"'),A.push('height="'+_+'"')):A.push('style="position: fixed; left: -9999em; top: -9999em;"'),i.flashWrapper.innerHTML="<embed "+A.join(" ")+">";if(i.flashNode=i.flashWrapper.lastChild,i.hide=function(){o=!1,k&&(i.flashNode.style.display="none")},i.show=function(){o=!0,k&&(i.flashNode.style.display="")},i.setSize=function(e,t){i.flashNode.style.width=e+"px",i.flashNode.style.height=t+"px",null!==i.flashApi&&"function"==typeof i.flashApi.fire_setSize&&i.flashApi.fire_setSize(e,t)},i.destroy=function(){i.flashNode.remove()},n&&n.length>0)for(var F=0,j=n.length;F<j;F++)if(d.renderer.renderers[t.prefix].canPlayType(n[F].type)){i.setSrc(n[F].src);break}return i};if(p.hasPluginVersion("flash",[10,0,0])){f.typeChecks.push(function(e){return(e=e.toLowerCase()).startsWith("rtmp")?~e.indexOf(".mp3")?"audio/rtmp":"video/rtmp":/\.og(a|g)/i.test(e)?"audio/ogg":~e.indexOf(".m3u8")?"application/x-mpegURL":~e.indexOf(".mpd")?"application/dash+xml":~e.indexOf(".flv")?"video/flv":null});var h={name:"flash_video",options:{prefix:"flash_video",filename:"mediaelement-flash-video.swf",enablePseudoStreaming:!1,pseudoStreamingStartQueryParam:"start",pseudoStreamingType:"byte",proxyType:"",streamDelimiter:""},canPlayType:function(e){return~["video/mp4","video/rtmp","audio/rtmp","rtmp/mp4","audio/mp4","video/flv","video/x-flv"].indexOf(e.toLowerCase())},create:m};d.renderer.add(h);var v={name:"flash_hls",options:{prefix:"flash_hls",filename:"mediaelement-flash-video-hls.swf"},canPlayType:function(e){return~["application/x-mpegurl","application/vnd.apple.mpegurl","audio/mpegurl","audio/hls","video/hls"].indexOf(e.toLowerCase())},create:m};d.renderer.add(v);var g={name:"flash_dash",options:{prefix:"flash_dash",filename:"mediaelement-flash-video-mdash.swf"},canPlayType:function(e){return~["application/dash+xml"].indexOf(e.toLowerCase())},create:m};d.renderer.add(g);var y={name:"flash_audio",options:{prefix:"flash_audio",filename:"mediaelement-flash-audio.swf"},canPlayType:function(e){return~["audio/mp3"].indexOf(e.toLowerCase())},create:m};d.renderer.add(y);var E={name:"flash_audio_ogg",options:{prefix:"flash_audio_ogg",filename:"mediaelement-flash-audio-ogg.swf"},canPlayType:function(e){return~["audio/ogg","audio/oga","audio/ogv"].indexOf(e.toLowerCase())},create:m};d.renderer.add(E)}},{2:2,25:25,27:27,28:28,3:3,5:5,7:7,8:8}],21:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r=i(e(3)),a=i(e(7)),s=e(8),l=e(27),d=e(25),u=e(28),c=e(26),f={promise:null,load:function(e){return"undefined"!=typeof flvjs?f.promise=new Promise(function(e){e()}).then(function(){f._createPlayer(e)}):(e.options.path="string"==typeof e.options.path?e.options.path:"https://cdn.jsdelivr.net/npm/flv.js@latest",f.promise=f.promise||(0,c.loadScript)(e.options.path),f.promise.then(function(){f._createPlayer(e)})),f.promise},_createPlayer:function(e){flvjs.LoggingControl.enableDebug=e.options.debug,flvjs.LoggingControl.enableVerbose=e.options.debug;var t=flvjs.createPlayer(e.options,e.configs);return r.default["__ready__"+e.id](t),t}},p={name:"native_flv",options:{prefix:"native_flv",flv:{path:"https://cdn.jsdelivr.net/npm/flv.js@latest",cors:!0,debug:!1}},canPlayType:function(e){return d.HAS_MSE&&["video/x-flv","video/flv"].indexOf(e.toLowerCase())>-1},create:function(e,t,n){var i=e.originalNode,d=e.id+"_"+t.prefix,u=null,c=null;u=i.cloneNode(!0),t=Object.assign(t,e.options);for(var p=a.default.html5media.properties,m=a.default.html5media.events.concat(["click","mouseover","mouseout"]).filter(function(e){return"error"!==e}),h=function(t){var n=(0,l.createEvent)(t.type,e);e.dispatchEvent(n)},v=function(e){var n=""+e.substring(0,1).toUpperCase()+e.substring(1);u["get"+n]=function(){return null!==c?u[e]:null},u["set"+n]=function(n){if(-1===a.default.html5media.readOnlyProperties.indexOf(e))if("src"===e){if(u[e]="object"===(void 0===n?"undefined":o(n))&&n.src?n.src:n,null!==c){var i={};i.type="flv",i.url=n,i.cors=t.flv.cors,i.debug=t.flv.debug,i.path=t.flv.path;var r=t.flv.configs;c.destroy();for(var s=0,l=m.length;s<l;s++)u.removeEventListener(m[s],h);(c=f._createPlayer({options:i,configs:r,id:d})).attachMediaElement(u),c.load()}}else u[e]=n}},g=0,y=p.length;g<y;g++)v(p[g]);if(r.default["__ready__"+d]=function(t){e.flvPlayer=c=t;for(var n=flvjs.Events,i=function(e){"loadedmetadata"===e&&(c.unload(),c.detachMediaElement(),c.attachMediaElement(u),c.load()),u.addEventListener(e,h)},o=0,r=m.length;o<r;o++)i(m[o]);var a=function(t){n.hasOwnProperty(t)&&c.on(n[t],function(){for(var i=arguments.length,o=Array(i),r=0;r<i;r++)o[r]=arguments[r];return function(t,n){if("error"===t){var i=n[0]+": "+n[1]+" "+n[2].msg;e.generateError(i,u.src)}else{var o=(0,l.createEvent)(t,e);o.data=n,e.dispatchEvent(o)}}(n[t],o)})};for(var s in n)a(s)},n&&n.length>0)for(var E=0,b=n.length;E<b;E++)if(s.renderer.renderers[t.prefix].canPlayType(n[E].type)){u.setAttribute("src",n[E].src);break}u.setAttribute("id",d),i.parentNode.insertBefore(u,i),i.autoplay=!1,i.style.display="none";var S={};S.type="flv",S.url=u.src,S.cors=t.flv.cors,S.debug=t.flv.debug,S.path=t.flv.path;var x=t.flv.configs;u.setSize=function(e,t){return u.style.width=e+"px",u.style.height=t+"px",u},u.hide=function(){return null!==c&&c.pause(),u.style.display="none",u},u.show=function(){return u.style.display="",u},u.destroy=function(){null!==c&&c.destroy()};var w=(0,l.createEvent)("rendererready",u);return e.dispatchEvent(w),e.promises.push(f.load({options:S,configs:x,id:d})),u}};u.typeChecks.push(function(e){return~e.toLowerCase().indexOf(".flv")?"video/flv":null}),s.renderer.add(p)},{25:25,26:26,27:27,28:28,3:3,7:7,8:8}],22:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r=i(e(3)),a=i(e(7)),s=e(8),l=e(27),d=e(25),u=e(28),c=e(26),f={promise:null,load:function(e){return"undefined"!=typeof Hls?f.promise=new Promise(function(e){e()}).then(function(){f._createPlayer(e)}):(e.options.path="string"==typeof e.options.path?e.options.path:"https://cdn.jsdelivr.net/npm/hls.js@latest",f.promise=f.promise||(0,c.loadScript)(e.options.path),f.promise.then(function(){f._createPlayer(e)})),f.promise},_createPlayer:function(e){var t=new Hls(e.options);return r.default["__ready__"+e.id](t),t}},p={name:"native_hls",options:{prefix:"native_hls",hls:{path:"https://cdn.jsdelivr.net/npm/hls.js@latest",autoStartLoad:!1,debug:!1}},canPlayType:function(e){return d.HAS_MSE&&["application/x-mpegurl","application/vnd.apple.mpegurl","audio/mpegurl","audio/hls","video/hls"].indexOf(e.toLowerCase())>-1},create:function(e,t,n){var i=e.originalNode,d=e.id+"_"+t.prefix,u=i.getAttribute("preload"),c=i.autoplay,p=null,m=null,h=0,v=n.length;m=i.cloneNode(!0),(t=Object.assign(t,e.options)).hls.autoStartLoad=u&&"none"!==u||c;for(var g=a.default.html5media.properties,y=a.default.html5media.events.concat(["click","mouseover","mouseout"]).filter(function(e){return"error"!==e}),E=function(t){var n=(0,l.createEvent)(t.type,e);e.dispatchEvent(n)},b=function(e){var n=""+e.substring(0,1).toUpperCase()+e.substring(1);m["get"+n]=function(){return null!==p?m[e]:null},m["set"+n]=function(n){if(-1===a.default.html5media.readOnlyProperties.indexOf(e))if("src"===e){if(m[e]="object"===(void 0===n?"undefined":o(n))&&n.src?n.src:n,null!==p){p.destroy();for(var i=0,r=y.length;i<r;i++)m.removeEventListener(y[i],E);(p=f._createPlayer({options:t.hls,id:d})).loadSource(n),p.attachMedia(m)}}else m[e]=n}},S=0,x=g.length;S<x;S++)b(g[S]);if(r.default["__ready__"+d]=function(t){e.hlsPlayer=p=t;for(var i=Hls.Events,o=function(t){if("loadedmetadata"===t){var n=e.originalNode.src;p.detachMedia(),p.loadSource(n),p.attachMedia(m)}m.addEventListener(t,E)},r=0,a=y.length;r<a;r++)o(y[r]);var s=void 0,d=void 0,u=function(t){i.hasOwnProperty(t)&&p.on(i[t],function(){for(var o=arguments.length,r=Array(o),a=0;a<o;a++)r[a]=arguments[a];return function(t,i){if("hlsError"===t){if(console.warn(i),(i=i[1]).fatal)switch(i.type){case"mediaError":var o=(new Date).getTime();if(!s||o-s>3e3)s=(new Date).getTime(),p.recoverMediaError();else if(!d||o-d>3e3)d=(new Date).getTime(),console.warn("Attempting to swap Audio Codec and recover from media error"),p.swapAudioCodec(),p.recoverMediaError();else{var r="Cannot recover, last media error recovery failed";e.generateError(r,m.src),console.error(r)}break;case"networkError":"manifestLoadError"===i.details&&h<v&&void 0!==n[h+1]?(m.setSrc(n[h++].src),m.load(),m.play()):(e.generateError("Network error",n),console.error("Network error"));break;default:p.destroy()}}else{var a=(0,l.createEvent)(t,e);a.data=i,e.dispatchEvent(a)}}(i[t],r)})};for(var c in i)u(c)},v>0)for(;h<v;h++)if(s.renderer.renderers[t.prefix].canPlayType(n[h].type)){m.setAttribute("src",n[h].src);break}"auto"===u||c||(m.addEventListener("play",function(){null!==p&&p.startLoad()}),m.addEventListener("pause",function(){null!==p&&p.stopLoad()})),m.setAttribute("id",d),i.parentNode.insertBefore(m,i),i.autoplay=!1,i.style.display="none",m.setSize=function(e,t){return m.style.width=e+"px",m.style.height=t+"px",m},m.hide=function(){return m.pause(),m.style.display="none",m},m.show=function(){return m.style.display="",m},m.destroy=function(){null!==p&&(p.stopLoad(),p.destroy())};var w=(0,l.createEvent)("rendererready",m);return e.dispatchEvent(w),e.promises.push(f.load({options:t.hls,id:d})),m}};u.typeChecks.push(function(e){return~e.toLowerCase().indexOf(".m3u8")?"application/x-mpegURL":null}),s.renderer.add(p)},{25:25,26:26,27:27,28:28,3:3,7:7,8:8}],23:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}var o=i(e(3)),r=i(e(2)),a=i(e(7)),s=e(8),l=e(27),d=e(25),u={name:"html5",options:{prefix:"html5"},canPlayType:function(e){var t=r.default.createElement("video");return d.IS_ANDROID&&/\/mp(3|4)$/i.test(e)||~["application/x-mpegurl","vnd.apple.mpegurl","audio/mpegurl","audio/hls","video/hls"].indexOf(e.toLowerCase())&&d.SUPPORTS_NATIVE_HLS?"yes":t.canPlayType?t.canPlayType(e.toLowerCase()).replace(/no/,""):""},create:function(e,t,n){var i=e.id+"_"+t.prefix,o=!1,d=null;void 0===e.originalNode||null===e.originalNode?(d=r.default.createElement("audio"),e.appendChild(d)):d=e.originalNode,d.setAttribute("id",i);for(var u=a.default.html5media.properties,c=function(e){var t=""+e.substring(0,1).toUpperCase()+e.substring(1);d["get"+t]=function(){return d[e]},d["set"+t]=function(t){-1===a.default.html5media.readOnlyProperties.indexOf(e)&&(d[e]=t)}},f=0,p=u.length;f<p;f++)c(u[f]);for(var m=a.default.html5media.events.concat(["click","mouseover","mouseout"]).filter(function(e){return"error"!==e}),h=function(t){d.addEventListener(t,function(t){if(o){var n=(0,l.createEvent)(t.type,t.target);e.dispatchEvent(n)}})},v=0,g=m.length;v<g;v++)h(m[v]);d.setSize=function(e,t){return d.style.width=e+"px",d.style.height=t+"px",d},d.hide=function(){return o=!1,d.style.display="none",d},d.show=function(){return o=!0,d.style.display="",d};var y=0,E=n.length;if(E>0)for(;y<E;y++)if(s.renderer.renderers[t.prefix].canPlayType(n[y].type)){d.setAttribute("src",n[y].src);break}d.addEventListener("error",function(t){4===t.target.error.code&&o&&(y<E&&void 0!==n[y+1]?(d.src=n[y++].src,d.load(),d.play()):e.generateError("Media error: Format(s) not supported or source(s) not found",n))});var b=(0,l.createEvent)("rendererready",d);return e.dispatchEvent(b),d}};o.default.HtmlMediaElement=a.default.HtmlMediaElement=u,s.renderer.add(u)},{2:2,25:25,27:27,3:3,7:7,8:8}],24:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}var o=i(e(3)),r=i(e(2)),a=i(e(7)),s=e(8),l=e(27),d=e(28),u=e(26),c={isIframeStarted:!1,isIframeLoaded:!1,iframeQueue:[],enqueueIframe:function(e){c.isLoaded="undefined"!=typeof YT&&YT.loaded,c.isLoaded?c.createIframe(e):(c.loadIframeApi(),c.iframeQueue.push(e))},loadIframeApi:function(){c.isIframeStarted||((0,u.loadScript)("https://www.youtube.com/player_api"),c.isIframeStarted=!0)},iFrameReady:function(){for(c.isLoaded=!0,c.isIframeLoaded=!0;c.iframeQueue.length>0;){var e=c.iframeQueue.pop();c.createIframe(e)}},createIframe:function(e){return new YT.Player(e.containerId,e)},getYouTubeId:function(e){var t="";e.indexOf("?")>0?""===(t=c.getYouTubeIdFromParam(e))&&(t=c.getYouTubeIdFromUrl(e)):t=c.getYouTubeIdFromUrl(e);return(t=t.substring(t.lastIndexOf("/")+1).split("?"))[0]},getYouTubeIdFromParam:function(e){if(void 0===e||null===e||!e.trim().length)return null;for(var t=e.split("?")[1].split("&"),n="",i=0,o=t.length;i<o;i++){var r=t[i].split("=");if("v"===r[0]){n=r[1];break}}return n},getYouTubeIdFromUrl:function(e){if(void 0===e||null===e||!e.trim().length)return null;return(e=e.split("?")[0]).substring(e.lastIndexOf("/")+1)},getYouTubeNoCookieUrl:function(e){if(void 0===e||null===e||!e.trim().length||-1===e.indexOf("//www.youtube"))return e;var t=e.split("/");return t[2]=t[2].replace(".com","-nocookie.com"),t.join("/")}},f={name:"youtube_iframe",options:{prefix:"youtube_iframe",youtube:{autoplay:0,controls:0,disablekb:1,end:0,loop:0,modestbranding:0,playsinline:0,rel:0,showinfo:0,start:0,iv_load_policy:3,nocookie:!1,imageQuality:null}},canPlayType:function(e){return~["video/youtube","video/x-youtube"].indexOf(e.toLowerCase())},create:function(e,t,n){var i={},s=[],d=null,u=!0,f=!1,p=null;i.options=t,i.id=e.id+"_"+t.prefix,i.mediaElement=e;for(var m=a.default.html5media.properties,h=function(t){var n=""+t.substring(0,1).toUpperCase()+t.substring(1);i["get"+n]=function(){if(null!==d){switch(t){case"currentTime":return d.getCurrentTime();case"duration":return d.getDuration();case"volume":return d.getVolume()/100;case"paused":return u;case"ended":return f;case"muted":return d.isMuted();case"buffered":var e=d.getVideoLoadedFraction(),n=d.getDuration();return{start:function(){return 0},end:function(){return e*n},length:1};case"src":return d.getVideoUrl();case"readyState":return 4}return null}return null},i["set"+n]=function(n){if(null!==d)switch(t){case"src":var o="string"==typeof n?n:n[0].src,r=c.getYouTubeId(o);e.originalNode.autoplay?d.loadVideoById(r):d.cueVideoById(r);break;case"currentTime":d.seekTo(n);break;case"muted":n?d.mute():d.unMute(),setTimeout(function(){var t=(0,l.createEvent)("volumechange",i);e.dispatchEvent(t)},50);break;case"volume":n,d.setVolume(100*n),setTimeout(function(){var t=(0,l.createEvent)("volumechange",i);e.dispatchEvent(t)},50);break;case"readyState":var a=(0,l.createEvent)("canplay",i);e.dispatchEvent(a)}else s.push({type:"set",propName:t,value:n})}},v=0,g=m.length;v<g;v++)h(m[v]);for(var y=a.default.html5media.methods,E=function(e){i[e]=function(){if(null!==d)switch(e){case"play":return u=!1,d.playVideo();case"pause":return u=!0,d.pauseVideo();case"load":return null}else s.push({type:"call",methodName:e})}},b=0,S=y.length;b<S;b++)E(y[b]);var x=r.default.createElement("div");x.id=i.id,i.options.youtube.nocookie&&(e.originalNode.src=c.getYouTubeNoCookieUrl(n[0].src)),e.originalNode.parentNode.insertBefore(x,e.originalNode),e.originalNode.style.display="none";var w="audio"===e.originalNode.tagName.toLowerCase(),P=w?"1":e.originalNode.height,T=w?"1":e.originalNode.width,C=c.getYouTubeId(n[0].src),k={id:i.id,containerId:x.id,videoId:C,height:P,width:T,playerVars:Object.assign({controls:0,rel:0,disablekb:1,showinfo:0,modestbranding:0,html5:1,iv_load_policy:3},i.options.youtube),origin:o.default.location.host,events:{onReady:function(t){if(e.youTubeApi=d=t.target,e.youTubeState={paused:!0,ended:!1},s.length)for(var n=0,o=s.length;n<o;n++){var r=s[n];if("set"===r.type){var a=r.propName,u=""+a.substring(0,1).toUpperCase()+a.substring(1);i["set"+u](r.value)}else"call"===r.type&&i[r.methodName]()}p=d.getIframe(),e.originalNode.muted&&d.mute();for(var c=["mouseover","mouseout"],f=function(t){var n=(0,l.createEvent)(t.type,i);e.dispatchEvent(n)},m=0,h=c.length;m<h;m++)p.addEventListener(c[m],f,!1);for(var v=["rendererready","loadedmetadata","loadeddata","canplay"],g=0,y=v.length;g<y;g++){var E=(0,l.createEvent)(v[g],i);e.dispatchEvent(E)}},onStateChange:function(t){var n=[];switch(t.data){case-1:n=["loadedmetadata"],u=!0,f=!1;break;case 0:n=["ended"],u=!1,f=!i.options.youtube.loop,i.options.youtube.loop||i.stopInterval();break;case 1:n=["play","playing"],u=!1,f=!1,i.startInterval();break;case 2:n=["pause"],u=!0,f=!1,i.stopInterval();break;case 3:n=["progress"],f=!1;break;case 5:n=["loadeddata","loadedmetadata","canplay"],u=!0,f=!1}for(var o=0,r=n.length;o<r;o++){var a=(0,l.createEvent)(n[o],i);e.dispatchEvent(a)}},onError:function(t){return function(t){var i="";switch(t.data){case 2:i="The request contains an invalid parameter value. Verify that video ID has 11 characters and that contains no invalid characters, such as exclamation points or asterisks.";break;case 5:i="The requested content cannot be played in an HTML5 player or another error related to the HTML5 player has occurred.";break;case 100:i="The video requested was not found. Either video has been removed or has been marked as private.";break;case 101:case 105:i="The owner of the requested video does not allow it to be played in embedded players.";break;default:i="Unknown error."}e.generateError("Code "+t.data+": "+i,n)}(t)}}};return(w||e.originalNode.hasAttribute("playsinline"))&&(k.playerVars.playsinline=1),e.originalNode.controls&&(k.playerVars.controls=1),e.originalNode.autoplay&&(k.playerVars.autoplay=1),e.originalNode.loop&&(k.playerVars.loop=1),(k.playerVars.loop&&1===parseInt(k.playerVars.loop,10)||e.originalNode.src.indexOf("loop=")>-1)&&!k.playerVars.playlist&&-1===e.originalNode.src.indexOf("playlist=")&&(k.playerVars.playlist=c.getYouTubeId(e.originalNode.src)),c.enqueueIframe(k),i.onEvent=function(t,n,i){null!==i&&void 0!==i&&(e.youTubeState=i)},i.setSize=function(e,t){null!==d&&d.setSize(e,t)},i.hide=function(){i.stopInterval(),i.pause(),p&&(p.style.display="none")},i.show=function(){p&&(p.style.display="")},i.destroy=function(){d.destroy()},i.interval=null,i.startInterval=function(){i.interval=setInterval(function(){var t=(0,l.createEvent)("timeupdate",i);e.dispatchEvent(t)},250)},i.stopInterval=function(){i.interval&&clearInterval(i.interval)},i.getPosterUrl=function(){var n=t.youtube.imageQuality,i=c.getYouTubeId(e.originalNode.src);return n&&["default","hqdefault","mqdefault","sddefault","maxresdefault"].indexOf(n)>-1&&i?"https://img.youtube.com/vi/"+i+"/"+n+".jpg":""},i}};o.default.onYouTubePlayerAPIReady=function(){c.iFrameReady()},d.typeChecks.push(function(e){return/\/\/(www\.youtube|youtu\.?be)/i.test(e)?"video/x-youtube":null}),s.renderer.add(f)},{2:2,26:26,27:27,28:28,3:3,7:7,8:8}],25:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(n,"__esModule",{value:!0}),n.cancelFullScreen=n.requestFullScreen=n.isFullScreen=n.FULLSCREEN_EVENT_NAME=n.HAS_NATIVE_FULLSCREEN_ENABLED=n.HAS_TRUE_NATIVE_FULLSCREEN=n.HAS_IOS_FULLSCREEN=n.HAS_MS_NATIVE_FULLSCREEN=n.HAS_MOZ_NATIVE_FULLSCREEN=n.HAS_WEBKIT_NATIVE_FULLSCREEN=n.HAS_NATIVE_FULLSCREEN=n.SUPPORTS_NATIVE_HLS=n.SUPPORT_PASSIVE_EVENT=n.SUPPORT_POINTER_EVENTS=n.HAS_MSE=n.IS_STOCK_ANDROID=n.IS_SAFARI=n.IS_FIREFOX=n.IS_CHROME=n.IS_EDGE=n.IS_IE=n.IS_ANDROID=n.IS_IOS=n.IS_IPOD=n.IS_IPHONE=n.IS_IPAD=n.UA=n.NAV=void 0;for(var o=i(e(3)),r=i(e(2)),a=i(e(7)),s=n.NAV=o.default.navigator,l=n.UA=s.userAgent.toLowerCase(),d=n.IS_IPAD=/ipad/i.test(l)&&!o.default.MSStream,u=n.IS_IPHONE=/iphone/i.test(l)&&!o.default.MSStream,c=n.IS_IPOD=/ipod/i.test(l)&&!o.default.MSStream,f=(n.IS_IOS=/ipad|iphone|ipod/i.test(l)&&!o.default.MSStream,n.IS_ANDROID=/android/i.test(l)),p=n.IS_IE=/(trident|microsoft)/i.test(s.appName),m=(n.IS_EDGE="msLaunchUri"in s&&!("documentMode"in r.default)),h=n.IS_CHROME=/chrome/i.test(l),v=n.IS_FIREFOX=/firefox/i.test(l),g=n.IS_SAFARI=/safari/i.test(l)&&!h,y=n.IS_STOCK_ANDROID=/^mozilla\/\d+\.\d+\s\(linux;\su;/i.test(l),E=(n.HAS_MSE="MediaSource"in o.default),b=n.SUPPORT_POINTER_EVENTS=function(){var e=r.default.createElement("x"),t=r.default.documentElement,n=o.default.getComputedStyle;if(!("pointerEvents"in e.style))return!1;e.style.pointerEvents="auto",e.style.pointerEvents="x",t.appendChild(e);var i=n&&"auto"===n(e,"").pointerEvents;return e.remove(),!!i}(),S=n.SUPPORT_PASSIVE_EVENT=function(){var e=!1;try{var t=Object.defineProperty({},"passive",{get:function(){e=!0}});o.default.addEventListener("test",null,t)}catch(e){}return e}(),x=["source","track","audio","video"],w=void 0,P=0,T=x.length;P<T;P++)w=r.default.createElement(x[P]);var C=n.SUPPORTS_NATIVE_HLS=g||f&&(h||y)||p&&/edge/i.test(l),k=void 0!==w.webkitEnterFullscreen,_=void 0!==w.requestFullscreen;k&&/mac os x 10_5/i.test(l)&&(_=!1,k=!1);var N=void 0!==w.webkitRequestFullScreen,A=void 0!==w.mozRequestFullScreen,L=void 0!==w.msRequestFullscreen,F=N||A||L,j=F,I="",M=void 0,O=void 0,D=void 0;A?j=r.default.mozFullScreenEnabled:L&&(j=r.default.msFullscreenEnabled),h&&(k=!1),F&&(N?I="webkitfullscreenchange":A?I="mozfullscreenchange":L&&(I="MSFullscreenChange"),n.isFullScreen=M=function(){return A?r.default.mozFullScreen:N?r.default.webkitIsFullScreen:L?null!==r.default.msFullscreenElement:void 0},n.requestFullScreen=O=function(e){N?e.webkitRequestFullScreen():A?e.mozRequestFullScreen():L&&e.msRequestFullscreen()},n.cancelFullScreen=D=function(){N?r.default.webkitCancelFullScreen():A?r.default.mozCancelFullScreen():L&&r.default.msExitFullscreen()});var V=n.HAS_NATIVE_FULLSCREEN=_,R=n.HAS_WEBKIT_NATIVE_FULLSCREEN=N,H=n.HAS_MOZ_NATIVE_FULLSCREEN=A,U=n.HAS_MS_NATIVE_FULLSCREEN=L,q=n.HAS_IOS_FULLSCREEN=k,B=n.HAS_TRUE_NATIVE_FULLSCREEN=F,z=n.HAS_NATIVE_FULLSCREEN_ENABLED=j,W=n.FULLSCREEN_EVENT_NAME=I;n.isFullScreen=M,n.requestFullScreen=O,n.cancelFullScreen=D,a.default.Features=a.default.Features||{},a.default.Features.isiPad=d,a.default.Features.isiPod=c,a.default.Features.isiPhone=u,a.default.Features.isiOS=a.default.Features.isiPhone||a.default.Features.isiPad,a.default.Features.isAndroid=f,a.default.Features.isIE=p,a.default.Features.isEdge=m,a.default.Features.isChrome=h,a.default.Features.isFirefox=v,a.default.Features.isSafari=g,a.default.Features.isStockAndroid=y,a.default.Features.hasMSE=E,a.default.Features.supportsNativeHLS=C,a.default.Features.supportsPointerEvents=b,a.default.Features.supportsPassiveEvent=S,a.default.Features.hasiOSFullScreen=q,a.default.Features.hasNativeFullscreen=V,a.default.Features.hasWebkitNativeFullScreen=R,a.default.Features.hasMozNativeFullScreen=H,a.default.Features.hasMsNativeFullScreen=U,a.default.Features.hasTrueNativeFullScreen=B,a.default.Features.nativeFullScreenEnabled=z,a.default.Features.fullScreenEventName=W,a.default.Features.isFullScreen=M,a.default.Features.requestFullScreen=O,a.default.Features.cancelFullScreen=D},{2:2,3:3,7:7}],26:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function o(e){return new Promise(function(t,n){var i=p.default.createElement("script");i.src=e,i.async=!0,i.onload=function(){i.remove(),t()},i.onerror=function(){i.remove(),n()},p.default.head.appendChild(i)})}function r(e){var t=e.getBoundingClientRect(),n=f.default.pageXOffset||p.default.documentElement.scrollLeft,i=f.default.pageYOffset||p.default.documentElement.scrollTop;return{top:t.top+i,left:t.left+n}}function a(e,t){y(e,t)?b(e,t):E(e,t)}function s(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:400,n=arguments[2];e.style.opacity||(e.style.opacity=1);var i=null;f.default.requestAnimationFrame(function o(r){var a=r-(i=i||r),s=parseFloat(1-a/t,2);e.style.opacity=s<0?0:s,a>t?n&&"function"==typeof n&&n():f.default.requestAnimationFrame(o)})}function l(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:400,n=arguments[2];e.style.opacity||(e.style.opacity=0);var i=null;f.default.requestAnimationFrame(function o(r){var a=r-(i=i||r),s=parseFloat(a/t,2);e.style.opacity=s>1?1:s,a>t?n&&"function"==typeof n&&n():f.default.requestAnimationFrame(o)})}function d(e,t){var n=[];e=e.parentNode.firstChild;do{t&&!t(e)||n.push(e)}while(e=e.nextSibling);return n}function u(e){return void 0!==e.getClientRects&&"function"===e.getClientRects?!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length):!(!e.offsetWidth&&!e.offsetHeight)}function c(e,t,n,i){var o=f.default.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP"),r="application/x-www-form-urlencoded; charset=UTF-8",a=!1,s="*/".concat("*");switch(t){case"text":r="text/plain";break;case"json":r="application/json, text/javascript";break;case"html":r="text/html";break;case"xml":r="application/xml, text/xml"}"application/x-www-form-urlencoded"!==r&&(s=r+", */*; q=0.01"),o&&(o.open("GET",e,!0),o.setRequestHeader("Accept",s),o.onreadystatechange=function(){if(!a&&4===o.readyState)if(200===o.status){a=!0;var e=void 0;switch(t){case"json":e=JSON.parse(o.responseText);break;case"xml":e=o.responseXML;break;default:e=o.responseText}n(e)}else"function"==typeof i&&i(o.status)},o.send())}Object.defineProperty(n,"__esModule",{value:!0}),n.removeClass=n.addClass=n.hasClass=void 0,n.loadScript=o,n.offset=r,n.toggleClass=a,n.fadeOut=s,n.fadeIn=l,n.siblings=d,n.visible=u,n.ajax=c;var f=i(e(3)),p=i(e(2)),m=i(e(7)),h=void 0,v=void 0,g=void 0;"classList"in p.default.documentElement?(h=function(e,t){return void 0!==e.classList&&e.classList.contains(t)},v=function(e,t){return e.classList.add(t)},g=function(e,t){return e.classList.remove(t)}):(h=function(e,t){return new RegExp("\\b"+t+"\\b").test(e.className)},v=function(e,t){y(e,t)||(e.className+=" "+t)},g=function(e,t){e.className=e.className.replace(new RegExp("\\b"+t+"\\b","g"),"")});var y=n.hasClass=h,E=n.addClass=v,b=n.removeClass=g;m.default.Utils=m.default.Utils||{},m.default.Utils.offset=r,m.default.Utils.hasClass=y,m.default.Utils.addClass=E,m.default.Utils.removeClass=b,m.default.Utils.toggleClass=a,m.default.Utils.fadeIn=l,m.default.Utils.fadeOut=s,m.default.Utils.siblings=d,m.default.Utils.visible=u,m.default.Utils.ajax=c,m.default.Utils.loadScript=o},{2:2,3:3,7:7}],27:[function(e,t,n){"use strict";function i(e){if("string"!=typeof e)throw new Error("Argument passed must be a string");var t={"&":"&","<":"<",">":">",'"':"""};return e.replace(/[&<>"]/g,function(e){return t[e]})}function o(e,t){var n=this,i=arguments,o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if("function"!=typeof e)throw new Error("First argument must be a function");if("number"!=typeof t)throw new Error("Second argument must be a numeric value");var r=void 0;return function(){var a=n,s=i,l=o&&!r;clearTimeout(r),r=setTimeout(function(){r=null,o||e.apply(a,s)},t),l&&e.apply(a,s)}}function r(e){return Object.getOwnPropertyNames(e).length<=0}function a(e,t){var n=/^((after|before)print|(before)?unload|hashchange|message|o(ff|n)line|page(hide|show)|popstate|resize|storage)\b/,i={d:[],w:[]};return(e||"").split(" ").forEach(function(e){var o=e+(t?"."+t:"");o.startsWith(".")?(i.d.push(o),i.w.push(o)):i[n.test(e)?"w":"d"].push(o)}),i.d=i.d.join(" "),i.w=i.w.join(" "),i}function s(e,t){if("string"!=typeof e)throw new Error("Event name must be a string");var n=e.match(/([a-z]+\.([a-z]+))/i),i={target:t};return null!==n&&(e=n[1],i.namespace=n[2]),new window.CustomEvent(e,{detail:i})}function l(e,t){return!!(e&&t&&2&e.compareDocumentPosition(t))}function d(e){return"string"==typeof e}Object.defineProperty(n,"__esModule",{value:!0}),n.escapeHTML=i,n.debounce=o,n.isObjectEmpty=r,n.splitEvents=a,n.createEvent=s,n.isNodeAfter=l,n.isString=d;var u=function(e){return e&&e.__esModule?e:{default:e}}(e(7));u.default.Utils=u.default.Utils||{},u.default.Utils.escapeHTML=i,u.default.Utils.debounce=o,u.default.Utils.isObjectEmpty=r,u.default.Utils.splitEvents=a,u.default.Utils.createEvent=s,u.default.Utils.isNodeAfter=l,u.default.Utils.isString=d},{7:7}],28:[function(e,t,n){"use strict";function i(e){if("string"!=typeof e)throw new Error("`url` argument must be a string");var t=document.createElement("div");return t.innerHTML='<a href="'+(0,u.escapeHTML)(e)+'">x</a>',t.firstChild.href}function o(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return e&&!t?a(e):t}function r(e){if("string"!=typeof e)throw new Error("`type` argument must be a string");return e&&e.indexOf(";")>-1?e.substr(0,e.indexOf(";")):e}function a(e){if("string"!=typeof e)throw new Error("`url` argument must be a string");for(var t=0,n=c.length;t<n;t++){var i=c[t](e);if(i)return i}var o=l(s(e)),r="video/mp4";return o&&(~["mp4","m4v","ogg","ogv","webm","flv","mpeg","mov"].indexOf(o)?r="video/"+o:~["mp3","oga","wav","mid","midi"].indexOf(o)&&(r="audio/"+o)),r}function s(e){if("string"!=typeof e)throw new Error("`url` argument must be a string");var t=e.split("?")[0].split("\\").pop().split("/").pop();return~t.indexOf(".")?t.substring(t.lastIndexOf(".")+1):""}function l(e){if("string"!=typeof e)throw new Error("`extension` argument must be a string");switch(e){case"mp4":case"m4v":return"mp4";case"webm":case"webma":case"webmv":return"webm";case"ogg":case"oga":case"ogv":return"ogg";default:return e}}Object.defineProperty(n,"__esModule",{value:!0}),n.typeChecks=void 0,n.absolutizeUrl=i,n.formatType=o,n.getMimeFromType=r,n.getTypeFromFile=a,n.getExtension=s,n.normalizeExtension=l;var d=function(e){return e&&e.__esModule?e:{default:e}}(e(7)),u=e(27),c=n.typeChecks=[];d.default.Utils=d.default.Utils||{},d.default.Utils.typeChecks=c,d.default.Utils.absolutizeUrl=i,d.default.Utils.formatType=o,d.default.Utils.getMimeFromType=r,d.default.Utils.getTypeFromFile=a,d.default.Utils.getExtension=s,d.default.Utils.normalizeExtension=l},{27:27,7:7}],29:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}var o=i(e(2)),r=i(e(4));if([Element.prototype,CharacterData.prototype,DocumentType.prototype].forEach(function(e){e.hasOwnProperty("remove")||Object.defineProperty(e,"remove",{configurable:!0,enumerable:!0,writable:!0,value:function(){this.parentNode.removeChild(this)}})}),function(){function e(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};var n=o.default.createEvent("CustomEvent");return n.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),n}if("function"==typeof window.CustomEvent)return!1;e.prototype=window.Event.prototype,window.CustomEvent=e}(),"function"!=typeof Object.assign&&(Object.assign=function(e){if(null===e||void 0===e)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(e),n=1,i=arguments.length;n<i;n++){var o=arguments[n];if(null!==o)for(var r in o)Object.prototype.hasOwnProperty.call(o,r)&&(t[r]=o[r])}return t}),String.prototype.startsWith||(String.prototype.startsWith=function(e,t){return t=t||0,this.substr(t,e.length)===e}),Element.prototype.matches||(Element.prototype.matches=Element.prototype.matchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.msMatchesSelector||Element.prototype.oMatchesSelector||Element.prototype.webkitMatchesSelector||function(e){for(var t=(this.document||this.ownerDocument).querySelectorAll(e),n=t.length-1;--n>=0&&t.item(n)!==this;);return n>-1}),window.Element&&!Element.prototype.closest&&(Element.prototype.closest=function(e){var t=(this.document||this.ownerDocument).querySelectorAll(e),n=void 0,i=this;do{for(n=t.length;--n>=0&&t.item(n)!==i;);}while(n<0&&(i=i.parentElement));return i}),function(){for(var e=0,t=["ms","moz","webkit","o"],n=0;n<t.length&&!window.requestAnimationFrame;++n)window.requestAnimationFrame=window[t[n]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[t[n]+"CancelAnimationFrame"]||window[t[n]+"CancelRequestAnimationFrame"];window.requestAnimationFrame||(window.requestAnimationFrame=function(t){var n=(new Date).getTime(),i=Math.max(0,16-(n-e)),o=window.setTimeout(function(){t(n+i)},i);return e=n+i,o}),window.cancelAnimationFrame||(window.cancelAnimationFrame=function(e){clearTimeout(e)})}(),/firefox/i.test(navigator.userAgent)){var a=window.getComputedStyle;window.getComputedStyle=function(e,t){var n=a(e,t);return null===n?{getPropertyValue:function(){}}:n}}window.Promise||(window.Promise=r.default),function(e){e&&e.prototype&&null===e.prototype.children&&Object.defineProperty(e.prototype,"children",{get:function(){for(var e=0,t=void 0,n=this.childNodes,i=[];t=n[e++];)1===t.nodeType&&i.push(t);return i}})}(window.Node||window.Element)},{2:2,4:4}],30:[function(e,t,n){"use strict";function i(){return!((arguments.length>0&&void 0!==arguments[0]?arguments[0]:25)%1==0)}function o(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:25,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"hh:mm:ss";e=!e||"number"!=typeof e||e<0?0:e;var s=Math.round(.066666*o),l=Math.round(o),d=24*Math.round(3600*o),u=Math.round(600*o),c=i(o)?";":":",f=void 0,p=void 0,m=void 0,h=void 0,v=Math.round(e*o);if(i(o)){v<0&&(v=d+v);var g=(v%=d)%u;v+=9*s*Math.floor(v/u),g>s&&(v+=s*Math.floor((g-s)/Math.round(60*l-s)));var y=Math.floor(v/l);f=Math.floor(Math.floor(y/60)/60),p=Math.floor(y/60)%60,m=n?y%60:Math.floor(v/l%60).toFixed(r)}else f=Math.floor(e/3600)%24,p=Math.floor(e/60)%60,m=n?Math.floor(e%60):Math.floor(e%60).toFixed(r);f=f<=0?0:f,p=p<=0?0:p,m=60===(m=m<=0?0:m)?0:m,p=60===p?0:p;for(var E=a.split(":"),b={},S=0,x=E.length;S<x;++S){for(var w="",P=0,T=E[S].length;P<T;P++)w.indexOf(E[S][P])<0&&(w+=E[S][P]);~["f","s","m","h"].indexOf(w)&&(b[w]=E[S].length)}var C=t||f>0?(f<10&&b.h>1?"0"+f:f)+":":"";return C+=(p<10&&b.m>1?"0"+p:p)+":",C+=""+(m<10&&b.s>1?"0"+m:m),n&&(C+=(h=(h=(v%l).toFixed(0))<=0?0:h)<10&&b.f?c+"0"+h:""+c+h),C}function r(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:25;if("string"!=typeof e)throw new TypeError("Time must be a string");if(e.indexOf(";")>0&&(e=e.replace(";",":")),!/\d{2}(\:\d{2}){0,3}/i.test(e))throw new TypeError("Time code must have the format `00:00:00`");var n=e.split(":"),o=void 0,r=0,a=0,s=0,l=0,d=0,u=Math.round(.066666*t),c=Math.round(t),f=3600*c,p=60*c;switch(n.length){default:case 1:s=parseInt(n[0],10);break;case 2:a=parseInt(n[0],10),s=parseInt(n[1],10);break;case 3:r=parseInt(n[0],10),a=parseInt(n[1],10),s=parseInt(n[2],10);break;case 4:r=parseInt(n[0],10),a=parseInt(n[1],10),s=parseInt(n[2],10),l=parseInt(n[3],10)}return o=i(t)?f*r+p*a+c*s+l-u*((d=60*r+a)-Math.floor(d/10)):(f*r+p*a+t*s+l)/t,parseFloat(o.toFixed(3))}function a(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:25;e=!e||"number"!=typeof e||e<0?0:e;for(var i=Math.floor(e/3600)%24,o=Math.floor(e/60)%60,r=Math.floor(e%60),a=[[Math.floor((e%1*n).toFixed(3)),"f"],[r,"s"],[o,"m"],[i,"h"]],s=t.timeFormat,l=s[1]===s[0],d=l?2:1,u=s.length<d?s[d]:":",c=s[0],f=!1,p=0,m=a.length;p<m;p++)if(~s.indexOf(a[p][1]))f=!0;else if(f){for(var h=!1,v=p;v<m;v++)if(a[v][0]>0){h=!0;break}if(!h)break;l||(s=c+s),s=a[p][1]+u+s,l&&(s=a[p][1]+s),c=a[p][1]}t.timeFormat=s}function s(e){if("string"!=typeof e)throw new TypeError("Argument must be a string value");for(var t=~(e=e.replace(",",".")).indexOf(".")?e.split(".")[1].length:0,n=0,i=1,o=0,r=(e=e.split(":").reverse()).length;o<r;o++)i=1,o>0&&(i=Math.pow(60,o)),n+=Number(e[o])*i;return Number(n.toFixed(t))}Object.defineProperty(n,"__esModule",{value:!0}),n.isDropFrame=i,n.secondsToTimeCode=o,n.timeCodeToSeconds=r,n.calculateTimeFormat=a,n.convertSMPTEtoSeconds=s;var l=function(e){return e&&e.__esModule?e:{default:e}}(e(7));l.default.Utils=l.default.Utils||{},l.default.Utils.secondsToTimeCode=o,l.default.Utils.timeCodeToSeconds=r,l.default.Utils.calculateTimeFormat=a,l.default.Utils.convertSMPTEtoSeconds=s},{7:7}]},{},[29,6,5,15,23,20,19,21,22,24,16,18,17,9,10,11,12,13,14]);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
lib/media-element/mediaelement-migrate.js
ADDED
@@ -0,0 +1,84 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/* global console, MediaElementPlayer, mejs */
|
2 |
+
(function ( window, $ ) {
|
3 |
+
// Reintegrate `plugins` since they don't exist in MEJS anymore; it won't affect anything in the player
|
4 |
+
if (mejs.plugins === undefined) {
|
5 |
+
mejs.plugins = {};
|
6 |
+
mejs.plugins.silverlight = [];
|
7 |
+
mejs.plugins.silverlight.push({
|
8 |
+
types: []
|
9 |
+
});
|
10 |
+
}
|
11 |
+
|
12 |
+
// Inclusion of old `HtmlMediaElementShim` if it doesn't exist
|
13 |
+
mejs.HtmlMediaElementShim = mejs.HtmlMediaElementShim || {
|
14 |
+
getTypeFromFile: mejs.Utils.getTypeFromFile
|
15 |
+
};
|
16 |
+
|
17 |
+
// Add missing global variables for backward compatibility
|
18 |
+
if (mejs.MediaFeatures === undefined) {
|
19 |
+
mejs.MediaFeatures = mejs.Features;
|
20 |
+
}
|
21 |
+
if (mejs.Utility === undefined) {
|
22 |
+
mejs.Utility = mejs.Utils;
|
23 |
+
}
|
24 |
+
|
25 |
+
/**
|
26 |
+
* Create missing variables and have default `classPrefix` overridden to avoid issues.
|
27 |
+
*
|
28 |
+
* `media` is now a fake wrapper needed to simplify manipulation of various media types,
|
29 |
+
* so in order to access the `video` or `audio` tag, use `media.originalNode` or `player.node`;
|
30 |
+
* `player.container` used to be jQuery but now is a HTML element, and many elements inside
|
31 |
+
* the player rely on it being a HTML now, so its conversion is difficult; however, a
|
32 |
+
* `player.$container` new variable has been added to be used as jQuery object
|
33 |
+
*/
|
34 |
+
var init = MediaElementPlayer.prototype.init;
|
35 |
+
MediaElementPlayer.prototype.init = function () {
|
36 |
+
this.options.classPrefix = 'mejs-';
|
37 |
+
this.$media = this.$node = $( this.node );
|
38 |
+
init.call( this );
|
39 |
+
};
|
40 |
+
|
41 |
+
var ready = MediaElementPlayer.prototype._meReady;
|
42 |
+
MediaElementPlayer.prototype._meReady = function () {
|
43 |
+
this.container = $( this.container) ;
|
44 |
+
this.controls = $( this.controls );
|
45 |
+
this.layers = $( this.layers );
|
46 |
+
ready.apply( this, arguments );
|
47 |
+
};
|
48 |
+
|
49 |
+
// Override method so certain elements can be called with jQuery
|
50 |
+
MediaElementPlayer.prototype.getElement = function ( el ) {
|
51 |
+
return $ !== undefined && el instanceof $ ? el[0] : el;
|
52 |
+
};
|
53 |
+
|
54 |
+
// Add jQuery ONLY to most of custom features' arguments for backward compatibility; default features rely 100%
|
55 |
+
// on the arguments being HTML elements to work properly
|
56 |
+
MediaElementPlayer.prototype.buildfeatures = function ( player, controls, layers, media ) {
|
57 |
+
var defaultFeatures = [
|
58 |
+
'playpause',
|
59 |
+
'current',
|
60 |
+
'progress',
|
61 |
+
'duration',
|
62 |
+
'tracks',
|
63 |
+
'volume',
|
64 |
+
'fullscreen'
|
65 |
+
];
|
66 |
+
for (var i = 0, total = this.options.features.length; i < total; i++) {
|
67 |
+
var feature = this.options.features[i];
|
68 |
+
if (this['build' + feature]) {
|
69 |
+
try {
|
70 |
+
// Use jQuery for non-default features
|
71 |
+
if (defaultFeatures.indexOf(feature) === -1) {
|
72 |
+
this['build' + feature]( player, $(controls), $(layers), media );
|
73 |
+
} else {
|
74 |
+
this['build' + feature]( player, controls, layers, media );
|
75 |
+
}
|
76 |
+
|
77 |
+
} catch (e) {
|
78 |
+
console.error( 'error building ' + feature, e );
|
79 |
+
}
|
80 |
+
}
|
81 |
+
}
|
82 |
+
};
|
83 |
+
|
84 |
+
})( window, jQuery );
|
lib/media-element/mediaelement-migrate.min.js
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
!function(a,b){void 0===mejs.plugins&&(mejs.plugins={},mejs.plugins.silverlight=[],mejs.plugins.silverlight.push({types:[]})),mejs.HtmlMediaElementShim=mejs.HtmlMediaElementShim||{getTypeFromFile:mejs.Utils.getTypeFromFile},void 0===mejs.MediaFeatures&&(mejs.MediaFeatures=mejs.Features),void 0===mejs.Utility&&(mejs.Utility=mejs.Utils);var c=MediaElementPlayer.prototype.init;MediaElementPlayer.prototype.init=function(){this.options.classPrefix="mejs-",this.$media=this.$node=b(this.node),c.call(this)};var d=MediaElementPlayer.prototype._meReady;MediaElementPlayer.prototype._meReady=function(){this.container=b(this.container),this.controls=b(this.controls),this.layers=b(this.layers),d.apply(this,arguments)},MediaElementPlayer.prototype.getElement=function(a){return void 0!==b&&a instanceof b?a[0]:a},MediaElementPlayer.prototype.buildfeatures=function(a,c,d,e){for(var f=["playpause","current","progress","duration","tracks","volume","fullscreen"],g=0,h=this.options.features.length;g<h;g++){var i=this.options.features[g];if(this["build"+i])try{f.indexOf(i)===-1?this["build"+i](a,b(c),b(d),e):this["build"+i](a,c,d,e)}catch(j){console.error("error building "+i,j)}}}}(window,jQuery);
|
lib/media-element/mediaelement.js
CHANGED
@@ -1,1573 +1,3974 @@
|
|
1 |
/*!
|
2 |
-
* MediaElement.js
|
3 |
-
*
|
4 |
-
*
|
5 |
-
*
|
6 |
-
*
|
7 |
-
*
|
8 |
-
*
|
9 |
-
*
|
10 |
-
*
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
var
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
//,{version: [12,0], types: ['video/webm']} // for future reference (hopefully!)
|
31 |
-
],
|
32 |
-
youtube: [
|
33 |
-
{version: null, types: ['video/youtube', 'video/x-youtube']}
|
34 |
-
],
|
35 |
-
vimeo: [
|
36 |
-
{version: null, types: ['video/vimeo']}
|
37 |
-
]
|
38 |
-
};
|
39 |
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
78 |
}
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
seconds = Math.floor(time % 60),
|
92 |
-
frames = Math.floor(((time % 1)*fps).toFixed(3)),
|
93 |
-
result =
|
94 |
-
( (forceHours || hours > 0) ? (hours < 10 ? '0' + hours : hours) + ':' : '')
|
95 |
-
+ (minutes < 10 ? '0' + minutes : minutes) + ':'
|
96 |
-
+ (seconds < 10 ? '0' + seconds : seconds)
|
97 |
-
+ ((showFrameCount) ? ':' + (frames < 10 ? '0' + frames : frames) : '');
|
98 |
-
|
99 |
-
return result;
|
100 |
-
},
|
101 |
-
|
102 |
-
timeCodeToSeconds: function(hh_mm_ss_ff, forceHours, showFrameCount, fps){
|
103 |
-
if (typeof showFrameCount == 'undefined') {
|
104 |
-
showFrameCount=false;
|
105 |
-
} else if(typeof fps == 'undefined') {
|
106 |
-
fps = 25;
|
107 |
-
}
|
108 |
-
|
109 |
-
var tc_array = hh_mm_ss_ff.split(":"),
|
110 |
-
tc_hh = parseInt(tc_array[0], 10),
|
111 |
-
tc_mm = parseInt(tc_array[1], 10),
|
112 |
-
tc_ss = parseInt(tc_array[2], 10),
|
113 |
-
tc_ff = 0,
|
114 |
-
tc_in_seconds = 0;
|
115 |
-
|
116 |
-
if (showFrameCount) {
|
117 |
-
tc_ff = parseInt(tc_array[3])/fps;
|
118 |
-
}
|
119 |
-
|
120 |
-
tc_in_seconds = ( tc_hh * 3600 ) + ( tc_mm * 60 ) + tc_ss + tc_ff;
|
121 |
-
|
122 |
-
return tc_in_seconds;
|
123 |
-
},
|
124 |
-
|
125 |
-
|
126 |
-
convertSMPTEtoSeconds: function (SMPTE) {
|
127 |
-
if (typeof SMPTE != 'string')
|
128 |
-
return false;
|
129 |
-
|
130 |
-
SMPTE = SMPTE.replace(',', '.');
|
131 |
-
|
132 |
-
var secs = 0,
|
133 |
-
decimalLen = (SMPTE.indexOf('.') != -1) ? SMPTE.split('.')[1].length : 0,
|
134 |
-
multiplier = 1;
|
135 |
-
|
136 |
-
SMPTE = SMPTE.split(':').reverse();
|
137 |
-
|
138 |
-
for (var i = 0; i < SMPTE.length; i++) {
|
139 |
-
multiplier = 1;
|
140 |
-
if (i > 0) {
|
141 |
-
multiplier = Math.pow(60, i);
|
142 |
-
}
|
143 |
-
secs += Number(SMPTE[i]) * multiplier;
|
144 |
-
}
|
145 |
-
return Number(secs.toFixed(decimalLen));
|
146 |
-
},
|
147 |
-
|
148 |
-
/* borrowed from SWFObject: http://code.google.com/p/swfobject/source/browse/trunk/swfobject/src/swfobject.js#474 */
|
149 |
-
removeSwf: function(id) {
|
150 |
-
var obj = document.getElementById(id);
|
151 |
-
if (obj && obj.nodeName == "OBJECT") {
|
152 |
-
if (mejs.MediaFeatures.isIE) {
|
153 |
-
obj.style.display = "none";
|
154 |
-
(function(){
|
155 |
-
if (obj.readyState == 4) {
|
156 |
-
mejs.Utility.removeObjectInIE(id);
|
157 |
-
} else {
|
158 |
-
setTimeout(arguments.callee, 10);
|
159 |
-
}
|
160 |
-
})();
|
161 |
-
} else {
|
162 |
-
obj.parentNode.removeChild(obj);
|
163 |
-
}
|
164 |
}
|
165 |
-
},
|
166 |
-
removeObjectInIE: function(id) {
|
167 |
-
var obj = document.getElementById(id);
|
168 |
-
if (obj) {
|
169 |
-
for (var i in obj) {
|
170 |
-
if (typeof obj[i] == "function") {
|
171 |
-
obj[i] = null;
|
172 |
-
}
|
173 |
-
}
|
174 |
-
obj.parentNode.removeChild(obj);
|
175 |
-
}
|
176 |
}
|
|
|
|
|
177 |
};
|
178 |
|
|
|
|
|
179 |
|
180 |
-
// Core detector, plugins are added below
|
181 |
-
mejs.PluginDetector = {
|
182 |
|
183 |
-
|
184 |
-
hasPluginVersion: function(plugin, v) {
|
185 |
-
var pv = this.plugins[plugin];
|
186 |
-
v[1] = v[1] || 0;
|
187 |
-
v[2] = v[2] || 0;
|
188 |
-
return (pv[0] > v[0] || (pv[0] == v[0] && pv[1] > v[1]) || (pv[0] == v[0] && pv[1] == v[1] && pv[2] >= v[2])) ? true : false;
|
189 |
-
},
|
190 |
|
191 |
-
|
192 |
-
|
193 |
-
ua: window.navigator.userAgent.toLowerCase(),
|
194 |
|
195 |
-
|
196 |
-
plugins: [],
|
197 |
|
198 |
-
|
199 |
-
addPlugin: function(p, pluginName, mimeType, activeX, axDetect) {
|
200 |
-
this.plugins[p] = this.detectPlugin(pluginName, mimeType, activeX, axDetect);
|
201 |
-
},
|
202 |
|
203 |
-
|
204 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
205 |
|
206 |
-
|
207 |
-
|
208 |
-
i,
|
209 |
-
ax;
|
210 |
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
for (i=0; i<version.length; i++) {
|
217 |
-
version[i] = parseInt(version[i].match(/\d+/), 10);
|
218 |
-
}
|
219 |
}
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
}
|
228 |
-
catch (e) { }
|
229 |
}
|
230 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
231 |
}
|
|
|
|
|
232 |
};
|
233 |
|
234 |
-
|
235 |
-
mejs.PluginDetector.addPlugin('flash','Shockwave Flash','application/x-shockwave-flash','ShockwaveFlash.ShockwaveFlash', function(ax) {
|
236 |
-
// adapted from SWFObject
|
237 |
-
var version = [],
|
238 |
-
d = ax.GetVariable("$version");
|
239 |
-
if (d) {
|
240 |
-
d = d.split(" ")[1].split(",");
|
241 |
-
version = [parseInt(d[0], 10), parseInt(d[1], 10), parseInt(d[2], 10)];
|
242 |
-
}
|
243 |
-
return version;
|
244 |
-
});
|
245 |
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
};
|
258 |
-
loopMatch(ax, v, 0, 1);
|
259 |
-
loopMatch(ax, v, 1, 1);
|
260 |
-
loopMatch(ax, v, 2, 10000); // the third place in the version number is usually 5 digits (4.0.xxxxx)
|
261 |
-
loopMatch(ax, v, 2, 1000);
|
262 |
-
loopMatch(ax, v, 2, 100);
|
263 |
-
loopMatch(ax, v, 2, 10);
|
264 |
-
loopMatch(ax, v, 2, 1);
|
265 |
-
loopMatch(ax, v, 3, 1);
|
266 |
-
|
267 |
-
return v;
|
268 |
});
|
269 |
-
// add adobe acrobat
|
270 |
-
/*
|
271 |
-
PluginDetector.addPlugin('acrobat','Adobe Acrobat','application/pdf','AcroPDF.PDF', function (ax) {
|
272 |
-
var version = [],
|
273 |
-
d = ax.GetVersions().split(',')[0].split('=')[1].split('.');
|
274 |
|
275 |
-
|
276 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
277 |
}
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
// necessary detection (fixes for <IE9)
|
282 |
-
mejs.MediaFeatures = {
|
283 |
-
init: function() {
|
284 |
-
var
|
285 |
-
t = this,
|
286 |
-
d = document,
|
287 |
-
nav = mejs.PluginDetector.nav,
|
288 |
-
ua = mejs.PluginDetector.ua.toLowerCase(),
|
289 |
-
i,
|
290 |
-
v,
|
291 |
-
html5Elements = ['source','track','audio','video'];
|
292 |
-
|
293 |
-
// detect browsers (only the ones that have some kind of quirk we need to work around)
|
294 |
-
t.isiPad = (ua.match(/ipad/i) !== null);
|
295 |
-
t.isiPhone = (ua.match(/iphone/i) !== null);
|
296 |
-
t.isiOS = t.isiPhone || t.isiPad;
|
297 |
-
t.isAndroid = (ua.match(/android/i) !== null);
|
298 |
-
t.isBustedAndroid = (ua.match(/android 2\.[12]/) !== null);
|
299 |
-
t.isIE = (nav.appName.toLowerCase().indexOf("microsoft") != -1);
|
300 |
-
t.isChrome = (ua.match(/chrome/gi) !== null);
|
301 |
-
t.isFirefox = (ua.match(/firefox/gi) !== null);
|
302 |
-
t.isWebkit = (ua.match(/webkit/gi) !== null);
|
303 |
-
t.isGecko = (ua.match(/gecko/gi) !== null) && !t.isWebkit;
|
304 |
-
t.isOpera = (ua.match(/opera/gi) !== null);
|
305 |
-
t.hasTouch = ('ontouchstart' in window);
|
306 |
-
|
307 |
-
// create HTML5 media elements for IE before 9, get a <video> element for fullscreen detection
|
308 |
-
for (i=0; i<html5Elements.length; i++) {
|
309 |
-
v = document.createElement(html5Elements[i]);
|
310 |
-
}
|
311 |
-
|
312 |
-
t.supportsMediaTag = (typeof v.canPlayType !== 'undefined' || t.isBustedAndroid);
|
313 |
-
|
314 |
-
// detect native JavaScript fullscreen (Safari/Firefox only, Chrome still fails)
|
315 |
-
|
316 |
-
// iOS
|
317 |
-
t.hasSemiNativeFullScreen = (typeof v.webkitEnterFullscreen !== 'undefined');
|
318 |
-
|
319 |
-
// Webkit/firefox
|
320 |
-
t.hasWebkitNativeFullScreen = (typeof v.webkitRequestFullScreen !== 'undefined');
|
321 |
-
t.hasMozNativeFullScreen = (typeof v.mozRequestFullScreen !== 'undefined');
|
322 |
-
|
323 |
-
t.hasTrueNativeFullScreen = (t.hasWebkitNativeFullScreen || t.hasMozNativeFullScreen);
|
324 |
-
t.nativeFullScreenEnabled = t.hasTrueNativeFullScreen;
|
325 |
-
if (t.hasMozNativeFullScreen) {
|
326 |
-
t.nativeFullScreenEnabled = v.mozFullScreenEnabled;
|
327 |
-
}
|
328 |
-
|
329 |
-
|
330 |
-
if (this.isChrome) {
|
331 |
-
t.hasSemiNativeFullScreen = false;
|
332 |
-
}
|
333 |
-
|
334 |
-
if (t.hasTrueNativeFullScreen) {
|
335 |
-
t.fullScreenEventName = (t.hasWebkitNativeFullScreen) ? 'webkitfullscreenchange' : 'mozfullscreenchange';
|
336 |
-
|
337 |
-
|
338 |
-
t.isFullScreen = function() {
|
339 |
-
if (v.mozRequestFullScreen) {
|
340 |
-
return d.mozFullScreen;
|
341 |
-
} else if (v.webkitRequestFullScreen) {
|
342 |
-
return d.webkitIsFullScreen;
|
343 |
-
}
|
344 |
-
}
|
345 |
-
|
346 |
-
t.requestFullScreen = function(el) {
|
347 |
-
|
348 |
-
if (t.hasWebkitNativeFullScreen) {
|
349 |
-
el.webkitRequestFullScreen();
|
350 |
-
} else if (t.hasMozNativeFullScreen) {
|
351 |
-
el.mozRequestFullScreen();
|
352 |
-
}
|
353 |
-
}
|
354 |
-
|
355 |
-
t.cancelFullScreen = function() {
|
356 |
-
if (t.hasWebkitNativeFullScreen) {
|
357 |
-
document.webkitCancelFullScreen();
|
358 |
-
} else if (t.hasMozNativeFullScreen) {
|
359 |
-
document.mozCancelFullScreen();
|
360 |
-
}
|
361 |
-
}
|
362 |
-
|
363 |
-
}
|
364 |
-
|
365 |
-
|
366 |
-
// OS X 10.5 can't do this even if it says it can :(
|
367 |
-
if (t.hasSemiNativeFullScreen && ua.match(/mac os x 10_5/i)) {
|
368 |
-
t.hasNativeFullScreen = false;
|
369 |
-
t.hasSemiNativeFullScreen = false;
|
370 |
-
}
|
371 |
-
|
372 |
}
|
373 |
-
};
|
374 |
-
mejs.MediaFeatures.init();
|
375 |
|
|
|
|
|
376 |
|
377 |
-
|
378 |
-
extension methods to <video> or <audio> object to bring it into parity with PluginMediaElement (see below)
|
379 |
-
*/
|
380 |
-
mejs.HtmlMediaElement = {
|
381 |
-
pluginType: 'native',
|
382 |
-
isFullScreen: false,
|
383 |
|
384 |
-
|
385 |
-
|
386 |
-
|
|
|
387 |
|
388 |
-
|
389 |
-
this.muted = muted;
|
390 |
-
},
|
391 |
|
392 |
-
|
393 |
-
this.volume = volume;
|
394 |
-
},
|
395 |
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
400 |
|
401 |
-
|
402 |
-
|
403 |
-
|
404 |
-
|
405 |
-
|
406 |
-
|
407 |
-
|
408 |
-
|
409 |
-
|
410 |
-
|
411 |
-
|
412 |
-
if (typeof url == 'string') {
|
413 |
-
this.src = url;
|
414 |
-
} else {
|
415 |
-
var i, media;
|
416 |
|
417 |
-
|
418 |
-
|
419 |
-
|
420 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
421 |
}
|
422 |
-
}
|
423 |
-
}
|
424 |
-
},
|
425 |
|
426 |
-
|
427 |
-
|
428 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
429 |
}
|
430 |
-
};
|
431 |
|
432 |
-
|
433 |
-
|
434 |
-
|
435 |
-
|
436 |
-
|
437 |
-
|
438 |
-
this.src = mediaUrl;
|
439 |
-
this.events = {};
|
440 |
-
};
|
441 |
|
442 |
-
|
443 |
-
|
444 |
-
|
445 |
-
|
446 |
-
|
447 |
-
|
448 |
-
|
449 |
-
|
450 |
-
|
451 |
-
|
452 |
-
// not implemented :(
|
453 |
-
playbackRate: -1,
|
454 |
-
defaultPlaybackRate: -1,
|
455 |
-
seekable: [],
|
456 |
-
played: [],
|
457 |
-
|
458 |
-
// HTML5 read-only properties
|
459 |
-
paused: true,
|
460 |
-
ended: false,
|
461 |
-
seeking: false,
|
462 |
-
duration: 0,
|
463 |
-
error: null,
|
464 |
-
tagName: '',
|
465 |
-
|
466 |
-
// HTML5 get/set properties, but only set (updated by event handlers)
|
467 |
-
muted: false,
|
468 |
-
volume: 1,
|
469 |
-
currentTime: 0,
|
470 |
-
|
471 |
-
// HTML5 methods
|
472 |
-
play: function () {
|
473 |
-
if (this.pluginApi != null) {
|
474 |
-
if (this.pluginType == 'youtube') {
|
475 |
-
this.pluginApi.playVideo();
|
476 |
-
} else {
|
477 |
-
this.pluginApi.playMedia();
|
478 |
}
|
479 |
-
|
|
|
|
|
480 |
}
|
481 |
-
|
482 |
-
|
483 |
-
|
484 |
-
if (
|
485 |
-
|
486 |
-
this.pluginApi.loadMedia();
|
487 |
}
|
488 |
-
|
489 |
-
this.paused = false;
|
490 |
}
|
491 |
-
|
492 |
-
|
493 |
-
|
494 |
-
|
495 |
-
|
496 |
-
|
497 |
-
|
498 |
-
|
499 |
-
|
500 |
-
|
501 |
-
this.paused = true;
|
502 |
-
}
|
503 |
-
},
|
504 |
-
stop: function () {
|
505 |
-
if (this.pluginApi != null) {
|
506 |
-
if (this.pluginType == 'youtube') {
|
507 |
-
this.pluginApi.stopVideo();
|
508 |
-
} else {
|
509 |
-
this.pluginApi.stopMedia();
|
510 |
-
}
|
511 |
-
this.paused = true;
|
512 |
}
|
513 |
-
|
514 |
-
|
515 |
-
|
516 |
-
|
517 |
-
|
518 |
-
|
519 |
-
|
520 |
-
|
521 |
-
|
522 |
-
|
523 |
-
|
524 |
-
|
525 |
-
|
526 |
-
|
527 |
-
|
528 |
-
|
529 |
-
|
530 |
-
|
531 |
-
|
532 |
-
}
|
533 |
}
|
534 |
}
|
535 |
|
536 |
return false;
|
537 |
-
}
|
538 |
-
|
539 |
-
|
540 |
-
if (
|
541 |
-
|
542 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
543 |
},
|
544 |
-
|
545 |
-
|
546 |
-
if (this.pluginApi != null && this.pluginApi.hideFullscreenButton) {
|
547 |
-
this.pluginApi.hideFullscreenButton();
|
548 |
-
}
|
549 |
-
},
|
550 |
-
|
551 |
-
|
552 |
-
// custom methods since not all JavaScript implementations support get/set
|
553 |
-
|
554 |
-
// This can be a url string
|
555 |
-
// or an array [{src:'file.mp4',type:'video/mp4'},{src:'file.webm',type:'video/webm'}]
|
556 |
-
setSrc: function (url) {
|
557 |
-
if (typeof url == 'string') {
|
558 |
-
this.pluginApi.setSrc(mejs.Utility.absolutizeUrl(url));
|
559 |
-
this.src = mejs.Utility.absolutizeUrl(url);
|
560 |
-
} else {
|
561 |
-
var i, media;
|
562 |
|
563 |
-
|
564 |
-
|
565 |
-
|
566 |
-
|
567 |
-
|
|
|
|
|
568 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
569 |
}
|
570 |
}
|
571 |
|
572 |
-
|
573 |
-
|
574 |
-
|
575 |
-
|
576 |
-
|
577 |
-
|
578 |
-
|
579 |
-
|
580 |
-
|
581 |
-
|
582 |
-
|
583 |
-
|
|
|
584 |
}
|
|
|
|
|
585 |
},
|
586 |
-
|
587 |
-
|
588 |
-
|
589 |
-
|
590 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
591 |
} else {
|
592 |
-
|
593 |
}
|
594 |
-
|
|
|
595 |
}
|
596 |
},
|
597 |
-
|
598 |
-
|
599 |
-
|
600 |
-
|
601 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
602 |
} else {
|
603 |
-
|
604 |
}
|
605 |
-
this.muted = muted;
|
606 |
-
this.dispatchEvent('volumechange');
|
607 |
-
} else {
|
608 |
-
this.pluginApi.setMuted(muted);
|
609 |
}
|
610 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
611 |
}
|
612 |
-
},
|
613 |
|
614 |
-
|
615 |
-
setVideoSize: function (width, height) {
|
616 |
-
|
617 |
-
//if (this.pluginType == 'flash' || this.pluginType == 'silverlight') {
|
618 |
-
if ( this.pluginElement.style) {
|
619 |
-
this.pluginElement.style.width = width + 'px';
|
620 |
-
this.pluginElement.style.height = height + 'px';
|
621 |
-
}
|
622 |
-
if (this.pluginApi != null && this.pluginApi.setVideoSize) {
|
623 |
-
this.pluginApi.setVideoSize(width, height);
|
624 |
-
}
|
625 |
-
//}
|
626 |
-
},
|
627 |
|
628 |
-
|
629 |
-
|
630 |
-
this.pluginApi.setFullscreen(fullscreen);
|
631 |
}
|
632 |
-
|
633 |
-
|
634 |
-
|
635 |
-
|
636 |
-
this.setFullscreen(true);
|
637 |
-
}
|
638 |
-
|
639 |
-
},
|
640 |
-
|
641 |
-
exitFullScreen: function() {
|
642 |
-
if (this.pluginApi != null && this.pluginApi.setFullscreen) {
|
643 |
-
this.setFullscreen(false);
|
644 |
}
|
645 |
-
},
|
646 |
|
647 |
-
|
648 |
-
|
649 |
-
|
650 |
-
this.events[eventName].push(callback);
|
651 |
-
},
|
652 |
-
removeEventListener: function (eventName, callback) {
|
653 |
-
if (!eventName) { this.events = {}; return true; }
|
654 |
-
var callbacks = this.events[eventName];
|
655 |
-
if (!callbacks) return true;
|
656 |
-
if (!callback) { this.events[eventName] = []; return true; }
|
657 |
-
for (i = 0; i < callbacks.length; i++) {
|
658 |
-
if (callbacks[i] === callback) {
|
659 |
-
this.events[eventName].splice(i, 1);
|
660 |
return true;
|
661 |
}
|
662 |
}
|
663 |
return false;
|
664 |
-
}
|
665 |
-
dispatchEvent: function (eventName) {
|
666 |
-
var i,
|
667 |
-
args,
|
668 |
-
callbacks = this.events[eventName];
|
669 |
|
|
|
|
|
670 |
if (callbacks) {
|
671 |
-
|
672 |
-
|
673 |
-
callbacks[i].apply(null, args);
|
674 |
}
|
675 |
}
|
676 |
-
}
|
677 |
-
|
678 |
-
|
679 |
-
|
680 |
-
|
681 |
-
|
682 |
-
|
683 |
-
|
684 |
-
|
685 |
-
|
686 |
-
|
687 |
-
|
688 |
-
|
689 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
690 |
}
|
691 |
-
return '';
|
692 |
-
},
|
693 |
-
setAttribute: function(name, value){
|
694 |
-
this.attributes[name] = value;
|
695 |
-
},
|
696 |
|
697 |
-
|
698 |
-
|
|
|
699 |
}
|
700 |
-
};
|
701 |
|
702 |
-
|
703 |
-
|
704 |
|
705 |
-
|
706 |
-
|
707 |
|
708 |
-
|
709 |
-
this.pluginMediaElements[id] = pluginMediaElement;
|
710 |
-
this.htmlMediaElements[id] = htmlMediaElement;
|
711 |
-
},
|
712 |
|
713 |
-
|
714 |
-
|
715 |
|
716 |
-
|
717 |
-
|
|
|
718 |
|
719 |
-
|
720 |
-
// find the javascript bridge
|
721 |
-
switch (pluginMediaElement.pluginType) {
|
722 |
-
case "flash":
|
723 |
-
pluginMediaElement.pluginElement = pluginMediaElement.pluginApi = document.getElementById(id);
|
724 |
-
break;
|
725 |
-
case "silverlight":
|
726 |
-
pluginMediaElement.pluginElement = document.getElementById(pluginMediaElement.id);
|
727 |
-
pluginMediaElement.pluginApi = pluginMediaElement.pluginElement.Content.MediaElementJS;
|
728 |
-
break;
|
729 |
-
}
|
730 |
-
|
731 |
-
if (pluginMediaElement.pluginApi != null && pluginMediaElement.success) {
|
732 |
-
pluginMediaElement.success(pluginMediaElement, htmlMediaElement);
|
733 |
-
}
|
734 |
-
}
|
735 |
-
},
|
736 |
|
737 |
-
|
738 |
-
// http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html
|
739 |
-
fireEvent: function (id, eventName, values) {
|
740 |
|
741 |
-
|
742 |
-
e,
|
743 |
-
i,
|
744 |
-
bufferedTime,
|
745 |
-
pluginMediaElement = this.pluginMediaElements[id];
|
746 |
|
747 |
-
|
748 |
-
pluginMediaElement.paused = true;
|
749 |
|
750 |
-
|
751 |
-
e = {
|
752 |
-
type: eventName,
|
753 |
-
target: pluginMediaElement
|
754 |
-
};
|
755 |
|
756 |
-
|
757 |
-
|
758 |
-
|
759 |
-
e[i] = values[i];
|
760 |
-
}
|
761 |
|
762 |
-
|
763 |
-
bufferedTime = values.bufferedTime || 0;
|
764 |
|
765 |
-
|
766 |
-
start: function(index) {
|
767 |
-
return 0;
|
768 |
-
},
|
769 |
-
end: function (index) {
|
770 |
-
return bufferedTime;
|
771 |
-
},
|
772 |
-
length: 1
|
773 |
-
};
|
774 |
|
775 |
-
|
776 |
-
}
|
777 |
};
|
778 |
|
779 |
-
|
780 |
-
Default options
|
781 |
-
*/
|
782 |
-
mejs.MediaElementDefaults = {
|
783 |
-
// allows testing on HTML5, flash, silverlight
|
784 |
-
// auto: attempts to detect what the browser can do
|
785 |
-
// auto_plugin: prefer plugins and then attempt native HTML5
|
786 |
-
// native: forces HTML5 playback
|
787 |
-
// shim: disallows HTML5, will attempt either Flash or Silverlight
|
788 |
-
// none: forces fallback view
|
789 |
-
mode: 'auto',
|
790 |
-
// remove or reorder to change plugin priority and availability
|
791 |
-
plugins: ['flash','silverlight','youtube','vimeo'],
|
792 |
-
// shows debug errors on screen
|
793 |
-
enablePluginDebug: false,
|
794 |
-
// overrides the type specified, useful for dynamic instantiation
|
795 |
-
type: '',
|
796 |
-
// path to Flash and Silverlight plugins
|
797 |
-
pluginPath: mejs.Utility.getScriptPath(['mediaelement.js','mediaelement.min.js','mediaelement-and-player.js','mediaelement-and-player.min.js']),
|
798 |
-
// name of flash file
|
799 |
-
flashName: 'flashmediaelement.swf',
|
800 |
-
// streamer for RTMP streaming
|
801 |
-
flashStreamer: '',
|
802 |
-
// turns on the smoothing filter in Flash
|
803 |
-
enablePluginSmoothing: false,
|
804 |
-
// name of silverlight file
|
805 |
-
silverlightName: 'silverlightmediaelement.xap',
|
806 |
-
// default if the <video width> is not specified
|
807 |
-
defaultVideoWidth: 480,
|
808 |
-
// default if the <video height> is not specified
|
809 |
-
defaultVideoHeight: 270,
|
810 |
-
// overrides <video width>
|
811 |
-
pluginWidth: -1,
|
812 |
-
// overrides <video height>
|
813 |
-
pluginHeight: -1,
|
814 |
-
// additional plugin variables in 'key=value' form
|
815 |
-
pluginVars: [],
|
816 |
-
// rate in milliseconds for Flash and Silverlight to fire the timeupdate event
|
817 |
-
// larger number is less accurate, but less strain on plugin->JavaScript bridge
|
818 |
-
timerRate: 250,
|
819 |
-
// initial volume for player
|
820 |
-
startVolume: 0.8,
|
821 |
-
success: function () { },
|
822 |
-
error: function () { }
|
823 |
-
};
|
824 |
|
825 |
-
|
826 |
-
Determines if a browser supports the <video> or <audio> element
|
827 |
-
and returns either the native element or a Flash/Silverlight version that
|
828 |
-
mimics HTML5 MediaElement
|
829 |
-
*/
|
830 |
-
mejs.MediaElement = function (el, o) {
|
831 |
-
return mejs.HtmlMediaElementShim.create(el,o);
|
832 |
-
};
|
833 |
|
834 |
-
|
835 |
-
|
836 |
-
create: function(el, o) {
|
837 |
-
var
|
838 |
-
options = mejs.MediaElementDefaults,
|
839 |
-
htmlMediaElement = (typeof(el) == 'string') ? document.getElementById(el) : el,
|
840 |
-
tagName = htmlMediaElement.tagName.toLowerCase(),
|
841 |
-
isMediaTag = (tagName === 'audio' || tagName === 'video'),
|
842 |
-
src = (isMediaTag) ? htmlMediaElement.getAttribute('src') : htmlMediaElement.getAttribute('href'),
|
843 |
-
poster = htmlMediaElement.getAttribute('poster'),
|
844 |
-
autoplay = htmlMediaElement.getAttribute('autoplay'),
|
845 |
-
preload = htmlMediaElement.getAttribute('preload'),
|
846 |
-
controls = htmlMediaElement.getAttribute('controls'),
|
847 |
-
playback,
|
848 |
-
prop;
|
849 |
-
|
850 |
-
// extend options
|
851 |
-
for (prop in o) {
|
852 |
-
options[prop] = o[prop];
|
853 |
-
}
|
854 |
-
|
855 |
-
// clean up attributes
|
856 |
-
src = (typeof src == 'undefined' || src === null || src == '') ? null : src;
|
857 |
-
poster = (typeof poster == 'undefined' || poster === null) ? '' : poster;
|
858 |
-
preload = (typeof preload == 'undefined' || preload === null || preload === 'false') ? 'none' : preload;
|
859 |
-
autoplay = !(typeof autoplay == 'undefined' || autoplay === null || autoplay === 'false');
|
860 |
-
controls = !(typeof controls == 'undefined' || controls === null || controls === 'false');
|
861 |
-
|
862 |
-
// test for HTML5 and plugin capabilities
|
863 |
-
playback = this.determinePlayback(htmlMediaElement, options, mejs.MediaFeatures.supportsMediaTag, isMediaTag, src);
|
864 |
-
playback.url = (playback.url !== null) ? mejs.Utility.absolutizeUrl(playback.url) : '';
|
865 |
-
|
866 |
-
if (playback.method == 'native') {
|
867 |
-
// second fix for android
|
868 |
-
if (mejs.MediaFeatures.isBustedAndroid) {
|
869 |
-
htmlMediaElement.src = playback.url;
|
870 |
-
htmlMediaElement.addEventListener('click', function() {
|
871 |
-
htmlMediaElement.play();
|
872 |
-
}, false);
|
873 |
-
}
|
874 |
-
|
875 |
-
// add methods to native HTMLMediaElement
|
876 |
-
return this.updateNative(playback, options, autoplay, preload);
|
877 |
-
} else if (playback.method !== '') {
|
878 |
-
// create plugin to mimic HTMLMediaElement
|
879 |
-
|
880 |
-
return this.createPlugin( playback, options, poster, autoplay, preload, controls);
|
881 |
-
} else {
|
882 |
-
// boo, no HTML5, no Flash, no Silverlight.
|
883 |
-
this.createErrorMessage( playback, options, poster );
|
884 |
-
|
885 |
-
return this;
|
886 |
-
}
|
887 |
-
},
|
888 |
-
|
889 |
-
determinePlayback: function(htmlMediaElement, options, supportsMediaTag, isMediaTag, src) {
|
890 |
-
var
|
891 |
-
mediaFiles = [],
|
892 |
-
i,
|
893 |
-
j,
|
894 |
-
k,
|
895 |
-
l,
|
896 |
-
n,
|
897 |
-
type,
|
898 |
-
result = { method: '', url: '', htmlMediaElement: htmlMediaElement, isVideo: (htmlMediaElement.tagName.toLowerCase() != 'audio')},
|
899 |
-
pluginName,
|
900 |
-
pluginVersions,
|
901 |
-
pluginInfo,
|
902 |
-
dummy;
|
903 |
-
|
904 |
-
// STEP 1: Get URL and type from <video src> or <source src>
|
905 |
-
|
906 |
-
// supplied type overrides <video type> and <source type>
|
907 |
-
if (typeof options.type != 'undefined' && options.type !== '') {
|
908 |
-
|
909 |
-
// accept either string or array of types
|
910 |
-
if (typeof options.type == 'string') {
|
911 |
-
mediaFiles.push({type:options.type, url:src});
|
912 |
-
} else {
|
913 |
-
|
914 |
-
for (i=0; i<options.type.length; i++) {
|
915 |
-
mediaFiles.push({type:options.type[i], url:src});
|
916 |
-
}
|
917 |
-
}
|
918 |
|
919 |
-
|
920 |
-
|
921 |
-
|
922 |
-
|
923 |
|
924 |
-
|
925 |
-
} else {
|
926 |
-
// test <source> types to see if they are usable
|
927 |
-
for (i = 0; i < htmlMediaElement.childNodes.length; i++) {
|
928 |
-
n = htmlMediaElement.childNodes[i];
|
929 |
-
if (n.nodeType == 1 && n.tagName.toLowerCase() == 'source') {
|
930 |
-
src = n.getAttribute('src');
|
931 |
-
type = this.formatType(src, n.getAttribute('type'));
|
932 |
-
mediaFiles.push({type:type, url:src});
|
933 |
-
}
|
934 |
-
}
|
935 |
-
}
|
936 |
-
|
937 |
-
// in the case of dynamicly created players
|
938 |
-
// check for audio types
|
939 |
-
if (!isMediaTag && mediaFiles.length > 0 && mediaFiles[0].url !== null && this.getTypeFromFile(mediaFiles[0].url).indexOf('audio') > -1) {
|
940 |
-
result.isVideo = false;
|
941 |
-
}
|
942 |
-
|
943 |
|
944 |
-
|
945 |
-
|
946 |
-
// special case for Android which sadly doesn't implement the canPlayType function (always returns '')
|
947 |
-
if (mejs.MediaFeatures.isBustedAndroid) {
|
948 |
-
htmlMediaElement.canPlayType = function(type) {
|
949 |
-
return (type.match(/video\/(mp4|m4v)/gi) !== null) ? 'maybe' : '';
|
950 |
-
};
|
951 |
-
}
|
952 |
-
|
953 |
|
954 |
-
|
955 |
-
if (supportsMediaTag && (options.mode === 'auto' || options.mode === 'auto_plugin' || options.mode === 'native')) {
|
956 |
-
|
957 |
-
if (!isMediaTag) {
|
958 |
|
959 |
-
|
960 |
-
|
961 |
-
|
962 |
-
|
963 |
-
|
964 |
-
|
965 |
-
|
966 |
-
|
967 |
-
|
968 |
-
|
969 |
-
|
970 |
-
|
971 |
-
|
972 |
-
|
973 |
-
|
974 |
-
|
975 |
-
|
976 |
-
|
977 |
-
|
978 |
-
|
979 |
-
if (result.method === 'native') {
|
980 |
-
if (result.url !== null) {
|
981 |
-
htmlMediaElement.src = result.url;
|
982 |
-
}
|
983 |
-
|
984 |
-
// if `auto_plugin` mode, then cache the native result but try plugins.
|
985 |
-
if (options.mode !== 'auto_plugin') {
|
986 |
-
return result;
|
987 |
-
}
|
988 |
}
|
|
|
|
|
|
|
989 |
}
|
|
|
|
|
|
|
|
|
990 |
|
991 |
-
|
992 |
-
if (options.mode === 'auto' || options.mode === 'auto_plugin' || options.mode === 'shim') {
|
993 |
-
for (i=0; i<mediaFiles.length; i++) {
|
994 |
-
type = mediaFiles[i].type;
|
995 |
|
996 |
-
|
997 |
-
for (j=0; j<options.plugins.length; j++) {
|
998 |
|
999 |
-
|
1000 |
-
|
1001 |
-
|
1002 |
-
|
1003 |
-
|
1004 |
-
|
1005 |
-
|
1006 |
-
|
1007 |
-
|
1008 |
-
|
1009 |
-
|
1010 |
-
|
1011 |
-
|
1012 |
-
|
1013 |
-
|
1014 |
-
|
1015 |
-
|
1016 |
-
|
1017 |
-
|
1018 |
-
|
1019 |
-
|
1020 |
-
|
1021 |
-
|
1022 |
-
|
|
|
|
|
|
|
1023 |
}
|
1024 |
}
|
1025 |
}
|
1026 |
}
|
|
|
|
|
1027 |
}
|
1028 |
-
|
1029 |
-
|
1030 |
-
|
1031 |
-
|
1032 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
1033 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
1034 |
|
1035 |
-
|
1036 |
-
|
1037 |
-
|
|
|
1038 |
}
|
|
|
1039 |
|
1040 |
-
|
1041 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1042 |
|
1043 |
-
|
1044 |
-
var ext;
|
1045 |
|
1046 |
-
|
1047 |
-
if (
|
1048 |
-
|
|
|
|
|
|
|
|
|
1049 |
} else {
|
1050 |
-
|
1051 |
-
|
1052 |
-
|
1053 |
-
|
1054 |
-
|
1055 |
-
|
1056 |
-
} else {
|
1057 |
-
return type;
|
1058 |
-
}
|
1059 |
}
|
|
|
|
|
1060 |
},
|
1061 |
-
|
1062 |
-
|
1063 |
-
var
|
1064 |
-
|
1065 |
-
|
1066 |
-
|
1067 |
-
|
1068 |
-
|
1069 |
-
|
1070 |
-
|
1071 |
-
|
1072 |
-
|
1073 |
-
|
1074 |
-
|
1075 |
-
|
1076 |
-
|
1077 |
-
|
1078 |
-
|
1079 |
-
case 'ogv':
|
1080 |
-
return 'ogg';
|
1081 |
-
default:
|
1082 |
-
return ext;
|
1083 |
}
|
1084 |
},
|
1085 |
|
1086 |
-
|
1087 |
-
|
1088 |
-
|
1089 |
-
errorContainer = document.createElement('div');
|
1090 |
-
|
1091 |
-
errorContainer.className = 'me-cannotplay';
|
1092 |
-
|
1093 |
-
try {
|
1094 |
-
errorContainer.style.width = htmlMediaElement.width + 'px';
|
1095 |
-
errorContainer.style.height = htmlMediaElement.height + 'px';
|
1096 |
-
} catch (e) {}
|
1097 |
|
1098 |
-
|
1099 |
-
'<a href="' + playback.url + '"><img src="' + poster + '" width="100%" height="100%" /></a>' :
|
1100 |
-
'<a href="' + playback.url + '"><span>Download File</span></a>';
|
1101 |
|
1102 |
-
|
1103 |
-
|
|
|
|
|
1104 |
|
1105 |
-
|
1106 |
-
|
1107 |
|
1108 |
-
|
1109 |
-
var
|
1110 |
-
|
1111 |
-
width = 1,
|
1112 |
-
height = 1,
|
1113 |
-
pluginid = 'me_' + playback.method + '_' + (mejs.meIndex++),
|
1114 |
-
pluginMediaElement = new mejs.PluginMediaElement(pluginid, playback.method, playback.url),
|
1115 |
-
container = document.createElement('div'),
|
1116 |
-
specialIEContainer,
|
1117 |
-
node,
|
1118 |
-
initVars;
|
1119 |
-
|
1120 |
-
// copy tagName from html media element
|
1121 |
-
pluginMediaElement.tagName = htmlMediaElement.tagName
|
1122 |
-
|
1123 |
-
// copy attributes from html media element to plugin media element
|
1124 |
-
for (var i = 0; i < htmlMediaElement.attributes.length; i++) {
|
1125 |
-
var attribute = htmlMediaElement.attributes[i];
|
1126 |
-
if (attribute.specified == true) {
|
1127 |
-
pluginMediaElement.setAttribute(attribute.name, attribute.value);
|
1128 |
-
}
|
1129 |
-
}
|
1130 |
-
|
1131 |
-
// check for placement inside a <p> tag (sometimes WYSIWYG editors do this)
|
1132 |
-
node = htmlMediaElement.parentNode;
|
1133 |
-
while (node !== null && node.tagName.toLowerCase() != 'body') {
|
1134 |
-
if (node.parentNode.tagName.toLowerCase() == 'p') {
|
1135 |
-
node.parentNode.parentNode.insertBefore(node, node.parentNode);
|
1136 |
-
break;
|
1137 |
-
}
|
1138 |
-
node = node.parentNode;
|
1139 |
}
|
1140 |
|
1141 |
-
|
1142 |
-
|
1143 |
-
|
1144 |
-
|
1145 |
-
|
1146 |
-
|
1147 |
-
|
1148 |
-
|
1149 |
-
|
1150 |
-
|
1151 |
-
|
1152 |
-
|
1153 |
-
|
1154 |
-
|
|
|
|
|
|
|
1155 |
|
1156 |
-
|
1157 |
-
|
1158 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1159 |
|
1160 |
-
|
1161 |
-
|
1162 |
-
container.id = pluginid + '_container';
|
1163 |
-
|
1164 |
-
if (playback.isVideo) {
|
1165 |
-
htmlMediaElement.parentNode.insertBefore(container, htmlMediaElement);
|
1166 |
-
} else {
|
1167 |
-
document.body.insertBefore(container, document.body.childNodes[0]);
|
1168 |
-
}
|
1169 |
-
|
1170 |
-
// flash/silverlight vars
|
1171 |
-
initVars = [
|
1172 |
-
'id=' + pluginid,
|
1173 |
-
'isvideo=' + ((playback.isVideo) ? "true" : "false"),
|
1174 |
-
'autoplay=' + ((autoplay) ? "true" : "false"),
|
1175 |
-
'preload=' + preload,
|
1176 |
-
'width=' + width,
|
1177 |
-
'startvolume=' + options.startVolume,
|
1178 |
-
'timerrate=' + options.timerRate,
|
1179 |
-
'flashstreamer=' + options.flashStreamer,
|
1180 |
-
'height=' + height];
|
1181 |
-
|
1182 |
-
if (playback.url !== null) {
|
1183 |
-
if (playback.method == 'flash') {
|
1184 |
-
initVars.push('file=' + mejs.Utility.encodeUrl(playback.url));
|
1185 |
-
} else {
|
1186 |
-
initVars.push('file=' + playback.url);
|
1187 |
-
}
|
1188 |
-
}
|
1189 |
-
if (options.enablePluginDebug) {
|
1190 |
-
initVars.push('debug=true');
|
1191 |
-
}
|
1192 |
-
if (options.enablePluginSmoothing) {
|
1193 |
-
initVars.push('smoothing=true');
|
1194 |
-
}
|
1195 |
-
if (controls) {
|
1196 |
-
initVars.push('controls=true'); // shows controls in the plugin if desired
|
1197 |
}
|
1198 |
-
if (options.pluginVars) {
|
1199 |
-
initVars = initVars.concat(options.pluginVars);
|
1200 |
-
}
|
1201 |
|
1202 |
-
|
1203 |
-
|
1204 |
-
|
1205 |
-
|
1206 |
-
|
1207 |
-
|
1208 |
-
|
1209 |
-
|
1210 |
-
|
1211 |
-
|
1212 |
-
|
1213 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1214 |
|
1215 |
-
|
1216 |
-
|
1217 |
-
if (mejs.MediaFeatures.isIE) {
|
1218 |
-
specialIEContainer = document.createElement('div');
|
1219 |
-
container.appendChild(specialIEContainer);
|
1220 |
-
specialIEContainer.outerHTML =
|
1221 |
-
'<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab" ' +
|
1222 |
-
'id="' + pluginid + '" width="' + width + '" height="' + height + '">' +
|
1223 |
-
'<param name="movie" value="' + options.pluginPath + options.flashName + '?x=' + (new Date()) + '" />' +
|
1224 |
-
'<param name="flashvars" value="' + initVars.join('&') + '" />' +
|
1225 |
-
'<param name="quality" value="high" />' +
|
1226 |
-
'<param name="bgcolor" value="#000000" />' +
|
1227 |
-
'<param name="wmode" value="transparent" />' +
|
1228 |
-
'<param name="allowScriptAccess" value="always" />' +
|
1229 |
-
'<param name="allowFullScreen" value="true" />' +
|
1230 |
-
'</object>';
|
1231 |
|
1232 |
-
|
|
|
|
|
1233 |
|
1234 |
-
|
1235 |
-
|
1236 |
-
|
1237 |
-
|
1238 |
-
'quality="high" ' +
|
1239 |
-
'bgcolor="#000000" ' +
|
1240 |
-
'wmode="transparent" ' +
|
1241 |
-
'allowScriptAccess="always" ' +
|
1242 |
-
'allowFullScreen="true" ' +
|
1243 |
-
'type="application/x-shockwave-flash" pluginspage="//www.macromedia.com/go/getflashplayer" ' +
|
1244 |
-
'src="' + options.pluginPath + options.flashName + '" ' +
|
1245 |
-
'flashvars="' + initVars.join('&') + '" ' +
|
1246 |
-
'width="' + width + '" ' +
|
1247 |
-
'height="' + height + '"></embed>';
|
1248 |
-
}
|
1249 |
-
break;
|
1250 |
-
|
1251 |
-
case 'youtube':
|
1252 |
-
|
1253 |
-
|
1254 |
-
var
|
1255 |
-
videoId = playback.url.substr(playback.url.lastIndexOf('=')+1);
|
1256 |
-
youtubeSettings = {
|
1257 |
-
container: container,
|
1258 |
-
containerId: container.id,
|
1259 |
-
pluginMediaElement: pluginMediaElement,
|
1260 |
-
pluginId: pluginid,
|
1261 |
-
videoId: videoId,
|
1262 |
-
height: height,
|
1263 |
-
width: width
|
1264 |
-
};
|
1265 |
-
|
1266 |
-
if (mejs.PluginDetector.hasPluginVersion('flash', [10,0,0]) ) {
|
1267 |
-
mejs.YouTubeApi.createFlash(youtubeSettings);
|
1268 |
} else {
|
1269 |
-
|
|
|
|
|
1270 |
}
|
1271 |
-
|
1272 |
-
|
1273 |
-
|
1274 |
-
|
1275 |
-
|
1276 |
-
|
1277 |
-
|
1278 |
-
|
1279 |
-
|
1280 |
-
|
1281 |
-
'<object width="' + width + '" height="' + height + '">' +
|
1282 |
-
'<param name="allowfullscreen" value="true" />' +
|
1283 |
-
'<param name="allowscriptaccess" value="always" />' +
|
1284 |
-
'<param name="flashvars" value="api=1" />' +
|
1285 |
-
'<param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=' + pluginMediaElement.vimeoid + '&server=vimeo.com&show_title=0&show_byline=0&show_portrait=0&color=00adef&fullscreen=1&autoplay=0&loop=0" />' +
|
1286 |
-
'<embed src="//vimeo.com/moogaloop.swf?api=1&clip_id=' + pluginMediaElement.vimeoid + '&server=vimeo.com&show_title=0&show_byline=0&show_portrait=0&color=00adef&fullscreen=1&autoplay=0&loop=0" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="' + width + '" height="' + height + '"></embed>' +
|
1287 |
-
'</object>';
|
1288 |
-
|
1289 |
-
break;
|
1290 |
-
}
|
1291 |
-
// hide original element
|
1292 |
-
htmlMediaElement.style.display = 'none';
|
1293 |
-
|
1294 |
-
// FYI: options.success will be fired by the MediaPluginBridge
|
1295 |
-
|
1296 |
-
return pluginMediaElement;
|
1297 |
-
},
|
1298 |
|
1299 |
-
|
1300 |
-
|
1301 |
-
|
1302 |
-
|
1303 |
-
|
1304 |
-
|
1305 |
-
// add methods to video object to bring it into parity with Flash Object
|
1306 |
-
for (m in mejs.HtmlMediaElement) {
|
1307 |
-
htmlMediaElement[m] = mejs.HtmlMediaElement[m];
|
1308 |
-
}
|
1309 |
-
|
1310 |
-
/*
|
1311 |
-
Chrome now supports preload="none"
|
1312 |
-
if (mejs.MediaFeatures.isChrome) {
|
1313 |
-
|
1314 |
-
// special case to enforce preload attribute (Chrome doesn't respect this)
|
1315 |
-
if (preload === 'none' && !autoplay) {
|
1316 |
-
|
1317 |
-
// forces the browser to stop loading (note: fails in IE9)
|
1318 |
-
htmlMediaElement.src = '';
|
1319 |
-
htmlMediaElement.load();
|
1320 |
-
htmlMediaElement.canceledPreload = true;
|
1321 |
-
|
1322 |
-
htmlMediaElement.addEventListener('play',function() {
|
1323 |
-
if (htmlMediaElement.canceledPreload) {
|
1324 |
-
htmlMediaElement.src = playback.url;
|
1325 |
-
htmlMediaElement.load();
|
1326 |
-
htmlMediaElement.play();
|
1327 |
-
htmlMediaElement.canceledPreload = false;
|
1328 |
}
|
1329 |
-
|
1330 |
-
|
1331 |
-
} else if (autoplay) {
|
1332 |
-
htmlMediaElement.load();
|
1333 |
-
htmlMediaElement.play();
|
1334 |
}
|
1335 |
}
|
1336 |
-
*/
|
1337 |
|
1338 |
-
|
1339 |
-
|
1340 |
-
|
1341 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1342 |
}
|
1343 |
};
|
1344 |
|
1345 |
-
|
1346 |
-
|
1347 |
-
|
1348 |
-
- fullscreen?
|
1349 |
-
*/
|
1350 |
|
1351 |
-
|
1352 |
-
|
1353 |
-
|
1354 |
-
|
1355 |
-
|
1356 |
-
|
1357 |
-
|
1358 |
-
|
1359 |
-
|
1360 |
-
|
1361 |
-
|
1362 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1363 |
},
|
1364 |
-
|
1365 |
-
|
1366 |
-
|
1367 |
-
if (this.isLoaded) {
|
1368 |
-
this.createIframe(yt);
|
1369 |
-
} else {
|
1370 |
-
this.loadIframeApi();
|
1371 |
-
this.iframeQueue.push(yt);
|
1372 |
-
}
|
1373 |
},
|
1374 |
-
|
1375 |
-
|
1376 |
-
|
1377 |
-
|
1378 |
-
|
1379 |
-
|
1380 |
-
|
1381 |
-
|
1382 |
-
|
1383 |
-
|
1384 |
-
'
|
1385 |
-
|
1386 |
-
|
1387 |
-
settings.pluginMediaElement.pluginApi = player;
|
1388 |
-
|
1389 |
-
// init mejs
|
1390 |
-
mejs.MediaPluginBridge.initPlugin(settings.pluginId);
|
1391 |
-
|
1392 |
-
// create timer
|
1393 |
-
setInterval(function() {
|
1394 |
-
mejs.YouTubeApi.createEvent(player, pluginMediaElement, 'timeupdate');
|
1395 |
-
}, 250);
|
1396 |
-
},
|
1397 |
-
'onStateChange': function(e) {
|
1398 |
-
|
1399 |
-
mejs.YouTubeApi.handleStateChange(e.data, player, pluginMediaElement);
|
1400 |
-
|
1401 |
}
|
1402 |
}
|
1403 |
-
})
|
1404 |
-
|
1405 |
-
|
1406 |
-
|
1407 |
-
|
1408 |
-
|
1409 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1410 |
};
|
1411 |
|
1412 |
-
|
1413 |
-
|
1414 |
-
|
1415 |
-
|
1416 |
-
|
1417 |
-
|
1418 |
-
|
1419 |
-
|
1420 |
-
|
1421 |
-
|
1422 |
-
|
1423 |
-
|
1424 |
-
|
1425 |
-
|
1426 |
-
|
1427 |
-
|
1428 |
-
|
1429 |
-
|
1430 |
-
|
1431 |
-
|
1432 |
-
|
1433 |
-
|
1434 |
-
|
1435 |
-
|
1436 |
-
}
|
1437 |
-
end: function (index) {
|
1438 |
-
return bufferedTime;
|
1439 |
-
},
|
1440 |
-
length: 1
|
1441 |
};
|
1442 |
-
|
1443 |
-
|
1444 |
-
|
1445 |
-
|
1446 |
-
|
1447 |
-
|
1448 |
-
|
1449 |
-
|
1450 |
-
|
1451 |
-
|
1452 |
-
|
1453 |
-
|
1454 |
-
|
1455 |
-
|
1456 |
-
|
1457 |
-
|
1458 |
-
|
1459 |
-
|
1460 |
-
|
1461 |
-
|
1462 |
-
|
1463 |
-
|
1464 |
-
this.flashPlayers[settings.pluginId] = settings;
|
1465 |
-
|
1466 |
-
/*
|
1467 |
-
settings.container.innerHTML =
|
1468 |
-
'<object type="application/x-shockwave-flash" id="' + settings.pluginId + '" data="//www.youtube.com/apiplayer?enablejsapi=1&playerapiid=' + settings.pluginId + '&version=3&autoplay=0&controls=0&modestbranding=1&loop=0" ' +
|
1469 |
-
'width="' + settings.width + '" height="' + settings.height + '" style="visibility: visible; ">' +
|
1470 |
-
'<param name="allowScriptAccess" value="always">' +
|
1471 |
-
'<param name="wmode" value="transparent">' +
|
1472 |
-
'</object>';
|
1473 |
-
*/
|
1474 |
-
|
1475 |
-
var specialIEContainer,
|
1476 |
-
youtubeUrl = 'http://www.youtube.com/apiplayer?enablejsapi=1&playerapiid=' + settings.pluginId + '&version=3&autoplay=0&controls=0&modestbranding=1&loop=0';
|
1477 |
-
|
1478 |
-
if (mejs.MediaFeatures.isIE) {
|
1479 |
-
|
1480 |
-
specialIEContainer = document.createElement('div');
|
1481 |
-
settings.container.appendChild(specialIEContainer);
|
1482 |
-
specialIEContainer.outerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab" ' +
|
1483 |
-
'id="' + settings.pluginId + '" width="' + settings.width + '" height="' + settings.height + '">' +
|
1484 |
-
'<param name="movie" value="' + youtubeUrl + '" />' +
|
1485 |
-
'<param name="wmode" value="transparent" />' +
|
1486 |
-
'<param name="allowScriptAccess" value="always" />' +
|
1487 |
-
'<param name="allowFullScreen" value="true" />' +
|
1488 |
-
'</object>';
|
1489 |
-
} else {
|
1490 |
-
settings.container.innerHTML =
|
1491 |
-
'<object type="application/x-shockwave-flash" id="' + settings.pluginId + '" data="' + youtubeUrl + '" ' +
|
1492 |
-
'width="' + settings.width + '" height="' + settings.height + '" style="visibility: visible; ">' +
|
1493 |
-
'<param name="allowScriptAccess" value="always">' +
|
1494 |
-
'<param name="wmode" value="transparent">' +
|
1495 |
-
'</object>';
|
1496 |
-
}
|
1497 |
-
|
1498 |
-
},
|
1499 |
-
|
1500 |
-
flashReady: function(id) {
|
1501 |
-
var
|
1502 |
-
settings = this.flashPlayers[id],
|
1503 |
-
player = document.getElementById(id),
|
1504 |
-
pluginMediaElement = settings.pluginMediaElement;
|
1505 |
-
|
1506 |
-
// hook up and return to MediaELementPlayer.success
|
1507 |
-
pluginMediaElement.pluginApi =
|
1508 |
-
pluginMediaElement.pluginElement = player;
|
1509 |
-
mejs.MediaPluginBridge.initPlugin(id);
|
1510 |
-
|
1511 |
-
// load the youtube video
|
1512 |
-
player.cueVideoById(settings.videoId);
|
1513 |
-
|
1514 |
-
var callbackName = settings.containerId + '_callback'
|
1515 |
-
|
1516 |
-
window[callbackName] = function(e) {
|
1517 |
-
mejs.YouTubeApi.handleStateChange(e, player, pluginMediaElement);
|
1518 |
-
}
|
1519 |
-
|
1520 |
-
player.addEventListener('onStateChange', callbackName);
|
1521 |
-
|
1522 |
-
setInterval(function() {
|
1523 |
-
mejs.YouTubeApi.createEvent(player, pluginMediaElement, 'timeupdate');
|
1524 |
-
}, 250);
|
1525 |
-
},
|
1526 |
-
|
1527 |
-
handleStateChange: function(youTubeState, player, pluginMediaElement) {
|
1528 |
-
switch (youTubeState) {
|
1529 |
-
case -1: // not started
|
1530 |
-
pluginMediaElement.paused = true;
|
1531 |
-
pluginMediaElement.ended = true;
|
1532 |
-
mejs.YouTubeApi.createEvent(player, pluginMediaElement, 'loadedmetadata');
|
1533 |
-
//createYouTubeEvent(player, pluginMediaElement, 'loadeddata');
|
1534 |
-
break;
|
1535 |
-
case 0:
|
1536 |
-
pluginMediaElement.paused = false;
|
1537 |
-
pluginMediaElement.ended = true;
|
1538 |
-
mejs.YouTubeApi.createEvent(player, pluginMediaElement, 'ended');
|
1539 |
-
break;
|
1540 |
-
case 1:
|
1541 |
-
pluginMediaElement.paused = false;
|
1542 |
-
pluginMediaElement.ended = false;
|
1543 |
-
mejs.YouTubeApi.createEvent(player, pluginMediaElement, 'play');
|
1544 |
-
mejs.YouTubeApi.createEvent(player, pluginMediaElement, 'playing');
|
1545 |
-
break;
|
1546 |
-
case 2:
|
1547 |
-
pluginMediaElement.paused = true;
|
1548 |
-
pluginMediaElement.ended = false;
|
1549 |
-
mejs.YouTubeApi.createEvent(player, pluginMediaElement, 'pause');
|
1550 |
-
break;
|
1551 |
-
case 3: // buffering
|
1552 |
-
mejs.YouTubeApi.createEvent(player, pluginMediaElement, 'progress');
|
1553 |
-
break;
|
1554 |
-
case 5:
|
1555 |
-
// cued?
|
1556 |
-
break;
|
1557 |
-
|
1558 |
-
}
|
1559 |
-
|
1560 |
-
}
|
1561 |
-
}
|
1562 |
-
// IFRAME
|
1563 |
-
function onYouTubePlayerAPIReady() {
|
1564 |
-
mejs.YouTubeApi.iFrameReady();
|
1565 |
-
}
|
1566 |
-
// FLASH
|
1567 |
-
function onYouTubePlayerReady(id) {
|
1568 |
-
mejs.YouTubeApi.flashReady(id);
|
1569 |
-
}
|
1570 |
|
1571 |
-
|
1572 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1573 |
|
|
1 |
/*!
|
2 |
+
* MediaElement.js
|
3 |
+
* http://www.mediaelementjs.com/
|
4 |
+
*
|
5 |
+
* Wrapper that mimics native HTML5 MediaElement (audio and video)
|
6 |
+
* using a variety of technologies (pure JavaScript, Flash, iframe)
|
7 |
+
*
|
8 |
+
* Copyright 2010-2017, John Dyer (http://j.hn/)
|
9 |
+
* License: MIT
|
10 |
+
*
|
11 |
+
*/(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(_dereq_,module,exports){
|
12 |
+
|
13 |
+
},{}],2:[function(_dereq_,module,exports){
|
14 |
+
(function (global){
|
15 |
+
var topLevel = typeof global !== 'undefined' ? global :
|
16 |
+
typeof window !== 'undefined' ? window : {}
|
17 |
+
var minDoc = _dereq_(1);
|
18 |
+
|
19 |
+
var doccy;
|
20 |
+
|
21 |
+
if (typeof document !== 'undefined') {
|
22 |
+
doccy = document;
|
23 |
+
} else {
|
24 |
+
doccy = topLevel['__GLOBAL_DOCUMENT_CACHE@4'];
|
25 |
+
|
26 |
+
if (!doccy) {
|
27 |
+
doccy = topLevel['__GLOBAL_DOCUMENT_CACHE@4'] = minDoc;
|
28 |
+
}
|
29 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
|
31 |
+
module.exports = doccy;
|
32 |
+
|
33 |
+
}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
|
34 |
+
},{"1":1}],3:[function(_dereq_,module,exports){
|
35 |
+
(function (global){
|
36 |
+
var win;
|
37 |
+
|
38 |
+
if (typeof window !== "undefined") {
|
39 |
+
win = window;
|
40 |
+
} else if (typeof global !== "undefined") {
|
41 |
+
win = global;
|
42 |
+
} else if (typeof self !== "undefined"){
|
43 |
+
win = self;
|
44 |
+
} else {
|
45 |
+
win = {};
|
46 |
+
}
|
47 |
+
|
48 |
+
module.exports = win;
|
49 |
+
|
50 |
+
}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
|
51 |
+
},{}],4:[function(_dereq_,module,exports){
|
52 |
+
(function (root) {
|
53 |
+
|
54 |
+
// Store setTimeout reference so promise-polyfill will be unaffected by
|
55 |
+
// other code modifying setTimeout (like sinon.useFakeTimers())
|
56 |
+
var setTimeoutFunc = setTimeout;
|
57 |
+
|
58 |
+
function noop() {}
|
59 |
+
|
60 |
+
// Polyfill for Function.prototype.bind
|
61 |
+
function bind(fn, thisArg) {
|
62 |
+
return function () {
|
63 |
+
fn.apply(thisArg, arguments);
|
64 |
+
};
|
65 |
+
}
|
66 |
+
|
67 |
+
function Promise(fn) {
|
68 |
+
if (typeof this !== 'object') throw new TypeError('Promises must be constructed via new');
|
69 |
+
if (typeof fn !== 'function') throw new TypeError('not a function');
|
70 |
+
this._state = 0;
|
71 |
+
this._handled = false;
|
72 |
+
this._value = undefined;
|
73 |
+
this._deferreds = [];
|
74 |
+
|
75 |
+
doResolve(fn, this);
|
76 |
+
}
|
77 |
+
|
78 |
+
function handle(self, deferred) {
|
79 |
+
while (self._state === 3) {
|
80 |
+
self = self._value;
|
81 |
+
}
|
82 |
+
if (self._state === 0) {
|
83 |
+
self._deferreds.push(deferred);
|
84 |
+
return;
|
85 |
+
}
|
86 |
+
self._handled = true;
|
87 |
+
Promise._immediateFn(function () {
|
88 |
+
var cb = self._state === 1 ? deferred.onFulfilled : deferred.onRejected;
|
89 |
+
if (cb === null) {
|
90 |
+
(self._state === 1 ? resolve : reject)(deferred.promise, self._value);
|
91 |
+
return;
|
92 |
+
}
|
93 |
+
var ret;
|
94 |
+
try {
|
95 |
+
ret = cb(self._value);
|
96 |
+
} catch (e) {
|
97 |
+
reject(deferred.promise, e);
|
98 |
+
return;
|
99 |
+
}
|
100 |
+
resolve(deferred.promise, ret);
|
101 |
+
});
|
102 |
+
}
|
103 |
+
|
104 |
+
function resolve(self, newValue) {
|
105 |
+
try {
|
106 |
+
// Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure
|
107 |
+
if (newValue === self) throw new TypeError('A promise cannot be resolved with itself.');
|
108 |
+
if (newValue && (typeof newValue === 'object' || typeof newValue === 'function')) {
|
109 |
+
var then = newValue.then;
|
110 |
+
if (newValue instanceof Promise) {
|
111 |
+
self._state = 3;
|
112 |
+
self._value = newValue;
|
113 |
+
finale(self);
|
114 |
+
return;
|
115 |
+
} else if (typeof then === 'function') {
|
116 |
+
doResolve(bind(then, newValue), self);
|
117 |
+
return;
|
118 |
+
}
|
119 |
+
}
|
120 |
+
self._state = 1;
|
121 |
+
self._value = newValue;
|
122 |
+
finale(self);
|
123 |
+
} catch (e) {
|
124 |
+
reject(self, e);
|
125 |
+
}
|
126 |
+
}
|
127 |
+
|
128 |
+
function reject(self, newValue) {
|
129 |
+
self._state = 2;
|
130 |
+
self._value = newValue;
|
131 |
+
finale(self);
|
132 |
+
}
|
133 |
+
|
134 |
+
function finale(self) {
|
135 |
+
if (self._state === 2 && self._deferreds.length === 0) {
|
136 |
+
Promise._immediateFn(function() {
|
137 |
+
if (!self._handled) {
|
138 |
+
Promise._unhandledRejectionFn(self._value);
|
139 |
+
}
|
140 |
+
});
|
141 |
+
}
|
142 |
+
|
143 |
+
for (var i = 0, len = self._deferreds.length; i < len; i++) {
|
144 |
+
handle(self, self._deferreds[i]);
|
145 |
+
}
|
146 |
+
self._deferreds = null;
|
147 |
+
}
|
148 |
+
|
149 |
+
function Handler(onFulfilled, onRejected, promise) {
|
150 |
+
this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;
|
151 |
+
this.onRejected = typeof onRejected === 'function' ? onRejected : null;
|
152 |
+
this.promise = promise;
|
153 |
+
}
|
154 |
+
|
155 |
+
/**
|
156 |
+
* Take a potentially misbehaving resolver function and make sure
|
157 |
+
* onFulfilled and onRejected are only called once.
|
158 |
+
*
|
159 |
+
* Makes no guarantees about asynchrony.
|
160 |
+
*/
|
161 |
+
function doResolve(fn, self) {
|
162 |
+
var done = false;
|
163 |
+
try {
|
164 |
+
fn(function (value) {
|
165 |
+
if (done) return;
|
166 |
+
done = true;
|
167 |
+
resolve(self, value);
|
168 |
+
}, function (reason) {
|
169 |
+
if (done) return;
|
170 |
+
done = true;
|
171 |
+
reject(self, reason);
|
172 |
+
});
|
173 |
+
} catch (ex) {
|
174 |
+
if (done) return;
|
175 |
+
done = true;
|
176 |
+
reject(self, ex);
|
177 |
+
}
|
178 |
+
}
|
179 |
+
|
180 |
+
Promise.prototype['catch'] = function (onRejected) {
|
181 |
+
return this.then(null, onRejected);
|
182 |
+
};
|
183 |
+
|
184 |
+
Promise.prototype.then = function (onFulfilled, onRejected) {
|
185 |
+
var prom = new (this.constructor)(noop);
|
186 |
+
|
187 |
+
handle(this, new Handler(onFulfilled, onRejected, prom));
|
188 |
+
return prom;
|
189 |
+
};
|
190 |
+
|
191 |
+
Promise.all = function (arr) {
|
192 |
+
var args = Array.prototype.slice.call(arr);
|
193 |
+
|
194 |
+
return new Promise(function (resolve, reject) {
|
195 |
+
if (args.length === 0) return resolve([]);
|
196 |
+
var remaining = args.length;
|
197 |
+
|
198 |
+
function res(i, val) {
|
199 |
+
try {
|
200 |
+
if (val && (typeof val === 'object' || typeof val === 'function')) {
|
201 |
+
var then = val.then;
|
202 |
+
if (typeof then === 'function') {
|
203 |
+
then.call(val, function (val) {
|
204 |
+
res(i, val);
|
205 |
+
}, reject);
|
206 |
+
return;
|
207 |
+
}
|
208 |
+
}
|
209 |
+
args[i] = val;
|
210 |
+
if (--remaining === 0) {
|
211 |
+
resolve(args);
|
212 |
+
}
|
213 |
+
} catch (ex) {
|
214 |
+
reject(ex);
|
215 |
+
}
|
216 |
+
}
|
217 |
+
|
218 |
+
for (var i = 0; i < args.length; i++) {
|
219 |
+
res(i, args[i]);
|
220 |
+
}
|
221 |
+
});
|
222 |
+
};
|
223 |
+
|
224 |
+
Promise.resolve = function (value) {
|
225 |
+
if (value && typeof value === 'object' && value.constructor === Promise) {
|
226 |
+
return value;
|
227 |
+
}
|
228 |
+
|
229 |
+
return new Promise(function (resolve) {
|
230 |
+
resolve(value);
|
231 |
+
});
|
232 |
+
};
|
233 |
+
|
234 |
+
Promise.reject = function (value) {
|
235 |
+
return new Promise(function (resolve, reject) {
|
236 |
+
reject(value);
|
237 |
+
});
|
238 |
+
};
|
239 |
+
|
240 |
+
Promise.race = function (values) {
|
241 |
+
return new Promise(function (resolve, reject) {
|
242 |
+
for (var i = 0, len = values.length; i < len; i++) {
|
243 |
+
values[i].then(resolve, reject);
|
244 |
+
}
|
245 |
+
});
|
246 |
+
};
|
247 |
+
|
248 |
+
// Use polyfill for setImmediate for performance gains
|
249 |
+
Promise._immediateFn = (typeof setImmediate === 'function' && function (fn) { setImmediate(fn); }) ||
|
250 |
+
function (fn) {
|
251 |
+
setTimeoutFunc(fn, 0);
|
252 |
+
};
|
253 |
+
|
254 |
+
Promise._unhandledRejectionFn = function _unhandledRejectionFn(err) {
|
255 |
+
if (typeof console !== 'undefined' && console) {
|
256 |
+
console.warn('Possible Unhandled Promise Rejection:', err); // eslint-disable-line no-console
|
257 |
+
}
|
258 |
+
};
|
259 |
+
|
260 |
+
/**
|
261 |
+
* Set the immediate function to execute callbacks
|
262 |
+
* @param fn {function} Function to execute
|
263 |
+
* @deprecated
|
264 |
+
*/
|
265 |
+
Promise._setImmediateFn = function _setImmediateFn(fn) {
|
266 |
+
Promise._immediateFn = fn;
|
267 |
+
};
|
268 |
+
|
269 |
+
/**
|
270 |
+
* Change the function to execute on unhandled rejection
|
271 |
+
* @param {function} fn Function to execute on unhandled rejection
|
272 |
+
* @deprecated
|
273 |
+
*/
|
274 |
+
Promise._setUnhandledRejectionFn = function _setUnhandledRejectionFn(fn) {
|
275 |
+
Promise._unhandledRejectionFn = fn;
|
276 |
+
};
|
277 |
+
|
278 |
+
if (typeof module !== 'undefined' && module.exports) {
|
279 |
+
module.exports = Promise;
|
280 |
+
} else if (!root.Promise) {
|
281 |
+
root.Promise = Promise;
|
282 |
+
}
|
283 |
+
|
284 |
+
})(this);
|
285 |
+
|
286 |
+
},{}],5:[function(_dereq_,module,exports){
|
287 |
+
'use strict';
|
288 |
+
|
289 |
+
Object.defineProperty(exports, "__esModule", {
|
290 |
+
value: true
|
291 |
+
});
|
292 |
+
|
293 |
+
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
|
294 |
+
|
295 |
+
var _mejs = _dereq_(7);
|
296 |
+
|
297 |
+
var _mejs2 = _interopRequireDefault(_mejs);
|
298 |
+
|
299 |
+
var _en = _dereq_(9);
|
300 |
+
|
301 |
+
var _general = _dereq_(18);
|
302 |
+
|
303 |
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
304 |
+
|
305 |
+
var i18n = { lang: 'en', en: _en.EN };
|
306 |
+
|
307 |
+
i18n.language = function () {
|
308 |
+
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
|
309 |
+
args[_key] = arguments[_key];
|
310 |
+
}
|
311 |
+
|
312 |
+
if (args !== null && args !== undefined && args.length) {
|
313 |
+
|
314 |
+
if (typeof args[0] !== 'string') {
|
315 |
+
throw new TypeError('Language code must be a string value');
|
316 |
}
|
317 |
+
|
318 |
+
if (!/^[a-z]{2,3}((\-|_)[a-z]{2})?$/i.test(args[0])) {
|
319 |
+
throw new TypeError('Language code must have format 2-3 letters and. optionally, hyphen, underscore followed by 2 more letters');
|
320 |
+
}
|
321 |
+
|
322 |
+
i18n.lang = args[0];
|
323 |
+
|
324 |
+
if (i18n[args[0]] === undefined) {
|
325 |
+
args[1] = args[1] !== null && args[1] !== undefined && _typeof(args[1]) === 'object' ? args[1] : {};
|
326 |
+
i18n[args[0]] = !(0, _general.isObjectEmpty)(args[1]) ? args[1] : _en.EN;
|
327 |
+
} else if (args[1] !== null && args[1] !== undefined && _typeof(args[1]) === 'object') {
|
328 |
+
i18n[args[0]] = args[1];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
329 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
330 |
}
|
331 |
+
|
332 |
+
return i18n.lang;
|
333 |
};
|
334 |
|
335 |
+
i18n.t = function (message) {
|
336 |
+
var pluralParam = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
337 |
|
|
|
|
|
338 |
|
339 |
+
if (typeof message === 'string' && message.length) {
|
|
|
|
|
|
|
|
|
|
|
|
|
340 |
|
341 |
+
var str = void 0,
|
342 |
+
pluralForm = void 0;
|
|
|
343 |
|
344 |
+
var language = i18n.language();
|
|
|
345 |
|
346 |
+
var _plural = function _plural(input, number, form) {
|
|
|
|
|
|
|
347 |
|
348 |
+
if ((typeof input === 'undefined' ? 'undefined' : _typeof(input)) !== 'object' || typeof number !== 'number' || typeof form !== 'number') {
|
349 |
+
return input;
|
350 |
+
}
|
351 |
+
|
352 |
+
var _pluralForms = function () {
|
353 |
+
return [function () {
|
354 |
+
return arguments.length <= 1 ? undefined : arguments[1];
|
355 |
+
}, function () {
|
356 |
+
return (arguments.length <= 0 ? undefined : arguments[0]) === 1 ? arguments.length <= 1 ? undefined : arguments[1] : arguments.length <= 2 ? undefined : arguments[2];
|
357 |
+
}, function () {
|
358 |
+
return (arguments.length <= 0 ? undefined : arguments[0]) === 0 || (arguments.length <= 0 ? undefined : arguments[0]) === 1 ? arguments.length <= 1 ? undefined : arguments[1] : arguments.length <= 2 ? undefined : arguments[2];
|
359 |
+
}, function () {
|
360 |
+
if ((arguments.length <= 0 ? undefined : arguments[0]) % 10 === 1 && (arguments.length <= 0 ? undefined : arguments[0]) % 100 !== 11) {
|
361 |
+
return arguments.length <= 1 ? undefined : arguments[1];
|
362 |
+
} else if ((arguments.length <= 0 ? undefined : arguments[0]) !== 0) {
|
363 |
+
return arguments.length <= 2 ? undefined : arguments[2];
|
364 |
+
} else {
|
365 |
+
return arguments.length <= 3 ? undefined : arguments[3];
|
366 |
+
}
|
367 |
+
}, function () {
|
368 |
+
if ((arguments.length <= 0 ? undefined : arguments[0]) === 1 || (arguments.length <= 0 ? undefined : arguments[0]) === 11) {
|
369 |
+
return arguments.length <= 1 ? undefined : arguments[1];
|
370 |
+
} else if ((arguments.length <= 0 ? undefined : arguments[0]) === 2 || (arguments.length <= 0 ? undefined : arguments[0]) === 12) {
|
371 |
+
return arguments.length <= 2 ? undefined : arguments[2];
|
372 |
+
} else if ((arguments.length <= 0 ? undefined : arguments[0]) > 2 && (arguments.length <= 0 ? undefined : arguments[0]) < 20) {
|
373 |
+
return arguments.length <= 3 ? undefined : arguments[3];
|
374 |
+
} else {
|
375 |
+
return arguments.length <= 4 ? undefined : arguments[4];
|
376 |
+
}
|
377 |
+
}, function () {
|
378 |
+
if ((arguments.length <= 0 ? undefined : arguments[0]) === 1) {
|
379 |
+
return arguments.length <= 1 ? undefined : arguments[1];
|
380 |
+
} else if ((arguments.length <= 0 ? undefined : arguments[0]) === 0 || (arguments.length <= 0 ? undefined : arguments[0]) % 100 > 0 && (arguments.length <= 0 ? undefined : arguments[0]) % 100 < 20) {
|
381 |
+
return arguments.length <= 2 ? undefined : arguments[2];
|
382 |
+
} else {
|
383 |
+
return arguments.length <= 3 ? undefined : arguments[3];
|
384 |
+
}
|
385 |
+
}, function () {
|
386 |
+
if ((arguments.length <= 0 ? undefined : arguments[0]) % 10 === 1 && (arguments.length <= 0 ? undefined : arguments[0]) % 100 !== 11) {
|
387 |
+
return arguments.length <= 1 ? undefined : arguments[1];
|
388 |
+
} else if ((arguments.length <= 0 ? undefined : arguments[0]) % 10 >= 2 && ((arguments.length <= 0 ? undefined : arguments[0]) % 100 < 10 || (arguments.length <= 0 ? undefined : arguments[0]) % 100 >= 20)) {
|
389 |
+
return arguments.length <= 2 ? undefined : arguments[2];
|
390 |
+
} else {
|
391 |
+
return [3];
|
392 |
+
}
|
393 |
+
}, function () {
|
394 |
+
if ((arguments.length <= 0 ? undefined : arguments[0]) % 10 === 1 && (arguments.length <= 0 ? undefined : arguments[0]) % 100 !== 11) {
|
395 |
+
return arguments.length <= 1 ? undefined : arguments[1];
|
396 |
+
} else if ((arguments.length <= 0 ? undefined : arguments[0]) % 10 >= 2 && (arguments.length <= 0 ? undefined : arguments[0]) % 10 <= 4 && ((arguments.length <= 0 ? undefined : arguments[0]) % 100 < 10 || (arguments.length <= 0 ? undefined : arguments[0]) % 100 >= 20)) {
|
397 |
+
return arguments.length <= 2 ? undefined : arguments[2];
|
398 |
+
} else {
|
399 |
+
return arguments.length <= 3 ? undefined : arguments[3];
|
400 |
+
}
|
401 |
+
}, function () {
|
402 |
+
if ((arguments.length <= 0 ? undefined : arguments[0]) === 1) {
|
403 |
+
return arguments.length <= 1 ? undefined : arguments[1];
|
404 |
+
} else if ((arguments.length <= 0 ? undefined : arguments[0]) >= 2 && (arguments.length <= 0 ? undefined : arguments[0]) <= 4) {
|
405 |
+
return arguments.length <= 2 ? undefined : arguments[2];
|
406 |
+
} else {
|
407 |
+
return arguments.length <= 3 ? undefined : arguments[3];
|
408 |
+
}
|
409 |
+
}, function () {
|
410 |
+
if ((arguments.length <= 0 ? undefined : arguments[0]) === 1) {
|
411 |
+
return arguments.length <= 1 ? undefined : arguments[1];
|
412 |
+
} else if ((arguments.length <= 0 ? undefined : arguments[0]) % 10 >= 2 && (arguments.length <= 0 ? undefined : arguments[0]) % 10 <= 4 && ((arguments.length <= 0 ? undefined : arguments[0]) % 100 < 10 || (arguments.length <= 0 ? undefined : arguments[0]) % 100 >= 20)) {
|
413 |
+
return arguments.length <= 2 ? undefined : arguments[2];
|
414 |
+
} else {
|
415 |
+
return arguments.length <= 3 ? undefined : arguments[3];
|
416 |
+
}
|
417 |
+
}, function () {
|
418 |
+
if ((arguments.length <= 0 ? undefined : arguments[0]) % 100 === 1) {
|
419 |
+
return arguments.length <= 2 ? undefined : arguments[2];
|
420 |
+
} else if ((arguments.length <= 0 ? undefined : arguments[0]) % 100 === 2) {
|
421 |
+
return arguments.length <= 3 ? undefined : arguments[3];
|
422 |
+
} else if ((arguments.length <= 0 ? undefined : arguments[0]) % 100 === 3 || (arguments.length <= 0 ? undefined : arguments[0]) % 100 === 4) {
|
423 |
+
return arguments.length <= 4 ? undefined : arguments[4];
|
424 |
+
} else {
|
425 |
+
return arguments.length <= 1 ? undefined : arguments[1];
|
426 |
+
}
|
427 |
+
}, function () {
|
428 |
+
if ((arguments.length <= 0 ? undefined : arguments[0]) === 1) {
|
429 |
+
return arguments.length <= 1 ? undefined : arguments[1];
|
430 |
+
} else if ((arguments.length <= 0 ? undefined : arguments[0]) === 2) {
|
431 |
+
return arguments.length <= 2 ? undefined : arguments[2];
|
432 |
+
} else if ((arguments.length <= 0 ? undefined : arguments[0]) > 2 && (arguments.length <= 0 ? undefined : arguments[0]) < 7) {
|
433 |
+
return arguments.length <= 3 ? undefined : arguments[3];
|
434 |
+
} else if ((arguments.length <= 0 ? undefined : arguments[0]) > 6 && (arguments.length <= 0 ? undefined : arguments[0]) < 11) {
|
435 |
+
return arguments.length <= 4 ? undefined : arguments[4];
|
436 |
+
} else {
|
437 |
+
return arguments.length <= 5 ? undefined : arguments[5];
|
438 |
+
}
|
439 |
+
}, function () {
|
440 |
+
if ((arguments.length <= 0 ? undefined : arguments[0]) === 0) {
|
441 |
+
return arguments.length <= 1 ? undefined : arguments[1];
|
442 |
+
} else if ((arguments.length <= 0 ? undefined : arguments[0]) === 1) {
|
443 |
+
return arguments.length <= 2 ? undefined : arguments[2];
|
444 |
+
} else if ((arguments.length <= 0 ? undefined : arguments[0]) === 2) {
|
445 |
+
return arguments.length <= 3 ? undefined : arguments[3];
|
446 |
+
} else if ((arguments.length <= 0 ? undefined : arguments[0]) % 100 >= 3 && (arguments.length <= 0 ? undefined : arguments[0]) % 100 <= 10) {
|
447 |
+
return arguments.length <= 4 ? undefined : arguments[4];
|
448 |
+
} else if ((arguments.length <= 0 ? undefined : arguments[0]) % 100 >= 11) {
|
449 |
+
return arguments.length <= 5 ? undefined : arguments[5];
|
450 |
+
} else {
|
451 |
+
return arguments.length <= 6 ? undefined : arguments[6];
|
452 |
+
}
|
453 |
+
}, function () {
|
454 |
+
if ((arguments.length <= 0 ? undefined : arguments[0]) === 1) {
|
455 |
+
return arguments.length <= 1 ? undefined : arguments[1];
|
456 |
+
} else if ((arguments.length <= 0 ? undefined : arguments[0]) === 0 || (arguments.length <= 0 ? undefined : arguments[0]) % 100 > 1 && (arguments.length <= 0 ? undefined : arguments[0]) % 100 < 11) {
|
457 |
+
return arguments.length <= 2 ? undefined : arguments[2];
|
458 |
+
} else if ((arguments.length <= 0 ? undefined : arguments[0]) % 100 > 10 && (arguments.length <= 0 ? undefined : arguments[0]) % 100 < 20) {
|
459 |
+
return arguments.length <= 3 ? undefined : arguments[3];
|
460 |
+
} else {
|
461 |
+
return arguments.length <= 4 ? undefined : arguments[4];
|
462 |
+
}
|
463 |
+
}, function () {
|
464 |
+
if ((arguments.length <= 0 ? undefined : arguments[0]) % 10 === 1) {
|
465 |
+
return arguments.length <= 1 ? undefined : arguments[1];
|
466 |
+
} else if ((arguments.length <= 0 ? undefined : arguments[0]) % 10 === 2) {
|
467 |
+
return arguments.length <= 2 ? undefined : arguments[2];
|
468 |
+
} else {
|
469 |
+
return arguments.length <= 3 ? undefined : arguments[3];
|
470 |
+
}
|
471 |
+
}, function () {
|
472 |
+
return (arguments.length <= 0 ? undefined : arguments[0]) !== 11 && (arguments.length <= 0 ? undefined : arguments[0]) % 10 === 1 ? arguments.length <= 1 ? undefined : arguments[1] : arguments.length <= 2 ? undefined : arguments[2];
|
473 |
+
}, function () {
|
474 |
+
if ((arguments.length <= 0 ? undefined : arguments[0]) === 1) {
|
475 |
+
return arguments.length <= 1 ? undefined : arguments[1];
|
476 |
+
} else if ((arguments.length <= 0 ? undefined : arguments[0]) % 10 >= 2 && (arguments.length <= 0 ? undefined : arguments[0]) % 10 <= 4 && ((arguments.length <= 0 ? undefined : arguments[0]) % 100 < 10 || (arguments.length <= 0 ? undefined : arguments[0]) % 100 >= 20)) {
|
477 |
+
return arguments.length <= 2 ? undefined : arguments[2];
|
478 |
+
} else {
|
479 |
+
return arguments.length <= 3 ? undefined : arguments[3];
|
480 |
+
}
|
481 |
+
}, function () {
|
482 |
+
if ((arguments.length <= 0 ? undefined : arguments[0]) === 1) {
|
483 |
+
return arguments.length <= 1 ? undefined : arguments[1];
|
484 |
+
} else if ((arguments.length <= 0 ? undefined : arguments[0]) === 2) {
|
485 |
+
return arguments.length <= 2 ? undefined : arguments[2];
|
486 |
+
} else if ((arguments.length <= 0 ? undefined : arguments[0]) !== 8 && (arguments.length <= 0 ? undefined : arguments[0]) !== 11) {
|
487 |
+
return arguments.length <= 3 ? undefined : arguments[3];
|
488 |
+
} else {
|
489 |
+
return arguments.length <= 4 ? undefined : arguments[4];
|
490 |
+
}
|
491 |
+
}, function () {
|
492 |
+
return (arguments.length <= 0 ? undefined : arguments[0]) === 0 ? arguments.length <= 1 ? undefined : arguments[1] : arguments.length <= 2 ? undefined : arguments[2];
|
493 |
+
}, function () {
|
494 |
+
if ((arguments.length <= 0 ? undefined : arguments[0]) === 1) {
|
495 |
+
return arguments.length <= 1 ? undefined : arguments[1];
|
496 |
+
} else if ((arguments.length <= 0 ? undefined : arguments[0]) === 2) {
|
497 |
+
return arguments.length <= 2 ? undefined : arguments[2];
|
498 |
+
} else if ((arguments.length <= 0 ? undefined : arguments[0]) === 3) {
|
499 |
+
return arguments.length <= 3 ? undefined : arguments[3];
|
500 |
+
} else {
|
501 |
+
return arguments.length <= 4 ? undefined : arguments[4];
|
502 |
+
}
|
503 |
+
}, function () {
|
504 |
+
if ((arguments.length <= 0 ? undefined : arguments[0]) === 0) {
|
505 |
+
return arguments.length <= 1 ? undefined : arguments[1];
|
506 |
+
} else if ((arguments.length <= 0 ? undefined : arguments[0]) === 1) {
|
507 |
+
return arguments.length <= 2 ? undefined : arguments[2];
|
508 |
+
} else {
|
509 |
+
return arguments.length <= 3 ? undefined : arguments[3];
|
510 |
+
}
|
511 |
+
}];
|
512 |
+
}();
|
513 |
|
514 |
+
return _pluralForms[form].apply(null, [number].concat(input));
|
515 |
+
};
|
|
|
|
|
516 |
|
517 |
+
if (i18n[language] !== undefined) {
|
518 |
+
str = i18n[language][message];
|
519 |
+
if (pluralParam !== null && typeof pluralParam === 'number') {
|
520 |
+
pluralForm = i18n[language]['mejs.plural-form'];
|
521 |
+
str = _plural.apply(null, [str, pluralParam, pluralForm]);
|
|
|
|
|
|
|
522 |
}
|
523 |
+
}
|
524 |
+
|
525 |
+
if (!str && i18n.en) {
|
526 |
+
str = i18n.en[message];
|
527 |
+
if (pluralParam !== null && typeof pluralParam === 'number') {
|
528 |
+
pluralForm = i18n.en['mejs.plural-form'];
|
529 |
+
str = _plural.apply(null, [str, pluralParam, pluralForm]);
|
530 |
}
|
|
|
531 |
}
|
532 |
+
|
533 |
+
str = str || message;
|
534 |
+
|
535 |
+
if (pluralParam !== null && typeof pluralParam === 'number') {
|
536 |
+
str = str.replace('%1', pluralParam);
|
537 |
+
}
|
538 |
+
|
539 |
+
return (0, _general.escapeHTML)(str);
|
540 |
}
|
541 |
+
|
542 |
+
return message;
|
543 |
};
|
544 |
|
545 |
+
_mejs2.default.i18n = i18n;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
546 |
|
547 |
+
if (typeof mejsL10n !== 'undefined') {
|
548 |
+
_mejs2.default.i18n.language(mejsL10n.language, mejsL10n.strings);
|
549 |
+
}
|
550 |
+
|
551 |
+
exports.default = i18n;
|
552 |
+
|
553 |
+
},{"18":18,"7":7,"9":9}],6:[function(_dereq_,module,exports){
|
554 |
+
'use strict';
|
555 |
+
|
556 |
+
Object.defineProperty(exports, "__esModule", {
|
557 |
+
value: true
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
558 |
});
|
|
|
|
|
|
|
|
|
|
|
559 |
|
560 |
+
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
|
561 |
+
|
562 |
+
var _window = _dereq_(3);
|
563 |
+
|
564 |
+
var _window2 = _interopRequireDefault(_window);
|
565 |
+
|
566 |
+
var _document = _dereq_(2);
|
567 |
+
|
568 |
+
var _document2 = _interopRequireDefault(_document);
|
569 |
+
|
570 |
+
var _mejs = _dereq_(7);
|
571 |
+
|
572 |
+
var _mejs2 = _interopRequireDefault(_mejs);
|
573 |
+
|
574 |
+
var _general = _dereq_(18);
|
575 |
+
|
576 |
+
var _media2 = _dereq_(19);
|
577 |
+
|
578 |
+
var _renderer = _dereq_(8);
|
579 |
+
|
580 |
+
var _constants = _dereq_(16);
|
581 |
+
|
582 |
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
583 |
+
|
584 |
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
585 |
+
|
586 |
+
var MediaElement = function MediaElement(idOrNode, options, sources) {
|
587 |
+
var _this = this;
|
588 |
+
|
589 |
+
_classCallCheck(this, MediaElement);
|
590 |
+
|
591 |
+
var t = this;
|
592 |
+
|
593 |
+
sources = Array.isArray(sources) ? sources : null;
|
594 |
+
|
595 |
+
t.defaults = {
|
596 |
+
renderers: [],
|
597 |
+
|
598 |
+
fakeNodeName: 'mediaelementwrapper',
|
599 |
+
|
600 |
+
pluginPath: 'build/',
|
601 |
+
|
602 |
+
shimScriptAccess: 'sameDomain'
|
603 |
+
};
|
604 |
+
|
605 |
+
options = Object.assign(t.defaults, options);
|
606 |
+
|
607 |
+
t.mediaElement = _document2.default.createElement(options.fakeNodeName);
|
608 |
+
|
609 |
+
var id = idOrNode,
|
610 |
+
error = false;
|
611 |
+
|
612 |
+
if (typeof idOrNode === 'string') {
|
613 |
+
t.mediaElement.originalNode = _document2.default.getElementById(idOrNode);
|
614 |
+
} else {
|
615 |
+
t.mediaElement.originalNode = idOrNode;
|
616 |
+
id = idOrNode.id;
|
617 |
}
|
618 |
+
|
619 |
+
if (t.mediaElement.originalNode === undefined || t.mediaElement.originalNode === null) {
|
620 |
+
return null;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
621 |
}
|
|
|
|
|
622 |
|
623 |
+
t.mediaElement.options = options;
|
624 |
+
id = id || 'mejs_' + Math.random().toString().slice(2);
|
625 |
|
626 |
+
t.mediaElement.originalNode.setAttribute('id', id + '_from_mejs');
|
|
|
|
|
|
|
|
|
|
|
627 |
|
628 |
+
var tagName = t.mediaElement.originalNode.tagName.toLowerCase();
|
629 |
+
if (['video', 'audio'].indexOf(tagName) > -1 && !t.mediaElement.originalNode.getAttribute('preload')) {
|
630 |
+
t.mediaElement.originalNode.setAttribute('preload', 'none');
|
631 |
+
}
|
632 |
|
633 |
+
t.mediaElement.originalNode.parentNode.insertBefore(t.mediaElement, t.mediaElement.originalNode);
|
|
|
|
|
634 |
|
635 |
+
t.mediaElement.appendChild(t.mediaElement.originalNode);
|
|
|
|
|
636 |
|
637 |
+
var processURL = function processURL(url, type) {
|
638 |
+
if (_window2.default.location.protocol === 'https:' && url.indexOf('http:') === 0 && _constants.IS_IOS && _mejs2.default.html5media.mediaTypes.indexOf(type) > -1) {
|
639 |
+
var xhr = new XMLHttpRequest();
|
640 |
+
xhr.onreadystatechange = function () {
|
641 |
+
if (this.readyState === 4 && this.status === 200) {
|
642 |
+
var _url = _window2.default.URL || _window2.default.webkitURL,
|
643 |
+
blobUrl = _url.createObjectURL(this.response);
|
644 |
+
t.mediaElement.originalNode.setAttribute('src', blobUrl);
|
645 |
+
return blobUrl;
|
646 |
+
}
|
647 |
+
return url;
|
648 |
+
};
|
649 |
+
xhr.open('GET', url);
|
650 |
+
xhr.responseType = 'blob';
|
651 |
+
xhr.send();
|
652 |
+
}
|
653 |
|
654 |
+
return url;
|
655 |
+
};
|
656 |
+
|
657 |
+
var mediaFiles = void 0;
|
658 |
+
|
659 |
+
if (sources !== null) {
|
660 |
+
mediaFiles = sources;
|
661 |
+
} else if (t.mediaElement.originalNode !== null) {
|
662 |
+
|
663 |
+
mediaFiles = [];
|
|
|
|
|
|
|
|
|
|
|
664 |
|
665 |
+
switch (t.mediaElement.originalNode.nodeName.toLowerCase()) {
|
666 |
+
case 'iframe':
|
667 |
+
mediaFiles.push({
|
668 |
+
type: '',
|
669 |
+
src: t.mediaElement.originalNode.getAttribute('src')
|
670 |
+
});
|
671 |
+
break;
|
672 |
+
case 'audio':
|
673 |
+
case 'video':
|
674 |
+
var _sources = t.mediaElement.originalNode.children.length,
|
675 |
+
nodeSource = t.mediaElement.originalNode.getAttribute('src');
|
676 |
+
|
677 |
+
if (nodeSource) {
|
678 |
+
var node = t.mediaElement.originalNode,
|
679 |
+
type = (0, _media2.formatType)(nodeSource, node.getAttribute('type'));
|
680 |
+
mediaFiles.push({
|
681 |
+
type: type,
|
682 |
+
src: processURL(nodeSource, type)
|
683 |
+
});
|
684 |
}
|
|
|
|
|
|
|
685 |
|
686 |
+
for (var i = 0; i < _sources; i++) {
|
687 |
+
var n = t.mediaElement.originalNode.children[i];
|
688 |
+
if (n.tagName.toLowerCase() === 'source') {
|
689 |
+
var src = n.getAttribute('src'),
|
690 |
+
_type = (0, _media2.formatType)(src, n.getAttribute('type'));
|
691 |
+
mediaFiles.push({ type: _type, src: processURL(src, _type) });
|
692 |
+
}
|
693 |
+
}
|
694 |
+
break;
|
695 |
+
}
|
696 |
}
|
|
|
697 |
|
698 |
+
t.mediaElement.id = id;
|
699 |
+
t.mediaElement.renderers = {};
|
700 |
+
t.mediaElement.events = {};
|
701 |
+
t.mediaElement.promises = [];
|
702 |
+
t.mediaElement.renderer = null;
|
703 |
+
t.mediaElement.rendererName = null;
|
|
|
|
|
|
|
704 |
|
705 |
+
t.mediaElement.changeRenderer = function (rendererName, mediaFiles) {
|
706 |
+
|
707 |
+
var t = _this,
|
708 |
+
media = Object.keys(mediaFiles[0]).length > 2 ? mediaFiles[0] : mediaFiles[0].src;
|
709 |
+
|
710 |
+
if (t.mediaElement.renderer !== undefined && t.mediaElement.renderer !== null && t.mediaElement.renderer.name === rendererName) {
|
711 |
+
t.mediaElement.renderer.pause();
|
712 |
+
if (t.mediaElement.renderer.stop) {
|
713 |
+
t.mediaElement.renderer.stop();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
714 |
}
|
715 |
+
t.mediaElement.renderer.show();
|
716 |
+
t.mediaElement.renderer.setSrc(media);
|
717 |
+
return true;
|
718 |
}
|
719 |
+
|
720 |
+
if (t.mediaElement.renderer !== undefined && t.mediaElement.renderer !== null) {
|
721 |
+
t.mediaElement.renderer.pause();
|
722 |
+
if (t.mediaElement.renderer.stop) {
|
723 |
+
t.mediaElement.renderer.stop();
|
|
|
724 |
}
|
725 |
+
t.mediaElement.renderer.hide();
|
|
|
726 |
}
|
727 |
+
|
728 |
+
var newRenderer = t.mediaElement.renderers[rendererName],
|
729 |
+
newRendererType = null;
|
730 |
+
|
731 |
+
if (newRenderer !== undefined && newRenderer !== null) {
|
732 |
+
newRenderer.show();
|
733 |
+
newRenderer.setSrc(media);
|
734 |
+
t.mediaElement.renderer = newRenderer;
|
735 |
+
t.mediaElement.rendererName = rendererName;
|
736 |
+
return true;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
737 |
}
|
738 |
+
|
739 |
+
var rendererArray = t.mediaElement.options.renderers.length ? t.mediaElement.options.renderers : _renderer.renderer.order;
|
740 |
+
|
741 |
+
for (var _i = 0, total = rendererArray.length; _i < total; _i++) {
|
742 |
+
var index = rendererArray[_i];
|
743 |
+
|
744 |
+
if (index === rendererName) {
|
745 |
+
var rendererList = _renderer.renderer.renderers;
|
746 |
+
newRendererType = rendererList[index];
|
747 |
+
|
748 |
+
var renderOptions = Object.assign(newRendererType.options, t.mediaElement.options);
|
749 |
+
newRenderer = newRendererType.create(t.mediaElement, renderOptions, mediaFiles);
|
750 |
+
newRenderer.name = rendererName;
|
751 |
+
|
752 |
+
t.mediaElement.renderers[newRendererType.name] = newRenderer;
|
753 |
+
t.mediaElement.renderer = newRenderer;
|
754 |
+
t.mediaElement.rendererName = rendererName;
|
755 |
+
newRenderer.show();
|
756 |
+
return true;
|
|
|
757 |
}
|
758 |
}
|
759 |
|
760 |
return false;
|
761 |
+
};
|
762 |
+
|
763 |
+
t.mediaElement.setSize = function (width, height) {
|
764 |
+
if (t.mediaElement.renderer !== undefined && t.mediaElement.renderer !== null) {
|
765 |
+
t.mediaElement.renderer.setSize(width, height);
|
766 |
}
|
767 |
+
};
|
768 |
+
|
769 |
+
t.mediaElement.generateError = function (message, urlList) {
|
770 |
+
message = message || '';
|
771 |
+
urlList = Array.isArray(urlList) ? urlList : [];
|
772 |
+
var event = (0, _general.createEvent)('error', t.mediaElement);
|
773 |
+
event.message = message;
|
774 |
+
event.urls = urlList;
|
775 |
+
t.mediaElement.dispatchEvent(event);
|
776 |
+
error = true;
|
777 |
+
};
|
778 |
+
|
779 |
+
var props = _mejs2.default.html5media.properties,
|
780 |
+
methods = _mejs2.default.html5media.methods,
|
781 |
+
addProperty = function addProperty(obj, name, onGet, onSet) {
|
782 |
+
var oldValue = obj[name];
|
783 |
+
var getFn = function getFn() {
|
784 |
+
return onGet.apply(obj, [oldValue]);
|
785 |
+
},
|
786 |
+
setFn = function setFn(newValue) {
|
787 |
+
oldValue = onSet.apply(obj, [newValue]);
|
788 |
+
return oldValue;
|
789 |
+
};
|
790 |
+
|
791 |
+
Object.defineProperty(obj, name, {
|
792 |
+
get: getFn,
|
793 |
+
set: setFn
|
794 |
+
});
|
795 |
},
|
796 |
+
assignGettersSetters = function assignGettersSetters(propName) {
|
797 |
+
if (propName !== 'src') {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
798 |
|
799 |
+
var capName = '' + propName.substring(0, 1).toUpperCase() + propName.substring(1),
|
800 |
+
getFn = function getFn() {
|
801 |
+
return t.mediaElement.renderer !== undefined && t.mediaElement.renderer !== null && typeof t.mediaElement.renderer['get' + capName] === 'function' ? t.mediaElement.renderer['get' + capName]() : null;
|
802 |
+
},
|
803 |
+
setFn = function setFn(value) {
|
804 |
+
if (t.mediaElement.renderer !== undefined && t.mediaElement.renderer !== null && typeof t.mediaElement.renderer['set' + capName] === 'function') {
|
805 |
+
t.mediaElement.renderer['set' + capName](value);
|
806 |
}
|
807 |
+
};
|
808 |
+
|
809 |
+
addProperty(t.mediaElement, propName, getFn, setFn);
|
810 |
+
t.mediaElement['get' + capName] = getFn;
|
811 |
+
t.mediaElement['set' + capName] = setFn;
|
812 |
+
}
|
813 |
+
},
|
814 |
+
getSrc = function getSrc() {
|
815 |
+
return t.mediaElement.renderer !== undefined && t.mediaElement.renderer !== null ? t.mediaElement.renderer.getSrc() : null;
|
816 |
+
},
|
817 |
+
setSrc = function setSrc(value) {
|
818 |
+
var mediaFiles = [];
|
819 |
+
|
820 |
+
if (typeof value === 'string') {
|
821 |
+
mediaFiles.push({
|
822 |
+
src: value,
|
823 |
+
type: value ? (0, _media2.getTypeFromFile)(value) : ''
|
824 |
+
});
|
825 |
+
} else if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && value.src !== undefined) {
|
826 |
+
var _src = (0, _media2.absolutizeUrl)(value.src),
|
827 |
+
_type2 = value.type,
|
828 |
+
media = Object.assign(value, {
|
829 |
+
src: _src,
|
830 |
+
type: (_type2 === '' || _type2 === null || _type2 === undefined) && _src ? (0, _media2.getTypeFromFile)(_src) : _type2
|
831 |
+
});
|
832 |
+
mediaFiles.push(media);
|
833 |
+
} else if (Array.isArray(value)) {
|
834 |
+
for (var _i2 = 0, total = value.length; _i2 < total; _i2++) {
|
835 |
+
|
836 |
+
var _src2 = (0, _media2.absolutizeUrl)(value[_i2].src),
|
837 |
+
_type3 = value[_i2].type,
|
838 |
+
_media = Object.assign(value[_i2], {
|
839 |
+
src: _src2,
|
840 |
+
type: (_type3 === '' || _type3 === null || _type3 === undefined) && _src2 ? (0, _media2.getTypeFromFile)(_src2) : _type3
|
841 |
+
});
|
842 |
+
|
843 |
+
mediaFiles.push(_media);
|
844 |
}
|
845 |
}
|
846 |
|
847 |
+
var renderInfo = _renderer.renderer.select(mediaFiles, t.mediaElement.options.renderers.length ? t.mediaElement.options.renderers : []),
|
848 |
+
event = void 0;
|
849 |
+
|
850 |
+
if (!t.mediaElement.paused) {
|
851 |
+
t.mediaElement.pause();
|
852 |
+
event = (0, _general.createEvent)('pause', t.mediaElement);
|
853 |
+
t.mediaElement.dispatchEvent(event);
|
854 |
+
}
|
855 |
+
t.mediaElement.originalNode.src = mediaFiles[0].src || '';
|
856 |
+
|
857 |
+
if (renderInfo === null && mediaFiles[0].src) {
|
858 |
+
t.mediaElement.generateError('No renderer found', mediaFiles);
|
859 |
+
return;
|
860 |
}
|
861 |
+
|
862 |
+
return mediaFiles[0].src ? t.mediaElement.changeRenderer(renderInfo.rendererName, mediaFiles) : null;
|
863 |
},
|
864 |
+
triggerAction = function triggerAction(methodName, args) {
|
865 |
+
try {
|
866 |
+
if (methodName === 'play' && t.mediaElement.rendererName === 'native_dash') {
|
867 |
+
var response = t.mediaElement.renderer[methodName](args);
|
868 |
+
if (response && typeof response.then === 'function') {
|
869 |
+
response.catch(function () {
|
870 |
+
if (t.mediaElement.paused) {
|
871 |
+
setTimeout(function () {
|
872 |
+
var tmpResponse = t.mediaElement.renderer.play();
|
873 |
+
if (tmpResponse !== undefined) {
|
874 |
+
tmpResponse.catch(function () {
|
875 |
+
if (!t.mediaElement.renderer.paused) {
|
876 |
+
t.mediaElement.renderer.pause();
|
877 |
+
}
|
878 |
+
});
|
879 |
+
}
|
880 |
+
}, 150);
|
881 |
+
}
|
882 |
+
});
|
883 |
+
}
|
884 |
} else {
|
885 |
+
t.mediaElement.renderer[methodName](args);
|
886 |
}
|
887 |
+
} catch (e) {
|
888 |
+
t.mediaElement.generateError(e, mediaFiles);
|
889 |
}
|
890 |
},
|
891 |
+
assignMethods = function assignMethods(methodName) {
|
892 |
+
t.mediaElement[methodName] = function () {
|
893 |
+
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
|
894 |
+
args[_key] = arguments[_key];
|
895 |
+
}
|
896 |
+
|
897 |
+
if (t.mediaElement.renderer !== undefined && t.mediaElement.renderer !== null && typeof t.mediaElement.renderer[methodName] === 'function') {
|
898 |
+
if (t.mediaElement.promises.length) {
|
899 |
+
Promise.all(t.mediaElement.promises).then(function () {
|
900 |
+
triggerAction(methodName, args);
|
901 |
+
}).catch(function (e) {
|
902 |
+
t.mediaElement.generateError(e, mediaFiles);
|
903 |
+
});
|
904 |
} else {
|
905 |
+
triggerAction(methodName, args);
|
906 |
}
|
|
|
|
|
|
|
|
|
907 |
}
|
908 |
+
return null;
|
909 |
+
};
|
910 |
+
};
|
911 |
+
|
912 |
+
addProperty(t.mediaElement, 'src', getSrc, setSrc);
|
913 |
+
t.mediaElement.getSrc = getSrc;
|
914 |
+
t.mediaElement.setSrc = setSrc;
|
915 |
+
|
916 |
+
for (var _i3 = 0, total = props.length; _i3 < total; _i3++) {
|
917 |
+
assignGettersSetters(props[_i3]);
|
918 |
+
}
|
919 |
+
|
920 |
+
for (var _i4 = 0, _total = methods.length; _i4 < _total; _i4++) {
|
921 |
+
assignMethods(methods[_i4]);
|
922 |
+
}
|
923 |
+
|
924 |
+
t.mediaElement.addEventListener = function (eventName, callback) {
|
925 |
+
t.mediaElement.events[eventName] = t.mediaElement.events[eventName] || [];
|
926 |
+
|
927 |
+
t.mediaElement.events[eventName].push(callback);
|
928 |
+
};
|
929 |
+
t.mediaElement.removeEventListener = function (eventName, callback) {
|
930 |
+
if (!eventName) {
|
931 |
+
t.mediaElement.events = {};
|
932 |
+
return true;
|
933 |
}
|
|
|
934 |
|
935 |
+
var callbacks = t.mediaElement.events[eventName];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
936 |
|
937 |
+
if (!callbacks) {
|
938 |
+
return true;
|
|
|
939 |
}
|
940 |
+
|
941 |
+
if (!callback) {
|
942 |
+
t.mediaElement.events[eventName] = [];
|
943 |
+
return true;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
944 |
}
|
|
|
945 |
|
946 |
+
for (var _i5 = 0; _i5 < callbacks.length; _i5++) {
|
947 |
+
if (callbacks[_i5] === callback) {
|
948 |
+
t.mediaElement.events[eventName].splice(_i5, 1);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
949 |
return true;
|
950 |
}
|
951 |
}
|
952 |
return false;
|
953 |
+
};
|
|
|
|
|
|
|
|
|
954 |
|
955 |
+
t.mediaElement.dispatchEvent = function (event) {
|
956 |
+
var callbacks = t.mediaElement.events[event.type];
|
957 |
if (callbacks) {
|
958 |
+
for (var _i6 = 0; _i6 < callbacks.length; _i6++) {
|
959 |
+
callbacks[_i6].apply(null, [event]);
|
|
|
960 |
}
|
961 |
}
|
962 |
+
};
|
963 |
+
|
964 |
+
t.mediaElement.destroy = function () {
|
965 |
+
var mediaElement = t.mediaElement.originalNode.cloneNode(true);
|
966 |
+
var wrapper = t.mediaElement.parentElement;
|
967 |
+
mediaElement.removeAttribute('id');
|
968 |
+
mediaElement.remove();
|
969 |
+
t.mediaElement.remove();
|
970 |
+
wrapper.append(mediaElement);
|
971 |
+
};
|
972 |
+
|
973 |
+
if (mediaFiles.length) {
|
974 |
+
t.mediaElement.src = mediaFiles;
|
975 |
+
}
|
976 |
+
|
977 |
+
if (t.mediaElement.promises.length) {
|
978 |
+
Promise.all(t.mediaElement.promises).then(function () {
|
979 |
+
if (t.mediaElement.options.success) {
|
980 |
+
t.mediaElement.options.success(t.mediaElement, t.mediaElement.originalNode);
|
981 |
+
}
|
982 |
+
}).catch(function () {
|
983 |
+
if (error && t.mediaElement.options.error) {
|
984 |
+
t.mediaElement.options.error(t.mediaElement, t.mediaElement.originalNode);
|
985 |
+
}
|
986 |
+
});
|
987 |
+
} else {
|
988 |
+
if (t.mediaElement.options.success) {
|
989 |
+
t.mediaElement.options.success(t.mediaElement, t.mediaElement.originalNode);
|
990 |
}
|
|
|
|
|
|
|
|
|
|
|
991 |
|
992 |
+
if (error && t.mediaElement.options.error) {
|
993 |
+
t.mediaElement.options.error(t.mediaElement, t.mediaElement.originalNode);
|
994 |
+
}
|
995 |
}
|
|
|
996 |
|
997 |
+
return t.mediaElement;
|
998 |
+
};
|
999 |
|
1000 |
+
_window2.default.MediaElement = MediaElement;
|
1001 |
+
_mejs2.default.MediaElement = MediaElement;
|
1002 |
|
1003 |
+
exports.default = MediaElement;
|
|
|
|
|
|
|
1004 |
|
1005 |
+
},{"16":16,"18":18,"19":19,"2":2,"3":3,"7":7,"8":8}],7:[function(_dereq_,module,exports){
|
1006 |
+
'use strict';
|
1007 |
|
1008 |
+
Object.defineProperty(exports, "__esModule", {
|
1009 |
+
value: true
|
1010 |
+
});
|
1011 |
|
1012 |
+
var _window = _dereq_(3);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1013 |
|
1014 |
+
var _window2 = _interopRequireDefault(_window);
|
|
|
|
|
1015 |
|
1016 |
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
|
|
|
|
|
|
|
1017 |
|
1018 |
+
var mejs = {};
|
|
|
1019 |
|
1020 |
+
mejs.version = '4.2.8';
|
|
|
|
|
|
|
|
|
1021 |
|
1022 |
+
mejs.html5media = {
|
1023 |
+
properties: ['volume', 'src', 'currentTime', 'muted', 'duration', 'paused', 'ended', 'buffered', 'error', 'networkState', 'readyState', 'seeking', 'seekable', 'currentSrc', 'preload', 'bufferedBytes', 'bufferedTime', 'initialTime', 'startOffsetTime', 'defaultPlaybackRate', 'playbackRate', 'played', 'autoplay', 'loop', 'controls'],
|
1024 |
+
readOnlyProperties: ['duration', 'paused', 'ended', 'buffered', 'error', 'networkState', 'readyState', 'seeking', 'seekable'],
|
|
|
|
|
1025 |
|
1026 |
+
methods: ['load', 'play', 'pause', 'canPlayType'],
|
|
|
1027 |
|
1028 |
+
events: ['loadstart', 'durationchange', 'loadedmetadata', 'loadeddata', 'progress', 'canplay', 'canplaythrough', 'suspend', 'abort', 'error', 'emptied', 'stalled', 'play', 'playing', 'pause', 'waiting', 'seeking', 'seeked', 'timeupdate', 'ended', 'ratechange', 'volumechange'],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1029 |
|
1030 |
+
mediaTypes: ['audio/mp3', 'audio/ogg', 'audio/oga', 'audio/wav', 'audio/x-wav', 'audio/wave', 'audio/x-pn-wav', 'audio/mpeg', 'audio/mp4', 'video/mp4', 'video/webm', 'video/ogg', 'video/ogv']
|
|
|
1031 |
};
|
1032 |
|
1033 |
+
_window2.default.mejs = mejs;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1034 |
|
1035 |
+
exports.default = mejs;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1036 |
|
1037 |
+
},{"3":3}],8:[function(_dereq_,module,exports){
|
1038 |
+
'use strict';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1039 |
|
1040 |
+
Object.defineProperty(exports, "__esModule", {
|
1041 |
+
value: true
|
1042 |
+
});
|
1043 |
+
exports.renderer = undefined;
|
1044 |
|
1045 |
+
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1046 |
|
1047 |
+
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1048 |
|
1049 |
+
var _mejs = _dereq_(7);
|
|
|
|
|
|
|
1050 |
|
1051 |
+
var _mejs2 = _interopRequireDefault(_mejs);
|
1052 |
+
|
1053 |
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
1054 |
+
|
1055 |
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
1056 |
+
|
1057 |
+
var Renderer = function () {
|
1058 |
+
function Renderer() {
|
1059 |
+
_classCallCheck(this, Renderer);
|
1060 |
+
|
1061 |
+
this.renderers = {};
|
1062 |
+
this.order = [];
|
1063 |
+
}
|
1064 |
+
|
1065 |
+
_createClass(Renderer, [{
|
1066 |
+
key: 'add',
|
1067 |
+
value: function add(renderer) {
|
1068 |
+
if (renderer.name === undefined) {
|
1069 |
+
throw new TypeError('renderer must contain at least `name` property');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1070 |
}
|
1071 |
+
|
1072 |
+
this.renderers[renderer.name] = renderer;
|
1073 |
+
this.order.push(renderer.name);
|
1074 |
}
|
1075 |
+
}, {
|
1076 |
+
key: 'select',
|
1077 |
+
value: function select(mediaFiles) {
|
1078 |
+
var renderers = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
1079 |
|
1080 |
+
var renderersLength = renderers.length;
|
|
|
|
|
|
|
1081 |
|
1082 |
+
renderers = renderers.length ? renderers : this.order;
|
|
|
1083 |
|
1084 |
+
if (!renderersLength) {
|
1085 |
+
var rendererIndicator = [/^(html5|native)/i, /^flash/i, /iframe$/i],
|
1086 |
+
rendererRanking = function rendererRanking(renderer) {
|
1087 |
+
for (var i = 0, total = rendererIndicator.length; i < total; i++) {
|
1088 |
+
if (rendererIndicator[i].test(renderer)) {
|
1089 |
+
return i;
|
1090 |
+
}
|
1091 |
+
}
|
1092 |
+
return rendererIndicator.length;
|
1093 |
+
};
|
1094 |
+
|
1095 |
+
renderers.sort(function (a, b) {
|
1096 |
+
return rendererRanking(a) - rendererRanking(b);
|
1097 |
+
});
|
1098 |
+
}
|
1099 |
+
|
1100 |
+
for (var i = 0, total = renderers.length; i < total; i++) {
|
1101 |
+
var key = renderers[i],
|
1102 |
+
_renderer = this.renderers[key];
|
1103 |
+
|
1104 |
+
if (_renderer !== null && _renderer !== undefined) {
|
1105 |
+
for (var j = 0, jl = mediaFiles.length; j < jl; j++) {
|
1106 |
+
if (typeof _renderer.canPlayType === 'function' && typeof mediaFiles[j].type === 'string' && _renderer.canPlayType(mediaFiles[j].type)) {
|
1107 |
+
return {
|
1108 |
+
rendererName: _renderer.name,
|
1109 |
+
src: mediaFiles[j].src
|
1110 |
+
};
|
1111 |
}
|
1112 |
}
|
1113 |
}
|
1114 |
}
|
1115 |
+
|
1116 |
+
return null;
|
1117 |
}
|
1118 |
+
}, {
|
1119 |
+
key: 'order',
|
1120 |
+
set: function set(order) {
|
1121 |
+
if (!Array.isArray(order)) {
|
1122 |
+
throw new TypeError('order must be an array of strings.');
|
1123 |
+
}
|
1124 |
+
|
1125 |
+
this._order = order;
|
1126 |
+
},
|
1127 |
+
get: function get() {
|
1128 |
+
return this._order;
|
1129 |
}
|
1130 |
+
}, {
|
1131 |
+
key: 'renderers',
|
1132 |
+
set: function set(renderers) {
|
1133 |
+
if (renderers !== null && (typeof renderers === 'undefined' ? 'undefined' : _typeof(renderers)) !== 'object') {
|
1134 |
+
throw new TypeError('renderers must be an array of objects.');
|
1135 |
+
}
|
1136 |
|
1137 |
+
this._renderers = renderers;
|
1138 |
+
},
|
1139 |
+
get: function get() {
|
1140 |
+
return this._renderers;
|
1141 |
}
|
1142 |
+
}]);
|
1143 |
|
1144 |
+
return Renderer;
|
1145 |
+
}();
|
1146 |
+
|
1147 |
+
var renderer = exports.renderer = new Renderer();
|
1148 |
+
|
1149 |
+
_mejs2.default.Renderers = renderer;
|
1150 |
+
|
1151 |
+
},{"7":7}],9:[function(_dereq_,module,exports){
|
1152 |
+
'use strict';
|
1153 |
+
|
1154 |
+
Object.defineProperty(exports, "__esModule", {
|
1155 |
+
value: true
|
1156 |
+
});
|
1157 |
+
var EN = exports.EN = {
|
1158 |
+
'mejs.plural-form': 1,
|
1159 |
+
|
1160 |
+
'mejs.download-file': 'Download File',
|
1161 |
+
|
1162 |
+
'mejs.install-flash': 'You are using a browser that does not have Flash player enabled or installed. Please turn on your Flash player plugin or download the latest version from https://get.adobe.com/flashplayer/',
|
1163 |
+
|
1164 |
+
'mejs.fullscreen': 'Fullscreen',
|
1165 |
+
|
1166 |
+
'mejs.play': 'Play',
|
1167 |
+
'mejs.pause': 'Pause',
|
1168 |
+
|
1169 |
+
'mejs.time-slider': 'Time Slider',
|
1170 |
+
'mejs.time-help-text': 'Use Left/Right Arrow keys to advance one second, Up/Down arrows to advance ten seconds.',
|
1171 |
+
'mejs.live-broadcast': 'Live Broadcast',
|
1172 |
+
|
1173 |
+
'mejs.volume-help-text': 'Use Up/Down Arrow keys to increase or decrease volume.',
|
1174 |
+
'mejs.unmute': 'Unmute',
|
1175 |
+
'mejs.mute': 'Mute',
|
1176 |
+
'mejs.volume-slider': 'Volume Slider',
|
1177 |
+
|
1178 |
+
'mejs.video-player': 'Video Player',
|
1179 |
+
'mejs.audio-player': 'Audio Player',
|
1180 |
+
|
1181 |
+
'mejs.captions-subtitles': 'Captions/Subtitles',
|
1182 |
+
'mejs.captions-chapters': 'Chapters',
|
1183 |
+
'mejs.none': 'None',
|
1184 |
+
'mejs.afrikaans': 'Afrikaans',
|
1185 |
+
'mejs.albanian': 'Albanian',
|
1186 |
+
'mejs.arabic': 'Arabic',
|
1187 |
+
'mejs.belarusian': 'Belarusian',
|
1188 |
+
'mejs.bulgarian': 'Bulgarian',
|
1189 |
+
'mejs.catalan': 'Catalan',
|
1190 |
+
'mejs.chinese': 'Chinese',
|
1191 |
+
'mejs.chinese-simplified': 'Chinese (Simplified)',
|
1192 |
+
'mejs.chinese-traditional': 'Chinese (Traditional)',
|
1193 |
+
'mejs.croatian': 'Croatian',
|
1194 |
+
'mejs.czech': 'Czech',
|
1195 |
+
'mejs.danish': 'Danish',
|
1196 |
+
'mejs.dutch': 'Dutch',
|
1197 |
+
'mejs.english': 'English',
|
1198 |
+
'mejs.estonian': 'Estonian',
|
1199 |
+
'mejs.filipino': 'Filipino',
|
1200 |
+
'mejs.finnish': 'Finnish',
|
1201 |
+
'mejs.french': 'French',
|
1202 |
+
'mejs.galician': 'Galician',
|
1203 |
+
'mejs.german': 'German',
|
1204 |
+
'mejs.greek': 'Greek',
|
1205 |
+
'mejs.haitian-creole': 'Haitian Creole',
|
1206 |
+
'mejs.hebrew': 'Hebrew',
|
1207 |
+
'mejs.hindi': 'Hindi',
|
1208 |
+
'mejs.hungarian': 'Hungarian',
|
1209 |
+
'mejs.icelandic': 'Icelandic',
|
1210 |
+
'mejs.indonesian': 'Indonesian',
|
1211 |
+
'mejs.irish': 'Irish',
|
1212 |
+
'mejs.italian': 'Italian',
|
1213 |
+
'mejs.japanese': 'Japanese',
|
1214 |
+
'mejs.korean': 'Korean',
|
1215 |
+
'mejs.latvian': 'Latvian',
|
1216 |
+
'mejs.lithuanian': 'Lithuanian',
|
1217 |
+
'mejs.macedonian': 'Macedonian',
|
1218 |
+
'mejs.malay': 'Malay',
|
1219 |
+
'mejs.maltese': 'Maltese',
|
1220 |
+
'mejs.norwegian': 'Norwegian',
|
1221 |
+
'mejs.persian': 'Persian',
|
1222 |
+
'mejs.polish': 'Polish',
|
1223 |
+
'mejs.portuguese': 'Portuguese',
|
1224 |
+
'mejs.romanian': 'Romanian',
|
1225 |
+
'mejs.russian': 'Russian',
|
1226 |
+
'mejs.serbian': 'Serbian',
|
1227 |
+
'mejs.slovak': 'Slovak',
|
1228 |
+
'mejs.slovenian': 'Slovenian',
|
1229 |
+
'mejs.spanish': 'Spanish',
|
1230 |
+
'mejs.swahili': 'Swahili',
|
1231 |
+
'mejs.swedish': 'Swedish',
|
1232 |
+
'mejs.tagalog': 'Tagalog',
|
1233 |
+
'mejs.thai': 'Thai',
|
1234 |
+
'mejs.turkish': 'Turkish',
|
1235 |
+
'mejs.ukrainian': 'Ukrainian',
|
1236 |
+
'mejs.vietnamese': 'Vietnamese',
|
1237 |
+
'mejs.welsh': 'Welsh',
|
1238 |
+
'mejs.yiddish': 'Yiddish'
|
1239 |
+
};
|
1240 |
+
|
1241 |
+
},{}],10:[function(_dereq_,module,exports){
|
1242 |
+
'use strict';
|
1243 |
+
|
1244 |
+
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
|
1245 |
+
|
1246 |
+
var _window = _dereq_(3);
|
1247 |
+
|
1248 |
+
var _window2 = _interopRequireDefault(_window);
|
1249 |
+
|
1250 |
+
var _mejs = _dereq_(7);
|
1251 |
+
|
1252 |
+
var _mejs2 = _interopRequireDefault(_mejs);
|
1253 |
+
|
1254 |
+
var _renderer = _dereq_(8);
|
1255 |
+
|
1256 |
+
var _general = _dereq_(18);
|
1257 |
+
|
1258 |
+
var _media = _dereq_(19);
|
1259 |
+
|
1260 |
+
var _constants = _dereq_(16);
|
1261 |
+
|
1262 |
+
var _dom = _dereq_(17);
|
1263 |
+
|
1264 |
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
1265 |
+
|
1266 |
+
var NativeDash = {
|
1267 |
|
1268 |
+
promise: null,
|
|
|
1269 |
|
1270 |
+
load: function load(settings) {
|
1271 |
+
if (typeof dashjs !== 'undefined') {
|
1272 |
+
NativeDash.promise = new Promise(function (resolve) {
|
1273 |
+
resolve();
|
1274 |
+
}).then(function () {
|
1275 |
+
NativeDash._createPlayer(settings);
|
1276 |
+
});
|
1277 |
} else {
|
1278 |
+
settings.options.path = typeof settings.options.path === 'string' ? settings.options.path : 'https://cdn.dashjs.org/latest/dash.all.min.js';
|
1279 |
+
|
1280 |
+
NativeDash.promise = NativeDash.promise || (0, _dom.loadScript)(settings.options.path);
|
1281 |
+
NativeDash.promise.then(function () {
|
1282 |
+
NativeDash._createPlayer(settings);
|
1283 |
+
});
|
|
|
|
|
|
|
1284 |
}
|
1285 |
+
|
1286 |
+
return NativeDash.promise;
|
1287 |
},
|
1288 |
+
|
1289 |
+
_createPlayer: function _createPlayer(settings) {
|
1290 |
+
var player = dashjs.MediaPlayer().create();
|
1291 |
+
_window2.default['__ready__' + settings.id](player);
|
1292 |
+
return player;
|
1293 |
+
}
|
1294 |
+
};
|
1295 |
+
|
1296 |
+
var DashNativeRenderer = {
|
1297 |
+
name: 'native_dash',
|
1298 |
+
options: {
|
1299 |
+
prefix: 'native_dash',
|
1300 |
+
dash: {
|
1301 |
+
path: 'https://cdn.dashjs.org/latest/dash.all.min.js',
|
1302 |
+
debug: false,
|
1303 |
+
drm: {},
|
1304 |
+
|
1305 |
+
robustnessLevel: ''
|
|
|
|
|
|
|
|
|
1306 |
}
|
1307 |
},
|
1308 |
|
1309 |
+
canPlayType: function canPlayType(type) {
|
1310 |
+
return _constants.HAS_MSE && ['application/dash+xml'].indexOf(type.toLowerCase()) > -1;
|
1311 |
+
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1312 |
|
1313 |
+
create: function create(mediaElement, options, mediaFiles) {
|
|
|
|
|
1314 |
|
1315 |
+
var originalNode = mediaElement.originalNode,
|
1316 |
+
id = mediaElement.id + '_' + options.prefix,
|
1317 |
+
autoplay = originalNode.autoplay,
|
1318 |
+
children = originalNode.children;
|
1319 |
|
1320 |
+
var node = null,
|
1321 |
+
dashPlayer = null;
|
1322 |
|
1323 |
+
originalNode.removeAttribute('type');
|
1324 |
+
for (var i = 0, total = children.length; i < total; i++) {
|
1325 |
+
children[i].removeAttribute('type');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1326 |
}
|
1327 |
|
1328 |
+
node = originalNode.cloneNode(true);
|
1329 |
+
options = Object.assign(options, mediaElement.options);
|
1330 |
+
|
1331 |
+
var props = _mejs2.default.html5media.properties,
|
1332 |
+
events = _mejs2.default.html5media.events.concat(['click', 'mouseover', 'mouseout']).filter(function (e) {
|
1333 |
+
return e !== 'error';
|
1334 |
+
}),
|
1335 |
+
attachNativeEvents = function attachNativeEvents(e) {
|
1336 |
+
var event = (0, _general.createEvent)(e.type, mediaElement);
|
1337 |
+
mediaElement.dispatchEvent(event);
|
1338 |
+
},
|
1339 |
+
assignGettersSetters = function assignGettersSetters(propName) {
|
1340 |
+
var capName = '' + propName.substring(0, 1).toUpperCase() + propName.substring(1);
|
1341 |
+
|
1342 |
+
node['get' + capName] = function () {
|
1343 |
+
return dashPlayer !== null ? node[propName] : null;
|
1344 |
+
};
|
1345 |
|
1346 |
+
node['set' + capName] = function (value) {
|
1347 |
+
if (_mejs2.default.html5media.readOnlyProperties.indexOf(propName) === -1) {
|
1348 |
+
if (propName === 'src') {
|
1349 |
+
var source = (typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && value.src ? value.src : value;
|
1350 |
+
node[propName] = source;
|
1351 |
+
if (dashPlayer !== null) {
|
1352 |
+
dashPlayer.reset();
|
1353 |
+
for (var _i = 0, _total = events.length; _i < _total; _i++) {
|
1354 |
+
node.removeEventListener(events[_i], attachNativeEvents);
|
1355 |
+
}
|
1356 |
+
dashPlayer = NativeDash._createPlayer({
|
1357 |
+
options: options.dash,
|
1358 |
+
id: id
|
1359 |
+
});
|
1360 |
+
|
1361 |
+
if (value && (typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && _typeof(value.drm) === 'object') {
|
1362 |
+
dashPlayer.setProtectionData(value.drm);
|
1363 |
+
if ((0, _general.isString)(options.dash.robustnessLevel) && options.dash.robustnessLevel) {
|
1364 |
+
dashPlayer.getProtectionController().setRobustnessLevel(options.dash.robustnessLevel);
|
1365 |
+
}
|
1366 |
+
}
|
1367 |
+
dashPlayer.attachSource(source);
|
1368 |
+
if (autoplay) {
|
1369 |
+
dashPlayer.play();
|
1370 |
+
}
|
1371 |
+
}
|
1372 |
+
} else {
|
1373 |
+
node[propName] = value;
|
1374 |
+
}
|
1375 |
+
}
|
1376 |
+
};
|
1377 |
+
};
|
1378 |
|
1379 |
+
for (var _i2 = 0, _total2 = props.length; _i2 < _total2; _i2++) {
|
1380 |
+
assignGettersSetters(props[_i2]);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1381 |
}
|
|
|
|
|
|
|
1382 |
|
1383 |
+
_window2.default['__ready__' + id] = function (_dashPlayer) {
|
1384 |
+
mediaElement.dashPlayer = dashPlayer = _dashPlayer;
|
1385 |
+
|
1386 |
+
var dashEvents = dashjs.MediaPlayer.events,
|
1387 |
+
assignEvents = function assignEvents(eventName) {
|
1388 |
+
if (eventName === 'loadedmetadata') {
|
1389 |
+
dashPlayer.getDebug().setLogToBrowserConsole(options.dash.debug);
|
1390 |
+
dashPlayer.initialize();
|
1391 |
+
dashPlayer.setScheduleWhilePaused(false);
|
1392 |
+
dashPlayer.setFastSwitchEnabled(true);
|
1393 |
+
dashPlayer.attachView(node);
|
1394 |
+
dashPlayer.setAutoPlay(false);
|
1395 |
+
|
1396 |
+
if (_typeof(options.dash.drm) === 'object' && !_mejs2.default.Utils.isObjectEmpty(options.dash.drm)) {
|
1397 |
+
dashPlayer.setProtectionData(options.dash.drm);
|
1398 |
+
if ((0, _general.isString)(options.dash.robustnessLevel) && options.dash.robustnessLevel) {
|
1399 |
+
dashPlayer.getProtectionController().setRobustnessLevel(options.dash.robustnessLevel);
|
1400 |
+
}
|
1401 |
+
}
|
1402 |
+
dashPlayer.attachSource(node.getSrc());
|
1403 |
+
}
|
1404 |
|
1405 |
+
node.addEventListener(eventName, attachNativeEvents);
|
1406 |
+
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1407 |
|
1408 |
+
for (var _i3 = 0, _total3 = events.length; _i3 < _total3; _i3++) {
|
1409 |
+
assignEvents(events[_i3]);
|
1410 |
+
}
|
1411 |
|
1412 |
+
var assignMdashEvents = function assignMdashEvents(e) {
|
1413 |
+
if (e.type.toLowerCase() === 'error') {
|
1414 |
+
mediaElement.generateError(e.message, node.src);
|
1415 |
+
console.error(e);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1416 |
} else {
|
1417 |
+
var _event = (0, _general.createEvent)(e.type, mediaElement);
|
1418 |
+
_event.data = e;
|
1419 |
+
mediaElement.dispatchEvent(_event);
|
1420 |
}
|
1421 |
+
};
|
1422 |
+
|
1423 |
+
for (var eventType in dashEvents) {
|
1424 |
+
if (dashEvents.hasOwnProperty(eventType)) {
|
1425 |
+
dashPlayer.on(dashEvents[eventType], function (e) {
|
1426 |
+
return assignMdashEvents(e);
|
1427 |
+
});
|
1428 |
+
}
|
1429 |
+
}
|
1430 |
+
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1431 |
|
1432 |
+
if (mediaFiles && mediaFiles.length > 0) {
|
1433 |
+
for (var _i4 = 0, _total4 = mediaFiles.length; _i4 < _total4; _i4++) {
|
1434 |
+
if (_renderer.renderer.renderers[options.prefix].canPlayType(mediaFiles[_i4].type)) {
|
1435 |
+
node.setAttribute('src', mediaFiles[_i4].src);
|
1436 |
+
if (typeof mediaFiles[_i4].drm !== 'undefined') {
|
1437 |
+
options.dash.drm = mediaFiles[_i4].drm;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1438 |
}
|
1439 |
+
break;
|
1440 |
+
}
|
|
|
|
|
|
|
1441 |
}
|
1442 |
}
|
|
|
1443 |
|
1444 |
+
node.setAttribute('id', id);
|
1445 |
+
|
1446 |
+
originalNode.parentNode.insertBefore(node, originalNode);
|
1447 |
+
originalNode.autoplay = false;
|
1448 |
+
originalNode.style.display = 'none';
|
1449 |
+
|
1450 |
+
node.setSize = function (width, height) {
|
1451 |
+
node.style.width = width + 'px';
|
1452 |
+
node.style.height = height + 'px';
|
1453 |
+
return node;
|
1454 |
+
};
|
1455 |
+
|
1456 |
+
node.hide = function () {
|
1457 |
+
node.pause();
|
1458 |
+
node.style.display = 'none';
|
1459 |
+
return node;
|
1460 |
+
};
|
1461 |
+
|
1462 |
+
node.show = function () {
|
1463 |
+
node.style.display = '';
|
1464 |
+
return node;
|
1465 |
+
};
|
1466 |
+
|
1467 |
+
node.destroy = function () {
|
1468 |
+
if (dashPlayer !== null) {
|
1469 |
+
dashPlayer.reset();
|
1470 |
+
}
|
1471 |
+
};
|
1472 |
+
|
1473 |
+
var event = (0, _general.createEvent)('rendererready', node);
|
1474 |
+
mediaElement.dispatchEvent(event);
|
1475 |
+
|
1476 |
+
mediaElement.promises.push(NativeDash.load({
|
1477 |
+
options: options.dash,
|
1478 |
+
id: id
|
1479 |
+
}));
|
1480 |
+
|
1481 |
+
return node;
|
1482 |
}
|
1483 |
};
|
1484 |
|
1485 |
+
_media.typeChecks.push(function (url) {
|
1486 |
+
return ~url.toLowerCase().indexOf('.mpd') ? 'application/dash+xml' : null;
|
1487 |
+
});
|
|
|
|
|
1488 |
|
1489 |
+
_renderer.renderer.add(DashNativeRenderer);
|
1490 |
+
|
1491 |
+
},{"16":16,"17":17,"18":18,"19":19,"3":3,"7":7,"8":8}],11:[function(_dereq_,module,exports){
|
1492 |
+
'use strict';
|
1493 |
+
|
1494 |
+
Object.defineProperty(exports, "__esModule", {
|
1495 |
+
value: true
|
1496 |
+
});
|
1497 |
+
exports.PluginDetector = undefined;
|
1498 |
+
|
1499 |
+
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
|
1500 |
+
|
1501 |
+
var _window = _dereq_(3);
|
1502 |
+
|
1503 |
+
var _window2 = _interopRequireDefault(_window);
|
1504 |
+
|
1505 |
+
var _document = _dereq_(2);
|
1506 |
+
|
1507 |
+
var _document2 = _interopRequireDefault(_document);
|
1508 |
+
|
1509 |
+
var _mejs = _dereq_(7);
|
1510 |
+
|
1511 |
+
var _mejs2 = _interopRequireDefault(_mejs);
|
1512 |
+
|
1513 |
+
var _i18n = _dereq_(5);
|
1514 |
+
|
1515 |
+
var _i18n2 = _interopRequireDefault(_i18n);
|
1516 |
+
|
1517 |
+
var _renderer = _dereq_(8);
|
1518 |
+
|
1519 |
+
var _general = _dereq_(18);
|
1520 |
+
|
1521 |
+
var _constants = _dereq_(16);
|
1522 |
+
|
1523 |
+
var _media = _dereq_(19);
|
1524 |
+
|
1525 |
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
1526 |
+
|
1527 |
+
var PluginDetector = exports.PluginDetector = {
|
1528 |
+
plugins: [],
|
1529 |
+
|
1530 |
+
hasPluginVersion: function hasPluginVersion(plugin, v) {
|
1531 |
+
var pv = PluginDetector.plugins[plugin];
|
1532 |
+
v[1] = v[1] || 0;
|
1533 |
+
v[2] = v[2] || 0;
|
1534 |
+
return pv[0] > v[0] || pv[0] === v[0] && pv[1] > v[1] || pv[0] === v[0] && pv[1] === v[1] && pv[2] >= v[2];
|
1535 |
},
|
1536 |
+
|
1537 |
+
addPlugin: function addPlugin(p, pluginName, mimeType, activeX, axDetect) {
|
1538 |
+
PluginDetector.plugins[p] = PluginDetector.detectPlugin(pluginName, mimeType, activeX, axDetect);
|
|
|
|
|
|
|
|
|
|
|
|
|
1539 |
},
|
1540 |
+
|
1541 |
+
detectPlugin: function detectPlugin(pluginName, mimeType, activeX, axDetect) {
|
1542 |
+
|
1543 |
+
var version = [0, 0, 0],
|
1544 |
+
description = void 0,
|
1545 |
+
ax = void 0;
|
1546 |
+
|
1547 |
+
if (_constants.NAV.plugins !== null && _constants.NAV.plugins !== undefined && _typeof(_constants.NAV.plugins[pluginName]) === 'object') {
|
1548 |
+
description = _constants.NAV.plugins[pluginName].description;
|
1549 |
+
if (description && !(typeof _constants.NAV.mimeTypes !== 'undefined' && _constants.NAV.mimeTypes[mimeType] && !_constants.NAV.mimeTypes[mimeType].enabledPlugin)) {
|
1550 |
+
version = description.replace(pluginName, '').replace(/^\s+/, '').replace(/\sr/gi, '.').split('.');
|
1551 |
+
for (var i = 0, total = version.length; i < total; i++) {
|
1552 |
+
version[i] = parseInt(version[i].match(/\d+/), 10);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1553 |
}
|
1554 |
}
|
1555 |
+
} else if (_window2.default.ActiveXObject !== undefined) {
|
1556 |
+
try {
|
1557 |
+
ax = new ActiveXObject(activeX);
|
1558 |
+
if (ax) {
|
1559 |
+
version = axDetect(ax);
|
1560 |
+
}
|
1561 |
+
} catch (e) {
|
1562 |
+
|
1563 |
+
}
|
1564 |
+
}
|
1565 |
+
return version;
|
1566 |
+
}
|
1567 |
+
};
|
1568 |
+
|
1569 |
+
PluginDetector.addPlugin('flash', 'Shockwave Flash', 'application/x-shockwave-flash', 'ShockwaveFlash.ShockwaveFlash', function (ax) {
|
1570 |
+
var version = [],
|
1571 |
+
d = ax.GetVariable("$version");
|
1572 |
+
|
1573 |
+
if (d) {
|
1574 |
+
d = d.split(" ")[1].split(",");
|
1575 |
+
version = [parseInt(d[0], 10), parseInt(d[1], 10), parseInt(d[2], 10)];
|
1576 |
+
}
|
1577 |
+
return version;
|
1578 |
+
});
|
1579 |
+
|
1580 |
+
var FlashMediaElementRenderer = {
|
1581 |
+
create: function create(mediaElement, options, mediaFiles) {
|
1582 |
+
|
1583 |
+
var flash = {};
|
1584 |
+
var isActive = false;
|
1585 |
+
|
1586 |
+
flash.options = options;
|
1587 |
+
flash.id = mediaElement.id + '_' + flash.options.prefix;
|
1588 |
+
flash.mediaElement = mediaElement;
|
1589 |
+
flash.flashState = {};
|
1590 |
+
flash.flashApi = null;
|
1591 |
+
flash.flashApiStack = [];
|
1592 |
+
|
1593 |
+
var props = _mejs2.default.html5media.properties,
|
1594 |
+
assignGettersSetters = function assignGettersSetters(propName) {
|
1595 |
+
flash.flashState[propName] = null;
|
1596 |
+
|
1597 |
+
var capName = '' + propName.substring(0, 1).toUpperCase() + propName.substring(1);
|
1598 |
+
|
1599 |
+
flash['get' + capName] = function () {
|
1600 |
+
if (flash.flashApi !== null) {
|
1601 |
+
if (typeof flash.flashApi['get_' + propName] === 'function') {
|
1602 |
+
var value = flash.flashApi['get_' + propName]();
|
1603 |
+
|
1604 |
+
if (propName === 'buffered') {
|
1605 |
+
return {
|
1606 |
+
start: function start() {
|
1607 |
+
return 0;
|
1608 |
+
},
|
1609 |
+
end: function end() {
|
1610 |
+
return value;
|
1611 |
+
},
|
1612 |
+
length: 1
|
1613 |
+
};
|
1614 |
+
}
|
1615 |
+
return value;
|
1616 |
+
} else {
|
1617 |
+
return null;
|
1618 |
+
}
|
1619 |
+
} else {
|
1620 |
+
return null;
|
1621 |
+
}
|
1622 |
+
};
|
1623 |
+
|
1624 |
+
flash['set' + capName] = function (value) {
|
1625 |
+
if (propName === 'src') {
|
1626 |
+
value = (0, _media.absolutizeUrl)(value);
|
1627 |
+
}
|
1628 |
+
|
1629 |
+
if (flash.flashApi !== null && flash.flashApi['set_' + propName] !== undefined) {
|
1630 |
+
try {
|
1631 |
+
flash.flashApi['set_' + propName](value);
|
1632 |
+
} catch (e) {
|
1633 |
+
|
1634 |
+
}
|
1635 |
+
} else {
|
1636 |
+
flash.flashApiStack.push({
|
1637 |
+
type: 'set',
|
1638 |
+
propName: propName,
|
1639 |
+
value: value
|
1640 |
+
});
|
1641 |
+
}
|
1642 |
+
};
|
1643 |
};
|
1644 |
|
1645 |
+
for (var i = 0, total = props.length; i < total; i++) {
|
1646 |
+
assignGettersSetters(props[i]);
|
1647 |
+
}
|
1648 |
+
|
1649 |
+
var methods = _mejs2.default.html5media.methods,
|
1650 |
+
assignMethods = function assignMethods(methodName) {
|
1651 |
+
flash[methodName] = function () {
|
1652 |
+
if (isActive) {
|
1653 |
+
if (flash.flashApi !== null) {
|
1654 |
+
if (flash.flashApi['fire_' + methodName]) {
|
1655 |
+
try {
|
1656 |
+
flash.flashApi['fire_' + methodName]();
|
1657 |
+
} catch (e) {
|
1658 |
+
|
1659 |
+
}
|
1660 |
+
} else {
|
1661 |
+
|
1662 |
+
}
|
1663 |
+
} else {
|
1664 |
+
flash.flashApiStack.push({
|
1665 |
+
type: 'call',
|
1666 |
+
methodName: methodName
|
1667 |
+
});
|
1668 |
+
}
|
1669 |
+
}
|
|
|
|
|
|
|
|
|
1670 |
};
|
1671 |
+
};
|
1672 |
+
methods.push('stop');
|
1673 |
+
for (var _i = 0, _total = methods.length; _i < _total; _i++) {
|
1674 |
+
assignMethods(methods[_i]);
|
1675 |
+
}
|
1676 |
+
|
1677 |
+
var initEvents = ['rendererready'];
|
1678 |
+
|
1679 |
+
for (var _i2 = 0, _total2 = initEvents.length; _i2 < _total2; _i2++) {
|
1680 |
+
var event = (0, _general.createEvent)(initEvents[_i2], flash);
|
1681 |
+
mediaElement.dispatchEvent(event);
|
1682 |
+
}
|
1683 |
+
|
1684 |
+
_window2.default['__ready__' + flash.id] = function () {
|
1685 |
+
|
1686 |
+
flash.flashReady = true;
|
1687 |
+
flash.flashApi = _document2.default.getElementById('__' + flash.id);
|
1688 |
+
|
1689 |
+
if (flash.flashApiStack.length) {
|
1690 |
+
for (var _i3 = 0, _total3 = flash.flashApiStack.length; _i3 < _total3; _i3++) {
|
1691 |
+
var stackItem = flash.flashApiStack[_i3];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1692 |
|
1693 |
+
if (stackItem.type === 'set') {
|
1694 |
+
var propName = stackItem.propName,
|
1695 |
+
capName = '' + propName.substring(0, 1).toUpperCase() + propName.substring(1);
|
1696 |
+
|
1697 |
+
flash['set' + capName](stackItem.value);
|
1698 |
+
} else if (stackItem.type === 'call') {
|
1699 |
+
flash[stackItem.methodName]();
|
1700 |
+
}
|
1701 |
+
}
|
1702 |
+
}
|
1703 |
+
};
|
1704 |
+
|
1705 |
+
_window2.default['__event__' + flash.id] = function (eventName, message) {
|
1706 |
+
var event = (0, _general.createEvent)(eventName, flash);
|
1707 |
+
if (message) {
|
1708 |
+
try {
|
1709 |
+
event.data = JSON.parse(message);
|
1710 |
+
event.details.data = JSON.parse(message);
|
1711 |
+
} catch (e) {
|
1712 |
+
event.message = message;
|
1713 |
+
}
|
1714 |
+
}
|
1715 |
+
|
1716 |
+
flash.mediaElement.dispatchEvent(event);
|
1717 |
+
};
|
1718 |
+
|
1719 |
+
flash.flashWrapper = _document2.default.createElement('div');
|
1720 |
+
|
1721 |
+
if (['always', 'sameDomain'].indexOf(flash.options.shimScriptAccess) === -1) {
|
1722 |
+
flash.options.shimScriptAccess = 'sameDomain';
|
1723 |
+
}
|
1724 |
+
|
1725 |
+
var autoplay = mediaElement.originalNode.autoplay,
|
1726 |
+
flashVars = ['uid=' + flash.id, 'autoplay=' + autoplay, 'allowScriptAccess=' + flash.options.shimScriptAccess, 'preload=' + (mediaElement.originalNode.getAttribute('preload') || '')],
|
1727 |
+
isVideo = mediaElement.originalNode !== null && mediaElement.originalNode.tagName.toLowerCase() === 'video',
|
1728 |
+
flashHeight = isVideo ? mediaElement.originalNode.height : 1,
|
1729 |
+
flashWidth = isVideo ? mediaElement.originalNode.width : 1;
|
1730 |
+
|
1731 |
+
if (mediaElement.originalNode.getAttribute('src')) {
|
1732 |
+
flashVars.push('src=' + mediaElement.originalNode.getAttribute('src'));
|
1733 |
+
}
|
1734 |
+
|
1735 |
+
if (flash.options.enablePseudoStreaming === true) {
|
1736 |
+
flashVars.push('pseudostreamstart=' + flash.options.pseudoStreamingStartQueryParam);
|
1737 |
+
flashVars.push('pseudostreamtype=' + flash.options.pseudoStreamingType);
|
1738 |
+
}
|
1739 |
+
|
1740 |
+
if (flash.options.streamDelimiter) {
|
1741 |
+
flashVars.push('streamdelimiter=' + encodeURIComponent(flash.options.streamDelimiter));
|
1742 |
+
}
|
1743 |
+
|
1744 |
+
if (flash.options.proxyType) {
|
1745 |
+
flashVars.push('proxytype=' + flash.options.proxyType);
|
1746 |
+
}
|
1747 |
+
|
1748 |
+
mediaElement.appendChild(flash.flashWrapper);
|
1749 |
+
mediaElement.originalNode.style.display = 'none';
|
1750 |
+
|
1751 |
+
var settings = [];
|
1752 |
+
|
1753 |
+
if (_constants.IS_IE || _constants.IS_EDGE) {
|
1754 |
+
var specialIEContainer = _document2.default.createElement('div');
|
1755 |
+
flash.flashWrapper.appendChild(specialIEContainer);
|
1756 |
+
|
1757 |
+
if (_constants.IS_EDGE) {
|
1758 |
+
settings = ['type="application/x-shockwave-flash"', 'data="' + flash.options.pluginPath + flash.options.filename + '"', 'id="__' + flash.id + '"', 'width="' + flashWidth + '"', 'height="' + flashHeight + '\'"'];
|
1759 |
+
} else {
|
1760 |
+
settings = ['classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"', 'codebase="//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab"', 'id="__' + flash.id + '"', 'width="' + flashWidth + '"', 'height="' + flashHeight + '"'];
|
1761 |
+
}
|
1762 |
+
|
1763 |
+
if (!isVideo) {
|
1764 |
+
settings.push('style="clip: rect(0 0 0 0); position: absolute;"');
|
1765 |
+
}
|
1766 |
+
|
1767 |
+
specialIEContainer.outerHTML = '<object ' + settings.join(' ') + '>' + ('<param name="movie" value="' + flash.options.pluginPath + flash.options.filename + '?x=' + new Date() + '" />') + ('<param name="flashvars" value="' + flashVars.join('&') + '" />') + '<param name="quality" value="high" />' + '<param name="bgcolor" value="#000000" />' + '<param name="wmode" value="transparent" />' + ('<param name="allowScriptAccess" value="' + flash.options.shimScriptAccess + '" />') + '<param name="allowFullScreen" value="true" />' + ('<div>' + _i18n2.default.t('mejs.install-flash') + '</div>') + '</object>';
|
1768 |
+
} else {
|
1769 |
+
|
1770 |
+
settings = ['id="__' + flash.id + '"', 'name="__' + flash.id + '"', 'play="true"', 'loop="false"', 'quality="high"', 'bgcolor="#000000"', 'wmode="transparent"', 'allowScriptAccess="' + flash.options.shimScriptAccess + '"', 'allowFullScreen="true"', 'type="application/x-shockwave-flash"', 'pluginspage="//www.macromedia.com/go/getflashplayer"', 'src="' + flash.options.pluginPath + flash.options.filename + '"', 'flashvars="' + flashVars.join('&') + '"'];
|
1771 |
+
|
1772 |
+
if (isVideo) {
|
1773 |
+
settings.push('width="' + flashWidth + '"');
|
1774 |
+
settings.push('height="' + flashHeight + '"');
|
1775 |
+
} else {
|
1776 |
+
settings.push('style="position: fixed; left: -9999em; top: -9999em;"');
|
1777 |
+
}
|
1778 |
+
|
1779 |
+
flash.flashWrapper.innerHTML = '<embed ' + settings.join(' ') + '>';
|
1780 |
+
}
|
1781 |
+
|
1782 |
+
flash.flashNode = flash.flashWrapper.lastChild;
|
1783 |
+
|
1784 |
+
flash.hide = function () {
|
1785 |
+
isActive = false;
|
1786 |
+
if (isVideo) {
|
1787 |
+
flash.flashNode.style.display = 'none';
|
1788 |
+
}
|
1789 |
+
};
|
1790 |
+
flash.show = function () {
|
1791 |
+
isActive = true;
|
1792 |
+
if (isVideo) {
|
1793 |
+
flash.flashNode.style.display = '';
|
1794 |
+
}
|
1795 |
+
};
|
1796 |
+
flash.setSize = function (width, height) {
|
1797 |
+
flash.flashNode.style.width = width + 'px';
|
1798 |
+
flash.flashNode.style.height = height + 'px';
|
1799 |
+
|
1800 |
+
if (flash.flashApi !== null && typeof flash.flashApi.fire_setSize === 'function') {
|
1801 |
+
flash.flashApi.fire_setSize(width, height);
|
1802 |
+
}
|
1803 |
+
};
|
1804 |
+
|
1805 |
+
flash.destroy = function () {
|
1806 |
+
flash.flashNode.remove();
|
1807 |
+
};
|
1808 |
+
|
1809 |
+
if (mediaFiles && mediaFiles.length > 0) {
|
1810 |
+
for (var _i4 = 0, _total4 = mediaFiles.length; _i4 < _total4; _i4++) {
|
1811 |
+
if (_renderer.renderer.renderers[options.prefix].canPlayType(mediaFiles[_i4].type)) {
|
1812 |
+
flash.setSrc(mediaFiles[_i4].src);
|
1813 |
+
break;
|
1814 |
+
}
|
1815 |
+
}
|
1816 |
+
}
|
1817 |
+
|
1818 |
+
return flash;
|
1819 |
+
}
|
1820 |
+
};
|
1821 |
+
|
1822 |
+
var hasFlash = PluginDetector.hasPluginVersion('flash', [10, 0, 0]);
|
1823 |
+
|
1824 |
+
if (hasFlash) {
|
1825 |
+
_media.typeChecks.push(function (url) {
|
1826 |
+
url = url.toLowerCase();
|
1827 |
+
|
1828 |
+
if (url.startsWith('rtmp')) {
|
1829 |
+
if (~url.indexOf('.mp3')) {
|
1830 |
+
return 'audio/rtmp';
|
1831 |
+
} else {
|
1832 |
+
return 'video/rtmp';
|
1833 |
+
}
|
1834 |
+
} else if (/\.og(a|g)/i.test(url)) {
|
1835 |
+
return 'audio/ogg';
|
1836 |
+
} else if (~url.indexOf('.m3u8')) {
|
1837 |
+
return 'application/x-mpegURL';
|
1838 |
+
} else if (~url.indexOf('.mpd')) {
|
1839 |
+
return 'application/dash+xml';
|
1840 |
+
} else if (~url.indexOf('.flv')) {
|
1841 |
+
return 'video/flv';
|
1842 |
+
} else {
|
1843 |
+
return null;
|
1844 |
+
}
|
1845 |
+
});
|
1846 |
+
|
1847 |
+
var FlashMediaElementVideoRenderer = {
|
1848 |
+
name: 'flash_video',
|
1849 |
+
options: {
|
1850 |
+
prefix: 'flash_video',
|
1851 |
+
filename: 'mediaelement-flash-video.swf',
|
1852 |
+
enablePseudoStreaming: false,
|
1853 |
+
|
1854 |
+
pseudoStreamingStartQueryParam: 'start',
|
1855 |
+
|
1856 |
+
pseudoStreamingType: 'byte',
|
1857 |
+
|
1858 |
+
proxyType: '',
|
1859 |
+
|
1860 |
+
streamDelimiter: ''
|
1861 |
+
},
|
1862 |
+
|
1863 |
+
canPlayType: function canPlayType(type) {
|
1864 |
+
return ~['video/mp4', 'video/rtmp', 'audio/rtmp', 'rtmp/mp4', 'audio/mp4', 'video/flv', 'video/x-flv'].indexOf(type.toLowerCase());
|
1865 |
+
},
|
1866 |
+
|
1867 |
+
create: FlashMediaElementRenderer.create
|
1868 |
+
|
1869 |
+
};
|
1870 |
+
_renderer.renderer.add(FlashMediaElementVideoRenderer);
|
1871 |
+
|
1872 |
+
var FlashMediaElementHlsVideoRenderer = {
|
1873 |
+
name: 'flash_hls',
|
1874 |
+
options: {
|
1875 |
+
prefix: 'flash_hls',
|
1876 |
+
filename: 'mediaelement-flash-video-hls.swf'
|
1877 |
+
},
|
1878 |
+
|
1879 |
+
canPlayType: function canPlayType(type) {
|
1880 |
+
return ~['application/x-mpegurl', 'application/vnd.apple.mpegurl', 'audio/mpegurl', 'audio/hls', 'video/hls'].indexOf(type.toLowerCase());
|
1881 |
+
},
|
1882 |
+
|
1883 |
+
create: FlashMediaElementRenderer.create
|
1884 |
+
};
|
1885 |
+
_renderer.renderer.add(FlashMediaElementHlsVideoRenderer);
|
1886 |
+
|
1887 |
+
var FlashMediaElementMdashVideoRenderer = {
|
1888 |
+
name: 'flash_dash',
|
1889 |
+
options: {
|
1890 |
+
prefix: 'flash_dash',
|
1891 |
+
filename: 'mediaelement-flash-video-mdash.swf'
|
1892 |
+
},
|
1893 |
+
|
1894 |
+
canPlayType: function canPlayType(type) {
|
1895 |
+
return ~['application/dash+xml'].indexOf(type.toLowerCase());
|
1896 |
+
},
|
1897 |
+
|
1898 |
+
create: FlashMediaElementRenderer.create
|
1899 |
+
};
|
1900 |
+
_renderer.renderer.add(FlashMediaElementMdashVideoRenderer);
|
1901 |
+
|
1902 |
+
var FlashMediaElementAudioRenderer = {
|
1903 |
+
name: 'flash_audio',
|
1904 |
+
options: {
|
1905 |
+
prefix: 'flash_audio',
|
1906 |
+
filename: 'mediaelement-flash-audio.swf'
|
1907 |
+
},
|
1908 |
+
|
1909 |
+
canPlayType: function canPlayType(type) {
|
1910 |
+
return ~['audio/mp3'].indexOf(type.toLowerCase());
|
1911 |
+
},
|
1912 |
+
|
1913 |
+
create: FlashMediaElementRenderer.create
|
1914 |
+
};
|
1915 |
+
_renderer.renderer.add(FlashMediaElementAudioRenderer);
|
1916 |
+
|
1917 |
+
var FlashMediaElementAudioOggRenderer = {
|
1918 |
+
name: 'flash_audio_ogg',
|
1919 |
+
options: {
|
1920 |
+
prefix: 'flash_audio_ogg',
|
1921 |
+
filename: 'mediaelement-flash-audio-ogg.swf'
|
1922 |
+
},
|
1923 |
+
|
1924 |
+
canPlayType: function canPlayType(type) {
|
1925 |
+
return ~['audio/ogg', 'audio/oga', 'audio/ogv'].indexOf(type.toLowerCase());
|
1926 |
+
},
|
1927 |
+
|
1928 |
+
create: FlashMediaElementRenderer.create
|
1929 |
+
};
|
1930 |
+
_renderer.renderer.add(FlashMediaElementAudioOggRenderer);
|
1931 |
+
}
|
1932 |
+
|
1933 |
+
},{"16":16,"18":18,"19":19,"2":2,"3":3,"5":5,"7":7,"8":8}],12:[function(_dereq_,module,exports){
|
1934 |
+
'use strict';
|
1935 |
+
|
1936 |
+
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
|
1937 |
+
|
1938 |
+
var _window = _dereq_(3);
|
1939 |
+
|
1940 |
+
var _window2 = _interopRequireDefault(_window);
|
1941 |
+
|
1942 |
+
var _mejs = _dereq_(7);
|
1943 |
+
|
1944 |
+
var _mejs2 = _interopRequireDefault(_mejs);
|
1945 |
+
|
1946 |
+
var _renderer = _dereq_(8);
|
1947 |
+
|
1948 |
+
var _general = _dereq_(18);
|
1949 |
+
|
1950 |
+
var _constants = _dereq_(16);
|
1951 |
+
|
1952 |
+
var _media = _dereq_(19);
|
1953 |
+
|
1954 |
+
var _dom = _dereq_(17);
|
1955 |
+
|
1956 |
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
1957 |
+
|
1958 |
+
var NativeFlv = {
|
1959 |
+
|
1960 |
+
promise: null,
|
1961 |
+
|
1962 |
+
load: function load(settings) {
|
1963 |
+
if (typeof flvjs !== 'undefined') {
|
1964 |
+
NativeFlv.promise = new Promise(function (resolve) {
|
1965 |
+
resolve();
|
1966 |
+
}).then(function () {
|
1967 |
+
NativeFlv._createPlayer(settings);
|
1968 |
+
});
|
1969 |
+
} else {
|
1970 |
+
settings.options.path = typeof settings.options.path === 'string' ? settings.options.path : 'https://cdn.jsdelivr.net/npm/flv.js@latest';
|
1971 |
+
|
1972 |
+
NativeFlv.promise = NativeFlv.promise || (0, _dom.loadScript)(settings.options.path);
|
1973 |
+
NativeFlv.promise.then(function () {
|
1974 |
+
NativeFlv._createPlayer(settings);
|
1975 |
+
});
|
1976 |
+
}
|
1977 |
+
|
1978 |
+
return NativeFlv.promise;
|
1979 |
+
},
|
1980 |
+
|
1981 |
+
_createPlayer: function _createPlayer(settings) {
|
1982 |
+
flvjs.LoggingControl.enableDebug = settings.options.debug;
|
1983 |
+
flvjs.LoggingControl.enableVerbose = settings.options.debug;
|
1984 |
+
var player = flvjs.createPlayer(settings.options, settings.configs);
|
1985 |
+
_window2.default['__ready__' + settings.id](player);
|
1986 |
+
return player;
|
1987 |
+
}
|
1988 |
+
};
|
1989 |
+
|
1990 |
+
var FlvNativeRenderer = {
|
1991 |
+
name: 'native_flv',
|
1992 |
+
options: {
|
1993 |
+
prefix: 'native_flv',
|
1994 |
+
flv: {
|
1995 |
+
path: 'https://cdn.jsdelivr.net/npm/flv.js@latest',
|
1996 |
+
|
1997 |
+
cors: true,
|
1998 |
+
debug: false
|
1999 |
+
}
|
2000 |
+
},
|
2001 |
+
|
2002 |
+
canPlayType: function canPlayType(type) {
|
2003 |
+
return _constants.HAS_MSE && ['video/x-flv', 'video/flv'].indexOf(type.toLowerCase()) > -1;
|
2004 |
+
},
|
2005 |
+
|
2006 |
+
create: function create(mediaElement, options, mediaFiles) {
|
2007 |
+
|
2008 |
+
var originalNode = mediaElement.originalNode,
|
2009 |
+
id = mediaElement.id + '_' + options.prefix;
|
2010 |
+
|
2011 |
+
var node = null,
|
2012 |
+
flvPlayer = null;
|
2013 |
+
|
2014 |
+
node = originalNode.cloneNode(true);
|
2015 |
+
options = Object.assign(options, mediaElement.options);
|
2016 |
+
|
2017 |
+
var props = _mejs2.default.html5media.properties,
|
2018 |
+
events = _mejs2.default.html5media.events.concat(['click', 'mouseover', 'mouseout']).filter(function (e) {
|
2019 |
+
return e !== 'error';
|
2020 |
+
}),
|
2021 |
+
attachNativeEvents = function attachNativeEvents(e) {
|
2022 |
+
var event = (0, _general.createEvent)(e.type, mediaElement);
|
2023 |
+
mediaElement.dispatchEvent(event);
|
2024 |
+
},
|
2025 |
+
assignGettersSetters = function assignGettersSetters(propName) {
|
2026 |
+
var capName = '' + propName.substring(0, 1).toUpperCase() + propName.substring(1);
|
2027 |
+
|
2028 |
+
node['get' + capName] = function () {
|
2029 |
+
return flvPlayer !== null ? node[propName] : null;
|
2030 |
+
};
|
2031 |
+
|
2032 |
+
node['set' + capName] = function (value) {
|
2033 |
+
if (_mejs2.default.html5media.readOnlyProperties.indexOf(propName) === -1) {
|
2034 |
+
if (propName === 'src') {
|
2035 |
+
node[propName] = (typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && value.src ? value.src : value;
|
2036 |
+
if (flvPlayer !== null) {
|
2037 |
+
var _flvOptions = {};
|
2038 |
+
_flvOptions.type = 'flv';
|
2039 |
+
_flvOptions.url = value;
|
2040 |
+
_flvOptions.cors = options.flv.cors;
|
2041 |
+
_flvOptions.debug = options.flv.debug;
|
2042 |
+
_flvOptions.path = options.flv.path;
|
2043 |
+
var _flvConfigs = options.flv.configs;
|
2044 |
+
|
2045 |
+
flvPlayer.destroy();
|
2046 |
+
for (var i = 0, total = events.length; i < total; i++) {
|
2047 |
+
node.removeEventListener(events[i], attachNativeEvents);
|
2048 |
+
}
|
2049 |
+
flvPlayer = NativeFlv._createPlayer({
|
2050 |
+
options: _flvOptions,
|
2051 |
+
configs: _flvConfigs,
|
2052 |
+
id: id
|
2053 |
+
});
|
2054 |
+
flvPlayer.attachMediaElement(node);
|
2055 |
+
flvPlayer.load();
|
2056 |
+
}
|
2057 |
+
} else {
|
2058 |
+
node[propName] = value;
|
2059 |
+
}
|
2060 |
+
}
|
2061 |
+
};
|
2062 |
+
};
|
2063 |
+
|
2064 |
+
for (var i = 0, total = props.length; i < total; i++) {
|
2065 |
+
assignGettersSetters(props[i]);
|
2066 |
+
}
|
2067 |
+
|
2068 |
+
_window2.default['__ready__' + id] = function (_flvPlayer) {
|
2069 |
+
mediaElement.flvPlayer = flvPlayer = _flvPlayer;
|
2070 |
+
|
2071 |
+
var flvEvents = flvjs.Events,
|
2072 |
+
assignEvents = function assignEvents(eventName) {
|
2073 |
+
if (eventName === 'loadedmetadata') {
|
2074 |
+
flvPlayer.unload();
|
2075 |
+
flvPlayer.detachMediaElement();
|
2076 |
+
flvPlayer.attachMediaElement(node);
|
2077 |
+
flvPlayer.load();
|
2078 |
+
}
|
2079 |
+
|
2080 |
+
node.addEventListener(eventName, attachNativeEvents);
|
2081 |
+
};
|
2082 |
+
|
2083 |
+
for (var _i = 0, _total = events.length; _i < _total; _i++) {
|
2084 |
+
assignEvents(events[_i]);
|
2085 |
+
}
|
2086 |
+
|
2087 |
+
var assignFlvEvents = function assignFlvEvents(name, data) {
|
2088 |
+
if (name === 'error') {
|
2089 |
+
var message = data[0] + ': ' + data[1] + ' ' + data[2].msg;
|
2090 |
+
mediaElement.generateError(message, node.src);
|
2091 |
+
} else {
|
2092 |
+
var _event = (0, _general.createEvent)(name, mediaElement);
|
2093 |
+
_event.data = data;
|
2094 |
+
mediaElement.dispatchEvent(_event);
|
2095 |
+
}
|
2096 |
+
};
|
2097 |
+
|
2098 |
+
var _loop = function _loop(eventType) {
|
2099 |
+
if (flvEvents.hasOwnProperty(eventType)) {
|
2100 |
+
flvPlayer.on(flvEvents[eventType], function () {
|
2101 |
+
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
|
2102 |
+
args[_key] = arguments[_key];
|
2103 |
+
}
|
2104 |
+
|
2105 |
+
return assignFlvEvents(flvEvents[eventType], args);
|
2106 |
+
});
|
2107 |
+
}
|
2108 |
+
};
|
2109 |
+
|
2110 |
+
for (var eventType in flvEvents) {
|
2111 |
+
_loop(eventType);
|
2112 |
+
}
|
2113 |
+
};
|
2114 |
+
|
2115 |
+
if (mediaFiles && mediaFiles.length > 0) {
|
2116 |
+
for (var _i2 = 0, _total2 = mediaFiles.length; _i2 < _total2; _i2++) {
|
2117 |
+
if (_renderer.renderer.renderers[options.prefix].canPlayType(mediaFiles[_i2].type)) {
|
2118 |
+
node.setAttribute('src', mediaFiles[_i2].src);
|
2119 |
+
break;
|
2120 |
+
}
|
2121 |
+
}
|
2122 |
+
}
|
2123 |
+
|
2124 |
+
node.setAttribute('id', id);
|
2125 |
+
|
2126 |
+
originalNode.parentNode.insertBefore(node, originalNode);
|
2127 |
+
originalNode.autoplay = false;
|
2128 |
+
originalNode.style.display = 'none';
|
2129 |
+
|
2130 |
+
var flvOptions = {};
|
2131 |
+
flvOptions.type = 'flv';
|
2132 |
+
flvOptions.url = node.src;
|
2133 |
+
flvOptions.cors = options.flv.cors;
|
2134 |
+
flvOptions.debug = options.flv.debug;
|
2135 |
+
flvOptions.path = options.flv.path;
|
2136 |
+
var flvConfigs = options.flv.configs;
|
2137 |
+
|
2138 |
+
node.setSize = function (width, height) {
|
2139 |
+
node.style.width = width + 'px';
|
2140 |
+
node.style.height = height + 'px';
|
2141 |
+
return node;
|
2142 |
+
};
|
2143 |
+
|
2144 |
+
node.hide = function () {
|
2145 |
+
if (flvPlayer !== null) {
|
2146 |
+
flvPlayer.pause();
|
2147 |
+
}
|
2148 |
+
node.style.display = 'none';
|
2149 |
+
return node;
|
2150 |
+
};
|
2151 |
+
|
2152 |
+
node.show = function () {
|
2153 |
+
node.style.display = '';
|
2154 |
+
return node;
|
2155 |
+
};
|
2156 |
+
|
2157 |
+
node.destroy = function () {
|
2158 |
+
if (flvPlayer !== null) {
|
2159 |
+
flvPlayer.destroy();
|
2160 |
+
}
|
2161 |
+
};
|
2162 |
+
|
2163 |
+
var event = (0, _general.createEvent)('rendererready', node);
|
2164 |
+
mediaElement.dispatchEvent(event);
|
2165 |
+
|
2166 |
+
mediaElement.promises.push(NativeFlv.load({
|
2167 |
+
options: flvOptions,
|
2168 |
+
configs: flvConfigs,
|
2169 |
+
id: id
|
2170 |
+
}));
|
2171 |
+
|
2172 |
+
return node;
|
2173 |
+
}
|
2174 |
+
};
|
2175 |
+
|
2176 |
+
_media.typeChecks.push(function (url) {
|
2177 |
+
return ~url.toLowerCase().indexOf('.flv') ? 'video/flv' : null;
|
2178 |
+
});
|
2179 |
+
|
2180 |
+
_renderer.renderer.add(FlvNativeRenderer);
|
2181 |
+
|
2182 |
+
},{"16":16,"17":17,"18":18,"19":19,"3":3,"7":7,"8":8}],13:[function(_dereq_,module,exports){
|
2183 |
+
'use strict';
|
2184 |
+
|
2185 |
+
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
|
2186 |
+
|
2187 |
+
var _window = _dereq_(3);
|
2188 |
+
|
2189 |
+
var _window2 = _interopRequireDefault(_window);
|
2190 |
+
|
2191 |
+
var _mejs = _dereq_(7);
|
2192 |
+
|
2193 |
+
var _mejs2 = _interopRequireDefault(_mejs);
|
2194 |
+
|
2195 |
+
var _renderer = _dereq_(8);
|
2196 |
+
|
2197 |
+
var _general = _dereq_(18);
|
2198 |
+
|
2199 |
+
var _constants = _dereq_(16);
|
2200 |
+
|
2201 |
+
var _media = _dereq_(19);
|
2202 |
+
|
2203 |
+
var _dom = _dereq_(17);
|
2204 |
+
|
2205 |
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
2206 |
+
|
2207 |
+
var NativeHls = {
|
2208 |
+
|
2209 |
+
promise: null,
|
2210 |
+
|
2211 |
+
load: function load(settings) {
|
2212 |
+
if (typeof Hls !== 'undefined') {
|
2213 |
+
NativeHls.promise = new Promise(function (resolve) {
|
2214 |
+
resolve();
|
2215 |
+
}).then(function () {
|
2216 |
+
NativeHls._createPlayer(settings);
|
2217 |
+
});
|
2218 |
+
} else {
|
2219 |
+
settings.options.path = typeof settings.options.path === 'string' ? settings.options.path : 'https://cdn.jsdelivr.net/npm/hls.js@latest';
|
2220 |
+
|
2221 |
+
NativeHls.promise = NativeHls.promise || (0, _dom.loadScript)(settings.options.path);
|
2222 |
+
NativeHls.promise.then(function () {
|
2223 |
+
NativeHls._createPlayer(settings);
|
2224 |
+
});
|
2225 |
+
}
|
2226 |
+
|
2227 |
+
return NativeHls.promise;
|
2228 |
+
},
|
2229 |
+
|
2230 |
+
_createPlayer: function _createPlayer(settings) {
|
2231 |
+
var player = new Hls(settings.options);
|
2232 |
+
_window2.default['__ready__' + settings.id](player);
|
2233 |
+
return player;
|
2234 |
+
}
|
2235 |
+
};
|
2236 |
+
|
2237 |
+
var HlsNativeRenderer = {
|
2238 |
+
name: 'native_hls',
|
2239 |
+
options: {
|
2240 |
+
prefix: 'native_hls',
|
2241 |
+
hls: {
|
2242 |
+
path: 'https://cdn.jsdelivr.net/npm/hls.js@latest',
|
2243 |
+
|
2244 |
+
autoStartLoad: false,
|
2245 |
+
debug: false
|
2246 |
+
}
|
2247 |
+
},
|
2248 |
+
|
2249 |
+
canPlayType: function canPlayType(type) {
|
2250 |
+
return _constants.HAS_MSE && ['application/x-mpegurl', 'application/vnd.apple.mpegurl', 'audio/mpegurl', 'audio/hls', 'video/hls'].indexOf(type.toLowerCase()) > -1;
|
2251 |
+
},
|
2252 |
+
|
2253 |
+
create: function create(mediaElement, options, mediaFiles) {
|
2254 |
+
|
2255 |
+
var originalNode = mediaElement.originalNode,
|
2256 |
+
id = mediaElement.id + '_' + options.prefix,
|
2257 |
+
preload = originalNode.getAttribute('preload'),
|
2258 |
+
autoplay = originalNode.autoplay;
|
2259 |
+
|
2260 |
+
var hlsPlayer = null,
|
2261 |
+
node = null,
|
2262 |
+
index = 0,
|
2263 |
+
total = mediaFiles.length;
|
2264 |
+
|
2265 |
+
node = originalNode.cloneNode(true);
|
2266 |
+
options = Object.assign(options, mediaElement.options);
|
2267 |
+
options.hls.autoStartLoad = preload && preload !== 'none' || autoplay;
|
2268 |
+
|
2269 |
+
var props = _mejs2.default.html5media.properties,
|
2270 |
+
events = _mejs2.default.html5media.events.concat(['click', 'mouseover', 'mouseout']).filter(function (e) {
|
2271 |
+
return e !== 'error';
|
2272 |
+
}),
|
2273 |
+
attachNativeEvents = function attachNativeEvents(e) {
|
2274 |
+
var event = (0, _general.createEvent)(e.type, mediaElement);
|
2275 |
+
mediaElement.dispatchEvent(event);
|
2276 |
+
},
|
2277 |
+
assignGettersSetters = function assignGettersSetters(propName) {
|
2278 |
+
var capName = '' + propName.substring(0, 1).toUpperCase() + propName.substring(1);
|
2279 |
+
|
2280 |
+
node['get' + capName] = function () {
|
2281 |
+
return hlsPlayer !== null ? node[propName] : null;
|
2282 |
+
};
|
2283 |
+
|
2284 |
+
node['set' + capName] = function (value) {
|
2285 |
+
if (_mejs2.default.html5media.readOnlyProperties.indexOf(propName) === -1) {
|
2286 |
+
if (propName === 'src') {
|
2287 |
+
node[propName] = (typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && value.src ? value.src : value;
|
2288 |
+
if (hlsPlayer !== null) {
|
2289 |
+
hlsPlayer.destroy();
|
2290 |
+
for (var i = 0, _total = events.length; i < _total; i++) {
|
2291 |
+
node.removeEventListener(events[i], attachNativeEvents);
|
2292 |
+
}
|
2293 |
+
hlsPlayer = NativeHls._createPlayer({
|
2294 |
+
options: options.hls,
|
2295 |
+
id: id
|
2296 |
+
});
|
2297 |
+
hlsPlayer.loadSource(value);
|
2298 |
+
hlsPlayer.attachMedia(node);
|
2299 |
+
}
|
2300 |
+
} else {
|
2301 |
+
node[propName] = value;
|
2302 |
+
}
|
2303 |
+
}
|
2304 |
+
};
|
2305 |
+
};
|
2306 |
+
|
2307 |
+
for (var i = 0, _total2 = props.length; i < _total2; i++) {
|
2308 |
+
assignGettersSetters(props[i]);
|
2309 |
+
}
|
2310 |
+
|
2311 |
+
_window2.default['__ready__' + id] = function (_hlsPlayer) {
|
2312 |
+
mediaElement.hlsPlayer = hlsPlayer = _hlsPlayer;
|
2313 |
+
var hlsEvents = Hls.Events,
|
2314 |
+
assignEvents = function assignEvents(eventName) {
|
2315 |
+
if (eventName === 'loadedmetadata') {
|
2316 |
+
var url = mediaElement.originalNode.src;
|
2317 |
+
hlsPlayer.detachMedia();
|
2318 |
+
hlsPlayer.loadSource(url);
|
2319 |
+
hlsPlayer.attachMedia(node);
|
2320 |
+
}
|
2321 |
+
|
2322 |
+
node.addEventListener(eventName, attachNativeEvents);
|
2323 |
+
};
|
2324 |
+
|
2325 |
+
for (var _i = 0, _total3 = events.length; _i < _total3; _i++) {
|
2326 |
+
assignEvents(events[_i]);
|
2327 |
+
}
|
2328 |
+
|
2329 |
+
var recoverDecodingErrorDate = void 0,
|
2330 |
+
recoverSwapAudioCodecDate = void 0;
|
2331 |
+
var assignHlsEvents = function assignHlsEvents(name, data) {
|
2332 |
+
if (name === 'hlsError') {
|
2333 |
+
console.warn(data);
|
2334 |
+
data = data[1];
|
2335 |
+
|
2336 |
+
if (data.fatal) {
|
2337 |
+
switch (data.type) {
|
2338 |
+
case 'mediaError':
|
2339 |
+
var now = new Date().getTime();
|
2340 |
+
if (!recoverDecodingErrorDate || now - recoverDecodingErrorDate > 3000) {
|
2341 |
+
recoverDecodingErrorDate = new Date().getTime();
|
2342 |
+
hlsPlayer.recoverMediaError();
|
2343 |
+
} else if (!recoverSwapAudioCodecDate || now - recoverSwapAudioCodecDate > 3000) {
|
2344 |
+
recoverSwapAudioCodecDate = new Date().getTime();
|
2345 |
+
console.warn('Attempting to swap Audio Codec and recover from media error');
|
2346 |
+
hlsPlayer.swapAudioCodec();
|
2347 |
+
hlsPlayer.recoverMediaError();
|
2348 |
+
} else {
|
2349 |
+
var message = 'Cannot recover, last media error recovery failed';
|
2350 |
+
mediaElement.generateError(message, node.src);
|
2351 |
+
console.error(message);
|
2352 |
+
}
|
2353 |
+
break;
|
2354 |
+
case 'networkError':
|
2355 |
+
if (data.details === 'manifestLoadError') {
|
2356 |
+
if (index < total && mediaFiles[index + 1] !== undefined) {
|
2357 |
+
node.setSrc(mediaFiles[index++].src);
|
2358 |
+
node.load();
|
2359 |
+
node.play();
|
2360 |
+
} else {
|
2361 |
+
var _message = 'Network error';
|
2362 |
+
mediaElement.generateError(_message, mediaFiles);
|
2363 |
+
console.error(_message);
|
2364 |
+
}
|
2365 |
+
} else {
|
2366 |
+
var _message2 = 'Network error';
|
2367 |
+
mediaElement.generateError(_message2, mediaFiles);
|
2368 |
+
console.error(_message2);
|
2369 |
+
}
|
2370 |
+
break;
|
2371 |
+
default:
|
2372 |
+
hlsPlayer.destroy();
|
2373 |
+
break;
|
2374 |
+
}
|
2375 |
+
}
|
2376 |
+
} else {
|
2377 |
+
var _event = (0, _general.createEvent)(name, mediaElement);
|
2378 |
+
_event.data = data;
|
2379 |
+
mediaElement.dispatchEvent(_event);
|
2380 |
+
}
|
2381 |
+
};
|
2382 |
+
|
2383 |
+
var _loop = function _loop(eventType) {
|
2384 |
+
if (hlsEvents.hasOwnProperty(eventType)) {
|
2385 |
+
hlsPlayer.on(hlsEvents[eventType], function () {
|
2386 |
+
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
|
2387 |
+
args[_key] = arguments[_key];
|
2388 |
+
}
|
2389 |
+
|
2390 |
+
return assignHlsEvents(hlsEvents[eventType], args);
|
2391 |
+
});
|
2392 |
+
}
|
2393 |
+
};
|
2394 |
+
|
2395 |
+
for (var eventType in hlsEvents) {
|
2396 |
+
_loop(eventType);
|
2397 |
+
}
|
2398 |
+
};
|
2399 |
+
|
2400 |
+
if (total > 0) {
|
2401 |
+
for (; index < total; index++) {
|
2402 |
+
if (_renderer.renderer.renderers[options.prefix].canPlayType(mediaFiles[index].type)) {
|
2403 |
+
node.setAttribute('src', mediaFiles[index].src);
|
2404 |
+
break;
|
2405 |
+
}
|
2406 |
+
}
|
2407 |
+
}
|
2408 |
+
|
2409 |
+
if (preload !== 'auto' && !autoplay) {
|
2410 |
+
node.addEventListener('play', function () {
|
2411 |
+
if (hlsPlayer !== null) {
|
2412 |
+
hlsPlayer.startLoad();
|
2413 |
+
}
|
2414 |
+
});
|
2415 |
+
|
2416 |
+
node.addEventListener('pause', function () {
|
2417 |
+
if (hlsPlayer !== null) {
|
2418 |
+
hlsPlayer.stopLoad();
|
2419 |
+
}
|
2420 |
+
});
|
2421 |
+
}
|
2422 |
+
|
2423 |
+
node.setAttribute('id', id);
|
2424 |
+
|
2425 |
+
originalNode.parentNode.insertBefore(node, originalNode);
|
2426 |
+
originalNode.autoplay = false;
|
2427 |
+
originalNode.style.display = 'none';
|
2428 |
+
|
2429 |
+
node.setSize = function (width, height) {
|
2430 |
+
node.style.width = width + 'px';
|
2431 |
+
node.style.height = height + 'px';
|
2432 |
+
return node;
|
2433 |
+
};
|
2434 |
+
|
2435 |
+
node.hide = function () {
|
2436 |
+
node.pause();
|
2437 |
+
node.style.display = 'none';
|
2438 |
+
return node;
|
2439 |
+
};
|
2440 |
+
|
2441 |
+
node.show = function () {
|
2442 |
+
node.style.display = '';
|
2443 |
+
return node;
|
2444 |
+
};
|
2445 |
+
|
2446 |
+
node.destroy = function () {
|
2447 |
+
if (hlsPlayer !== null) {
|
2448 |
+
hlsPlayer.stopLoad();
|
2449 |
+
hlsPlayer.destroy();
|
2450 |
+
}
|
2451 |
+
};
|
2452 |
+
|
2453 |
+
var event = (0, _general.createEvent)('rendererready', node);
|
2454 |
+
mediaElement.dispatchEvent(event);
|
2455 |
+
|
2456 |
+
mediaElement.promises.push(NativeHls.load({
|
2457 |
+
options: options.hls,
|
2458 |
+
id: id
|
2459 |
+
}));
|
2460 |
+
|
2461 |
+
return node;
|
2462 |
+
}
|
2463 |
+
};
|
2464 |
+
|
2465 |
+
_media.typeChecks.push(function (url) {
|
2466 |
+
return ~url.toLowerCase().indexOf('.m3u8') ? 'application/x-mpegURL' : null;
|
2467 |
+
});
|
2468 |
+
|
2469 |
+
_renderer.renderer.add(HlsNativeRenderer);
|
2470 |
+
|
2471 |
+
},{"16":16,"17":17,"18":18,"19":19,"3":3,"7":7,"8":8}],14:[function(_dereq_,module,exports){
|
2472 |
+
'use strict';
|
2473 |
+
|
2474 |
+
var _window = _dereq_(3);
|
2475 |
+
|
2476 |
+
var _window2 = _interopRequireDefault(_window);
|
2477 |
+
|
2478 |
+
var _document = _dereq_(2);
|
2479 |
+
|
2480 |
+
var _document2 = _interopRequireDefault(_document);
|
2481 |
+
|
2482 |
+
var _mejs = _dereq_(7);
|
2483 |
+
|
2484 |
+
var _mejs2 = _interopRequireDefault(_mejs);
|
2485 |
+
|
2486 |
+
var _renderer = _dereq_(8);
|
2487 |
+
|
2488 |
+
var _general = _dereq_(18);
|
2489 |
+
|
2490 |
+
var _constants = _dereq_(16);
|
2491 |
+
|
2492 |
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
2493 |
+
|
2494 |
+
var HtmlMediaElement = {
|
2495 |
+
name: 'html5',
|
2496 |
+
options: {
|
2497 |
+
prefix: 'html5'
|
2498 |
+
},
|
2499 |
+
|
2500 |
+
canPlayType: function canPlayType(type) {
|
2501 |
+
|
2502 |
+
var mediaElement = _document2.default.createElement('video');
|
2503 |
+
|
2504 |
+
if (_constants.IS_ANDROID && /\/mp(3|4)$/i.test(type) || ~['application/x-mpegurl', 'vnd.apple.mpegurl', 'audio/mpegurl', 'audio/hls', 'video/hls'].indexOf(type.toLowerCase()) && _constants.SUPPORTS_NATIVE_HLS) {
|
2505 |
+
return 'yes';
|
2506 |
+
} else if (mediaElement.canPlayType) {
|
2507 |
+
return mediaElement.canPlayType(type.toLowerCase()).replace(/no/, '');
|
2508 |
+
} else {
|
2509 |
+
return '';
|
2510 |
+
}
|
2511 |
+
},
|
2512 |
+
|
2513 |
+
create: function create(mediaElement, options, mediaFiles) {
|
2514 |
+
|
2515 |
+
var id = mediaElement.id + '_' + options.prefix;
|
2516 |
+
var isActive = false;
|
2517 |
+
|
2518 |
+
var node = null;
|
2519 |
+
|
2520 |
+
if (mediaElement.originalNode === undefined || mediaElement.originalNode === null) {
|
2521 |
+
node = _document2.default.createElement('audio');
|
2522 |
+
mediaElement.appendChild(node);
|
2523 |
+
} else {
|
2524 |
+
node = mediaElement.originalNode;
|
2525 |
+
}
|
2526 |
+
|
2527 |
+
node.setAttribute('id', id);
|
2528 |
+
|
2529 |
+
var props = _mejs2.default.html5media.properties,
|
2530 |
+
assignGettersSetters = function assignGettersSetters(propName) {
|
2531 |
+
var capName = '' + propName.substring(0, 1).toUpperCase() + propName.substring(1);
|
2532 |
+
|
2533 |
+
node['get' + capName] = function () {
|
2534 |
+
return node[propName];
|
2535 |
+
};
|
2536 |
+
|
2537 |
+
node['set' + capName] = function (value) {
|
2538 |
+
if (_mejs2.default.html5media.readOnlyProperties.indexOf(propName) === -1) {
|
2539 |
+
node[propName] = value;
|
2540 |
+
}
|
2541 |
+
};
|
2542 |
+
};
|
2543 |
+
|
2544 |
+
for (var i = 0, _total = props.length; i < _total; i++) {
|
2545 |
+
assignGettersSetters(props[i]);
|
2546 |
+
}
|
2547 |
+
|
2548 |
+
var events = _mejs2.default.html5media.events.concat(['click', 'mouseover', 'mouseout']).filter(function (e) {
|
2549 |
+
return e !== 'error';
|
2550 |
+
}),
|
2551 |
+
assignEvents = function assignEvents(eventName) {
|
2552 |
+
node.addEventListener(eventName, function (e) {
|
2553 |
+
if (isActive) {
|
2554 |
+
var _event = (0, _general.createEvent)(e.type, e.target);
|
2555 |
+
mediaElement.dispatchEvent(_event);
|
2556 |
+
}
|
2557 |
+
});
|
2558 |
+
};
|
2559 |
+
|
2560 |
+
for (var _i = 0, _total2 = events.length; _i < _total2; _i++) {
|
2561 |
+
assignEvents(events[_i]);
|
2562 |
+
}
|
2563 |
+
|
2564 |
+
node.setSize = function (width, height) {
|
2565 |
+
node.style.width = width + 'px';
|
2566 |
+
node.style.height = height + 'px';
|
2567 |
+
return node;
|
2568 |
+
};
|
2569 |
+
|
2570 |
+
node.hide = function () {
|
2571 |
+
isActive = false;
|
2572 |
+
node.style.display = 'none';
|
2573 |
+
|
2574 |
+
return node;
|
2575 |
+
};
|
2576 |
+
|
2577 |
+
node.show = function () {
|
2578 |
+
isActive = true;
|
2579 |
+
node.style.display = '';
|
2580 |
+
|
2581 |
+
return node;
|
2582 |
+
};
|
2583 |
+
|
2584 |
+
var index = 0,
|
2585 |
+
total = mediaFiles.length;
|
2586 |
+
if (total > 0) {
|
2587 |
+
for (; index < total; index++) {
|
2588 |
+
if (_renderer.renderer.renderers[options.prefix].canPlayType(mediaFiles[index].type)) {
|
2589 |
+
node.setAttribute('src', mediaFiles[index].src);
|
2590 |
+
break;
|
2591 |
+
}
|
2592 |
+
}
|
2593 |
+
}
|
2594 |
+
|
2595 |
+
node.addEventListener('error', function (e) {
|
2596 |
+
if (e.target.error.code === 4 && isActive) {
|
2597 |
+
if (index < total && mediaFiles[index + 1] !== undefined) {
|
2598 |
+
node.src = mediaFiles[index++].src;
|
2599 |
+
node.load();
|
2600 |
+
node.play();
|
2601 |
+
} else {
|
2602 |
+
mediaElement.generateError('Media error: Format(s) not supported or source(s) not found', mediaFiles);
|
2603 |
+
}
|
2604 |
+
}
|
2605 |
+
});
|
2606 |
+
|
2607 |
+
var event = (0, _general.createEvent)('rendererready', node);
|
2608 |
+
mediaElement.dispatchEvent(event);
|
2609 |
+
|
2610 |
+
return node;
|
2611 |
+
}
|
2612 |
+
};
|
2613 |
+
|
2614 |
+
_window2.default.HtmlMediaElement = _mejs2.default.HtmlMediaElement = HtmlMediaElement;
|
2615 |
+
|
2616 |
+
_renderer.renderer.add(HtmlMediaElement);
|
2617 |
+
|
2618 |
+
},{"16":16,"18":18,"2":2,"3":3,"7":7,"8":8}],15:[function(_dereq_,module,exports){
|
2619 |
+
'use strict';
|
2620 |
+
|
2621 |
+
var _window = _dereq_(3);
|
2622 |
+
|
2623 |
+
var _window2 = _interopRequireDefault(_window);
|
2624 |
+
|
2625 |
+
var _document = _dereq_(2);
|
2626 |
+
|
2627 |
+
var _document2 = _interopRequireDefault(_document);
|
2628 |
+
|
2629 |
+
var _mejs = _dereq_(7);
|
2630 |
+
|
2631 |
+
var _mejs2 = _interopRequireDefault(_mejs);
|
2632 |
+
|
2633 |
+
var _renderer = _dereq_(8);
|
2634 |
+
|
2635 |
+
var _general = _dereq_(18);
|
2636 |
+
|
2637 |
+
var _media = _dereq_(19);
|
2638 |
+
|
2639 |
+
var _dom = _dereq_(17);
|
2640 |
+
|
2641 |
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
2642 |
+
|
2643 |
+
var YouTubeApi = {
|
2644 |
+
isIframeStarted: false,
|
2645 |
+
|
2646 |
+
isIframeLoaded: false,
|
2647 |
+
|
2648 |
+
iframeQueue: [],
|
2649 |
+
|
2650 |
+
enqueueIframe: function enqueueIframe(settings) {
|
2651 |
+
YouTubeApi.isLoaded = typeof YT !== 'undefined' && YT.loaded;
|
2652 |
+
|
2653 |
+
if (YouTubeApi.isLoaded) {
|
2654 |
+
YouTubeApi.createIframe(settings);
|
2655 |
+
} else {
|
2656 |
+
YouTubeApi.loadIframeApi();
|
2657 |
+
YouTubeApi.iframeQueue.push(settings);
|
2658 |
+
}
|
2659 |
+
},
|
2660 |
+
|
2661 |
+
loadIframeApi: function loadIframeApi() {
|
2662 |
+
if (!YouTubeApi.isIframeStarted) {
|
2663 |
+
(0, _dom.loadScript)('https://www.youtube.com/player_api');
|
2664 |
+
YouTubeApi.isIframeStarted = true;
|
2665 |
+
}
|
2666 |
+
},
|
2667 |
+
|
2668 |
+
iFrameReady: function iFrameReady() {
|
2669 |
+
|
2670 |
+
YouTubeApi.isLoaded = true;
|
2671 |
+
YouTubeApi.isIframeLoaded = true;
|
2672 |
+
|
2673 |
+
while (YouTubeApi.iframeQueue.length > 0) {
|
2674 |
+
var settings = YouTubeApi.iframeQueue.pop();
|
2675 |
+
YouTubeApi.createIframe(settings);
|
2676 |
+
}
|
2677 |
+
},
|
2678 |
+
|
2679 |
+
createIframe: function createIframe(settings) {
|
2680 |
+
return new YT.Player(settings.containerId, settings);
|
2681 |
+
},
|
2682 |
+
|
2683 |
+
getYouTubeId: function getYouTubeId(url) {
|
2684 |
+
|
2685 |
+
var youTubeId = '';
|
2686 |
+
|
2687 |
+
if (url.indexOf('?') > 0) {
|
2688 |
+
youTubeId = YouTubeApi.getYouTubeIdFromParam(url);
|
2689 |
+
|
2690 |
+
if (youTubeId === '') {
|
2691 |
+
youTubeId = YouTubeApi.getYouTubeIdFromUrl(url);
|
2692 |
+
}
|
2693 |
+
} else {
|
2694 |
+
youTubeId = YouTubeApi.getYouTubeIdFromUrl(url);
|
2695 |
+
}
|
2696 |
+
|
2697 |
+
var id = youTubeId.substring(youTubeId.lastIndexOf('/') + 1);
|
2698 |
+
youTubeId = id.split('?');
|
2699 |
+
return youTubeId[0];
|
2700 |
+
},
|
2701 |
+
|
2702 |
+
getYouTubeIdFromParam: function getYouTubeIdFromParam(url) {
|
2703 |
+
|
2704 |
+
if (url === undefined || url === null || !url.trim().length) {
|
2705 |
+
return null;
|
2706 |
+
}
|
2707 |
+
|
2708 |
+
var parts = url.split('?'),
|
2709 |
+
parameters = parts[1].split('&');
|
2710 |
+
|
2711 |
+
var youTubeId = '';
|
2712 |
+
|
2713 |
+
for (var i = 0, total = parameters.length; i < total; i++) {
|
2714 |
+
var paramParts = parameters[i].split('=');
|
2715 |
+
if (paramParts[0] === 'v') {
|
2716 |
+
youTubeId = paramParts[1];
|
2717 |
+
break;
|
2718 |
+
}
|
2719 |
+
}
|
2720 |
+
|
2721 |
+
return youTubeId;
|
2722 |
+
},
|
2723 |
+
|
2724 |
+
getYouTubeIdFromUrl: function getYouTubeIdFromUrl(url) {
|
2725 |
+
|
2726 |
+
if (url === undefined || url === null || !url.trim().length) {
|
2727 |
+
return null;
|
2728 |
+
}
|
2729 |
+
|
2730 |
+
var parts = url.split('?');
|
2731 |
+
url = parts[0];
|
2732 |
+
return url.substring(url.lastIndexOf('/') + 1);
|
2733 |
+
},
|
2734 |
+
|
2735 |
+
getYouTubeNoCookieUrl: function getYouTubeNoCookieUrl(url) {
|
2736 |
+
if (url === undefined || url === null || !url.trim().length || url.indexOf('//www.youtube') === -1) {
|
2737 |
+
return url;
|
2738 |
+
}
|
2739 |
+
|
2740 |
+
var parts = url.split('/');
|
2741 |
+
parts[2] = parts[2].replace('.com', '-nocookie.com');
|
2742 |
+
return parts.join('/');
|
2743 |
+
}
|
2744 |
+
};
|
2745 |
+
|
2746 |
+
var YouTubeIframeRenderer = {
|
2747 |
+
name: 'youtube_iframe',
|
2748 |
+
|
2749 |
+
options: {
|
2750 |
+
prefix: 'youtube_iframe',
|
2751 |
+
|
2752 |
+
youtube: {
|
2753 |
+
autoplay: 0,
|
2754 |
+
controls: 0,
|
2755 |
+
disablekb: 1,
|
2756 |
+
end: 0,
|
2757 |
+
loop: 0,
|
2758 |
+
modestbranding: 0,
|
2759 |
+
playsinline: 0,
|
2760 |
+
rel: 0,
|
2761 |
+
showinfo: 0,
|
2762 |
+
start: 0,
|
2763 |
+
iv_load_policy: 3,
|
2764 |
+
|
2765 |
+
nocookie: false,
|
2766 |
+
|
2767 |
+
imageQuality: null
|
2768 |
+
}
|
2769 |
+
},
|
2770 |
+
|
2771 |
+
canPlayType: function canPlayType(type) {
|
2772 |
+
return ~['video/youtube', 'video/x-youtube'].indexOf(type.toLowerCase());
|
2773 |
+
},
|
2774 |
+
|
2775 |
+
create: function create(mediaElement, options, mediaFiles) {
|
2776 |
+
|
2777 |
+
var youtube = {},
|
2778 |
+
apiStack = [],
|
2779 |
+
readyState = 4;
|
2780 |
+
|
2781 |
+
var youTubeApi = null,
|
2782 |
+
paused = true,
|
2783 |
+
ended = false,
|
2784 |
+
youTubeIframe = null,
|
2785 |
+
volume = 1;
|
2786 |
+
|
2787 |
+
youtube.options = options;
|
2788 |
+
youtube.id = mediaElement.id + '_' + options.prefix;
|
2789 |
+
youtube.mediaElement = mediaElement;
|
2790 |
+
|
2791 |
+
var props = _mejs2.default.html5media.properties,
|
2792 |
+
assignGettersSetters = function assignGettersSetters(propName) {
|
2793 |
+
|
2794 |
+
var capName = '' + propName.substring(0, 1).toUpperCase() + propName.substring(1);
|
2795 |
+
|
2796 |
+
youtube['get' + capName] = function () {
|
2797 |
+
if (youTubeApi !== null) {
|
2798 |
+
var value = null;
|
2799 |
+
|
2800 |
+
switch (propName) {
|
2801 |
+
case 'currentTime':
|
2802 |
+
return youTubeApi.getCurrentTime();
|
2803 |
+
case 'duration':
|
2804 |
+
return youTubeApi.getDuration();
|
2805 |
+
case 'volume':
|
2806 |
+
volume = youTubeApi.getVolume() / 100;
|
2807 |
+
return volume;
|
2808 |
+
case 'paused':
|
2809 |
+
return paused;
|
2810 |
+
case 'ended':
|
2811 |
+
return ended;
|
2812 |
+
case 'muted':
|
2813 |
+
return youTubeApi.isMuted();
|
2814 |
+
case 'buffered':
|
2815 |
+
var percentLoaded = youTubeApi.getVideoLoadedFraction(),
|
2816 |
+
duration = youTubeApi.getDuration();
|
2817 |
+
return {
|
2818 |
+
start: function start() {
|
2819 |
+
return 0;
|
2820 |
+
},
|
2821 |
+
end: function end() {
|
2822 |
+
return percentLoaded * duration;
|
2823 |
+
},
|
2824 |
+
length: 1
|
2825 |
+
};
|
2826 |
+
case 'src':
|
2827 |
+
return youTubeApi.getVideoUrl();
|
2828 |
+
case 'readyState':
|
2829 |
+
return readyState;
|
2830 |
+
}
|
2831 |
+
|
2832 |
+
return value;
|
2833 |
+
} else {
|
2834 |
+
return null;
|
2835 |
+
}
|
2836 |
+
};
|
2837 |
+
|
2838 |
+
youtube['set' + capName] = function (value) {
|
2839 |
+
if (youTubeApi !== null) {
|
2840 |
+
switch (propName) {
|
2841 |
+
case 'src':
|
2842 |
+
var url = typeof value === 'string' ? value : value[0].src,
|
2843 |
+
_videoId = YouTubeApi.getYouTubeId(url);
|
2844 |
+
|
2845 |
+
if (mediaElement.originalNode.autoplay) {
|
2846 |
+
youTubeApi.loadVideoById(_videoId);
|
2847 |
+
} else {
|
2848 |
+
youTubeApi.cueVideoById(_videoId);
|
2849 |
+
}
|
2850 |
+
break;
|
2851 |
+
case 'currentTime':
|
2852 |
+
youTubeApi.seekTo(value);
|
2853 |
+
break;
|
2854 |
+
case 'muted':
|
2855 |
+
if (value) {
|
2856 |
+
youTubeApi.mute();
|
2857 |
+
} else {
|
2858 |
+
youTubeApi.unMute();
|
2859 |
+
}
|
2860 |
+
setTimeout(function () {
|
2861 |
+
var event = (0, _general.createEvent)('volumechange', youtube);
|
2862 |
+
mediaElement.dispatchEvent(event);
|
2863 |
+
}, 50);
|
2864 |
+
break;
|
2865 |
+
case 'volume':
|
2866 |
+
volume = value;
|
2867 |
+
youTubeApi.setVolume(value * 100);
|
2868 |
+
setTimeout(function () {
|
2869 |
+
var event = (0, _general.createEvent)('volumechange', youtube);
|
2870 |
+
mediaElement.dispatchEvent(event);
|
2871 |
+
}, 50);
|
2872 |
+
break;
|
2873 |
+
case 'readyState':
|
2874 |
+
var event = (0, _general.createEvent)('canplay', youtube);
|
2875 |
+
mediaElement.dispatchEvent(event);
|
2876 |
+
break;
|
2877 |
+
default:
|
2878 |
+
|
2879 |
+
break;
|
2880 |
+
}
|
2881 |
+
} else {
|
2882 |
+
apiStack.push({ type: 'set', propName: propName, value: value });
|
2883 |
+
}
|
2884 |
+
};
|
2885 |
+
};
|
2886 |
+
|
2887 |
+
for (var i = 0, total = props.length; i < total; i++) {
|
2888 |
+
assignGettersSetters(props[i]);
|
2889 |
+
}
|
2890 |
+
|
2891 |
+
var methods = _mejs2.default.html5media.methods,
|
2892 |
+
assignMethods = function assignMethods(methodName) {
|
2893 |
+
youtube[methodName] = function () {
|
2894 |
+
if (youTubeApi !== null) {
|
2895 |
+
switch (methodName) {
|
2896 |
+
case 'play':
|
2897 |
+
paused = false;
|
2898 |
+
return youTubeApi.playVideo();
|
2899 |
+
case 'pause':
|
2900 |
+
paused = true;
|
2901 |
+
return youTubeApi.pauseVideo();
|
2902 |
+
case 'load':
|
2903 |
+
return null;
|
2904 |
+
}
|
2905 |
+
} else {
|
2906 |
+
apiStack.push({ type: 'call', methodName: methodName });
|
2907 |
+
}
|
2908 |
+
};
|
2909 |
+
};
|
2910 |
+
|
2911 |
+
for (var _i = 0, _total = methods.length; _i < _total; _i++) {
|
2912 |
+
assignMethods(methods[_i]);
|
2913 |
+
}
|
2914 |
+
|
2915 |
+
var errorHandler = function errorHandler(error) {
|
2916 |
+
var message = '';
|
2917 |
+
switch (error.data) {
|
2918 |
+
case 2:
|
2919 |
+
message = 'The request contains an invalid parameter value. Verify that video ID has 11 characters and that contains no invalid characters, such as exclamation points or asterisks.';
|
2920 |
+
break;
|
2921 |
+
case 5:
|
2922 |
+
message = 'The requested content cannot be played in an HTML5 player or another error related to the HTML5 player has occurred.';
|
2923 |
+
break;
|
2924 |
+
case 100:
|
2925 |
+
message = 'The video requested was not found. Either video has been removed or has been marked as private.';
|
2926 |
+
break;
|
2927 |
+
case 101:
|
2928 |
+
case 105:
|
2929 |
+
message = 'The owner of the requested video does not allow it to be played in embedded players.';
|
2930 |
+
break;
|
2931 |
+
default:
|
2932 |
+
message = 'Unknown error.';
|
2933 |
+
break;
|
2934 |
+
}
|
2935 |
+
mediaElement.generateError('Code ' + error.data + ': ' + message, mediaFiles);
|
2936 |
+
};
|
2937 |
+
|
2938 |
+
var youtubeContainer = _document2.default.createElement('div');
|
2939 |
+
youtubeContainer.id = youtube.id;
|
2940 |
+
|
2941 |
+
if (youtube.options.youtube.nocookie) {
|
2942 |
+
mediaElement.originalNode.src = YouTubeApi.getYouTubeNoCookieUrl(mediaFiles[0].src);
|
2943 |
+
}
|
2944 |
+
|
2945 |
+
mediaElement.originalNode.parentNode.insertBefore(youtubeContainer, mediaElement.originalNode);
|
2946 |
+
mediaElement.originalNode.style.display = 'none';
|
2947 |
+
|
2948 |
+
var isAudio = mediaElement.originalNode.tagName.toLowerCase() === 'audio',
|
2949 |
+
height = isAudio ? '1' : mediaElement.originalNode.height,
|
2950 |
+
width = isAudio ? '1' : mediaElement.originalNode.width,
|
2951 |
+
videoId = YouTubeApi.getYouTubeId(mediaFiles[0].src),
|
2952 |
+
youtubeSettings = {
|
2953 |
+
id: youtube.id,
|
2954 |
+
containerId: youtubeContainer.id,
|
2955 |
+
videoId: videoId,
|
2956 |
+
height: height,
|
2957 |
+
width: width,
|
2958 |
+
playerVars: Object.assign({
|
2959 |
+
controls: 0,
|
2960 |
+
rel: 0,
|
2961 |
+
disablekb: 1,
|
2962 |
+
showinfo: 0,
|
2963 |
+
modestbranding: 0,
|
2964 |
+
html5: 1,
|
2965 |
+
iv_load_policy: 3
|
2966 |
+
}, youtube.options.youtube),
|
2967 |
+
origin: _window2.default.location.host,
|
2968 |
+
events: {
|
2969 |
+
onReady: function onReady(e) {
|
2970 |
+
mediaElement.youTubeApi = youTubeApi = e.target;
|
2971 |
+
mediaElement.youTubeState = {
|
2972 |
+
paused: true,
|
2973 |
+
ended: false
|
2974 |
+
};
|
2975 |
+
|
2976 |
+
if (apiStack.length) {
|
2977 |
+
for (var _i2 = 0, _total2 = apiStack.length; _i2 < _total2; _i2++) {
|
2978 |
+
|
2979 |
+
var stackItem = apiStack[_i2];
|
2980 |
+
|
2981 |
+
if (stackItem.type === 'set') {
|
2982 |
+
var propName = stackItem.propName,
|
2983 |
+
capName = '' + propName.substring(0, 1).toUpperCase() + propName.substring(1);
|
2984 |
+
|
2985 |
+
youtube['set' + capName](stackItem.value);
|
2986 |
+
} else if (stackItem.type === 'call') {
|
2987 |
+
youtube[stackItem.methodName]();
|
2988 |
+
}
|
2989 |
+
}
|
2990 |
+
}
|
2991 |
+
|
2992 |
+
youTubeIframe = youTubeApi.getIframe();
|
2993 |
+
|
2994 |
+
if (mediaElement.originalNode.muted) {
|
2995 |
+
youTubeApi.mute();
|
2996 |
+
}
|
2997 |
+
|
2998 |
+
var events = ['mouseover', 'mouseout'],
|
2999 |
+
assignEvents = function assignEvents(e) {
|
3000 |
+
var newEvent = (0, _general.createEvent)(e.type, youtube);
|
3001 |
+
mediaElement.dispatchEvent(newEvent);
|
3002 |
+
};
|
3003 |
+
|
3004 |
+
for (var _i3 = 0, _total3 = events.length; _i3 < _total3; _i3++) {
|
3005 |
+
youTubeIframe.addEventListener(events[_i3], assignEvents, false);
|
3006 |
+
}
|
3007 |
+
|
3008 |
+
var initEvents = ['rendererready', 'loadedmetadata', 'loadeddata', 'canplay'];
|
3009 |
+
|
3010 |
+
for (var _i4 = 0, _total4 = initEvents.length; _i4 < _total4; _i4++) {
|
3011 |
+
var event = (0, _general.createEvent)(initEvents[_i4], youtube);
|
3012 |
+
mediaElement.dispatchEvent(event);
|
3013 |
+
}
|
3014 |
+
},
|
3015 |
+
onStateChange: function onStateChange(e) {
|
3016 |
+
var events = [];
|
3017 |
+
|
3018 |
+
switch (e.data) {
|
3019 |
+
case -1:
|
3020 |
+
events = ['loadedmetadata'];
|
3021 |
+
paused = true;
|
3022 |
+
ended = false;
|
3023 |
+
break;
|
3024 |
+
case 0:
|
3025 |
+
events = ['ended'];
|
3026 |
+
paused = false;
|
3027 |
+
ended = !youtube.options.youtube.loop;
|
3028 |
+
if (!youtube.options.youtube.loop) {
|
3029 |
+
youtube.stopInterval();
|
3030 |
+
}
|
3031 |
+
break;
|
3032 |
+
case 1:
|
3033 |
+
events = ['play', 'playing'];
|
3034 |
+
paused = false;
|
3035 |
+
ended = false;
|
3036 |
+
youtube.startInterval();
|
3037 |
+
break;
|
3038 |
+
case 2:
|
3039 |
+
events = ['pause'];
|
3040 |
+
paused = true;
|
3041 |
+
ended = false;
|
3042 |
+
youtube.stopInterval();
|
3043 |
+
break;
|
3044 |
+
case 3:
|
3045 |
+
events = ['progress'];
|
3046 |
+
ended = false;
|
3047 |
+
break;
|
3048 |
+
case 5:
|
3049 |
+
events = ['loadeddata', 'loadedmetadata', 'canplay'];
|
3050 |
+
paused = true;
|
3051 |
+
ended = false;
|
3052 |
+
break;
|
3053 |
+
}
|
3054 |
+
|
3055 |
+
for (var _i5 = 0, _total5 = events.length; _i5 < _total5; _i5++) {
|
3056 |
+
var event = (0, _general.createEvent)(events[_i5], youtube);
|
3057 |
+
mediaElement.dispatchEvent(event);
|
3058 |
+
}
|
3059 |
+
},
|
3060 |
+
onError: function onError(e) {
|
3061 |
+
return errorHandler(e);
|
3062 |
+
}
|
3063 |
+
}
|
3064 |
+
};
|
3065 |
+
|
3066 |
+
if (isAudio || mediaElement.originalNode.hasAttribute('playsinline')) {
|
3067 |
+
youtubeSettings.playerVars.playsinline = 1;
|
3068 |
+
}
|
3069 |
+
|
3070 |
+
if (mediaElement.originalNode.controls) {
|
3071 |
+
youtubeSettings.playerVars.controls = 1;
|
3072 |
+
}
|
3073 |
+
if (mediaElement.originalNode.autoplay) {
|
3074 |
+
youtubeSettings.playerVars.autoplay = 1;
|
3075 |
+
}
|
3076 |
+
if (mediaElement.originalNode.loop) {
|
3077 |
+
youtubeSettings.playerVars.loop = 1;
|
3078 |
+
}
|
3079 |
+
|
3080 |
+
if ((youtubeSettings.playerVars.loop && parseInt(youtubeSettings.playerVars.loop, 10) === 1 || mediaElement.originalNode.src.indexOf('loop=') > -1) && !youtubeSettings.playerVars.playlist && mediaElement.originalNode.src.indexOf('playlist=') === -1) {
|
3081 |
+
youtubeSettings.playerVars.playlist = YouTubeApi.getYouTubeId(mediaElement.originalNode.src);
|
3082 |
+
}
|
3083 |
+
|
3084 |
+
YouTubeApi.enqueueIframe(youtubeSettings);
|
3085 |
+
|
3086 |
+
youtube.onEvent = function (eventName, player, _youTubeState) {
|
3087 |
+
if (_youTubeState !== null && _youTubeState !== undefined) {
|
3088 |
+
mediaElement.youTubeState = _youTubeState;
|
3089 |
+
}
|
3090 |
+
};
|
3091 |
+
|
3092 |
+
youtube.setSize = function (width, height) {
|
3093 |
+
if (youTubeApi !== null) {
|
3094 |
+
youTubeApi.setSize(width, height);
|
3095 |
+
}
|
3096 |
+
};
|
3097 |
+
youtube.hide = function () {
|
3098 |
+
youtube.stopInterval();
|
3099 |
+
youtube.pause();
|
3100 |
+
if (youTubeIframe) {
|
3101 |
+
youTubeIframe.style.display = 'none';
|
3102 |
+
}
|
3103 |
+
};
|
3104 |
+
youtube.show = function () {
|
3105 |
+
if (youTubeIframe) {
|
3106 |
+
youTubeIframe.style.display = '';
|
3107 |
+
}
|
3108 |
+
};
|
3109 |
+
youtube.destroy = function () {
|
3110 |
+
youTubeApi.destroy();
|
3111 |
+
};
|
3112 |
+
youtube.interval = null;
|
3113 |
+
|
3114 |
+
youtube.startInterval = function () {
|
3115 |
+
youtube.interval = setInterval(function () {
|
3116 |
+
var event = (0, _general.createEvent)('timeupdate', youtube);
|
3117 |
+
mediaElement.dispatchEvent(event);
|
3118 |
+
}, 250);
|
3119 |
+
};
|
3120 |
+
youtube.stopInterval = function () {
|
3121 |
+
if (youtube.interval) {
|
3122 |
+
clearInterval(youtube.interval);
|
3123 |
+
}
|
3124 |
+
};
|
3125 |
+
youtube.getPosterUrl = function () {
|
3126 |
+
var quality = options.youtube.imageQuality,
|
3127 |
+
resolutions = ['default', 'hqdefault', 'mqdefault', 'sddefault', 'maxresdefault'],
|
3128 |
+
id = YouTubeApi.getYouTubeId(mediaElement.originalNode.src);
|
3129 |
+
return quality && resolutions.indexOf(quality) > -1 && id ? 'https://img.youtube.com/vi/' + id + '/' + quality + '.jpg' : '';
|
3130 |
+
};
|
3131 |
+
|
3132 |
+
return youtube;
|
3133 |
+
}
|
3134 |
+
};
|
3135 |
+
|
3136 |
+
_window2.default.onYouTubePlayerAPIReady = function () {
|
3137 |
+
YouTubeApi.iFrameReady();
|
3138 |
+
};
|
3139 |
+
|
3140 |
+
_media.typeChecks.push(function (url) {
|
3141 |
+
return (/\/\/(www\.youtube|youtu\.?be)/i.test(url) ? 'video/x-youtube' : null
|
3142 |
+
);
|
3143 |
+
});
|
3144 |
+
|
3145 |
+
_renderer.renderer.add(YouTubeIframeRenderer);
|
3146 |
+
|
3147 |
+
},{"17":17,"18":18,"19":19,"2":2,"3":3,"7":7,"8":8}],16:[function(_dereq_,module,exports){
|
3148 |
+
'use strict';
|
3149 |
+
|
3150 |
+
Object.defineProperty(exports, "__esModule", {
|
3151 |
+
value: true
|
3152 |
+
});
|
3153 |
+
exports.cancelFullScreen = exports.requestFullScreen = exports.isFullScreen = exports.FULLSCREEN_EVENT_NAME = exports.HAS_NATIVE_FULLSCREEN_ENABLED = exports.HAS_TRUE_NATIVE_FULLSCREEN = exports.HAS_IOS_FULLSCREEN = exports.HAS_MS_NATIVE_FULLSCREEN = exports.HAS_MOZ_NATIVE_FULLSCREEN = exports.HAS_WEBKIT_NATIVE_FULLSCREEN = exports.HAS_NATIVE_FULLSCREEN = exports.SUPPORTS_NATIVE_HLS = exports.SUPPORT_PASSIVE_EVENT = exports.SUPPORT_POINTER_EVENTS = exports.HAS_MSE = exports.IS_STOCK_ANDROID = exports.IS_SAFARI = exports.IS_FIREFOX = exports.IS_CHROME = exports.IS_EDGE = exports.IS_IE = exports.IS_ANDROID = exports.IS_IOS = exports.IS_IPOD = exports.IS_IPHONE = exports.IS_IPAD = exports.UA = exports.NAV = undefined;
|
3154 |
+
|
3155 |
+
var _window = _dereq_(3);
|
3156 |
+
|
3157 |
+
var _window2 = _interopRequireDefault(_window);
|
3158 |
+
|
3159 |
+
var _document = _dereq_(2);
|
3160 |
+
|
3161 |
+
var _document2 = _interopRequireDefault(_document);
|
3162 |
+
|
3163 |
+
var _mejs = _dereq_(7);
|
3164 |
+
|
3165 |
+
var _mejs2 = _interopRequireDefault(_mejs);
|
3166 |
+
|
3167 |
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
3168 |
+
|
3169 |
+
var NAV = exports.NAV = _window2.default.navigator;
|
3170 |
+
var UA = exports.UA = NAV.userAgent.toLowerCase();
|
3171 |
+
var IS_IPAD = exports.IS_IPAD = /ipad/i.test(UA) && !_window2.default.MSStream;
|
3172 |
+
var IS_IPHONE = exports.IS_IPHONE = /iphone/i.test(UA) && !_window2.default.MSStream;
|
3173 |
+
var IS_IPOD = exports.IS_IPOD = /ipod/i.test(UA) && !_window2.default.MSStream;
|
3174 |
+
var IS_IOS = exports.IS_IOS = /ipad|iphone|ipod/i.test(UA) && !_window2.default.MSStream;
|
3175 |
+
var IS_ANDROID = exports.IS_ANDROID = /android/i.test(UA);
|
3176 |
+
var IS_IE = exports.IS_IE = /(trident|microsoft)/i.test(NAV.appName);
|
3177 |
+
var IS_EDGE = exports.IS_EDGE = 'msLaunchUri' in NAV && !('documentMode' in _document2.default);
|
3178 |
+
var IS_CHROME = exports.IS_CHROME = /chrome/i.test(UA);
|
3179 |
+
var IS_FIREFOX = exports.IS_FIREFOX = /firefox/i.test(UA);
|
3180 |
+
var IS_SAFARI = exports.IS_SAFARI = /safari/i.test(UA) && !IS_CHROME;
|
3181 |
+
var IS_STOCK_ANDROID = exports.IS_STOCK_ANDROID = /^mozilla\/\d+\.\d+\s\(linux;\su;/i.test(UA);
|
3182 |
+
var HAS_MSE = exports.HAS_MSE = 'MediaSource' in _window2.default;
|
3183 |
+
var SUPPORT_POINTER_EVENTS = exports.SUPPORT_POINTER_EVENTS = function () {
|
3184 |
+
var element = _document2.default.createElement('x'),
|
3185 |
+
documentElement = _document2.default.documentElement,
|
3186 |
+
getComputedStyle = _window2.default.getComputedStyle;
|
3187 |
+
|
3188 |
+
if (!('pointerEvents' in element.style)) {
|
3189 |
+
return false;
|
3190 |
+
}
|
3191 |
+
|
3192 |
+
element.style.pointerEvents = 'auto';
|
3193 |
+
element.style.pointerEvents = 'x';
|
3194 |
+
documentElement.appendChild(element);
|
3195 |
+
var supports = getComputedStyle && getComputedStyle(element, '').pointerEvents === 'auto';
|
3196 |
+
element.remove();
|
3197 |
+
return !!supports;
|
3198 |
+
}();
|
3199 |
+
|
3200 |
+
var SUPPORT_PASSIVE_EVENT = exports.SUPPORT_PASSIVE_EVENT = function () {
|
3201 |
+
var supportsPassive = false;
|
3202 |
+
try {
|
3203 |
+
var opts = Object.defineProperty({}, 'passive', {
|
3204 |
+
get: function get() {
|
3205 |
+
supportsPassive = true;
|
3206 |
+
}
|
3207 |
+
});
|
3208 |
+
_window2.default.addEventListener('test', null, opts);
|
3209 |
+
} catch (e) {}
|
3210 |
+
|
3211 |
+
return supportsPassive;
|
3212 |
+
}();
|
3213 |
+
|
3214 |
+
var html5Elements = ['source', 'track', 'audio', 'video'];
|
3215 |
+
var video = void 0;
|
3216 |
+
|
3217 |
+
for (var i = 0, total = html5Elements.length; i < total; i++) {
|
3218 |
+
video = _document2.default.createElement(html5Elements[i]);
|
3219 |
+
}
|
3220 |
+
|
3221 |
+
var SUPPORTS_NATIVE_HLS = exports.SUPPORTS_NATIVE_HLS = IS_SAFARI || IS_ANDROID && (IS_CHROME || IS_STOCK_ANDROID) || IS_IE && /edge/i.test(UA);
|
3222 |
+
|
3223 |
+
var hasiOSFullScreen = video.webkitEnterFullscreen !== undefined;
|
3224 |
+
|
3225 |
+
var hasNativeFullscreen = video.requestFullscreen !== undefined;
|
3226 |
+
|
3227 |
+
if (hasiOSFullScreen && /mac os x 10_5/i.test(UA)) {
|
3228 |
+
hasNativeFullscreen = false;
|
3229 |
+
hasiOSFullScreen = false;
|
3230 |
+
}
|
3231 |
+
|
3232 |
+
var hasWebkitNativeFullScreen = video.webkitRequestFullScreen !== undefined;
|
3233 |
+
var hasMozNativeFullScreen = video.mozRequestFullScreen !== undefined;
|
3234 |
+
var hasMsNativeFullScreen = video.msRequestFullscreen !== undefined;
|
3235 |
+
var hasTrueNativeFullScreen = hasWebkitNativeFullScreen || hasMozNativeFullScreen || hasMsNativeFullScreen;
|
3236 |
+
var nativeFullScreenEnabled = hasTrueNativeFullScreen;
|
3237 |
+
var fullScreenEventName = '';
|
3238 |
+
var isFullScreen = void 0,
|
3239 |
+
requestFullScreen = void 0,
|
3240 |
+
cancelFullScreen = void 0;
|
3241 |
+
|
3242 |
+
if (hasMozNativeFullScreen) {
|
3243 |
+
nativeFullScreenEnabled = _document2.default.mozFullScreenEnabled;
|
3244 |
+
} else if (hasMsNativeFullScreen) {
|
3245 |
+
nativeFullScreenEnabled = _document2.default.msFullscreenEnabled;
|
3246 |
+
}
|
3247 |
+
|
3248 |
+
if (IS_CHROME) {
|
3249 |
+
hasiOSFullScreen = false;
|
3250 |
+
}
|
3251 |
+
|
3252 |
+
if (hasTrueNativeFullScreen) {
|
3253 |
+
if (hasWebkitNativeFullScreen) {
|
3254 |
+
fullScreenEventName = 'webkitfullscreenchange';
|
3255 |
+
} else if (hasMozNativeFullScreen) {
|
3256 |
+
fullScreenEventName = 'mozfullscreenchange';
|
3257 |
+
} else if (hasMsNativeFullScreen) {
|
3258 |
+
fullScreenEventName = 'MSFullscreenChange';
|
3259 |
+
}
|
3260 |
+
|
3261 |
+
exports.isFullScreen = isFullScreen = function isFullScreen() {
|
3262 |
+
if (hasMozNativeFullScreen) {
|
3263 |
+
return _document2.default.mozFullScreen;
|
3264 |
+
} else if (hasWebkitNativeFullScreen) {
|
3265 |
+
return _document2.default.webkitIsFullScreen;
|
3266 |
+
} else if (hasMsNativeFullScreen) {
|
3267 |
+
return _document2.default.msFullscreenElement !== null;
|
3268 |
+
}
|
3269 |
+
};
|
3270 |
+
|
3271 |
+
exports.requestFullScreen = requestFullScreen = function requestFullScreen(el) {
|
3272 |
+
if (hasWebkitNativeFullScreen) {
|
3273 |
+
el.webkitRequestFullScreen();
|
3274 |
+
} else if (hasMozNativeFullScreen) {
|
3275 |
+
el.mozRequestFullScreen();
|
3276 |
+
} else if (hasMsNativeFullScreen) {
|
3277 |
+
el.msRequestFullscreen();
|
3278 |
+
}
|
3279 |
+
};
|
3280 |
+
|
3281 |
+
exports.cancelFullScreen = cancelFullScreen = function cancelFullScreen() {
|
3282 |
+
if (hasWebkitNativeFullScreen) {
|
3283 |
+
_document2.default.webkitCancelFullScreen();
|
3284 |
+
} else if (hasMozNativeFullScreen) {
|
3285 |
+
_document2.default.mozCancelFullScreen();
|
3286 |
+
} else if (hasMsNativeFullScreen) {
|
3287 |
+
_document2.default.msExitFullscreen();
|
3288 |
+
}
|
3289 |
+
};
|
3290 |
+
}
|
3291 |
+
|
3292 |
+
var HAS_NATIVE_FULLSCREEN = exports.HAS_NATIVE_FULLSCREEN = hasNativeFullscreen;
|
3293 |
+
var HAS_WEBKIT_NATIVE_FULLSCREEN = exports.HAS_WEBKIT_NATIVE_FULLSCREEN = hasWebkitNativeFullScreen;
|
3294 |
+
var HAS_MOZ_NATIVE_FULLSCREEN = exports.HAS_MOZ_NATIVE_FULLSCREEN = hasMozNativeFullScreen;
|
3295 |
+
var HAS_MS_NATIVE_FULLSCREEN = exports.HAS_MS_NATIVE_FULLSCREEN = hasMsNativeFullScreen;
|
3296 |
+
var HAS_IOS_FULLSCREEN = exports.HAS_IOS_FULLSCREEN = hasiOSFullScreen;
|
3297 |
+
var HAS_TRUE_NATIVE_FULLSCREEN = exports.HAS_TRUE_NATIVE_FULLSCREEN = hasTrueNativeFullScreen;
|
3298 |
+
var HAS_NATIVE_FULLSCREEN_ENABLED = exports.HAS_NATIVE_FULLSCREEN_ENABLED = nativeFullScreenEnabled;
|
3299 |
+
var FULLSCREEN_EVENT_NAME = exports.FULLSCREEN_EVENT_NAME = fullScreenEventName;
|
3300 |
+
exports.isFullScreen = isFullScreen;
|
3301 |
+
exports.requestFullScreen = requestFullScreen;
|
3302 |
+
exports.cancelFullScreen = cancelFullScreen;
|
3303 |
+
|
3304 |
+
|
3305 |
+
_mejs2.default.Features = _mejs2.default.Features || {};
|
3306 |
+
_mejs2.default.Features.isiPad = IS_IPAD;
|
3307 |
+
_mejs2.default.Features.isiPod = IS_IPOD;
|
3308 |
+
_mejs2.default.Features.isiPhone = IS_IPHONE;
|
3309 |
+
_mejs2.default.Features.isiOS = _mejs2.default.Features.isiPhone || _mejs2.default.Features.isiPad;
|
3310 |
+
_mejs2.default.Features.isAndroid = IS_ANDROID;
|
3311 |
+
_mejs2.default.Features.isIE = IS_IE;
|
3312 |
+
_mejs2.default.Features.isEdge = IS_EDGE;
|
3313 |
+
_mejs2.default.Features.isChrome = IS_CHROME;
|
3314 |
+
_mejs2.default.Features.isFirefox = IS_FIREFOX;
|
3315 |
+
_mejs2.default.Features.isSafari = IS_SAFARI;
|
3316 |
+
_mejs2.default.Features.isStockAndroid = IS_STOCK_ANDROID;
|
3317 |
+
_mejs2.default.Features.hasMSE = HAS_MSE;
|
3318 |
+
_mejs2.default.Features.supportsNativeHLS = SUPPORTS_NATIVE_HLS;
|
3319 |
+
_mejs2.default.Features.supportsPointerEvents = SUPPORT_POINTER_EVENTS;
|
3320 |
+
_mejs2.default.Features.supportsPassiveEvent = SUPPORT_PASSIVE_EVENT;
|
3321 |
+
_mejs2.default.Features.hasiOSFullScreen = HAS_IOS_FULLSCREEN;
|
3322 |
+
_mejs2.default.Features.hasNativeFullscreen = HAS_NATIVE_FULLSCREEN;
|
3323 |
+
_mejs2.default.Features.hasWebkitNativeFullScreen = HAS_WEBKIT_NATIVE_FULLSCREEN;
|
3324 |
+
_mejs2.default.Features.hasMozNativeFullScreen = HAS_MOZ_NATIVE_FULLSCREEN;
|
3325 |
+
_mejs2.default.Features.hasMsNativeFullScreen = HAS_MS_NATIVE_FULLSCREEN;
|
3326 |
+
_mejs2.default.Features.hasTrueNativeFullScreen = HAS_TRUE_NATIVE_FULLSCREEN;
|
3327 |
+
_mejs2.default.Features.nativeFullScreenEnabled = HAS_NATIVE_FULLSCREEN_ENABLED;
|
3328 |
+
_mejs2.default.Features.fullScreenEventName = FULLSCREEN_EVENT_NAME;
|
3329 |
+
_mejs2.default.Features.isFullScreen = isFullScreen;
|
3330 |
+
_mejs2.default.Features.requestFullScreen = requestFullScreen;
|
3331 |
+
_mejs2.default.Features.cancelFullScreen = cancelFullScreen;
|
3332 |
+
|
3333 |
+
},{"2":2,"3":3,"7":7}],17:[function(_dereq_,module,exports){
|
3334 |
+
'use strict';
|
3335 |
+
|
3336 |
+
Object.defineProperty(exports, "__esModule", {
|
3337 |
+
value: true
|
3338 |
+
});
|
3339 |
+
exports.removeClass = exports.addClass = exports.hasClass = undefined;
|
3340 |
+
exports.loadScript = loadScript;
|
3341 |
+
exports.offset = offset;
|
3342 |
+
exports.toggleClass = toggleClass;
|
3343 |
+
exports.fadeOut = fadeOut;
|
3344 |
+
exports.fadeIn = fadeIn;
|
3345 |
+
exports.siblings = siblings;
|
3346 |
+
exports.visible = visible;
|
3347 |
+
exports.ajax = ajax;
|
3348 |
+
|
3349 |
+
var _window = _dereq_(3);
|
3350 |
+
|
3351 |
+
var _window2 = _interopRequireDefault(_window);
|
3352 |
+
|
3353 |
+
var _document = _dereq_(2);
|
3354 |
+
|
3355 |
+
var _document2 = _interopRequireDefault(_document);
|
3356 |
+
|
3357 |
+
var _mejs = _dereq_(7);
|
3358 |
+
|
3359 |
+
var _mejs2 = _interopRequireDefault(_mejs);
|
3360 |
+
|
3361 |
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
3362 |
+
|
3363 |
+
function loadScript(url) {
|
3364 |
+
return new Promise(function (resolve, reject) {
|
3365 |
+
var script = _document2.default.createElement('script');
|
3366 |
+
script.src = url;
|
3367 |
+
script.async = true;
|
3368 |
+
script.onload = function () {
|
3369 |
+
script.remove();
|
3370 |
+
resolve();
|
3371 |
+
};
|
3372 |
+
script.onerror = function () {
|
3373 |
+
script.remove();
|
3374 |
+
reject();
|
3375 |
+
};
|
3376 |
+
_document2.default.head.appendChild(script);
|
3377 |
+
});
|
3378 |
+
}
|
3379 |
+
|
3380 |
+
function offset(el) {
|
3381 |
+
var rect = el.getBoundingClientRect(),
|
3382 |
+
scrollLeft = _window2.default.pageXOffset || _document2.default.documentElement.scrollLeft,
|
3383 |
+
scrollTop = _window2.default.pageYOffset || _document2.default.documentElement.scrollTop;
|
3384 |
+
return { top: rect.top + scrollTop, left: rect.left + scrollLeft };
|
3385 |
+
}
|
3386 |
+
|
3387 |
+
var hasClassMethod = void 0,
|
3388 |
+
addClassMethod = void 0,
|
3389 |
+
removeClassMethod = void 0;
|
3390 |
+
|
3391 |
+
if ('classList' in _document2.default.documentElement) {
|
3392 |
+
hasClassMethod = function hasClassMethod(el, className) {
|
3393 |
+
return el.classList !== undefined && el.classList.contains(className);
|
3394 |
+
};
|
3395 |
+
addClassMethod = function addClassMethod(el, className) {
|
3396 |
+
return el.classList.add(className);
|
3397 |
+
};
|
3398 |
+
removeClassMethod = function removeClassMethod(el, className) {
|
3399 |
+
return el.classList.remove(className);
|
3400 |
+
};
|
3401 |
+
} else {
|
3402 |
+
hasClassMethod = function hasClassMethod(el, className) {
|
3403 |
+
return new RegExp('\\b' + className + '\\b').test(el.className);
|
3404 |
+
};
|
3405 |
+
addClassMethod = function addClassMethod(el, className) {
|
3406 |
+
if (!hasClass(el, className)) {
|
3407 |
+
el.className += ' ' + className;
|
3408 |
+
}
|
3409 |
+
};
|
3410 |
+
removeClassMethod = function removeClassMethod(el, className) {
|
3411 |
+
el.className = el.className.replace(new RegExp('\\b' + className + '\\b', 'g'), '');
|
3412 |
+
};
|
3413 |
+
}
|
3414 |
+
|
3415 |
+
var hasClass = exports.hasClass = hasClassMethod;
|
3416 |
+
var addClass = exports.addClass = addClassMethod;
|
3417 |
+
var removeClass = exports.removeClass = removeClassMethod;
|
3418 |
+
|
3419 |
+
function toggleClass(el, className) {
|
3420 |
+
hasClass(el, className) ? removeClass(el, className) : addClass(el, className);
|
3421 |
+
}
|
3422 |
+
|
3423 |
+
function fadeOut(el) {
|
3424 |
+
var duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 400;
|
3425 |
+
var callback = arguments[2];
|
3426 |
+
|
3427 |
+
if (!el.style.opacity) {
|
3428 |
+
el.style.opacity = 1;
|
3429 |
+
}
|
3430 |
+
|
3431 |
+
var start = null;
|
3432 |
+
_window2.default.requestAnimationFrame(function animate(timestamp) {
|
3433 |
+
start = start || timestamp;
|
3434 |
+
var progress = timestamp - start;
|
3435 |
+
var opacity = parseFloat(1 - progress / duration, 2);
|
3436 |
+
el.style.opacity = opacity < 0 ? 0 : opacity;
|
3437 |
+
if (progress > duration) {
|
3438 |
+
if (callback && typeof callback === 'function') {
|
3439 |
+
callback();
|
3440 |
+
}
|
3441 |
+
} else {
|
3442 |
+
_window2.default.requestAnimationFrame(animate);
|
3443 |
+
}
|
3444 |
+
});
|
3445 |
+
}
|
3446 |
+
|
3447 |
+
function fadeIn(el) {
|
3448 |
+
var duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 400;
|
3449 |
+
var callback = arguments[2];
|
3450 |
+
|
3451 |
+
if (!el.style.opacity) {
|
3452 |
+
el.style.opacity = 0;
|
3453 |
+
}
|
3454 |
+
|
3455 |
+
var start = null;
|
3456 |
+
_window2.default.requestAnimationFrame(function animate(timestamp) {
|
3457 |
+
start = start || timestamp;
|
3458 |
+
var progress = timestamp - start;
|
3459 |
+
var opacity = parseFloat(progress / duration, 2);
|
3460 |
+
el.style.opacity = opacity > 1 ? 1 : opacity;
|
3461 |
+
if (progress > duration) {
|
3462 |
+
if (callback && typeof callback === 'function') {
|
3463 |
+
callback();
|
3464 |
+
}
|
3465 |
+
} else {
|
3466 |
+
_window2.default.requestAnimationFrame(animate);
|
3467 |
+
}
|
3468 |
+
});
|
3469 |
+
}
|
3470 |
+
|
3471 |
+
function siblings(el, filter) {
|
3472 |
+
var siblings = [];
|
3473 |
+
el = el.parentNode.firstChild;
|
3474 |
+
do {
|
3475 |
+
if (!filter || filter(el)) {
|
3476 |
+
siblings.push(el);
|
3477 |
+
}
|
3478 |
+
} while (el = el.nextSibling);
|
3479 |
+
return siblings;
|
3480 |
+
}
|
3481 |
+
|
3482 |
+
function visible(elem) {
|
3483 |
+
if (elem.getClientRects !== undefined && elem.getClientRects === 'function') {
|
3484 |
+
return !!(elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length);
|
3485 |
+
}
|
3486 |
+
return !!(elem.offsetWidth || elem.offsetHeight);
|
3487 |
+
}
|
3488 |
+
|
3489 |
+
function ajax(url, dataType, success, error) {
|
3490 |
+
var xhr = _window2.default.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP');
|
3491 |
+
|
3492 |
+
var type = 'application/x-www-form-urlencoded; charset=UTF-8',
|
3493 |
+
completed = false,
|
3494 |
+
accept = '*/'.concat('*');
|
3495 |
+
|
3496 |
+
switch (dataType) {
|
3497 |
+
case 'text':
|
3498 |
+
type = 'text/plain';
|
3499 |
+
break;
|
3500 |
+
case 'json':
|
3501 |
+
type = 'application/json, text/javascript';
|
3502 |
+
break;
|
3503 |
+
case 'html':
|
3504 |
+
type = 'text/html';
|
3505 |
+
break;
|
3506 |
+
case 'xml':
|
3507 |
+
type = 'application/xml, text/xml';
|
3508 |
+
break;
|
3509 |
+
}
|
3510 |
+
|
3511 |
+
if (type !== 'application/x-www-form-urlencoded') {
|
3512 |
+
accept = type + ', */*; q=0.01';
|
3513 |
+
}
|
3514 |
+
|
3515 |
+
if (xhr) {
|
3516 |
+
xhr.open('GET', url, true);
|
3517 |
+
xhr.setRequestHeader('Accept', accept);
|
3518 |
+
xhr.onreadystatechange = function () {
|
3519 |
+
if (completed) {
|
3520 |
+
return;
|
3521 |
+
}
|
3522 |
+
|
3523 |
+
if (xhr.readyState === 4) {
|
3524 |
+
if (xhr.status === 200) {
|
3525 |
+
completed = true;
|
3526 |
+
var data = void 0;
|
3527 |
+
switch (dataType) {
|
3528 |
+
case 'json':
|
3529 |
+
data = JSON.parse(xhr.responseText);
|
3530 |
+
break;
|
3531 |
+
case 'xml':
|
3532 |
+
data = xhr.responseXML;
|
3533 |
+
break;
|
3534 |
+
default:
|
3535 |
+
data = xhr.responseText;
|
3536 |
+
break;
|
3537 |
+
}
|
3538 |
+
success(data);
|
3539 |
+
} else if (typeof error === 'function') {
|
3540 |
+
error(xhr.status);
|
3541 |
+
}
|
3542 |
+
}
|
3543 |
+
};
|
3544 |
+
|
3545 |
+
xhr.send();
|
3546 |
+
}
|
3547 |
+
}
|
3548 |
+
|
3549 |
+
_mejs2.default.Utils = _mejs2.default.Utils || {};
|
3550 |
+
_mejs2.default.Utils.offset = offset;
|
3551 |
+
_mejs2.default.Utils.hasClass = hasClass;
|
3552 |
+
_mejs2.default.Utils.addClass = addClass;
|
3553 |
+
_mejs2.default.Utils.removeClass = removeClass;
|
3554 |
+
_mejs2.default.Utils.toggleClass = toggleClass;
|
3555 |
+
_mejs2.default.Utils.fadeIn = fadeIn;
|
3556 |
+
_mejs2.default.Utils.fadeOut = fadeOut;
|
3557 |
+
_mejs2.default.Utils.siblings = siblings;
|
3558 |
+
_mejs2.default.Utils.visible = visible;
|
3559 |
+
_mejs2.default.Utils.ajax = ajax;
|
3560 |
+
_mejs2.default.Utils.loadScript = loadScript;
|
3561 |
+
|
3562 |
+
},{"2":2,"3":3,"7":7}],18:[function(_dereq_,module,exports){
|
3563 |
+
'use strict';
|
3564 |
+
|
3565 |
+
Object.defineProperty(exports, "__esModule", {
|
3566 |
+
value: true
|
3567 |
+
});
|
3568 |
+
exports.escapeHTML = escapeHTML;
|
3569 |
+
exports.debounce = debounce;
|
3570 |
+
exports.isObjectEmpty = isObjectEmpty;
|
3571 |
+
exports.splitEvents = splitEvents;
|
3572 |
+
exports.createEvent = createEvent;
|
3573 |
+
exports.isNodeAfter = isNodeAfter;
|
3574 |
+
exports.isString = isString;
|
3575 |
+
|
3576 |
+
var _mejs = _dereq_(7);
|
3577 |
+
|
3578 |
+
var _mejs2 = _interopRequireDefault(_mejs);
|
3579 |
+
|
3580 |
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
3581 |
+
|
3582 |
+
function escapeHTML(input) {
|
3583 |
+
|
3584 |
+
if (typeof input !== 'string') {
|
3585 |
+
throw new Error('Argument passed must be a string');
|
3586 |
+
}
|
3587 |
+
|
3588 |
+
var map = {
|
3589 |
+
'&': '&',
|
3590 |
+
'<': '<',
|
3591 |
+
'>': '>',
|
3592 |
+
'"': '"'
|
3593 |
+
};
|
3594 |
+
|
3595 |
+
return input.replace(/[&<>"]/g, function (c) {
|
3596 |
+
return map[c];
|
3597 |
+
});
|
3598 |
+
}
|
3599 |
+
|
3600 |
+
function debounce(func, wait) {
|
3601 |
+
var _this = this,
|
3602 |
+
_arguments = arguments;
|
3603 |
+
|
3604 |
+
var immediate = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
3605 |
+
|
3606 |
+
|
3607 |
+
if (typeof func !== 'function') {
|
3608 |
+
throw new Error('First argument must be a function');
|
3609 |
+
}
|
3610 |
+
|
3611 |
+
if (typeof wait !== 'number') {
|
3612 |
+
throw new Error('Second argument must be a numeric value');
|
3613 |
+
}
|
3614 |
+
|
3615 |
+
var timeout = void 0;
|
3616 |
+
return function () {
|
3617 |
+
var context = _this,
|
3618 |
+
args = _arguments;
|
3619 |
+
var later = function later() {
|
3620 |
+
timeout = null;
|
3621 |
+
if (!immediate) {
|
3622 |
+
func.apply(context, args);
|
3623 |
+
}
|
3624 |
+
};
|
3625 |
+
var callNow = immediate && !timeout;
|
3626 |
+
clearTimeout(timeout);
|
3627 |
+
timeout = setTimeout(later, wait);
|
3628 |
+
|
3629 |
+
if (callNow) {
|
3630 |
+
func.apply(context, args);
|
3631 |
+
}
|
3632 |
+
};
|
3633 |
+
}
|
3634 |
+
|
3635 |
+
function isObjectEmpty(instance) {
|
3636 |
+
return Object.getOwnPropertyNames(instance).length <= 0;
|
3637 |
+
}
|
3638 |
+
|
3639 |
+
function splitEvents(events, id) {
|
3640 |
+
var rwindow = /^((after|before)print|(before)?unload|hashchange|message|o(ff|n)line|page(hide|show)|popstate|resize|storage)\b/;
|
3641 |
+
|
3642 |
+
var ret = { d: [], w: [] };
|
3643 |
+
(events || '').split(' ').forEach(function (v) {
|
3644 |
+
var eventName = '' + v + (id ? '.' + id : '');
|
3645 |
+
|
3646 |
+
if (eventName.startsWith('.')) {
|
3647 |
+
ret.d.push(eventName);
|
3648 |
+
ret.w.push(eventName);
|
3649 |
+
} else {
|
3650 |
+
ret[rwindow.test(v) ? 'w' : 'd'].push(eventName);
|
3651 |
+
}
|
3652 |
+
});
|
3653 |
+
|
3654 |
+
ret.d = ret.d.join(' ');
|
3655 |
+
ret.w = ret.w.join(' ');
|
3656 |
+
return ret;
|
3657 |
+
}
|
3658 |
+
|
3659 |
+
function createEvent(eventName, target) {
|
3660 |
+
|
3661 |
+
if (typeof eventName !== 'string') {
|
3662 |
+
throw new Error('Event name must be a string');
|
3663 |
+
}
|
3664 |
+
|
3665 |
+
var eventFrags = eventName.match(/([a-z]+\.([a-z]+))/i),
|
3666 |
+
detail = {
|
3667 |
+
target: target
|
3668 |
+
};
|
3669 |
+
|
3670 |
+
if (eventFrags !== null) {
|
3671 |
+
eventName = eventFrags[1];
|
3672 |
+
detail.namespace = eventFrags[2];
|
3673 |
+
}
|
3674 |
+
|
3675 |
+
return new window.CustomEvent(eventName, {
|
3676 |
+
detail: detail
|
3677 |
+
});
|
3678 |
+
}
|
3679 |
+
|
3680 |
+
function isNodeAfter(sourceNode, targetNode) {
|
3681 |
+
|
3682 |
+
return !!(sourceNode && targetNode && sourceNode.compareDocumentPosition(targetNode) & 2);
|
3683 |
+
}
|
3684 |
+
|
3685 |
+
function isString(value) {
|
3686 |
+
return typeof value === 'string';
|
3687 |
+
}
|
3688 |
+
|
3689 |
+
_mejs2.default.Utils = _mejs2.default.Utils || {};
|
3690 |
+
_mejs2.default.Utils.escapeHTML = escapeHTML;
|
3691 |
+
_mejs2.default.Utils.debounce = debounce;
|
3692 |
+
_mejs2.default.Utils.isObjectEmpty = isObjectEmpty;
|
3693 |
+
_mejs2.default.Utils.splitEvents = splitEvents;
|
3694 |
+
_mejs2.default.Utils.createEvent = createEvent;
|
3695 |
+
_mejs2.default.Utils.isNodeAfter = isNodeAfter;
|
3696 |
+
_mejs2.default.Utils.isString = isString;
|
3697 |
+
|
3698 |
+
},{"7":7}],19:[function(_dereq_,module,exports){
|
3699 |
+
'use strict';
|
3700 |
+
|
3701 |
+
Object.defineProperty(exports, "__esModule", {
|
3702 |
+
value: true
|
3703 |
+
});
|
3704 |
+
exports.typeChecks = undefined;
|
3705 |
+
exports.absolutizeUrl = absolutizeUrl;
|
3706 |
+
exports.formatType = formatType;
|
3707 |
+
exports.getMimeFromType = getMimeFromType;
|
3708 |
+
exports.getTypeFromFile = getTypeFromFile;
|
3709 |
+
exports.getExtension = getExtension;
|
3710 |
+
exports.normalizeExtension = normalizeExtension;
|
3711 |
+
|
3712 |
+
var _mejs = _dereq_(7);
|
3713 |
+
|
3714 |
+
var _mejs2 = _interopRequireDefault(_mejs);
|
3715 |
+
|
3716 |
+
var _general = _dereq_(18);
|
3717 |
+
|
3718 |
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
3719 |
+
|
3720 |
+
var typeChecks = exports.typeChecks = [];
|
3721 |
+
|
3722 |
+
function absolutizeUrl(url) {
|
3723 |
+
|
3724 |
+
if (typeof url !== 'string') {
|
3725 |
+
throw new Error('`url` argument must be a string');
|
3726 |
+
}
|
3727 |
+
|
3728 |
+
var el = document.createElement('div');
|
3729 |
+
el.innerHTML = '<a href="' + (0, _general.escapeHTML)(url) + '">x</a>';
|
3730 |
+
return el.firstChild.href;
|
3731 |
+
}
|
3732 |
+
|
3733 |
+
function formatType(url) {
|
3734 |
+
var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
3735 |
+
|
3736 |
+
return url && !type ? getTypeFromFile(url) : type;
|
3737 |
+
}
|
3738 |
+
|
3739 |
+
function getMimeFromType(type) {
|
3740 |
+
|
3741 |
+
if (typeof type !== 'string') {
|
3742 |
+
throw new Error('`type` argument must be a string');
|
3743 |
+
}
|
3744 |
+
|
3745 |
+
return type && type.indexOf(';') > -1 ? type.substr(0, type.indexOf(';')) : type;
|
3746 |
+
}
|
3747 |
+
|
3748 |
+
function getTypeFromFile(url) {
|
3749 |
+
|
3750 |
+
if (typeof url !== 'string') {
|
3751 |
+
throw new Error('`url` argument must be a string');
|
3752 |
+
}
|
3753 |
+
|
3754 |
+
for (var i = 0, total = typeChecks.length; i < total; i++) {
|
3755 |
+
var type = typeChecks[i](url);
|
3756 |
+
|
3757 |
+
if (type) {
|
3758 |
+
return type;
|
3759 |
+
}
|
3760 |
+
}
|
3761 |
+
|
3762 |
+
var ext = getExtension(url),
|
3763 |
+
normalizedExt = normalizeExtension(ext);
|
3764 |
+
|
3765 |
+
var mime = 'video/mp4';
|
3766 |
+
|
3767 |
+
if (normalizedExt) {
|
3768 |
+
if (~['mp4', 'm4v', 'ogg', 'ogv', 'webm', 'flv', 'mpeg', 'mov'].indexOf(normalizedExt)) {
|
3769 |
+
mime = 'video/' + normalizedExt;
|
3770 |
+
} else if (~['mp3', 'oga', 'wav', 'mid', 'midi'].indexOf(normalizedExt)) {
|
3771 |
+
mime = 'audio/' + normalizedExt;
|
3772 |
+
}
|
3773 |
+
}
|
3774 |
+
|
3775 |
+
return mime;
|
3776 |
+
}
|
3777 |
+
|
3778 |
+
function getExtension(url) {
|
3779 |
+
|
3780 |
+
if (typeof url !== 'string') {
|
3781 |
+
throw new Error('`url` argument must be a string');
|
3782 |
+
}
|
3783 |
+
|
3784 |
+
var baseUrl = url.split('?')[0],
|
3785 |
+
baseName = baseUrl.split('\\').pop().split('/').pop();
|
3786 |
+
return ~baseName.indexOf('.') ? baseName.substring(baseName.lastIndexOf('.') + 1) : '';
|
3787 |
+
}
|
3788 |
+
|
3789 |
+
function normalizeExtension(extension) {
|
3790 |
+
|
3791 |
+
if (typeof extension !== 'string') {
|
3792 |
+
throw new Error('`extension` argument must be a string');
|
3793 |
+
}
|
3794 |
+
|
3795 |
+
switch (extension) {
|
3796 |
+
case 'mp4':
|
3797 |
+
case 'm4v':
|
3798 |
+
return 'mp4';
|
3799 |
+
case 'webm':
|
3800 |
+
case 'webma':
|
3801 |
+
case 'webmv':
|
3802 |
+
return 'webm';
|
3803 |
+
case 'ogg':
|
3804 |
+
case 'oga':
|
3805 |
+
case 'ogv':
|
3806 |
+
return 'ogg';
|
3807 |
+
default:
|
3808 |
+
return extension;
|
3809 |
+
}
|
3810 |
+
}
|
3811 |
+
|
3812 |
+
_mejs2.default.Utils = _mejs2.default.Utils || {};
|
3813 |
+
_mejs2.default.Utils.typeChecks = typeChecks;
|
3814 |
+
_mejs2.default.Utils.absolutizeUrl = absolutizeUrl;
|
3815 |
+
_mejs2.default.Utils.formatType = formatType;
|
3816 |
+
_mejs2.default.Utils.getMimeFromType = getMimeFromType;
|
3817 |
+
_mejs2.default.Utils.getTypeFromFile = getTypeFromFile;
|
3818 |
+
_mejs2.default.Utils.getExtension = getExtension;
|
3819 |
+
_mejs2.default.Utils.normalizeExtension = normalizeExtension;
|
3820 |
+
|
3821 |
+
},{"18":18,"7":7}],20:[function(_dereq_,module,exports){
|
3822 |
+
'use strict';
|
3823 |
+
|
3824 |
+
var _document = _dereq_(2);
|
3825 |
+
|
3826 |
+
var _document2 = _interopRequireDefault(_document);
|
3827 |
+
|
3828 |
+
var _promisePolyfill = _dereq_(4);
|
3829 |
+
|
3830 |
+
var _promisePolyfill2 = _interopRequireDefault(_promisePolyfill);
|
3831 |
+
|
3832 |
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
3833 |
+
|
3834 |
+
(function (arr) {
|
3835 |
+
arr.forEach(function (item) {
|
3836 |
+
if (item.hasOwnProperty('remove')) {
|
3837 |
+
return;
|
3838 |
+
}
|
3839 |
+
Object.defineProperty(item, 'remove', {
|
3840 |
+
configurable: true,
|
3841 |
+
enumerable: true,
|
3842 |
+
writable: true,
|
3843 |
+
value: function remove() {
|
3844 |
+
this.parentNode.removeChild(this);
|
3845 |
+
}
|
3846 |
+
});
|
3847 |
+
});
|
3848 |
+
})([Element.prototype, CharacterData.prototype, DocumentType.prototype]);
|
3849 |
+
|
3850 |
+
(function () {
|
3851 |
+
|
3852 |
+
if (typeof window.CustomEvent === 'function') {
|
3853 |
+
return false;
|
3854 |
+
}
|
3855 |
+
|
3856 |
+
function CustomEvent(event, params) {
|
3857 |
+
params = params || { bubbles: false, cancelable: false, detail: undefined };
|
3858 |
+
var evt = _document2.default.createEvent('CustomEvent');
|
3859 |
+
evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);
|
3860 |
+
return evt;
|
3861 |
+
}
|
3862 |
+
|
3863 |
+
CustomEvent.prototype = window.Event.prototype;
|
3864 |
+
window.CustomEvent = CustomEvent;
|
3865 |
+
})();
|
3866 |
+
|
3867 |
+
if (typeof Object.assign !== 'function') {
|
3868 |
+
Object.assign = function (target) {
|
3869 |
+
|
3870 |
+
if (target === null || target === undefined) {
|
3871 |
+
throw new TypeError('Cannot convert undefined or null to object');
|
3872 |
+
}
|
3873 |
+
|
3874 |
+
var to = Object(target);
|
3875 |
+
|
3876 |
+
for (var index = 1, total = arguments.length; index < total; index++) {
|
3877 |
+
var nextSource = arguments[index];
|
3878 |
+
|
3879 |
+
if (nextSource !== null) {
|
3880 |
+
for (var nextKey in nextSource) {
|
3881 |
+
if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {
|
3882 |
+
to[nextKey] = nextSource[nextKey];
|
3883 |
+
}
|
3884 |
+
}
|
3885 |
+
}
|
3886 |
+
}
|
3887 |
+
return to;
|
3888 |
+
};
|
3889 |
+
}
|
3890 |
+
|
3891 |
+
if (!String.prototype.startsWith) {
|
3892 |
+
String.prototype.startsWith = function (searchString, position) {
|
3893 |
+
position = position || 0;
|
3894 |
+
return this.substr(position, searchString.length) === searchString;
|
3895 |
+
};
|
3896 |
+
}
|
3897 |
+
|
3898 |
+
if (!Element.prototype.matches) {
|
3899 |
+
Element.prototype.matches = Element.prototype.matchesSelector || Element.prototype.mozMatchesSelector || Element.prototype.msMatchesSelector || Element.prototype.oMatchesSelector || Element.prototype.webkitMatchesSelector || function (s) {
|
3900 |
+
var matches = (this.document || this.ownerDocument).querySelectorAll(s),
|
3901 |
+
i = matches.length - 1;
|
3902 |
+
while (--i >= 0 && matches.item(i) !== this) {}
|
3903 |
+
return i > -1;
|
3904 |
+
};
|
3905 |
+
}
|
3906 |
+
|
3907 |
+
if (window.Element && !Element.prototype.closest) {
|
3908 |
+
Element.prototype.closest = function (s) {
|
3909 |
+
var matches = (this.document || this.ownerDocument).querySelectorAll(s),
|
3910 |
+
i = void 0,
|
3911 |
+
el = this;
|
3912 |
+
do {
|
3913 |
+
i = matches.length;
|
3914 |
+
while (--i >= 0 && matches.item(i) !== el) {}
|
3915 |
+
} while (i < 0 && (el = el.parentElement));
|
3916 |
+
return el;
|
3917 |
+
};
|
3918 |
+
}
|
3919 |
+
|
3920 |
+
(function () {
|
3921 |
+
var lastTime = 0;
|
3922 |
+
var vendors = ['ms', 'moz', 'webkit', 'o'];
|
3923 |
+
for (var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) {
|
3924 |
+
window.requestAnimationFrame = window[vendors[x] + 'RequestAnimationFrame'];
|
3925 |
+
window.cancelAnimationFrame = window[vendors[x] + 'CancelAnimationFrame'] || window[vendors[x] + 'CancelRequestAnimationFrame'];
|
3926 |
+
}
|
3927 |
+
|
3928 |
+
if (!window.requestAnimationFrame) window.requestAnimationFrame = function (callback) {
|
3929 |
+
var currTime = new Date().getTime();
|
3930 |
+
var timeToCall = Math.max(0, 16 - (currTime - lastTime));
|
3931 |
+
var id = window.setTimeout(function () {
|
3932 |
+
callback(currTime + timeToCall);
|
3933 |
+
}, timeToCall);
|
3934 |
+
lastTime = currTime + timeToCall;
|
3935 |
+
return id;
|
3936 |
+
};
|
3937 |
+
|
3938 |
+
if (!window.cancelAnimationFrame) window.cancelAnimationFrame = function (id) {
|
3939 |
+
clearTimeout(id);
|
3940 |
+
};
|
3941 |
+
})();
|
3942 |
+
|
3943 |
+
if (/firefox/i.test(navigator.userAgent)) {
|
3944 |
+
var getComputedStyle = window.getComputedStyle;
|
3945 |
+
window.getComputedStyle = function (el, pseudoEl) {
|
3946 |
+
var t = getComputedStyle(el, pseudoEl);
|
3947 |
+
return t === null ? { getPropertyValue: function getPropertyValue() {} } : t;
|
3948 |
+
};
|
3949 |
+
}
|
3950 |
+
|
3951 |
+
if (!window.Promise) {
|
3952 |
+
window.Promise = _promisePolyfill2.default;
|
3953 |
+
}
|
3954 |
+
|
3955 |
+
(function (constructor) {
|
3956 |
+
if (constructor && constructor.prototype && constructor.prototype.children === null) {
|
3957 |
+
Object.defineProperty(constructor.prototype, 'children', {
|
3958 |
+
get: function get() {
|
3959 |
+
var i = 0,
|
3960 |
+
node = void 0,
|
3961 |
+
nodes = this.childNodes,
|
3962 |
+
children = [];
|
3963 |
+
while (node = nodes[i++]) {
|
3964 |
+
if (node.nodeType === 1) {
|
3965 |
+
children.push(node);
|
3966 |
+
}
|
3967 |
+
}
|
3968 |
+
return children;
|
3969 |
+
}
|
3970 |
+
});
|
3971 |
+
}
|
3972 |
+
})(window.Node || window.Element);
|
3973 |
|
3974 |
+
},{"2":2,"4":4}]},{},[20,6,5,9,14,11,10,12,13,15]);
|
lib/media-element/mediaelement.min.js
CHANGED
@@ -1,61 +1,12 @@
|
|
1 |
/*!
|
2 |
-
* MediaElement.js
|
3 |
-
*
|
4 |
-
*
|
5 |
-
*
|
6 |
-
*
|
7 |
-
*
|
8 |
-
*
|
9 |
-
*
|
10 |
-
*
|
11 |
-
|
12 |
-
*
|
13 |
-
*/var mejs=mejs||{};mejs.version="2.9.5";mejs.meIndex=0;
|
14 |
-
mejs.plugins={silverlight:[{version:[3,0],types:["video/mp4","video/m4v","video/mov","video/wmv","audio/wma","audio/m4a","audio/mp3","audio/wav","audio/mpeg"]}],flash:[{version:[9,0,124],types:["video/mp4","video/m4v","video/mov","video/flv","video/rtmp","video/x-flv","audio/flv","audio/x-flv","audio/mp3","audio/m4a","audio/mpeg","video/youtube","video/x-youtube"]}],youtube:[{version:null,types:["video/youtube","video/x-youtube"]}],vimeo:[{version:null,types:["video/vimeo"]}]};
|
15 |
-
mejs.Utility={encodeUrl:function(a){return encodeURIComponent(a)},escapeHTML:function(a){return a.toString().split("&").join("&").split("<").join("<").split('"').join(""")},absolutizeUrl:function(a){var b=document.createElement("div");b.innerHTML='<a href="'+this.escapeHTML(a)+'">x</a>';return b.firstChild.href},getScriptPath:function(a){for(var b=0,c,d="",e="",g,f=document.getElementsByTagName("script"),j=f.length,h=a.length;b<j;b++){g=f[b].src;for(c=0;c<h;c++){e=a[c];if(g.indexOf(e)>
|
16 |
-
-1){d=g.substring(0,g.indexOf(e));break}}if(d!=="")break}return d},secondsToTimeCode:function(a,b,c,d){if(typeof c=="undefined")c=false;else if(typeof d=="undefined")d=25;var e=Math.floor(a/3600)%24,g=Math.floor(a/60)%60,f=Math.floor(a%60);a=Math.floor((a%1*d).toFixed(3));return(b||e>0?(e<10?"0"+e:e)+":":"")+(g<10?"0"+g:g)+":"+(f<10?"0"+f:f)+(c?":"+(a<10?"0"+a:a):"")},timeCodeToSeconds:function(a,b,c,d){if(typeof c=="undefined")c=false;else if(typeof d=="undefined")d=25;a=a.split(":");b=parseInt(a[0],
|
17 |
-
10);var e=parseInt(a[1],10),g=parseInt(a[2],10),f=0,j=0;if(c)f=parseInt(a[3])/d;return j=b*3600+e*60+g+f},convertSMPTEtoSeconds:function(a){if(typeof a!="string")return false;a=a.replace(",",".");var b=0,c=a.indexOf(".")!=-1?a.split(".")[1].length:0,d=1;a=a.split(":").reverse();for(var e=0;e<a.length;e++){d=1;if(e>0)d=Math.pow(60,e);b+=Number(a[e])*d}return Number(b.toFixed(c))},removeSwf:function(a){var b=document.getElementById(a);if(b&&b.nodeName=="OBJECT")if(mejs.MediaFeatures.isIE){b.style.display=
|
18 |
-
"none";(function(){b.readyState==4?mejs.Utility.removeObjectInIE(a):setTimeout(arguments.callee,10)})()}else b.parentNode.removeChild(b)},removeObjectInIE:function(a){if(a=document.getElementById(a)){for(var b in a)if(typeof a[b]=="function")a[b]=null;a.parentNode.removeChild(a)}}};
|
19 |
-
mejs.PluginDetector={hasPluginVersion:function(a,b){var c=this.plugins[a];b[1]=b[1]||0;b[2]=b[2]||0;return c[0]>b[0]||c[0]==b[0]&&c[1]>b[1]||c[0]==b[0]&&c[1]==b[1]&&c[2]>=b[2]?true:false},nav:window.navigator,ua:window.navigator.userAgent.toLowerCase(),plugins:[],addPlugin:function(a,b,c,d,e){this.plugins[a]=this.detectPlugin(b,c,d,e)},detectPlugin:function(a,b,c,d){var e=[0,0,0],g;if(typeof this.nav.plugins!="undefined"&&typeof this.nav.plugins[a]=="object"){if((c=this.nav.plugins[a].description)&&
|
20 |
-
!(typeof this.nav.mimeTypes!="undefined"&&this.nav.mimeTypes[b]&&!this.nav.mimeTypes[b].enabledPlugin)){e=c.replace(a,"").replace(/^\s+/,"").replace(/\sr/gi,".").split(".");for(a=0;a<e.length;a++)e[a]=parseInt(e[a].match(/\d+/),10)}}else if(typeof window.ActiveXObject!="undefined")try{if(g=new ActiveXObject(c))e=d(g)}catch(f){}return e}};
|
21 |
-
mejs.PluginDetector.addPlugin("flash","Shockwave Flash","application/x-shockwave-flash","ShockwaveFlash.ShockwaveFlash",function(a){var b=[];if(a=a.GetVariable("$version")){a=a.split(" ")[1].split(",");b=[parseInt(a[0],10),parseInt(a[1],10),parseInt(a[2],10)]}return b});
|
22 |
-
mejs.PluginDetector.addPlugin("silverlight","Silverlight Plug-In","application/x-silverlight-2","AgControl.AgControl",function(a){var b=[0,0,0,0],c=function(d,e,g,f){for(;d.isVersionSupported(e[0]+"."+e[1]+"."+e[2]+"."+e[3]);)e[g]+=f;e[g]-=f};c(a,b,0,1);c(a,b,1,1);c(a,b,2,1E4);c(a,b,2,1E3);c(a,b,2,100);c(a,b,2,10);c(a,b,2,1);c(a,b,3,1);return b});
|
23 |
-
mejs.MediaFeatures={init:function(){var a=this,b=document,c=mejs.PluginDetector.nav,d=mejs.PluginDetector.ua.toLowerCase(),e,g=["source","track","audio","video"];a.isiPad=d.match(/ipad/i)!==null;a.isiPhone=d.match(/iphone/i)!==null;a.isiOS=a.isiPhone||a.isiPad;a.isAndroid=d.match(/android/i)!==null;a.isBustedAndroid=d.match(/android 2\.[12]/)!==null;a.isIE=c.appName.toLowerCase().indexOf("microsoft")!=-1;a.isChrome=d.match(/chrome/gi)!==null;a.isFirefox=d.match(/firefox/gi)!==null;a.isWebkit=d.match(/webkit/gi)!==
|
24 |
-
null;a.isGecko=d.match(/gecko/gi)!==null&&!a.isWebkit;a.isOpera=d.match(/opera/gi)!==null;a.hasTouch="ontouchstart"in window;for(c=0;c<g.length;c++)e=document.createElement(g[c]);a.supportsMediaTag=typeof e.canPlayType!=="undefined"||a.isBustedAndroid;a.hasSemiNativeFullScreen=typeof e.webkitEnterFullscreen!=="undefined";a.hasWebkitNativeFullScreen=typeof e.webkitRequestFullScreen!=="undefined";a.hasMozNativeFullScreen=typeof e.mozRequestFullScreen!=="undefined";a.hasTrueNativeFullScreen=a.hasWebkitNativeFullScreen||
|
25 |
-
a.hasMozNativeFullScreen;a.nativeFullScreenEnabled=a.hasTrueNativeFullScreen;if(a.hasMozNativeFullScreen)a.nativeFullScreenEnabled=e.mozFullScreenEnabled;if(this.isChrome)a.hasSemiNativeFullScreen=false;if(a.hasTrueNativeFullScreen){a.fullScreenEventName=a.hasWebkitNativeFullScreen?"webkitfullscreenchange":"mozfullscreenchange";a.isFullScreen=function(){if(e.mozRequestFullScreen)return b.mozFullScreen;else if(e.webkitRequestFullScreen)return b.webkitIsFullScreen};a.requestFullScreen=function(f){if(a.hasWebkitNativeFullScreen)f.webkitRequestFullScreen();
|
26 |
-
else a.hasMozNativeFullScreen&&f.mozRequestFullScreen()};a.cancelFullScreen=function(){if(a.hasWebkitNativeFullScreen)document.webkitCancelFullScreen();else a.hasMozNativeFullScreen&&document.mozCancelFullScreen()}}if(a.hasSemiNativeFullScreen&&d.match(/mac os x 10_5/i)){a.hasNativeFullScreen=false;a.hasSemiNativeFullScreen=false}}};mejs.MediaFeatures.init();
|
27 |
-
mejs.HtmlMediaElement={pluginType:"native",isFullScreen:false,setCurrentTime:function(a){this.currentTime=a},setMuted:function(a){this.muted=a},setVolume:function(a){this.volume=a},stop:function(){this.pause()},setSrc:function(a){for(var b=this.getElementsByTagName("source");b.length>0;)this.removeChild(b[0]);if(typeof a=="string")this.src=a;else{var c;for(b=0;b<a.length;b++){c=a[b];if(this.canPlayType(c.type))this.src=c.src}}},setVideoSize:function(a,b){this.width=a;this.height=b}};
|
28 |
-
mejs.PluginMediaElement=function(a,b,c){this.id=a;this.pluginType=b;this.src=c;this.events={}};
|
29 |
-
mejs.PluginMediaElement.prototype={pluginElement:null,pluginType:"",isFullScreen:false,playbackRate:-1,defaultPlaybackRate:-1,seekable:[],played:[],paused:true,ended:false,seeking:false,duration:0,error:null,tagName:"",muted:false,volume:1,currentTime:0,play:function(){if(this.pluginApi!=null){this.pluginType=="youtube"?this.pluginApi.playVideo():this.pluginApi.playMedia();this.paused=false}},load:function(){if(this.pluginApi!=null){this.pluginType!="youtube"&&this.pluginApi.loadMedia();this.paused=
|
30 |
-
false}},pause:function(){if(this.pluginApi!=null){this.pluginType=="youtube"?this.pluginApi.pauseVideo():this.pluginApi.pauseMedia();this.paused=true}},stop:function(){if(this.pluginApi!=null){this.pluginType=="youtube"?this.pluginApi.stopVideo():this.pluginApi.stopMedia();this.paused=true}},canPlayType:function(a){var b,c,d,e=mejs.plugins[this.pluginType];for(b=0;b<e.length;b++){d=e[b];if(mejs.PluginDetector.hasPluginVersion(this.pluginType,d.version))for(c=0;c<d.types.length;c++)if(a==d.types[c])return true}return false},
|
31 |
-
positionFullscreenButton:function(a,b,c){this.pluginApi!=null&&this.pluginApi.positionFullscreenButton&&this.pluginApi.positionFullscreenButton(a,b,c)},hideFullscreenButton:function(){this.pluginApi!=null&&this.pluginApi.hideFullscreenButton&&this.pluginApi.hideFullscreenButton()},setSrc:function(a){if(typeof a=="string"){this.pluginApi.setSrc(mejs.Utility.absolutizeUrl(a));this.src=mejs.Utility.absolutizeUrl(a)}else{var b,c;for(b=0;b<a.length;b++){c=a[b];if(this.canPlayType(c.type)){this.pluginApi.setSrc(mejs.Utility.absolutizeUrl(c.src));
|
32 |
-
this.src=mejs.Utility.absolutizeUrl(a)}}}},setCurrentTime:function(a){if(this.pluginApi!=null){this.pluginType=="youtube"?this.pluginApi.seekTo(a):this.pluginApi.setCurrentTime(a);this.currentTime=a}},setVolume:function(a){if(this.pluginApi!=null){this.pluginType=="youtube"?this.pluginApi.setVolume(a*100):this.pluginApi.setVolume(a);this.volume=a}},setMuted:function(a){if(this.pluginApi!=null){if(this.pluginType=="youtube"){a?this.pluginApi.mute():this.pluginApi.unMute();this.muted=a;this.dispatchEvent("volumechange")}else this.pluginApi.setMuted(a);
|
33 |
-
this.muted=a}},setVideoSize:function(a,b){if(this.pluginElement.style){this.pluginElement.style.width=a+"px";this.pluginElement.style.height=b+"px"}this.pluginApi!=null&&this.pluginApi.setVideoSize&&this.pluginApi.setVideoSize(a,b)},setFullscreen:function(a){this.pluginApi!=null&&this.pluginApi.setFullscreen&&this.pluginApi.setFullscreen(a)},enterFullScreen:function(){this.pluginApi!=null&&this.pluginApi.setFullscreen&&this.setFullscreen(true)},exitFullScreen:function(){this.pluginApi!=null&&this.pluginApi.setFullscreen&&
|
34 |
-
this.setFullscreen(false)},addEventListener:function(a,b){this.events[a]=this.events[a]||[];this.events[a].push(b)},removeEventListener:function(a,b){if(!a){this.events={};return true}var c=this.events[a];if(!c)return true;if(!b){this.events[a]=[];return true}for(i=0;i<c.length;i++)if(c[i]===b){this.events[a].splice(i,1);return true}return false},dispatchEvent:function(a){var b,c,d=this.events[a];if(d){c=Array.prototype.slice.call(arguments,1);for(b=0;b<d.length;b++)d[b].apply(null,c)}},attributes:{},
|
35 |
-
hasAttribute:function(a){return a in this.attributes},removeAttribute:function(a){delete this.attributes[a]},getAttribute:function(a){if(this.hasAttribute(a))return this.attributes[a];return""},setAttribute:function(a,b){this.attributes[a]=b},remove:function(){mejs.Utility.removeSwf(this.pluginElement.id)}};
|
36 |
-
mejs.MediaPluginBridge={pluginMediaElements:{},htmlMediaElements:{},registerPluginElement:function(a,b,c){this.pluginMediaElements[a]=b;this.htmlMediaElements[a]=c},initPlugin:function(a){var b=this.pluginMediaElements[a],c=this.htmlMediaElements[a];if(b){switch(b.pluginType){case "flash":b.pluginElement=b.pluginApi=document.getElementById(a);break;case "silverlight":b.pluginElement=document.getElementById(b.id);b.pluginApi=b.pluginElement.Content.MediaElementJS}b.pluginApi!=null&&b.success&&b.success(b,
|
37 |
-
c)}},fireEvent:function(a,b,c){var d,e;a=this.pluginMediaElements[a];a.ended=false;a.paused=true;b={type:b,target:a};for(d in c){a[d]=c[d];b[d]=c[d]}e=c.bufferedTime||0;b.target.buffered=b.buffered={start:function(){return 0},end:function(){return e},length:1};a.dispatchEvent(b.type,b)}};
|
38 |
-
mejs.MediaElementDefaults={mode:"auto",plugins:["flash","silverlight","youtube","vimeo"],enablePluginDebug:false,type:"",pluginPath:mejs.Utility.getScriptPath(["mediaelement.js","mediaelement.min.js","mediaelement-and-player.js","mediaelement-and-player.min.js"]),flashName:"flashmediaelement.swf",flashStreamer:"",enablePluginSmoothing:false,silverlightName:"silverlightmediaelement.xap",defaultVideoWidth:480,defaultVideoHeight:270,pluginWidth:-1,pluginHeight:-1,pluginVars:[],timerRate:250,startVolume:0.8,
|
39 |
-
success:function(){},error:function(){}};mejs.MediaElement=function(a,b){return mejs.HtmlMediaElementShim.create(a,b)};
|
40 |
-
mejs.HtmlMediaElementShim={create:function(a,b){var c=mejs.MediaElementDefaults,d=typeof a=="string"?document.getElementById(a):a,e=d.tagName.toLowerCase(),g=e==="audio"||e==="video",f=g?d.getAttribute("src"):d.getAttribute("href");e=d.getAttribute("poster");var j=d.getAttribute("autoplay"),h=d.getAttribute("preload"),l=d.getAttribute("controls"),k;for(k in b)c[k]=b[k];f=typeof f=="undefined"||f===null||f==""?null:f;e=typeof e=="undefined"||e===null?"":e;h=typeof h=="undefined"||h===null||h==="false"?
|
41 |
-
"none":h;j=!(typeof j=="undefined"||j===null||j==="false");l=!(typeof l=="undefined"||l===null||l==="false");k=this.determinePlayback(d,c,mejs.MediaFeatures.supportsMediaTag,g,f);k.url=k.url!==null?mejs.Utility.absolutizeUrl(k.url):"";if(k.method=="native"){if(mejs.MediaFeatures.isBustedAndroid){d.src=k.url;d.addEventListener("click",function(){d.play()},false)}return this.updateNative(k,c,j,h)}else if(k.method!=="")return this.createPlugin(k,c,e,j,h,l);else{this.createErrorMessage(k,c,e);return this}},
|
42 |
-
determinePlayback:function(a,b,c,d,e){var g=[],f,j,h={method:"",url:"",htmlMediaElement:a,isVideo:a.tagName.toLowerCase()!="audio"},l,k;if(typeof b.type!="undefined"&&b.type!=="")if(typeof b.type=="string")g.push({type:b.type,url:e});else for(f=0;f<b.type.length;f++)g.push({type:b.type[f],url:e});else if(e!==null){j=this.formatType(e,a.getAttribute("type"));g.push({type:j,url:e})}else for(f=0;f<a.childNodes.length;f++){j=a.childNodes[f];if(j.nodeType==1&&j.tagName.toLowerCase()=="source"){e=j.getAttribute("src");
|
43 |
-
j=this.formatType(e,j.getAttribute("type"));g.push({type:j,url:e})}}if(!d&&g.length>0&&g[0].url!==null&&this.getTypeFromFile(g[0].url).indexOf("audio")>-1)h.isVideo=false;if(mejs.MediaFeatures.isBustedAndroid)a.canPlayType=function(m){return m.match(/video\/(mp4|m4v)/gi)!==null?"maybe":""};if(c&&(b.mode==="auto"||b.mode==="auto_plugin"||b.mode==="native")){if(!d){f=document.createElement(h.isVideo?"video":"audio");a.parentNode.insertBefore(f,a);a.style.display="none";h.htmlMediaElement=a=f}for(f=
|
44 |
-
0;f<g.length;f++)if(a.canPlayType(g[f].type).replace(/no/,"")!==""||a.canPlayType(g[f].type.replace(/mp3/,"mpeg")).replace(/no/,"")!==""){h.method="native";h.url=g[f].url;break}if(h.method==="native"){if(h.url!==null)a.src=h.url;if(b.mode!=="auto_plugin")return h}}if(b.mode==="auto"||b.mode==="auto_plugin"||b.mode==="shim")for(f=0;f<g.length;f++){j=g[f].type;for(a=0;a<b.plugins.length;a++){e=b.plugins[a];l=mejs.plugins[e];for(c=0;c<l.length;c++){k=l[c];if(k.version==null||mejs.PluginDetector.hasPluginVersion(e,
|
45 |
-
k.version))for(d=0;d<k.types.length;d++)if(j==k.types[d]){h.method=e;h.url=g[f].url;return h}}}}if(b.mode==="auto_plugin"&&h.method==="native")return h;if(h.method===""&&g.length>0)h.url=g[0].url;return h},formatType:function(a,b){return a&&!b?this.getTypeFromFile(a):b&&~b.indexOf(";")?b.substr(0,b.indexOf(";")):b},getTypeFromFile:function(a){a=a.substring(a.lastIndexOf(".")+1);return(/(mp4|m4v|ogg|ogv|webm|webmv|flv|wmv|mpeg|mov)/gi.test(a)?"video":"audio")+"/"+this.getTypeFromExtension(a)},getTypeFromExtension:function(a){switch(a){case "mp4":case "m4v":return"mp4";
|
46 |
-
case "webm":case "webma":case "webmv":return"webm";case "ogg":case "oga":case "ogv":return"ogg";default:return a}},createErrorMessage:function(a,b,c){var d=a.htmlMediaElement,e=document.createElement("div");e.className="me-cannotplay";try{e.style.width=d.width+"px";e.style.height=d.height+"px"}catch(g){}e.innerHTML=c!==""?'<a href="'+a.url+'"><img src="'+c+'" width="100%" height="100%" /></a>':'<a href="'+a.url+'"><span>Download File</span></a>';d.parentNode.insertBefore(e,d);d.style.display="none";
|
47 |
-
b.error(d)},createPlugin:function(a,b,c,d,e,g){c=a.htmlMediaElement;var f=1,j=1,h="me_"+a.method+"_"+mejs.meIndex++,l=new mejs.PluginMediaElement(h,a.method,a.url),k=document.createElement("div"),m;l.tagName=c.tagName;for(m=0;m<c.attributes.length;m++){var n=c.attributes[m];n.specified==true&&l.setAttribute(n.name,n.value)}for(m=c.parentNode;m!==null&&m.tagName.toLowerCase()!="body";){if(m.parentNode.tagName.toLowerCase()=="p"){m.parentNode.parentNode.insertBefore(m,m.parentNode);break}m=m.parentNode}if(a.isVideo){f=
|
48 |
-
b.videoWidth>0?b.videoWidth:c.getAttribute("width")!==null?c.getAttribute("width"):b.defaultVideoWidth;j=b.videoHeight>0?b.videoHeight:c.getAttribute("height")!==null?c.getAttribute("height"):b.defaultVideoHeight;f=mejs.Utility.encodeUrl(f);j=mejs.Utility.encodeUrl(j)}else if(b.enablePluginDebug){f=320;j=240}l.success=b.success;mejs.MediaPluginBridge.registerPluginElement(h,l,c);k.className="me-plugin";k.id=h+"_container";a.isVideo?c.parentNode.insertBefore(k,c):document.body.insertBefore(k,document.body.childNodes[0]);
|
49 |
-
d=["id="+h,"isvideo="+(a.isVideo?"true":"false"),"autoplay="+(d?"true":"false"),"preload="+e,"width="+f,"startvolume="+b.startVolume,"timerrate="+b.timerRate,"flashstreamer="+b.flashStreamer,"height="+j];if(a.url!==null)a.method=="flash"?d.push("file="+mejs.Utility.encodeUrl(a.url)):d.push("file="+a.url);b.enablePluginDebug&&d.push("debug=true");b.enablePluginSmoothing&&d.push("smoothing=true");g&&d.push("controls=true");if(b.pluginVars)d=d.concat(b.pluginVars);switch(a.method){case "silverlight":k.innerHTML=
|
50 |
-
'<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" id="'+h+'" name="'+h+'" width="'+f+'" height="'+j+'"><param name="initParams" value="'+d.join(",")+'" /><param name="windowless" value="true" /><param name="background" value="black" /><param name="minRuntimeVersion" value="3.0.0.0" /><param name="autoUpgrade" value="true" /><param name="source" value="'+b.pluginPath+b.silverlightName+'" /></object>';break;case "flash":if(mejs.MediaFeatures.isIE){a=document.createElement("div");
|
51 |
-
k.appendChild(a);a.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab" id="'+h+'" width="'+f+'" height="'+j+'"><param name="movie" value="'+b.pluginPath+b.flashName+"?x="+new Date+'" /><param name="flashvars" value="'+d.join("&")+'" /><param name="quality" value="high" /><param name="bgcolor" value="#000000" /><param name="wmode" value="transparent" /><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="true" /></object>'}else k.innerHTML=
|
52 |
-
'<embed id="'+h+'" name="'+h+'" play="true" loop="false" quality="high" bgcolor="#000000" wmode="transparent" allowScriptAccess="always" allowFullScreen="true" type="application/x-shockwave-flash" pluginspage="//www.macromedia.com/go/getflashplayer" src="'+b.pluginPath+b.flashName+'" flashvars="'+d.join("&")+'" width="'+f+'" height="'+j+'"></embed>';break;case "youtube":b=a.url.substr(a.url.lastIndexOf("=")+1);youtubeSettings={container:k,containerId:k.id,pluginMediaElement:l,pluginId:h,videoId:b,
|
53 |
-
height:j,width:f};mejs.PluginDetector.hasPluginVersion("flash",[10,0,0])?mejs.YouTubeApi.createFlash(youtubeSettings):mejs.YouTubeApi.enqueueIframe(youtubeSettings);break;case "vimeo":l.vimeoid=a.url.substr(a.url.lastIndexOf("/")+1);k.innerHTML='<object width="'+f+'" height="'+j+'"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="flashvars" value="api=1" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id='+l.vimeoid+'&server=vimeo.com&show_title=0&show_byline=0&show_portrait=0&color=00adef&fullscreen=1&autoplay=0&loop=0" /><embed src="//vimeo.com/moogaloop.swf?api=1&clip_id='+
|
54 |
-
l.vimeoid+'&server=vimeo.com&show_title=0&show_byline=0&show_portrait=0&color=00adef&fullscreen=1&autoplay=0&loop=0" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="'+f+'" height="'+j+'"></embed></object>'}c.style.display="none";return l},updateNative:function(a,b){var c=a.htmlMediaElement,d;for(d in mejs.HtmlMediaElement)c[d]=mejs.HtmlMediaElement[d];b.success(c,c);return c}};
|
55 |
-
mejs.YouTubeApi={isIframeStarted:false,isIframeLoaded:false,loadIframeApi:function(){if(!this.isIframeStarted){var a=document.createElement("script");a.src="http://www.youtube.com/player_api";var b=document.getElementsByTagName("script")[0];b.parentNode.insertBefore(a,b);this.isIframeStarted=true}},iframeQueue:[],enqueueIframe:function(a){if(this.isLoaded)this.createIframe(a);else{this.loadIframeApi();this.iframeQueue.push(a)}},createIframe:function(a){var b=a.pluginMediaElement,c=new YT.Player(a.containerId,
|
56 |
-
{height:a.height,width:a.width,videoId:a.videoId,playerVars:{controls:0},events:{onReady:function(){a.pluginMediaElement.pluginApi=c;mejs.MediaPluginBridge.initPlugin(a.pluginId);setInterval(function(){mejs.YouTubeApi.createEvent(c,b,"timeupdate")},250)},onStateChange:function(d){mejs.YouTubeApi.handleStateChange(d.data,c,b)}}})},createEvent:function(a,b,c){c={type:c,target:b};if(a&&a.getDuration){b.currentTime=c.currentTime=a.getCurrentTime();b.duration=c.duration=a.getDuration();c.paused=b.paused;
|
57 |
-
c.ended=b.ended;c.muted=a.isMuted();c.volume=a.getVolume()/100;c.bytesTotal=a.getVideoBytesTotal();c.bufferedBytes=a.getVideoBytesLoaded();var d=c.bufferedBytes/c.bytesTotal*c.duration;c.target.buffered=c.buffered={start:function(){return 0},end:function(){return d},length:1}}b.dispatchEvent(c.type,c)},iFrameReady:function(){for(this.isIframeLoaded=this.isLoaded=true;this.iframeQueue.length>0;)this.createIframe(this.iframeQueue.pop())},flashPlayers:{},createFlash:function(a){this.flashPlayers[a.pluginId]=
|
58 |
-
a;var b,c="http://www.youtube.com/apiplayer?enablejsapi=1&playerapiid="+a.pluginId+"&version=3&autoplay=0&controls=0&modestbranding=1&loop=0";if(mejs.MediaFeatures.isIE){b=document.createElement("div");a.container.appendChild(b);b.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab" id="'+a.pluginId+'" width="'+a.width+'" height="'+a.height+'"><param name="movie" value="'+c+'" /><param name="wmode" value="transparent" /><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="true" /></object>'}else a.container.innerHTML=
|
59 |
-
'<object type="application/x-shockwave-flash" id="'+a.pluginId+'" data="'+c+'" width="'+a.width+'" height="'+a.height+'" style="visibility: visible; "><param name="allowScriptAccess" value="always"><param name="wmode" value="transparent"></object>'},flashReady:function(a){var b=this.flashPlayers[a],c=document.getElementById(a),d=b.pluginMediaElement;d.pluginApi=d.pluginElement=c;mejs.MediaPluginBridge.initPlugin(a);c.cueVideoById(b.videoId);a=b.containerId+"_callback";window[a]=function(e){mejs.YouTubeApi.handleStateChange(e,
|
60 |
-
c,d)};c.addEventListener("onStateChange",a);setInterval(function(){mejs.YouTubeApi.createEvent(c,d,"timeupdate")},250)},handleStateChange:function(a,b,c){switch(a){case -1:c.paused=true;c.ended=true;mejs.YouTubeApi.createEvent(b,c,"loadedmetadata");break;case 0:c.paused=false;c.ended=true;mejs.YouTubeApi.createEvent(b,c,"ended");break;case 1:c.paused=false;c.ended=false;mejs.YouTubeApi.createEvent(b,c,"play");mejs.YouTubeApi.createEvent(b,c,"playing");break;case 2:c.paused=true;c.ended=false;mejs.YouTubeApi.createEvent(b,
|
61 |
-
c,"pause");break;case 3:mejs.YouTubeApi.createEvent(b,c,"progress")}}};function onYouTubePlayerAPIReady(){mejs.YouTubeApi.iFrameReady()}function onYouTubePlayerReady(a){mejs.YouTubeApi.flashReady(a)}window.mejs=mejs;window.MediaElement=mejs.MediaElement;
|
1 |
/*!
|
2 |
+
* MediaElement.js
|
3 |
+
* http://www.mediaelementjs.com/
|
4 |
+
*
|
5 |
+
* Wrapper that mimics native HTML5 MediaElement (audio and video)
|
6 |
+
* using a variety of technologies (pure JavaScript, Flash, iframe)
|
7 |
+
*
|
8 |
+
* Copyright 2010-2017, John Dyer (http://j.hn/)
|
9 |
+
* License: MIT
|
10 |
+
*
|
11 |
+
*/
|
12 |
+
!function e(t,n,r){function i(a,l){if(!n[a]){if(!t[a]){var s="function"==typeof require&&require;if(!l&&s)return s(a,!0);if(o)return o(a,!0);var d=new Error("Cannot find module '"+a+"'");throw d.code="MODULE_NOT_FOUND",d}var u=n[a]={exports:{}};t[a][0].call(u.exports,function(e){var n=t[a][1][e];return i(n||e)},u,u.exports,e,t,n,r)}return n[a].exports}for(var o="function"==typeof require&&require,a=0;a<r.length;a++)i(r[a]);return i}({1:[function(e,t,n){},{}],2:[function(e,t,n){(function(n){var r,i=void 0!==n?n:"undefined"!=typeof window?window:{},o=e(1);"undefined"!=typeof document?r=document:(r=i["__GLOBAL_DOCUMENT_CACHE@4"])||(r=i["__GLOBAL_DOCUMENT_CACHE@4"]=o),t.exports=r}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{1:1}],3:[function(e,t,n){(function(e){var n;n="undefined"!=typeof window?window:void 0!==e?e:"undefined"!=typeof self?self:{},t.exports=n}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],4:[function(e,t,n){!function(e){function n(){}function r(e){if("object"!=typeof this)throw new TypeError("Promises must be constructed via new");if("function"!=typeof e)throw new TypeError("not a function");this._state=0,this._handled=!1,this._value=void 0,this._deferreds=[],s(e,this)}function i(e,t){for(;3===e._state;)e=e._value;0!==e._state?(e._handled=!0,r._immediateFn(function(){var n=1===e._state?t.onFulfilled:t.onRejected;if(null!==n){var r;try{r=n(e._value)}catch(e){return void a(t.promise,e)}o(t.promise,r)}else(1===e._state?o:a)(t.promise,e._value)})):e._deferreds.push(t)}function o(e,t){try{if(t===e)throw new TypeError("A promise cannot be resolved with itself.");if(t&&("object"==typeof t||"function"==typeof t)){var n=t.then;if(t instanceof r)return e._state=3,e._value=t,void l(e);if("function"==typeof n)return void s(function(e,t){return function(){e.apply(t,arguments)}}(n,t),e)}e._state=1,e._value=t,l(e)}catch(t){a(e,t)}}function a(e,t){e._state=2,e._value=t,l(e)}function l(e){2===e._state&&0===e._deferreds.length&&r._immediateFn(function(){e._handled||r._unhandledRejectionFn(e._value)});for(var t=0,n=e._deferreds.length;t<n;t++)i(e,e._deferreds[t]);e._deferreds=null}function s(e,t){var n=!1;try{e(function(e){n||(n=!0,o(t,e))},function(e){n||(n=!0,a(t,e))})}catch(e){if(n)return;n=!0,a(t,e)}}var d=setTimeout;r.prototype.catch=function(e){return this.then(null,e)},r.prototype.then=function(e,t){var r=new this.constructor(n);return i(this,new function(e,t,n){this.onFulfilled="function"==typeof e?e:null,this.onRejected="function"==typeof t?t:null,this.promise=n}(e,t,r)),r},r.all=function(e){var t=Array.prototype.slice.call(e);return new r(function(e,n){function r(o,a){try{if(a&&("object"==typeof a||"function"==typeof a)){var l=a.then;if("function"==typeof l)return void l.call(a,function(e){r(o,e)},n)}t[o]=a,0==--i&&e(t)}catch(e){n(e)}}if(0===t.length)return e([]);for(var i=t.length,o=0;o<t.length;o++)r(o,t[o])})},r.resolve=function(e){return e&&"object"==typeof e&&e.constructor===r?e:new r(function(t){t(e)})},r.reject=function(e){return new r(function(t,n){n(e)})},r.race=function(e){return new r(function(t,n){for(var r=0,i=e.length;r<i;r++)e[r].then(t,n)})},r._immediateFn="function"==typeof setImmediate&&function(e){setImmediate(e)}||function(e){d(e,0)},r._unhandledRejectionFn=function(e){"undefined"!=typeof console&&console&&console.warn("Possible Unhandled Promise Rejection:",e)},r._setImmediateFn=function(e){r._immediateFn=e},r._setUnhandledRejectionFn=function(e){r._unhandledRejectionFn=e},void 0!==t&&t.exports?t.exports=r:e.Promise||(e.Promise=r)}(this)},{}],5:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i=function(e){return e&&e.__esModule?e:{default:e}}(e(7)),o=e(9),a=e(18),l={lang:"en",en:o.EN};l.language=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];if(null!==t&&void 0!==t&&t.length){if("string"!=typeof t[0])throw new TypeError("Language code must be a string value");if(!/^[a-z]{2,3}((\-|_)[a-z]{2})?$/i.test(t[0]))throw new TypeError("Language code must have format 2-3 letters and. optionally, hyphen, underscore followed by 2 more letters");l.lang=t[0],void 0===l[t[0]]?(t[1]=null!==t[1]&&void 0!==t[1]&&"object"===r(t[1])?t[1]:{},l[t[0]]=(0,a.isObjectEmpty)(t[1])?o.EN:t[1]):null!==t[1]&&void 0!==t[1]&&"object"===r(t[1])&&(l[t[0]]=t[1])}return l.lang},l.t=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if("string"==typeof e&&e.length){var n=void 0,i=void 0,o=l.language(),s=function(e,t,n){if("object"!==(void 0===e?"undefined":r(e))||"number"!=typeof t||"number"!=typeof n)return e;return[function(){return arguments.length<=1?void 0:arguments[1]},function(){return 1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:arguments.length<=2?void 0:arguments[2]},function(){return 0===(arguments.length<=0?void 0:arguments[0])||1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:arguments.length<=2?void 0:arguments[2]},function(){return(arguments.length<=0?void 0:arguments[0])%10==1&&(arguments.length<=0?void 0:arguments[0])%100!=11?arguments.length<=1?void 0:arguments[1]:0!==(arguments.length<=0?void 0:arguments[0])?arguments.length<=2?void 0:arguments[2]:arguments.length<=3?void 0:arguments[3]},function(){return 1===(arguments.length<=0?void 0:arguments[0])||11===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:2===(arguments.length<=0?void 0:arguments[0])||12===(arguments.length<=0?void 0:arguments[0])?arguments.length<=2?void 0:arguments[2]:(arguments.length<=0?void 0:arguments[0])>2&&(arguments.length<=0?void 0:arguments[0])<20?arguments.length<=3?void 0:arguments[3]:arguments.length<=4?void 0:arguments[4]},function(){return 1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:0===(arguments.length<=0?void 0:arguments[0])||(arguments.length<=0?void 0:arguments[0])%100>0&&(arguments.length<=0?void 0:arguments[0])%100<20?arguments.length<=2?void 0:arguments[2]:arguments.length<=3?void 0:arguments[3]},function(){return(arguments.length<=0?void 0:arguments[0])%10==1&&(arguments.length<=0?void 0:arguments[0])%100!=11?arguments.length<=1?void 0:arguments[1]:(arguments.length<=0?void 0:arguments[0])%10>=2&&((arguments.length<=0?void 0:arguments[0])%100<10||(arguments.length<=0?void 0:arguments[0])%100>=20)?arguments.length<=2?void 0:arguments[2]:[3]},function(){return(arguments.length<=0?void 0:arguments[0])%10==1&&(arguments.length<=0?void 0:arguments[0])%100!=11?arguments.length<=1?void 0:arguments[1]:(arguments.length<=0?void 0:arguments[0])%10>=2&&(arguments.length<=0?void 0:arguments[0])%10<=4&&((arguments.length<=0?void 0:arguments[0])%100<10||(arguments.length<=0?void 0:arguments[0])%100>=20)?arguments.length<=2?void 0:arguments[2]:arguments.length<=3?void 0:arguments[3]},function(){return 1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:(arguments.length<=0?void 0:arguments[0])>=2&&(arguments.length<=0?void 0:arguments[0])<=4?arguments.length<=2?void 0:arguments[2]:arguments.length<=3?void 0:arguments[3]},function(){return 1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:(arguments.length<=0?void 0:arguments[0])%10>=2&&(arguments.length<=0?void 0:arguments[0])%10<=4&&((arguments.length<=0?void 0:arguments[0])%100<10||(arguments.length<=0?void 0:arguments[0])%100>=20)?arguments.length<=2?void 0:arguments[2]:arguments.length<=3?void 0:arguments[3]},function(){return(arguments.length<=0?void 0:arguments[0])%100==1?arguments.length<=2?void 0:arguments[2]:(arguments.length<=0?void 0:arguments[0])%100==2?arguments.length<=3?void 0:arguments[3]:(arguments.length<=0?void 0:arguments[0])%100==3||(arguments.length<=0?void 0:arguments[0])%100==4?arguments.length<=4?void 0:arguments[4]:arguments.length<=1?void 0:arguments[1]},function(){return 1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:2===(arguments.length<=0?void 0:arguments[0])?arguments.length<=2?void 0:arguments[2]:(arguments.length<=0?void 0:arguments[0])>2&&(arguments.length<=0?void 0:arguments[0])<7?arguments.length<=3?void 0:arguments[3]:(arguments.length<=0?void 0:arguments[0])>6&&(arguments.length<=0?void 0:arguments[0])<11?arguments.length<=4?void 0:arguments[4]:arguments.length<=5?void 0:arguments[5]},function(){return 0===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=2?void 0:arguments[2]:2===(arguments.length<=0?void 0:arguments[0])?arguments.length<=3?void 0:arguments[3]:(arguments.length<=0?void 0:arguments[0])%100>=3&&(arguments.length<=0?void 0:arguments[0])%100<=10?arguments.length<=4?void 0:arguments[4]:(arguments.length<=0?void 0:arguments[0])%100>=11?arguments.length<=5?void 0:arguments[5]:arguments.length<=6?void 0:arguments[6]},function(){return 1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:0===(arguments.length<=0?void 0:arguments[0])||(arguments.length<=0?void 0:arguments[0])%100>1&&(arguments.length<=0?void 0:arguments[0])%100<11?arguments.length<=2?void 0:arguments[2]:(arguments.length<=0?void 0:arguments[0])%100>10&&(arguments.length<=0?void 0:arguments[0])%100<20?arguments.length<=3?void 0:arguments[3]:arguments.length<=4?void 0:arguments[4]},function(){return(arguments.length<=0?void 0:arguments[0])%10==1?arguments.length<=1?void 0:arguments[1]:(arguments.length<=0?void 0:arguments[0])%10==2?arguments.length<=2?void 0:arguments[2]:arguments.length<=3?void 0:arguments[3]},function(){return 11!==(arguments.length<=0?void 0:arguments[0])&&(arguments.length<=0?void 0:arguments[0])%10==1?arguments.length<=1?void 0:arguments[1]:arguments.length<=2?void 0:arguments[2]},function(){return 1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:(arguments.length<=0?void 0:arguments[0])%10>=2&&(arguments.length<=0?void 0:arguments[0])%10<=4&&((arguments.length<=0?void 0:arguments[0])%100<10||(arguments.length<=0?void 0:arguments[0])%100>=20)?arguments.length<=2?void 0:arguments[2]:arguments.length<=3?void 0:arguments[3]},function(){return 1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:2===(arguments.length<=0?void 0:arguments[0])?arguments.length<=2?void 0:arguments[2]:8!==(arguments.length<=0?void 0:arguments[0])&&11!==(arguments.length<=0?void 0:arguments[0])?arguments.length<=3?void 0:arguments[3]:arguments.length<=4?void 0:arguments[4]},function(){return 0===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:arguments.length<=2?void 0:arguments[2]},function(){return 1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:2===(arguments.length<=0?void 0:arguments[0])?arguments.length<=2?void 0:arguments[2]:3===(arguments.length<=0?void 0:arguments[0])?arguments.length<=3?void 0:arguments[3]:arguments.length<=4?void 0:arguments[4]},function(){return 0===(arguments.length<=0?void 0:arguments[0])?arguments.length<=1?void 0:arguments[1]:1===(arguments.length<=0?void 0:arguments[0])?arguments.length<=2?void 0:arguments[2]:arguments.length<=3?void 0:arguments[3]}][n].apply(null,[t].concat(e))};return void 0!==l[o]&&(n=l[o][e],null!==t&&"number"==typeof t&&(i=l[o]["mejs.plural-form"],n=s.apply(null,[n,t,i]))),!n&&l.en&&(n=l.en[e],null!==t&&"number"==typeof t&&(i=l.en["mejs.plural-form"],n=s.apply(null,[n,t,i]))),n=n||e,null!==t&&"number"==typeof t&&(n=n.replace("%1",t)),(0,a.escapeHTML)(n)}return e},i.default.i18n=l,"undefined"!=typeof mejsL10n&&i.default.i18n.language(mejsL10n.language,mejsL10n.strings),n.default=l},{18:18,7:7,9:9}],6:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(n,"__esModule",{value:!0});var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o=r(e(3)),a=r(e(2)),l=r(e(7)),s=e(18),d=e(19),u=e(8),c=e(16),f=function e(t,n,r){var f=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e);var m=this;r=Array.isArray(r)?r:null,m.defaults={renderers:[],fakeNodeName:"mediaelementwrapper",pluginPath:"build/",shimScriptAccess:"sameDomain"},n=Object.assign(m.defaults,n),m.mediaElement=a.default.createElement(n.fakeNodeName);var p=t,h=!1;if("string"==typeof t?m.mediaElement.originalNode=a.default.getElementById(t):(m.mediaElement.originalNode=t,p=t.id),void 0===m.mediaElement.originalNode||null===m.mediaElement.originalNode)return null;m.mediaElement.options=n,p=p||"mejs_"+Math.random().toString().slice(2),m.mediaElement.originalNode.setAttribute("id",p+"_from_mejs");var v=m.mediaElement.originalNode.tagName.toLowerCase();["video","audio"].indexOf(v)>-1&&!m.mediaElement.originalNode.getAttribute("preload")&&m.mediaElement.originalNode.setAttribute("preload","none"),m.mediaElement.originalNode.parentNode.insertBefore(m.mediaElement,m.mediaElement.originalNode),m.mediaElement.appendChild(m.mediaElement.originalNode);var g=function(e,t){if("https:"===o.default.location.protocol&&0===e.indexOf("http:")&&c.IS_IOS&&l.default.html5media.mediaTypes.indexOf(t)>-1){var n=new XMLHttpRequest;n.onreadystatechange=function(){if(4===this.readyState&&200===this.status){var t=(o.default.URL||o.default.webkitURL).createObjectURL(this.response);return m.mediaElement.originalNode.setAttribute("src",t),t}return e},n.open("GET",e),n.responseType="blob",n.send()}return e},y=void 0;if(null!==r)y=r;else if(null!==m.mediaElement.originalNode)switch(y=[],m.mediaElement.originalNode.nodeName.toLowerCase()){case"iframe":y.push({type:"",src:m.mediaElement.originalNode.getAttribute("src")});break;case"audio":case"video":var E=m.mediaElement.originalNode.children.length,b=m.mediaElement.originalNode.getAttribute("src");if(b){var w=m.mediaElement.originalNode,_=(0,d.formatType)(b,w.getAttribute("type"));y.push({type:_,src:g(b,_)})}for(var S=0;S<E;S++){var N=m.mediaElement.originalNode.children[S];if("source"===N.tagName.toLowerCase()){var j=N.getAttribute("src"),A=(0,d.formatType)(j,N.getAttribute("type"));y.push({type:A,src:g(j,A)})}}}m.mediaElement.id=p,m.mediaElement.renderers={},m.mediaElement.events={},m.mediaElement.promises=[],m.mediaElement.renderer=null,m.mediaElement.rendererName=null,m.mediaElement.changeRenderer=function(e,t){var n=f,r=Object.keys(t[0]).length>2?t[0]:t[0].src;if(void 0!==n.mediaElement.renderer&&null!==n.mediaElement.renderer&&n.mediaElement.renderer.name===e)return n.mediaElement.renderer.pause(),n.mediaElement.renderer.stop&&n.mediaElement.renderer.stop(),n.mediaElement.renderer.show(),n.mediaElement.renderer.setSrc(r),!0;void 0!==n.mediaElement.renderer&&null!==n.mediaElement.renderer&&(n.mediaElement.renderer.pause(),n.mediaElement.renderer.stop&&n.mediaElement.renderer.stop(),n.mediaElement.renderer.hide());var i=n.mediaElement.renderers[e],o=null;if(void 0!==i&&null!==i)return i.show(),i.setSrc(r),n.mediaElement.renderer=i,n.mediaElement.rendererName=e,!0;for(var a=n.mediaElement.options.renderers.length?n.mediaElement.options.renderers:u.renderer.order,l=0,s=a.length;l<s;l++){var d=a[l];if(d===e){o=u.renderer.renderers[d];var c=Object.assign(o.options,n.mediaElement.options);return i=o.create(n.mediaElement,c,t),i.name=e,n.mediaElement.renderers[o.name]=i,n.mediaElement.renderer=i,n.mediaElement.rendererName=e,i.show(),!0}}return!1},m.mediaElement.setSize=function(e,t){void 0!==m.mediaElement.renderer&&null!==m.mediaElement.renderer&&m.mediaElement.renderer.setSize(e,t)},m.mediaElement.generateError=function(e,t){e=e||"",t=Array.isArray(t)?t:[];var n=(0,s.createEvent)("error",m.mediaElement);n.message=e,n.urls=t,m.mediaElement.dispatchEvent(n),h=!0};var T=l.default.html5media.properties,F=l.default.html5media.methods,P=function(e,t,n,r){var i=e[t];Object.defineProperty(e,t,{get:function(){return n.apply(e,[i])},set:function(t){return i=r.apply(e,[t])}})},x=function(e){if("src"!==e){var t=""+e.substring(0,1).toUpperCase()+e.substring(1),n=function(){return void 0!==m.mediaElement.renderer&&null!==m.mediaElement.renderer&&"function"==typeof m.mediaElement.renderer["get"+t]?m.mediaElement.renderer["get"+t]():null},r=function(e){void 0!==m.mediaElement.renderer&&null!==m.mediaElement.renderer&&"function"==typeof m.mediaElement.renderer["set"+t]&&m.mediaElement.renderer["set"+t](e)};P(m.mediaElement,e,n,r),m.mediaElement["get"+t]=n,m.mediaElement["set"+t]=r}},L=function(){return void 0!==m.mediaElement.renderer&&null!==m.mediaElement.renderer?m.mediaElement.renderer.getSrc():null},O=function(e){var t=[];if("string"==typeof e)t.push({src:e,type:e?(0,d.getTypeFromFile)(e):""});else if("object"===(void 0===e?"undefined":i(e))&&void 0!==e.src){var n=(0,d.absolutizeUrl)(e.src),r=e.type,o=Object.assign(e,{src:n,type:""!==r&&null!==r&&void 0!==r||!n?r:(0,d.getTypeFromFile)(n)});t.push(o)}else if(Array.isArray(e))for(var a=0,l=e.length;a<l;a++){var c=(0,d.absolutizeUrl)(e[a].src),f=e[a].type,p=Object.assign(e[a],{src:c,type:""!==f&&null!==f&&void 0!==f||!c?f:(0,d.getTypeFromFile)(c)});t.push(p)}var h=u.renderer.select(t,m.mediaElement.options.renderers.length?m.mediaElement.options.renderers:[]),v=void 0;if(m.mediaElement.paused||(m.mediaElement.pause(),v=(0,s.createEvent)("pause",m.mediaElement),m.mediaElement.dispatchEvent(v)),m.mediaElement.originalNode.src=t[0].src||"",null!==h||!t[0].src)return t[0].src?m.mediaElement.changeRenderer(h.rendererName,t):null;m.mediaElement.generateError("No renderer found",t)},C=function(e,t){try{if("play"===e&&"native_dash"===m.mediaElement.rendererName){var n=m.mediaElement.renderer[e](t);n&&"function"==typeof n.then&&n.catch(function(){m.mediaElement.paused&&setTimeout(function(){var e=m.mediaElement.renderer.play();void 0!==e&&e.catch(function(){m.mediaElement.renderer.paused||m.mediaElement.renderer.pause()})},150)})}else m.mediaElement.renderer[e](t)}catch(e){m.mediaElement.generateError(e,y)}},I=function(e){m.mediaElement[e]=function(){for(var t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];return void 0!==m.mediaElement.renderer&&null!==m.mediaElement.renderer&&"function"==typeof m.mediaElement.renderer[e]&&(m.mediaElement.promises.length?Promise.all(m.mediaElement.promises).then(function(){C(e,n)}).catch(function(e){m.mediaElement.generateError(e,y)}):C(e,n)),null}};P(m.mediaElement,"src",L,O),m.mediaElement.getSrc=L,m.mediaElement.setSrc=O;for(var k=0,U=T.length;k<U;k++)x(T[k]);for(var M=0,R=F.length;M<R;M++)I(F[M]);return m.mediaElement.addEventListener=function(e,t){m.mediaElement.events[e]=m.mediaElement.events[e]||[],m.mediaElement.events[e].push(t)},m.mediaElement.removeEventListener=function(e,t){if(!e)return m.mediaElement.events={},!0;var n=m.mediaElement.events[e];if(!n)return!0;if(!t)return m.mediaElement.events[e]=[],!0;for(var r=0;r<n.length;r++)if(n[r]===t)return m.mediaElement.events[e].splice(r,1),!0;return!1},m.mediaElement.dispatchEvent=function(e){var t=m.mediaElement.events[e.type];if(t)for(var n=0;n<t.length;n++)t[n].apply(null,[e])},m.mediaElement.destroy=function(){var e=m.mediaElement.originalNode.cloneNode(!0),t=m.mediaElement.parentElement;e.removeAttribute("id"),e.remove(),m.mediaElement.remove(),t.append(e)},y.length&&(m.mediaElement.src=y),m.mediaElement.promises.length?Promise.all(m.mediaElement.promises).then(function(){m.mediaElement.options.success&&m.mediaElement.options.success(m.mediaElement,m.mediaElement.originalNode)}).catch(function(){h&&m.mediaElement.options.error&&m.mediaElement.options.error(m.mediaElement,m.mediaElement.originalNode)}):(m.mediaElement.options.success&&m.mediaElement.options.success(m.mediaElement,m.mediaElement.originalNode),h&&m.mediaElement.options.error&&m.mediaElement.options.error(m.mediaElement,m.mediaElement.originalNode)),m.mediaElement};o.default.MediaElement=f,l.default.MediaElement=f,n.default=f},{16:16,18:18,19:19,2:2,3:3,7:7,8:8}],7:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r=function(e){return e&&e.__esModule?e:{default:e}}(e(3)),i={};i.version="4.2.8",i.html5media={properties:["volume","src","currentTime","muted","duration","paused","ended","buffered","error","networkState","readyState","seeking","seekable","currentSrc","preload","bufferedBytes","bufferedTime","initialTime","startOffsetTime","defaultPlaybackRate","playbackRate","played","autoplay","loop","controls"],readOnlyProperties:["duration","paused","ended","buffered","error","networkState","readyState","seeking","seekable"],methods:["load","play","pause","canPlayType"],events:["loadstart","durationchange","loadedmetadata","loadeddata","progress","canplay","canplaythrough","suspend","abort","error","emptied","stalled","play","playing","pause","waiting","seeking","seeked","timeupdate","ended","ratechange","volumechange"],mediaTypes:["audio/mp3","audio/ogg","audio/oga","audio/wav","audio/x-wav","audio/wave","audio/x-pn-wav","audio/mpeg","audio/mp4","video/mp4","video/webm","video/ogg","video/ogv"]},r.default.mejs=i,n.default=i},{3:3}],8:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.renderer=void 0;var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=function(e){return e&&e.__esModule?e:{default:e}}(e(7)),a=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.renderers={},this.order=[]}return i(e,[{key:"add",value:function(e){if(void 0===e.name)throw new TypeError("renderer must contain at least `name` property");this.renderers[e.name]=e,this.order.push(e.name)}},{key:"select",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=t.length;if(t=t.length?t:this.order,!n){var r=[/^(html5|native)/i,/^flash/i,/iframe$/i],i=function(e){for(var t=0,n=r.length;t<n;t++)if(r[t].test(e))return t;return r.length};t.sort(function(e,t){return i(e)-i(t)})}for(var o=0,a=t.length;o<a;o++){var l=t[o],s=this.renderers[l];if(null!==s&&void 0!==s)for(var d=0,u=e.length;d<u;d++)if("function"==typeof s.canPlayType&&"string"==typeof e[d].type&&s.canPlayType(e[d].type))return{rendererName:s.name,src:e[d].src}}return null}},{key:"order",set:function(e){if(!Array.isArray(e))throw new TypeError("order must be an array of strings.");this._order=e},get:function(){return this._order}},{key:"renderers",set:function(e){if(null!==e&&"object"!==(void 0===e?"undefined":r(e)))throw new TypeError("renderers must be an array of objects.");this._renderers=e},get:function(){return this._renderers}}]),e}(),l=n.renderer=new a;o.default.Renderers=l},{7:7}],9:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});n.EN={"mejs.plural-form":1,"mejs.download-file":"Download File","mejs.install-flash":"You are using a browser that does not have Flash player enabled or installed. Please turn on your Flash player plugin or download the latest version from https://get.adobe.com/flashplayer/","mejs.fullscreen":"Fullscreen","mejs.play":"Play","mejs.pause":"Pause","mejs.time-slider":"Time Slider","mejs.time-help-text":"Use Left/Right Arrow keys to advance one second, Up/Down arrows to advance ten seconds.","mejs.live-broadcast":"Live Broadcast","mejs.volume-help-text":"Use Up/Down Arrow keys to increase or decrease volume.","mejs.unmute":"Unmute","mejs.mute":"Mute","mejs.volume-slider":"Volume Slider","mejs.video-player":"Video Player","mejs.audio-player":"Audio Player","mejs.captions-subtitles":"Captions/Subtitles","mejs.captions-chapters":"Chapters","mejs.none":"None","mejs.afrikaans":"Afrikaans","mejs.albanian":"Albanian","mejs.arabic":"Arabic","mejs.belarusian":"Belarusian","mejs.bulgarian":"Bulgarian","mejs.catalan":"Catalan","mejs.chinese":"Chinese","mejs.chinese-simplified":"Chinese (Simplified)","mejs.chinese-traditional":"Chinese (Traditional)","mejs.croatian":"Croatian","mejs.czech":"Czech","mejs.danish":"Danish","mejs.dutch":"Dutch","mejs.english":"English","mejs.estonian":"Estonian","mejs.filipino":"Filipino","mejs.finnish":"Finnish","mejs.french":"French","mejs.galician":"Galician","mejs.german":"German","mejs.greek":"Greek","mejs.haitian-creole":"Haitian Creole","mejs.hebrew":"Hebrew","mejs.hindi":"Hindi","mejs.hungarian":"Hungarian","mejs.icelandic":"Icelandic","mejs.indonesian":"Indonesian","mejs.irish":"Irish","mejs.italian":"Italian","mejs.japanese":"Japanese","mejs.korean":"Korean","mejs.latvian":"Latvian","mejs.lithuanian":"Lithuanian","mejs.macedonian":"Macedonian","mejs.malay":"Malay","mejs.maltese":"Maltese","mejs.norwegian":"Norwegian","mejs.persian":"Persian","mejs.polish":"Polish","mejs.portuguese":"Portuguese","mejs.romanian":"Romanian","mejs.russian":"Russian","mejs.serbian":"Serbian","mejs.slovak":"Slovak","mejs.slovenian":"Slovenian","mejs.spanish":"Spanish","mejs.swahili":"Swahili","mejs.swedish":"Swedish","mejs.tagalog":"Tagalog","mejs.thai":"Thai","mejs.turkish":"Turkish","mejs.ukrainian":"Ukrainian","mejs.vietnamese":"Vietnamese","mejs.welsh":"Welsh","mejs.yiddish":"Yiddish"}},{}],10:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o=r(e(3)),a=r(e(7)),l=e(8),s=e(18),d=e(19),u=e(16),c=e(17),f={promise:null,load:function(e){return"undefined"!=typeof dashjs?f.promise=new Promise(function(e){e()}).then(function(){f._createPlayer(e)}):(e.options.path="string"==typeof e.options.path?e.options.path:"https://cdn.dashjs.org/latest/dash.all.min.js",f.promise=f.promise||(0,c.loadScript)(e.options.path),f.promise.then(function(){f._createPlayer(e)})),f.promise},_createPlayer:function(e){var t=dashjs.MediaPlayer().create();return o.default["__ready__"+e.id](t),t}},m={name:"native_dash",options:{prefix:"native_dash",dash:{path:"https://cdn.dashjs.org/latest/dash.all.min.js",debug:!1,drm:{},robustnessLevel:""}},canPlayType:function(e){return u.HAS_MSE&&["application/dash+xml"].indexOf(e.toLowerCase())>-1},create:function(e,t,n){var r=e.originalNode,d=e.id+"_"+t.prefix,u=r.autoplay,c=r.children,m=null,p=null;r.removeAttribute("type");for(var h=0,v=c.length;h<v;h++)c[h].removeAttribute("type");m=r.cloneNode(!0),t=Object.assign(t,e.options);for(var g=a.default.html5media.properties,y=a.default.html5media.events.concat(["click","mouseover","mouseout"]).filter(function(e){return"error"!==e}),E=function(t){var n=(0,s.createEvent)(t.type,e);e.dispatchEvent(n)},b=function(e){var n=""+e.substring(0,1).toUpperCase()+e.substring(1);m["get"+n]=function(){return null!==p?m[e]:null},m["set"+n]=function(n){if(-1===a.default.html5media.readOnlyProperties.indexOf(e))if("src"===e){var r="object"===(void 0===n?"undefined":i(n))&&n.src?n.src:n;if(m[e]=r,null!==p){p.reset();for(var o=0,l=y.length;o<l;o++)m.removeEventListener(y[o],E);p=f._createPlayer({options:t.dash,id:d}),n&&"object"===(void 0===n?"undefined":i(n))&&"object"===i(n.drm)&&(p.setProtectionData(n.drm),(0,s.isString)(t.dash.robustnessLevel)&&t.dash.robustnessLevel&&p.getProtectionController().setRobustnessLevel(t.dash.robustnessLevel)),p.attachSource(r),u&&p.play()}}else m[e]=n}},w=0,_=g.length;w<_;w++)b(g[w]);if(o.default["__ready__"+d]=function(n){e.dashPlayer=p=n;for(var r=dashjs.MediaPlayer.events,o=function(e){"loadedmetadata"===e&&(p.getDebug().setLogToBrowserConsole(t.dash.debug),p.initialize(),p.setScheduleWhilePaused(!1),p.setFastSwitchEnabled(!0),p.attachView(m),p.setAutoPlay(!1),"object"!==i(t.dash.drm)||a.default.Utils.isObjectEmpty(t.dash.drm)||(p.setProtectionData(t.dash.drm),(0,s.isString)(t.dash.robustnessLevel)&&t.dash.robustnessLevel&&p.getProtectionController().setRobustnessLevel(t.dash.robustnessLevel)),p.attachSource(m.getSrc())),m.addEventListener(e,E)},l=0,d=y.length;l<d;l++)o(y[l]);var u=function(t){if("error"===t.type.toLowerCase())e.generateError(t.message,m.src),console.error(t);else{var n=(0,s.createEvent)(t.type,e);n.data=t,e.dispatchEvent(n)}};for(var c in r)r.hasOwnProperty(c)&&p.on(r[c],function(e){return u(e)})},n&&n.length>0)for(var S=0,N=n.length;S<N;S++)if(l.renderer.renderers[t.prefix].canPlayType(n[S].type)){m.setAttribute("src",n[S].src),void 0!==n[S].drm&&(t.dash.drm=n[S].drm);break}m.setAttribute("id",d),r.parentNode.insertBefore(m,r),r.autoplay=!1,r.style.display="none",m.setSize=function(e,t){return m.style.width=e+"px",m.style.height=t+"px",m},m.hide=function(){return m.pause(),m.style.display="none",m},m.show=function(){return m.style.display="",m},m.destroy=function(){null!==p&&p.reset()};var j=(0,s.createEvent)("rendererready",m);return e.dispatchEvent(j),e.promises.push(f.load({options:t.dash,id:d})),m}};d.typeChecks.push(function(e){return~e.toLowerCase().indexOf(".mpd")?"application/dash+xml":null}),l.renderer.add(m)},{16:16,17:17,18:18,19:19,3:3,7:7,8:8}],11:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(n,"__esModule",{value:!0}),n.PluginDetector=void 0;var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o=r(e(3)),a=r(e(2)),l=r(e(7)),s=r(e(5)),d=e(8),u=e(18),c=e(16),f=e(19),m=n.PluginDetector={plugins:[],hasPluginVersion:function(e,t){var n=m.plugins[e];return t[1]=t[1]||0,t[2]=t[2]||0,n[0]>t[0]||n[0]===t[0]&&n[1]>t[1]||n[0]===t[0]&&n[1]===t[1]&&n[2]>=t[2]},addPlugin:function(e,t,n,r,i){m.plugins[e]=m.detectPlugin(t,n,r,i)},detectPlugin:function(e,t,n,r){var a=[0,0,0],l=void 0,s=void 0;if(null!==c.NAV.plugins&&void 0!==c.NAV.plugins&&"object"===i(c.NAV.plugins[e])){if((l=c.NAV.plugins[e].description)&&(void 0===c.NAV.mimeTypes||!c.NAV.mimeTypes[t]||c.NAV.mimeTypes[t].enabledPlugin))for(var d=0,u=(a=l.replace(e,"").replace(/^\s+/,"").replace(/\sr/gi,".").split(".")).length;d<u;d++)a[d]=parseInt(a[d].match(/\d+/),10)}else if(void 0!==o.default.ActiveXObject)try{(s=new ActiveXObject(n))&&(a=r(s))}catch(e){}return a}};m.addPlugin("flash","Shockwave Flash","application/x-shockwave-flash","ShockwaveFlash.ShockwaveFlash",function(e){var t=[],n=e.GetVariable("$version");return n&&(n=n.split(" ")[1].split(","),t=[parseInt(n[0],10),parseInt(n[1],10),parseInt(n[2],10)]),t});var p=function(e,t,n){var r={},i=!1;r.options=t,r.id=e.id+"_"+r.options.prefix,r.mediaElement=e,r.flashState={},r.flashApi=null,r.flashApiStack=[];for(var m=l.default.html5media.properties,p=function(e){r.flashState[e]=null;var t=""+e.substring(0,1).toUpperCase()+e.substring(1);r["get"+t]=function(){if(null!==r.flashApi){if("function"==typeof r.flashApi["get_"+e]){var t=r.flashApi["get_"+e]();return"buffered"===e?{start:function(){return 0},end:function(){return t},length:1}:t}return null}return null},r["set"+t]=function(t){if("src"===e&&(t=(0,f.absolutizeUrl)(t)),null!==r.flashApi&&void 0!==r.flashApi["set_"+e])try{r.flashApi["set_"+e](t)}catch(e){}else r.flashApiStack.push({type:"set",propName:e,value:t})}},h=0,v=m.length;h<v;h++)p(m[h]);var g=l.default.html5media.methods,y=function(e){r[e]=function(){if(i)if(null!==r.flashApi){if(r.flashApi["fire_"+e])try{r.flashApi["fire_"+e]()}catch(e){}}else r.flashApiStack.push({type:"call",methodName:e})}};g.push("stop");for(var E=0,b=g.length;E<b;E++)y(g[E]);for(var w=["rendererready"],_=0,S=w.length;_<S;_++){var N=(0,u.createEvent)(w[_],r);e.dispatchEvent(N)}o.default["__ready__"+r.id]=function(){if(r.flashReady=!0,r.flashApi=a.default.getElementById("__"+r.id),r.flashApiStack.length)for(var e=0,t=r.flashApiStack.length;e<t;e++){var n=r.flashApiStack[e];if("set"===n.type){var i=n.propName,o=""+i.substring(0,1).toUpperCase()+i.substring(1);r["set"+o](n.value)}else"call"===n.type&&r[n.methodName]()}},o.default["__event__"+r.id]=function(e,t){var n=(0,u.createEvent)(e,r);if(t)try{n.data=JSON.parse(t),n.details.data=JSON.parse(t)}catch(e){n.message=t}r.mediaElement.dispatchEvent(n)},r.flashWrapper=a.default.createElement("div"),-1===["always","sameDomain"].indexOf(r.options.shimScriptAccess)&&(r.options.shimScriptAccess="sameDomain");var j=e.originalNode.autoplay,A=["uid="+r.id,"autoplay="+j,"allowScriptAccess="+r.options.shimScriptAccess,"preload="+(e.originalNode.getAttribute("preload")||"")],T=null!==e.originalNode&&"video"===e.originalNode.tagName.toLowerCase(),F=T?e.originalNode.height:1,P=T?e.originalNode.width:1;e.originalNode.getAttribute("src")&&A.push("src="+e.originalNode.getAttribute("src")),!0===r.options.enablePseudoStreaming&&(A.push("pseudostreamstart="+r.options.pseudoStreamingStartQueryParam),A.push("pseudostreamtype="+r.options.pseudoStreamingType)),r.options.streamDelimiter&&A.push("streamdelimiter="+encodeURIComponent(r.options.streamDelimiter)),r.options.proxyType&&A.push("proxytype="+r.options.proxyType),e.appendChild(r.flashWrapper),e.originalNode.style.display="none";var x=[];if(c.IS_IE||c.IS_EDGE){var L=a.default.createElement("div");r.flashWrapper.appendChild(L),x=c.IS_EDGE?['type="application/x-shockwave-flash"','data="'+r.options.pluginPath+r.options.filename+'"','id="__'+r.id+'"','width="'+P+'"','height="'+F+"'\""]:['classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"','codebase="//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab"','id="__'+r.id+'"','width="'+P+'"','height="'+F+'"'],T||x.push('style="clip: rect(0 0 0 0); position: absolute;"'),L.outerHTML="<object "+x.join(" ")+'><param name="movie" value="'+r.options.pluginPath+r.options.filename+"?x="+new Date+'" /><param name="flashvars" value="'+A.join("&")+'" /><param name="quality" value="high" /><param name="bgcolor" value="#000000" /><param name="wmode" value="transparent" /><param name="allowScriptAccess" value="'+r.options.shimScriptAccess+'" /><param name="allowFullScreen" value="true" /><div>'+s.default.t("mejs.install-flash")+"</div></object>"}else x=['id="__'+r.id+'"','name="__'+r.id+'"','play="true"','loop="false"','quality="high"','bgcolor="#000000"','wmode="transparent"','allowScriptAccess="'+r.options.shimScriptAccess+'"','allowFullScreen="true"','type="application/x-shockwave-flash"','pluginspage="//www.macromedia.com/go/getflashplayer"','src="'+r.options.pluginPath+r.options.filename+'"','flashvars="'+A.join("&")+'"'],T?(x.push('width="'+P+'"'),x.push('height="'+F+'"')):x.push('style="position: fixed; left: -9999em; top: -9999em;"'),r.flashWrapper.innerHTML="<embed "+x.join(" ")+">";if(r.flashNode=r.flashWrapper.lastChild,r.hide=function(){i=!1,T&&(r.flashNode.style.display="none")},r.show=function(){i=!0,T&&(r.flashNode.style.display="")},r.setSize=function(e,t){r.flashNode.style.width=e+"px",r.flashNode.style.height=t+"px",null!==r.flashApi&&"function"==typeof r.flashApi.fire_setSize&&r.flashApi.fire_setSize(e,t)},r.destroy=function(){r.flashNode.remove()},n&&n.length>0)for(var O=0,C=n.length;O<C;O++)if(d.renderer.renderers[t.prefix].canPlayType(n[O].type)){r.setSrc(n[O].src);break}return r};if(m.hasPluginVersion("flash",[10,0,0])){f.typeChecks.push(function(e){return(e=e.toLowerCase()).startsWith("rtmp")?~e.indexOf(".mp3")?"audio/rtmp":"video/rtmp":/\.og(a|g)/i.test(e)?"audio/ogg":~e.indexOf(".m3u8")?"application/x-mpegURL":~e.indexOf(".mpd")?"application/dash+xml":~e.indexOf(".flv")?"video/flv":null});var h={name:"flash_video",options:{prefix:"flash_video",filename:"mediaelement-flash-video.swf",enablePseudoStreaming:!1,pseudoStreamingStartQueryParam:"start",pseudoStreamingType:"byte",proxyType:"",streamDelimiter:""},canPlayType:function(e){return~["video/mp4","video/rtmp","audio/rtmp","rtmp/mp4","audio/mp4","video/flv","video/x-flv"].indexOf(e.toLowerCase())},create:p};d.renderer.add(h);var v={name:"flash_hls",options:{prefix:"flash_hls",filename:"mediaelement-flash-video-hls.swf"},canPlayType:function(e){return~["application/x-mpegurl","application/vnd.apple.mpegurl","audio/mpegurl","audio/hls","video/hls"].indexOf(e.toLowerCase())},create:p};d.renderer.add(v);var g={name:"flash_dash",options:{prefix:"flash_dash",filename:"mediaelement-flash-video-mdash.swf"},canPlayType:function(e){return~["application/dash+xml"].indexOf(e.toLowerCase())},create:p};d.renderer.add(g);var y={name:"flash_audio",options:{prefix:"flash_audio",filename:"mediaelement-flash-audio.swf"},canPlayType:function(e){return~["audio/mp3"].indexOf(e.toLowerCase())},create:p};d.renderer.add(y);var E={name:"flash_audio_ogg",options:{prefix:"flash_audio_ogg",filename:"mediaelement-flash-audio-ogg.swf"},canPlayType:function(e){return~["audio/ogg","audio/oga","audio/ogv"].indexOf(e.toLowerCase())},create:p};d.renderer.add(E)}},{16:16,18:18,19:19,2:2,3:3,5:5,7:7,8:8}],12:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o=r(e(3)),a=r(e(7)),l=e(8),s=e(18),d=e(16),u=e(19),c=e(17),f={promise:null,load:function(e){return"undefined"!=typeof flvjs?f.promise=new Promise(function(e){e()}).then(function(){f._createPlayer(e)}):(e.options.path="string"==typeof e.options.path?e.options.path:"https://cdn.jsdelivr.net/npm/flv.js@latest",f.promise=f.promise||(0,c.loadScript)(e.options.path),f.promise.then(function(){f._createPlayer(e)})),f.promise},_createPlayer:function(e){flvjs.LoggingControl.enableDebug=e.options.debug,flvjs.LoggingControl.enableVerbose=e.options.debug;var t=flvjs.createPlayer(e.options,e.configs);return o.default["__ready__"+e.id](t),t}},m={name:"native_flv",options:{prefix:"native_flv",flv:{path:"https://cdn.jsdelivr.net/npm/flv.js@latest",cors:!0,debug:!1}},canPlayType:function(e){return d.HAS_MSE&&["video/x-flv","video/flv"].indexOf(e.toLowerCase())>-1},create:function(e,t,n){var r=e.originalNode,d=e.id+"_"+t.prefix,u=null,c=null;u=r.cloneNode(!0),t=Object.assign(t,e.options);for(var m=a.default.html5media.properties,p=a.default.html5media.events.concat(["click","mouseover","mouseout"]).filter(function(e){return"error"!==e}),h=function(t){var n=(0,s.createEvent)(t.type,e);e.dispatchEvent(n)},v=function(e){var n=""+e.substring(0,1).toUpperCase()+e.substring(1);u["get"+n]=function(){return null!==c?u[e]:null},u["set"+n]=function(n){if(-1===a.default.html5media.readOnlyProperties.indexOf(e))if("src"===e){if(u[e]="object"===(void 0===n?"undefined":i(n))&&n.src?n.src:n,null!==c){var r={};r.type="flv",r.url=n,r.cors=t.flv.cors,r.debug=t.flv.debug,r.path=t.flv.path;var o=t.flv.configs;c.destroy();for(var l=0,s=p.length;l<s;l++)u.removeEventListener(p[l],h);(c=f._createPlayer({options:r,configs:o,id:d})).attachMediaElement(u),c.load()}}else u[e]=n}},g=0,y=m.length;g<y;g++)v(m[g]);if(o.default["__ready__"+d]=function(t){e.flvPlayer=c=t;for(var n=flvjs.Events,r=function(e){"loadedmetadata"===e&&(c.unload(),c.detachMediaElement(),c.attachMediaElement(u),c.load()),u.addEventListener(e,h)},i=0,o=p.length;i<o;i++)r(p[i]);var a=function(t){n.hasOwnProperty(t)&&c.on(n[t],function(){for(var r=arguments.length,i=Array(r),o=0;o<r;o++)i[o]=arguments[o];return function(t,n){if("error"===t){var r=n[0]+": "+n[1]+" "+n[2].msg;e.generateError(r,u.src)}else{var i=(0,s.createEvent)(t,e);i.data=n,e.dispatchEvent(i)}}(n[t],i)})};for(var l in n)a(l)},n&&n.length>0)for(var E=0,b=n.length;E<b;E++)if(l.renderer.renderers[t.prefix].canPlayType(n[E].type)){u.setAttribute("src",n[E].src);break}u.setAttribute("id",d),r.parentNode.insertBefore(u,r),r.autoplay=!1,r.style.display="none";var w={};w.type="flv",w.url=u.src,w.cors=t.flv.cors,w.debug=t.flv.debug,w.path=t.flv.path;var _=t.flv.configs;u.setSize=function(e,t){return u.style.width=e+"px",u.style.height=t+"px",u},u.hide=function(){return null!==c&&c.pause(),u.style.display="none",u},u.show=function(){return u.style.display="",u},u.destroy=function(){null!==c&&c.destroy()};var S=(0,s.createEvent)("rendererready",u);return e.dispatchEvent(S),e.promises.push(f.load({options:w,configs:_,id:d})),u}};u.typeChecks.push(function(e){return~e.toLowerCase().indexOf(".flv")?"video/flv":null}),l.renderer.add(m)},{16:16,17:17,18:18,19:19,3:3,7:7,8:8}],13:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o=r(e(3)),a=r(e(7)),l=e(8),s=e(18),d=e(16),u=e(19),c=e(17),f={promise:null,load:function(e){return"undefined"!=typeof Hls?f.promise=new Promise(function(e){e()}).then(function(){f._createPlayer(e)}):(e.options.path="string"==typeof e.options.path?e.options.path:"https://cdn.jsdelivr.net/npm/hls.js@latest",f.promise=f.promise||(0,c.loadScript)(e.options.path),f.promise.then(function(){f._createPlayer(e)})),f.promise},_createPlayer:function(e){var t=new Hls(e.options);return o.default["__ready__"+e.id](t),t}},m={name:"native_hls",options:{prefix:"native_hls",hls:{path:"https://cdn.jsdelivr.net/npm/hls.js@latest",autoStartLoad:!1,debug:!1}},canPlayType:function(e){return d.HAS_MSE&&["application/x-mpegurl","application/vnd.apple.mpegurl","audio/mpegurl","audio/hls","video/hls"].indexOf(e.toLowerCase())>-1},create:function(e,t,n){var r=e.originalNode,d=e.id+"_"+t.prefix,u=r.getAttribute("preload"),c=r.autoplay,m=null,p=null,h=0,v=n.length;p=r.cloneNode(!0),(t=Object.assign(t,e.options)).hls.autoStartLoad=u&&"none"!==u||c;for(var g=a.default.html5media.properties,y=a.default.html5media.events.concat(["click","mouseover","mouseout"]).filter(function(e){return"error"!==e}),E=function(t){var n=(0,s.createEvent)(t.type,e);e.dispatchEvent(n)},b=function(e){var n=""+e.substring(0,1).toUpperCase()+e.substring(1);p["get"+n]=function(){return null!==m?p[e]:null},p["set"+n]=function(n){if(-1===a.default.html5media.readOnlyProperties.indexOf(e))if("src"===e){if(p[e]="object"===(void 0===n?"undefined":i(n))&&n.src?n.src:n,null!==m){m.destroy();for(var r=0,o=y.length;r<o;r++)p.removeEventListener(y[r],E);(m=f._createPlayer({options:t.hls,id:d})).loadSource(n),m.attachMedia(p)}}else p[e]=n}},w=0,_=g.length;w<_;w++)b(g[w]);if(o.default["__ready__"+d]=function(t){e.hlsPlayer=m=t;for(var r=Hls.Events,i=function(t){if("loadedmetadata"===t){var n=e.originalNode.src;m.detachMedia(),m.loadSource(n),m.attachMedia(p)}p.addEventListener(t,E)},o=0,a=y.length;o<a;o++)i(y[o]);var l=void 0,d=void 0,u=function(t){r.hasOwnProperty(t)&&m.on(r[t],function(){for(var i=arguments.length,o=Array(i),a=0;a<i;a++)o[a]=arguments[a];return function(t,r){if("hlsError"===t){if(console.warn(r),(r=r[1]).fatal)switch(r.type){case"mediaError":var i=(new Date).getTime();if(!l||i-l>3e3)l=(new Date).getTime(),m.recoverMediaError();else if(!d||i-d>3e3)d=(new Date).getTime(),console.warn("Attempting to swap Audio Codec and recover from media error"),m.swapAudioCodec(),m.recoverMediaError();else{var o="Cannot recover, last media error recovery failed";e.generateError(o,p.src),console.error(o)}break;case"networkError":"manifestLoadError"===r.details&&h<v&&void 0!==n[h+1]?(p.setSrc(n[h++].src),p.load(),p.play()):(e.generateError("Network error",n),console.error("Network error"));break;default:m.destroy()}}else{var a=(0,s.createEvent)(t,e);a.data=r,e.dispatchEvent(a)}}(r[t],o)})};for(var c in r)u(c)},v>0)for(;h<v;h++)if(l.renderer.renderers[t.prefix].canPlayType(n[h].type)){p.setAttribute("src",n[h].src);break}"auto"===u||c||(p.addEventListener("play",function(){null!==m&&m.startLoad()}),p.addEventListener("pause",function(){null!==m&&m.stopLoad()})),p.setAttribute("id",d),r.parentNode.insertBefore(p,r),r.autoplay=!1,r.style.display="none",p.setSize=function(e,t){return p.style.width=e+"px",p.style.height=t+"px",p},p.hide=function(){return p.pause(),p.style.display="none",p},p.show=function(){return p.style.display="",p},p.destroy=function(){null!==m&&(m.stopLoad(),m.destroy())};var S=(0,s.createEvent)("rendererready",p);return e.dispatchEvent(S),e.promises.push(f.load({options:t.hls,id:d})),p}};u.typeChecks.push(function(e){return~e.toLowerCase().indexOf(".m3u8")?"application/x-mpegURL":null}),l.renderer.add(m)},{16:16,17:17,18:18,19:19,3:3,7:7,8:8}],14:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}var i=r(e(3)),o=r(e(2)),a=r(e(7)),l=e(8),s=e(18),d=e(16),u={name:"html5",options:{prefix:"html5"},canPlayType:function(e){var t=o.default.createElement("video");return d.IS_ANDROID&&/\/mp(3|4)$/i.test(e)||~["application/x-mpegurl","vnd.apple.mpegurl","audio/mpegurl","audio/hls","video/hls"].indexOf(e.toLowerCase())&&d.SUPPORTS_NATIVE_HLS?"yes":t.canPlayType?t.canPlayType(e.toLowerCase()).replace(/no/,""):""},create:function(e,t,n){var r=e.id+"_"+t.prefix,i=!1,d=null;void 0===e.originalNode||null===e.originalNode?(d=o.default.createElement("audio"),e.appendChild(d)):d=e.originalNode,d.setAttribute("id",r);for(var u=a.default.html5media.properties,c=function(e){var t=""+e.substring(0,1).toUpperCase()+e.substring(1);d["get"+t]=function(){return d[e]},d["set"+t]=function(t){-1===a.default.html5media.readOnlyProperties.indexOf(e)&&(d[e]=t)}},f=0,m=u.length;f<m;f++)c(u[f]);for(var p=a.default.html5media.events.concat(["click","mouseover","mouseout"]).filter(function(e){return"error"!==e}),h=function(t){d.addEventListener(t,function(t){if(i){var n=(0,s.createEvent)(t.type,t.target);e.dispatchEvent(n)}})},v=0,g=p.length;v<g;v++)h(p[v]);d.setSize=function(e,t){return d.style.width=e+"px",d.style.height=t+"px",d},d.hide=function(){return i=!1,d.style.display="none",d},d.show=function(){return i=!0,d.style.display="",d};var y=0,E=n.length;if(E>0)for(;y<E;y++)if(l.renderer.renderers[t.prefix].canPlayType(n[y].type)){d.setAttribute("src",n[y].src);break}d.addEventListener("error",function(t){4===t.target.error.code&&i&&(y<E&&void 0!==n[y+1]?(d.src=n[y++].src,d.load(),d.play()):e.generateError("Media error: Format(s) not supported or source(s) not found",n))});var b=(0,s.createEvent)("rendererready",d);return e.dispatchEvent(b),d}};i.default.HtmlMediaElement=a.default.HtmlMediaElement=u,l.renderer.add(u)},{16:16,18:18,2:2,3:3,7:7,8:8}],15:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}var i=r(e(3)),o=r(e(2)),a=r(e(7)),l=e(8),s=e(18),d=e(19),u=e(17),c={isIframeStarted:!1,isIframeLoaded:!1,iframeQueue:[],enqueueIframe:function(e){c.isLoaded="undefined"!=typeof YT&&YT.loaded,c.isLoaded?c.createIframe(e):(c.loadIframeApi(),c.iframeQueue.push(e))},loadIframeApi:function(){c.isIframeStarted||((0,u.loadScript)("https://www.youtube.com/player_api"),c.isIframeStarted=!0)},iFrameReady:function(){for(c.isLoaded=!0,c.isIframeLoaded=!0;c.iframeQueue.length>0;){var e=c.iframeQueue.pop();c.createIframe(e)}},createIframe:function(e){return new YT.Player(e.containerId,e)},getYouTubeId:function(e){var t="";e.indexOf("?")>0?""===(t=c.getYouTubeIdFromParam(e))&&(t=c.getYouTubeIdFromUrl(e)):t=c.getYouTubeIdFromUrl(e);return(t=t.substring(t.lastIndexOf("/")+1).split("?"))[0]},getYouTubeIdFromParam:function(e){if(void 0===e||null===e||!e.trim().length)return null;for(var t=e.split("?")[1].split("&"),n="",r=0,i=t.length;r<i;r++){var o=t[r].split("=");if("v"===o[0]){n=o[1];break}}return n},getYouTubeIdFromUrl:function(e){if(void 0===e||null===e||!e.trim().length)return null;return(e=e.split("?")[0]).substring(e.lastIndexOf("/")+1)},getYouTubeNoCookieUrl:function(e){if(void 0===e||null===e||!e.trim().length||-1===e.indexOf("//www.youtube"))return e;var t=e.split("/");return t[2]=t[2].replace(".com","-nocookie.com"),t.join("/")}},f={name:"youtube_iframe",options:{prefix:"youtube_iframe",youtube:{autoplay:0,controls:0,disablekb:1,end:0,loop:0,modestbranding:0,playsinline:0,rel:0,showinfo:0,start:0,iv_load_policy:3,nocookie:!1,imageQuality:null}},canPlayType:function(e){return~["video/youtube","video/x-youtube"].indexOf(e.toLowerCase())},create:function(e,t,n){var r={},l=[],d=null,u=!0,f=!1,m=null;r.options=t,r.id=e.id+"_"+t.prefix,r.mediaElement=e;for(var p=a.default.html5media.properties,h=function(t){var n=""+t.substring(0,1).toUpperCase()+t.substring(1);r["get"+n]=function(){if(null!==d){switch(t){case"currentTime":return d.getCurrentTime();case"duration":return d.getDuration();case"volume":return d.getVolume()/100;case"paused":return u;case"ended":return f;case"muted":return d.isMuted();case"buffered":var e=d.getVideoLoadedFraction(),n=d.getDuration();return{start:function(){return 0},end:function(){return e*n},length:1};case"src":return d.getVideoUrl();case"readyState":return 4}return null}return null},r["set"+n]=function(n){if(null!==d)switch(t){case"src":var i="string"==typeof n?n:n[0].src,o=c.getYouTubeId(i);e.originalNode.autoplay?d.loadVideoById(o):d.cueVideoById(o);break;case"currentTime":d.seekTo(n);break;case"muted":n?d.mute():d.unMute(),setTimeout(function(){var t=(0,s.createEvent)("volumechange",r);e.dispatchEvent(t)},50);break;case"volume":n,d.setVolume(100*n),setTimeout(function(){var t=(0,s.createEvent)("volumechange",r);e.dispatchEvent(t)},50);break;case"readyState":var a=(0,s.createEvent)("canplay",r);e.dispatchEvent(a)}else l.push({type:"set",propName:t,value:n})}},v=0,g=p.length;v<g;v++)h(p[v]);for(var y=a.default.html5media.methods,E=function(e){r[e]=function(){if(null!==d)switch(e){case"play":return u=!1,d.playVideo();case"pause":return u=!0,d.pauseVideo();case"load":return null}else l.push({type:"call",methodName:e})}},b=0,w=y.length;b<w;b++)E(y[b]);var _=o.default.createElement("div");_.id=r.id,r.options.youtube.nocookie&&(e.originalNode.src=c.getYouTubeNoCookieUrl(n[0].src)),e.originalNode.parentNode.insertBefore(_,e.originalNode),e.originalNode.style.display="none";var S="audio"===e.originalNode.tagName.toLowerCase(),N=S?"1":e.originalNode.height,j=S?"1":e.originalNode.width,A=c.getYouTubeId(n[0].src),T={id:r.id,containerId:_.id,videoId:A,height:N,width:j,playerVars:Object.assign({controls:0,rel:0,disablekb:1,showinfo:0,modestbranding:0,html5:1,iv_load_policy:3},r.options.youtube),origin:i.default.location.host,events:{onReady:function(t){if(e.youTubeApi=d=t.target,e.youTubeState={paused:!0,ended:!1},l.length)for(var n=0,i=l.length;n<i;n++){var o=l[n];if("set"===o.type){var a=o.propName,u=""+a.substring(0,1).toUpperCase()+a.substring(1);r["set"+u](o.value)}else"call"===o.type&&r[o.methodName]()}m=d.getIframe(),e.originalNode.muted&&d.mute();for(var c=["mouseover","mouseout"],f=function(t){var n=(0,s.createEvent)(t.type,r);e.dispatchEvent(n)},p=0,h=c.length;p<h;p++)m.addEventListener(c[p],f,!1);for(var v=["rendererready","loadedmetadata","loadeddata","canplay"],g=0,y=v.length;g<y;g++){var E=(0,s.createEvent)(v[g],r);e.dispatchEvent(E)}},onStateChange:function(t){var n=[];switch(t.data){case-1:n=["loadedmetadata"],u=!0,f=!1;break;case 0:n=["ended"],u=!1,f=!r.options.youtube.loop,r.options.youtube.loop||r.stopInterval();break;case 1:n=["play","playing"],u=!1,f=!1,r.startInterval();break;case 2:n=["pause"],u=!0,f=!1,r.stopInterval();break;case 3:n=["progress"],f=!1;break;case 5:n=["loadeddata","loadedmetadata","canplay"],u=!0,f=!1}for(var i=0,o=n.length;i<o;i++){var a=(0,s.createEvent)(n[i],r);e.dispatchEvent(a)}},onError:function(t){return function(t){var r="";switch(t.data){case 2:r="The request contains an invalid parameter value. Verify that video ID has 11 characters and that contains no invalid characters, such as exclamation points or asterisks.";break;case 5:r="The requested content cannot be played in an HTML5 player or another error related to the HTML5 player has occurred.";break;case 100:r="The video requested was not found. Either video has been removed or has been marked as private.";break;case 101:case 105:r="The owner of the requested video does not allow it to be played in embedded players.";break;default:r="Unknown error."}e.generateError("Code "+t.data+": "+r,n)}(t)}}};return(S||e.originalNode.hasAttribute("playsinline"))&&(T.playerVars.playsinline=1),e.originalNode.controls&&(T.playerVars.controls=1),e.originalNode.autoplay&&(T.playerVars.autoplay=1),e.originalNode.loop&&(T.playerVars.loop=1),(T.playerVars.loop&&1===parseInt(T.playerVars.loop,10)||e.originalNode.src.indexOf("loop=")>-1)&&!T.playerVars.playlist&&-1===e.originalNode.src.indexOf("playlist=")&&(T.playerVars.playlist=c.getYouTubeId(e.originalNode.src)),c.enqueueIframe(T),r.onEvent=function(t,n,r){null!==r&&void 0!==r&&(e.youTubeState=r)},r.setSize=function(e,t){null!==d&&d.setSize(e,t)},r.hide=function(){r.stopInterval(),r.pause(),m&&(m.style.display="none")},r.show=function(){m&&(m.style.display="")},r.destroy=function(){d.destroy()},r.interval=null,r.startInterval=function(){r.interval=setInterval(function(){var t=(0,s.createEvent)("timeupdate",r);e.dispatchEvent(t)},250)},r.stopInterval=function(){r.interval&&clearInterval(r.interval)},r.getPosterUrl=function(){var n=t.youtube.imageQuality,r=c.getYouTubeId(e.originalNode.src);return n&&["default","hqdefault","mqdefault","sddefault","maxresdefault"].indexOf(n)>-1&&r?"https://img.youtube.com/vi/"+r+"/"+n+".jpg":""},r}};i.default.onYouTubePlayerAPIReady=function(){c.iFrameReady()},d.typeChecks.push(function(e){return/\/\/(www\.youtube|youtu\.?be)/i.test(e)?"video/x-youtube":null}),l.renderer.add(f)},{17:17,18:18,19:19,2:2,3:3,7:7,8:8}],16:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(n,"__esModule",{value:!0}),n.cancelFullScreen=n.requestFullScreen=n.isFullScreen=n.FULLSCREEN_EVENT_NAME=n.HAS_NATIVE_FULLSCREEN_ENABLED=n.HAS_TRUE_NATIVE_FULLSCREEN=n.HAS_IOS_FULLSCREEN=n.HAS_MS_NATIVE_FULLSCREEN=n.HAS_MOZ_NATIVE_FULLSCREEN=n.HAS_WEBKIT_NATIVE_FULLSCREEN=n.HAS_NATIVE_FULLSCREEN=n.SUPPORTS_NATIVE_HLS=n.SUPPORT_PASSIVE_EVENT=n.SUPPORT_POINTER_EVENTS=n.HAS_MSE=n.IS_STOCK_ANDROID=n.IS_SAFARI=n.IS_FIREFOX=n.IS_CHROME=n.IS_EDGE=n.IS_IE=n.IS_ANDROID=n.IS_IOS=n.IS_IPOD=n.IS_IPHONE=n.IS_IPAD=n.UA=n.NAV=void 0;for(var i=r(e(3)),o=r(e(2)),a=r(e(7)),l=n.NAV=i.default.navigator,s=n.UA=l.userAgent.toLowerCase(),d=n.IS_IPAD=/ipad/i.test(s)&&!i.default.MSStream,u=n.IS_IPHONE=/iphone/i.test(s)&&!i.default.MSStream,c=n.IS_IPOD=/ipod/i.test(s)&&!i.default.MSStream,f=(n.IS_IOS=/ipad|iphone|ipod/i.test(s)&&!i.default.MSStream,n.IS_ANDROID=/android/i.test(s)),m=n.IS_IE=/(trident|microsoft)/i.test(l.appName),p=(n.IS_EDGE="msLaunchUri"in l&&!("documentMode"in o.default)),h=n.IS_CHROME=/chrome/i.test(s),v=n.IS_FIREFOX=/firefox/i.test(s),g=n.IS_SAFARI=/safari/i.test(s)&&!h,y=n.IS_STOCK_ANDROID=/^mozilla\/\d+\.\d+\s\(linux;\su;/i.test(s),E=(n.HAS_MSE="MediaSource"in i.default),b=n.SUPPORT_POINTER_EVENTS=function(){var e=o.default.createElement("x"),t=o.default.documentElement,n=i.default.getComputedStyle;if(!("pointerEvents"in e.style))return!1;e.style.pointerEvents="auto",e.style.pointerEvents="x",t.appendChild(e);var r=n&&"auto"===n(e,"").pointerEvents;return e.remove(),!!r}(),w=n.SUPPORT_PASSIVE_EVENT=function(){var e=!1;try{var t=Object.defineProperty({},"passive",{get:function(){e=!0}});i.default.addEventListener("test",null,t)}catch(e){}return e}(),_=["source","track","audio","video"],S=void 0,N=0,j=_.length;N<j;N++)S=o.default.createElement(_[N]);var A=n.SUPPORTS_NATIVE_HLS=g||f&&(h||y)||m&&/edge/i.test(s),T=void 0!==S.webkitEnterFullscreen,F=void 0!==S.requestFullscreen;T&&/mac os x 10_5/i.test(s)&&(F=!1,T=!1);var P=void 0!==S.webkitRequestFullScreen,x=void 0!==S.mozRequestFullScreen,L=void 0!==S.msRequestFullscreen,O=P||x||L,C=O,I="",k=void 0,U=void 0,M=void 0;x?C=o.default.mozFullScreenEnabled:L&&(C=o.default.msFullscreenEnabled),h&&(T=!1),O&&(P?I="webkitfullscreenchange":x?I="mozfullscreenchange":L&&(I="MSFullscreenChange"),n.isFullScreen=k=function(){return x?o.default.mozFullScreen:P?o.default.webkitIsFullScreen:L?null!==o.default.msFullscreenElement:void 0},n.requestFullScreen=U=function(e){P?e.webkitRequestFullScreen():x?e.mozRequestFullScreen():L&&e.msRequestFullscreen()},n.cancelFullScreen=M=function(){P?o.default.webkitCancelFullScreen():x?o.default.mozCancelFullScreen():L&&o.default.msExitFullscreen()});var R=n.HAS_NATIVE_FULLSCREEN=F,V=n.HAS_WEBKIT_NATIVE_FULLSCREEN=P,D=n.HAS_MOZ_NATIVE_FULLSCREEN=x,H=n.HAS_MS_NATIVE_FULLSCREEN=L,q=n.HAS_IOS_FULLSCREEN=T,z=n.HAS_TRUE_NATIVE_FULLSCREEN=O,B=n.HAS_NATIVE_FULLSCREEN_ENABLED=C,Y=n.FULLSCREEN_EVENT_NAME=I;n.isFullScreen=k,n.requestFullScreen=U,n.cancelFullScreen=M,a.default.Features=a.default.Features||{},a.default.Features.isiPad=d,a.default.Features.isiPod=c,a.default.Features.isiPhone=u,a.default.Features.isiOS=a.default.Features.isiPhone||a.default.Features.isiPad,a.default.Features.isAndroid=f,a.default.Features.isIE=m,a.default.Features.isEdge=p,a.default.Features.isChrome=h,a.default.Features.isFirefox=v,a.default.Features.isSafari=g,a.default.Features.isStockAndroid=y,a.default.Features.hasMSE=E,a.default.Features.supportsNativeHLS=A,a.default.Features.supportsPointerEvents=b,a.default.Features.supportsPassiveEvent=w,a.default.Features.hasiOSFullScreen=q,a.default.Features.hasNativeFullscreen=R,a.default.Features.hasWebkitNativeFullScreen=V,a.default.Features.hasMozNativeFullScreen=D,a.default.Features.hasMsNativeFullScreen=H,a.default.Features.hasTrueNativeFullScreen=z,a.default.Features.nativeFullScreenEnabled=B,a.default.Features.fullScreenEventName=Y,a.default.Features.isFullScreen=k,a.default.Features.requestFullScreen=U,a.default.Features.cancelFullScreen=M},{2:2,3:3,7:7}],17:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e){return new Promise(function(t,n){var r=m.default.createElement("script");r.src=e,r.async=!0,r.onload=function(){r.remove(),t()},r.onerror=function(){r.remove(),n()},m.default.head.appendChild(r)})}function o(e){var t=e.getBoundingClientRect(),n=f.default.pageXOffset||m.default.documentElement.scrollLeft,r=f.default.pageYOffset||m.default.documentElement.scrollTop;return{top:t.top+r,left:t.left+n}}function a(e,t){y(e,t)?b(e,t):E(e,t)}function l(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:400,n=arguments[2];e.style.opacity||(e.style.opacity=1);var r=null;f.default.requestAnimationFrame(function i(o){var a=o-(r=r||o),l=parseFloat(1-a/t,2);e.style.opacity=l<0?0:l,a>t?n&&"function"==typeof n&&n():f.default.requestAnimationFrame(i)})}function s(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:400,n=arguments[2];e.style.opacity||(e.style.opacity=0);var r=null;f.default.requestAnimationFrame(function i(o){var a=o-(r=r||o),l=parseFloat(a/t,2);e.style.opacity=l>1?1:l,a>t?n&&"function"==typeof n&&n():f.default.requestAnimationFrame(i)})}function d(e,t){var n=[];e=e.parentNode.firstChild;do{t&&!t(e)||n.push(e)}while(e=e.nextSibling);return n}function u(e){return void 0!==e.getClientRects&&"function"===e.getClientRects?!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length):!(!e.offsetWidth&&!e.offsetHeight)}function c(e,t,n,r){var i=f.default.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP"),o="application/x-www-form-urlencoded; charset=UTF-8",a=!1,l="*/".concat("*");switch(t){case"text":o="text/plain";break;case"json":o="application/json, text/javascript";break;case"html":o="text/html";break;case"xml":o="application/xml, text/xml"}"application/x-www-form-urlencoded"!==o&&(l=o+", */*; q=0.01"),i&&(i.open("GET",e,!0),i.setRequestHeader("Accept",l),i.onreadystatechange=function(){if(!a&&4===i.readyState)if(200===i.status){a=!0;var e=void 0;switch(t){case"json":e=JSON.parse(i.responseText);break;case"xml":e=i.responseXML;break;default:e=i.responseText}n(e)}else"function"==typeof r&&r(i.status)},i.send())}Object.defineProperty(n,"__esModule",{value:!0}),n.removeClass=n.addClass=n.hasClass=void 0,n.loadScript=i,n.offset=o,n.toggleClass=a,n.fadeOut=l,n.fadeIn=s,n.siblings=d,n.visible=u,n.ajax=c;var f=r(e(3)),m=r(e(2)),p=r(e(7)),h=void 0,v=void 0,g=void 0;"classList"in m.default.documentElement?(h=function(e,t){return void 0!==e.classList&&e.classList.contains(t)},v=function(e,t){return e.classList.add(t)},g=function(e,t){return e.classList.remove(t)}):(h=function(e,t){return new RegExp("\\b"+t+"\\b").test(e.className)},v=function(e,t){y(e,t)||(e.className+=" "+t)},g=function(e,t){e.className=e.className.replace(new RegExp("\\b"+t+"\\b","g"),"")});var y=n.hasClass=h,E=n.addClass=v,b=n.removeClass=g;p.default.Utils=p.default.Utils||{},p.default.Utils.offset=o,p.default.Utils.hasClass=y,p.default.Utils.addClass=E,p.default.Utils.removeClass=b,p.default.Utils.toggleClass=a,p.default.Utils.fadeIn=s,p.default.Utils.fadeOut=l,p.default.Utils.siblings=d,p.default.Utils.visible=u,p.default.Utils.ajax=c,p.default.Utils.loadScript=i},{2:2,3:3,7:7}],18:[function(e,t,n){"use strict";function r(e){if("string"!=typeof e)throw new Error("Argument passed must be a string");var t={"&":"&","<":"<",">":">",'"':"""};return e.replace(/[&<>"]/g,function(e){return t[e]})}function i(e,t){var n=this,r=arguments,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if("function"!=typeof e)throw new Error("First argument must be a function");if("number"!=typeof t)throw new Error("Second argument must be a numeric value");var o=void 0;return function(){var a=n,l=r,s=i&&!o;clearTimeout(o),o=setTimeout(function(){o=null,i||e.apply(a,l)},t),s&&e.apply(a,l)}}function o(e){return Object.getOwnPropertyNames(e).length<=0}function a(e,t){var n=/^((after|before)print|(before)?unload|hashchange|message|o(ff|n)line|page(hide|show)|popstate|resize|storage)\b/,r={d:[],w:[]};return(e||"").split(" ").forEach(function(e){var i=e+(t?"."+t:"");i.startsWith(".")?(r.d.push(i),r.w.push(i)):r[n.test(e)?"w":"d"].push(i)}),r.d=r.d.join(" "),r.w=r.w.join(" "),r}function l(e,t){if("string"!=typeof e)throw new Error("Event name must be a string");var n=e.match(/([a-z]+\.([a-z]+))/i),r={target:t};return null!==n&&(e=n[1],r.namespace=n[2]),new window.CustomEvent(e,{detail:r})}function s(e,t){return!!(e&&t&&2&e.compareDocumentPosition(t))}function d(e){return"string"==typeof e}Object.defineProperty(n,"__esModule",{value:!0}),n.escapeHTML=r,n.debounce=i,n.isObjectEmpty=o,n.splitEvents=a,n.createEvent=l,n.isNodeAfter=s,n.isString=d;var u=function(e){return e&&e.__esModule?e:{default:e}}(e(7));u.default.Utils=u.default.Utils||{},u.default.Utils.escapeHTML=r,u.default.Utils.debounce=i,u.default.Utils.isObjectEmpty=o,u.default.Utils.splitEvents=a,u.default.Utils.createEvent=l,u.default.Utils.isNodeAfter=s,u.default.Utils.isString=d},{7:7}],19:[function(e,t,n){"use strict";function r(e){if("string"!=typeof e)throw new Error("`url` argument must be a string");var t=document.createElement("div");return t.innerHTML='<a href="'+(0,u.escapeHTML)(e)+'">x</a>',t.firstChild.href}function i(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return e&&!t?a(e):t}function o(e){if("string"!=typeof e)throw new Error("`type` argument must be a string");return e&&e.indexOf(";")>-1?e.substr(0,e.indexOf(";")):e}function a(e){if("string"!=typeof e)throw new Error("`url` argument must be a string");for(var t=0,n=c.length;t<n;t++){var r=c[t](e);if(r)return r}var i=s(l(e)),o="video/mp4";return i&&(~["mp4","m4v","ogg","ogv","webm","flv","mpeg","mov"].indexOf(i)?o="video/"+i:~["mp3","oga","wav","mid","midi"].indexOf(i)&&(o="audio/"+i)),o}function l(e){if("string"!=typeof e)throw new Error("`url` argument must be a string");var t=e.split("?")[0].split("\\").pop().split("/").pop();return~t.indexOf(".")?t.substring(t.lastIndexOf(".")+1):""}function s(e){if("string"!=typeof e)throw new Error("`extension` argument must be a string");switch(e){case"mp4":case"m4v":return"mp4";case"webm":case"webma":case"webmv":return"webm";case"ogg":case"oga":case"ogv":return"ogg";default:return e}}Object.defineProperty(n,"__esModule",{value:!0}),n.typeChecks=void 0,n.absolutizeUrl=r,n.formatType=i,n.getMimeFromType=o,n.getTypeFromFile=a,n.getExtension=l,n.normalizeExtension=s;var d=function(e){return e&&e.__esModule?e:{default:e}}(e(7)),u=e(18),c=n.typeChecks=[];d.default.Utils=d.default.Utils||{},d.default.Utils.typeChecks=c,d.default.Utils.absolutizeUrl=r,d.default.Utils.formatType=i,d.default.Utils.getMimeFromType=o,d.default.Utils.getTypeFromFile=a,d.default.Utils.getExtension=l,d.default.Utils.normalizeExtension=s},{18:18,7:7}],20:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}var i=r(e(2)),o=r(e(4));if([Element.prototype,CharacterData.prototype,DocumentType.prototype].forEach(function(e){e.hasOwnProperty("remove")||Object.defineProperty(e,"remove",{configurable:!0,enumerable:!0,writable:!0,value:function(){this.parentNode.removeChild(this)}})}),function(){function e(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};var n=i.default.createEvent("CustomEvent");return n.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),n}if("function"==typeof window.CustomEvent)return!1;e.prototype=window.Event.prototype,window.CustomEvent=e}(),"function"!=typeof Object.assign&&(Object.assign=function(e){if(null===e||void 0===e)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(e),n=1,r=arguments.length;n<r;n++){var i=arguments[n];if(null!==i)for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(t[o]=i[o])}return t}),String.prototype.startsWith||(String.prototype.startsWith=function(e,t){return t=t||0,this.substr(t,e.length)===e}),Element.prototype.matches||(Element.prototype.matches=Element.prototype.matchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.msMatchesSelector||Element.prototype.oMatchesSelector||Element.prototype.webkitMatchesSelector||function(e){for(var t=(this.document||this.ownerDocument).querySelectorAll(e),n=t.length-1;--n>=0&&t.item(n)!==this;);return n>-1}),window.Element&&!Element.prototype.closest&&(Element.prototype.closest=function(e){var t=(this.document||this.ownerDocument).querySelectorAll(e),n=void 0,r=this;do{for(n=t.length;--n>=0&&t.item(n)!==r;);}while(n<0&&(r=r.parentElement));return r}),function(){for(var e=0,t=["ms","moz","webkit","o"],n=0;n<t.length&&!window.requestAnimationFrame;++n)window.requestAnimationFrame=window[t[n]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[t[n]+"CancelAnimationFrame"]||window[t[n]+"CancelRequestAnimationFrame"];window.requestAnimationFrame||(window.requestAnimationFrame=function(t){var n=(new Date).getTime(),r=Math.max(0,16-(n-e)),i=window.setTimeout(function(){t(n+r)},r);return e=n+r,i}),window.cancelA
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|