Source: services/VideoStreamService.js

    /**
     * @ngdoc service
     * @name VideoStreamService
     * @module s4c.services.VideoStreamService
     * 
     * @description  Componente para acesso a api do backend e/ou comunicação entre controllers
     * 
     *
     */  
     
(function () {
    'use strict';

    angular.module('s4c.services').factory(
        'VideoStreamService', VideoStreamService);

    VideoStreamService.$inject = [];

   /**	
	* @method VideoStreamService
	*/
    function VideoStreamService() {

        var service = {
            open: open,
            close: close,
            closeAll: closeAll,
            setPlayerOptions: setPlayerOptions
        };

        var players = [];
        var playerOptions = {
        };

  	   /**	
		* @method setPlayerOptions
		* @param {*} opts
		*/
        function setPlayerOptions(opts) {
            playerOptions = opts;
        }

  	   /**	
		* @method open
		* @param {*} divId
		* @param {*} url
		*/
        function open(divId, url) {
            document.getElementById(divId).src = url;
            players[divId] = window.Streamedian.player(divId, playerOptions);
        }

  	   /**	
		* @method close
		* @param {*} divId
		*/
        function close(divId) {

            if (players[divId]) {
                players[divId].destroy();
                players[divId] = null;
            }
        }

  	   /**	
		* @method closeAll
		*/
        function closeAll() {
            for(var index in players){
                if (!players[index]) {
                    continue;
                }
                players[index].destroy();
                players[index] = null;
            }

            players = [];
        }

        return service;
    }
}());