/*
* VideoPlayerService.java
*
* Version 1.0 Sep 25, 2008
*
* Copyright notice
*
* Brief description
*
* (c) 2008 by dbreuer
*/
package de.fhkoeln.santiago.services;
import de.fhkoeln.cosima.media.MediaComponent;
import de.fhkoeln.cosima.media.mediabroker.MediaBroker;
import de.fhkoeln.cosima.services.CoreService;
import de.fhkoeln.cosima.services.IODescriptor;
import de.fhkoeln.cosima.services.registry.ServiceRegistry;
import de.fhkoeln.cosima.util.Logger;
import de.fhkoeln.santiago.components.ffmpeg.MPlayerPlayer;
import de.fhkoeln.santiago.components.jmf.MediaAction;
public class VideoPlayerService implements CoreService {
private final String URI = "http://localhost:8080/axis2/services/VideoPlayerService";
private final String DESCRIPTION = "Consumer:VideoPlayer";
private IODescriptor input;
private MediaBroker broker;
private ServiceRegistry registry;
public VideoPlayerService(ServiceRegistry registry) {
Logger.info("Booting Service: " + getClass().getName());
this.registry = registry;
this.registry.publish(this);
}
public IODescriptor execute() {
IODescriptor output = new IODescriptor();
MediaComponent videoFile = getBroker().retrieve(input.first());
MediaAction player = new MPlayerPlayer(videoFile);
player.performAction();
return output;
}
public void setInput(IODescriptor input) {
this.input = input;
}
public IODescriptor getInput() {
return input;
}
public void setBroker(MediaBroker broker) {
this.broker = broker;
}
public MediaBroker getBroker() {
return broker;
}
/* (non-Javadoc)
* @see de.fhkoeln.cosima.services.CoreService#getDescription()
*/
public String getDescription() {
return this.DESCRIPTION;
}
/* (non-Javadoc)
* @see de.fhkoeln.cosima.services.CoreService#getUri()
*/
public String getUri() {
return this.URI;
}
}