/* * MusicOMatWithMediaObject.java * * Version 1.0 Jan 12, 2009 * * Copyright notice * * Brief description * * (c) 2009 by dbreuer */ package de.fhkoeln.santiago.codesamples; import java.net.URI; import de.fhkoeln.cosima.media.Media; import de.fhkoeln.cosima.media.MediaComponent; import de.fhkoeln.cosima.media.mediabroker.MediaBroker; import de.fhkoeln.cosima.media.mediabroker.MemcachedMediaBroker; import de.fhkoeln.cosima.services.IODescriptor; import de.fhkoeln.santiago.components.ffmpeg.FFMpegMerger; import de.fhkoeln.santiago.components.jmf.MediaAction; public class MusicOMatWithMediaObject { public IODescriptor _execute() { IODescriptor output = new IODescriptor(); MediaComponent outputMedia = new Media(); outputMedia.setName("SlideshowWithMusic"); MediaComponent movieFile = getBroker().retrieve(getInput().getDescriptorElements()[0]); MediaComponent audioFile = getBroker().retrieve(getInput().getDescriptorElements()[1]); MediaAction action = new FFMpegMerger(movieFile, audioFile, outputMedia); action.performAction(); URI mediaUri = getBroker().store(outputMedia); output.add(mediaUri.toString()); return output; } // Dummy method for compiler compliance private MediaBroker getBroker() { return new MemcachedMediaBroker(); } // Dummy method for compiler compliance private IODescriptor getInput() { return new IODescriptor(); } }