diff options
| author | guest <guest@f059d3a0-6783-47b7-97ff-1fe0bbf25129> | 2008-09-29 21:06:20 +0000 |
|---|---|---|
| committer | guest <guest@f059d3a0-6783-47b7-97ff-1fe0bbf25129> | 2008-09-29 21:06:20 +0000 |
| commit | 4030bb57d8a9c9f3f2e1ba44b6b17492d3c79eaa (patch) | |
| tree | 05b13c13cb3570f88c261475e9a8d0e5b7cbe902 /src/YalpServer/OutputPluginHandler.java | |
| parent | 408445cc49f360b979266ea93cf3bcb25a50a8e4 (diff) | |
vlcstreamer creates streams now :-), but they're not played back, by the client
due to suspicious "cannot fill perfill buffer" error msg
git-svn-id: http://manut.eu/svn/yalp/trunk@8 f059d3a0-6783-47b7-97ff-1fe0bbf25129
Diffstat (limited to 'src/YalpServer/OutputPluginHandler.java')
| -rw-r--r-- | src/YalpServer/OutputPluginHandler.java | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/src/YalpServer/OutputPluginHandler.java b/src/YalpServer/OutputPluginHandler.java new file mode 100644 index 0000000..4a12f2b --- /dev/null +++ b/src/YalpServer/OutputPluginHandler.java @@ -0,0 +1,55 @@ +package YalpServer; + +import java.util.ArrayList; + +import org.apache.log4j.Logger; +import org.apache.log4j.PropertyConfigurator; + +import YalpInterfaces.*; + +public class OutputPluginHandler { + + private ArrayList<OutputPlugin> plugins; + private static int outputIds = 0; + + private String log4jFile = "log4j_server.conf"; + + private static Logger logger = + Logger.getLogger("Yalp.Server.OutputPluginHandler"); + + public OutputPluginHandler() { + PropertyConfigurator.configureAndWatch(log4jFile); + logger.debug("OutputPluginHandler()"); + plugins = new ArrayList<OutputPlugin>(); + } + + public PluginInfo addPlugin(OutputPlugin plugin) + { + logger.debug("addPlugin("+plugin.info.name+")"); + plugin.info.id = outputIds++; + plugins.add(plugin); + return plugin.info; + } + + public void control( OutputHolder ctlOutput, YalpErrorHolder err ) { + + logger.debug("control()"); + + for( OutputPlugin plugin : plugins ) { + if( plugin.info.id == ctlOutput.value.id ) { + plugin.itf.control( ctlOutput, err ); + return; + } + } + + YalpError error = new YalpError(); + error.descr = "output plugin not found"; + error.msg = "selected output plugin is not available"; + error.code = YalpErrorCode.ERROR_OUTPUT_PLUGIN_NA; + error.level = YalpErrorLevel.ERROR_LEVEL_ERROR; + err.value = error; + + Output dummy = new Output(); + ctlOutput.value = dummy; + } +} |
