]> scripts.mit.edu Git - autoinstalls/wordpress.git/blobdiff - wp-includes/js/media-audiovideo.js
WordPress 3.9.1
[autoinstalls/wordpress.git] / wp-includes / js / media-audiovideo.js
index da91a9cf63b0129d70d83e6ab2b4ec2101229ddd..47f6d36813a44f12fb25bc2d98aca809997e61fa 100644 (file)
                 *
                 *  Examples: modal closes, shortcode properties are removed, etc.
                 */
-               unsetPlayer : function() {
-                       if ( this.player ) {
+               unsetPlayers : function() {
+                       if ( this.players && this.players.length ) {
                                wp.media.mixin.pauseAllPlayers();
-                               wp.media.mixin.removePlayer( this.player );
-                               this.player = false;
+                               _.each( this.players, function (player) {
+                                       wp.media.mixin.removePlayer( player );
+                               } );
+                               this.players = [];
                        }
                }
        };
        media.view.MediaDetails = media.view.Settings.AttachmentDisplay.extend({
                initialize: function() {
                        _.bindAll(this, 'success');
-
-                       this.listenTo( this.controller, 'close', media.mixin.unsetPlayer );
+                       this.players = [];
+                       this.listenTo( this.controller, 'close', media.mixin.unsetPlayers );
                        this.on( 'ready', this.setPlayer );
-                       this.on( 'media:setting:remove', media.mixin.unsetPlayer, this );
+                       this.on( 'media:setting:remove', media.mixin.unsetPlayers, this );
                        this.on( 'media:setting:remove', this.render );
                        this.on( 'media:setting:remove', this.setPlayer );
                        this.events = _.extend( this.events, {
                 * @global MediaElementPlayer
                 */
                setPlayer : function() {
-                       if ( ! this.player && this.media ) {
-                               this.player = new MediaElementPlayer( this.media, this.settings );
+                       if ( ! this.players.length && this.media ) {
+                               this.players.push( new MediaElementPlayer( this.media, this.settings ) );
                        }
                },