X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=source%2Fmircoders%2Fmedia%2FMediaHandlerOgg.java;h=49544379f742b2af3306fd7f3bec29e31dab75ec;hb=c9ac8fa71b679f8d967aac901bbef945c13b94c9;hp=d518f8b9000cb3d7a11d145d2d85233f28f79cec;hpb=d63595f89aaa4b6a524dc0b4af9e0eef888f4c6b;p=mir.git diff --git a/source/mircoders/media/MediaHandlerOgg.java b/source/mircoders/media/MediaHandlerOgg.java index d518f8b9..49544379 100755 --- a/source/mircoders/media/MediaHandlerOgg.java +++ b/source/mircoders/media/MediaHandlerOgg.java @@ -29,19 +29,16 @@ */ package mircoders.media; -import java.io.StringReader; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Vector; - import mir.entity.Entity; import mir.log.LoggerWrapper; import mir.media.MediaExc; import mir.media.MediaFailure; import mir.media.MediaHandler; -import mir.misc.FileUtil; import mir.misc.StringUtil; +import mir.util.IORoutines; + +import java.io.File; +import java.io.FileOutputStream; /** * Please note: this media handler produces @@ -71,8 +68,7 @@ import mir.misc.StringUtil; public class MediaHandlerOgg extends MediaHandlerAudio implements MediaHandler { - protected LoggerWrapper logger; - + public MediaHandlerOgg() { logger = new LoggerWrapper("Media.Audio.Ogg"); } @@ -86,55 +82,20 @@ public class MediaHandlerOgg extends MediaHandlerAudio implements MediaHandler String date = ent.getFieldValue("date"); String datePath = StringUtil.webdbDate2path(date); String oggPointer = getPublishHost() + ent.getFieldValue("publish_path"); - //String mpegURLFile = baseName + ".m3u"; String playlistFile = baseName + ".pls"; try { - //write the "meta" files - //first the .m3u since it only contains one line - //dont write the .m3u it is an ogg vorbis file - //FileUtil.write(getStoragePath() + "/" + datePath + "/" + mpegURLFile, - //new StringReader(mp3Pointer), "US-ASCII"); - //now the .pls file - FileUtil.write(getStoragePath() + "/" + datePath + "/" + playlistFile, - new StringReader(oggPointer), "US-ASCII"); + IORoutines.writeStream(oggPointer, "us-ascii", + new FileOutputStream(getBaseStoragePath() + File.separator + datePath + File.separator + playlistFile)); + reportChange(getBaseStoragePath() + File.separator + datePath + File.separator + playlistFile); } catch (Throwable e) { - logger.error("MediaHandlerOgg.produce: " + e.toString()); + logger.error("MediaHandlerOgg.execute: " + e.toString()); throw new MediaFailure(e); } } - public List getURL(Entity ent, Entity mediaTypeEnt) { - List theList = new Vector(); - - //String stringSize = ent.getFieldValue("size"); - //int size = Integer.parseInt(stringSize, 10)/1024; - theList.add(ent); - - String basePath = StringUtil.regexpReplace(ent.getFieldValue("publish_path"), - ".ogg$", ""); - - // @todo the texts ("title") below urgently need to be sanely localizaeble - // somehow - //no .m3u! - //Map m3uHash = new HashMap(); - //m3uHash.put("publish_path", basePath + ".m3u"); - //m3uHash.put("publish_server", ent.getFieldValue("publish_server")); - //m3uHash.put("title", "stream URL"); - //theList.add(m3uHash); - - Map plsHash = new HashMap(); - plsHash.put("publish_path", basePath + ".pls"); - plsHash.put("publish_server", ent.getFieldValue("publish_server")); - plsHash.put("title", "playlist URL"); - theList.add(plsHash); - - return theList; - - } - public String getDescr(Entity mediaType) { return "ogg"; }