2 * put your module comment here
6 package mircoders.media;
18 * Handles real video. like MediaHandlerAudio, except it manages the ram file, too.
20 * @see mir.media.MediaHandlerGeneric
21 * @see mir.media.MirMedia
22 * @author john <john@manifestor.org>
27 public class MediaHandlerRealVideo extends MediaHandlerGeneric implements MirMedia
30 private String imageHost = MirConfig.getProp("Producer.Image.Host");
31 private static String imageRoot = MirConfig.getProp("Producer.ImageRoot");
32 private Logfile theLog = Logfile.getInstance(MirConfig.getProp("Home")+"log/media.log");
34 public boolean set (byte[] uploadedData, Entity ent, Entity mediaTypeEnt )
35 throws MirMediaException {
37 String ext = mediaTypeEnt.getValue("name");
38 String dir = MirConfig.getProp("Producer.Media.Path");
39 String rtspDir = MirConfig.getProp("Producer.RealMedia.Path");
40 String mediaHost = MirConfig.getProp("Producer.Media.Host");
41 String rtspMediaHost = MirConfig.getProp("Producer.RealMedia.Host");
43 String mediaFname = ent.getId()+"."+ext;
44 String RealMediaPointer = rtspMediaHost+mediaFname;
45 String RealMediaFile = ent.getId()+".ram";
46 String date = ent.getValue("date");
47 String datePath = StringUtil.webdbDate2path(date);
48 Integer size = new Integer(uploadedData.length);
50 FileUtil.write(dir+"/"+datePath+"/"+mediaFname, uploadedData);
51 //FileUtil.write(rtspDir+"/"+mediaFname, uploadedData);
52 //were done with the data, dereference.
56 FileUtil.write(dir+"/"+RealMediaFile,RealMediaPointer.getBytes());
57 ent.setValueForProperty("is_produced", "1");
58 ent.setValueForProperty("icon_is_produced", "1");
59 ent.setValueForProperty("publish_path",datePath+"/"+mediaFname);
60 //ent.setValueForProperty("publish_path", RealMediaFile);
61 ent.setValueForProperty("publish_server", mediaHost);
62 ent.setValueForProperty("size", size.toString());
64 } catch (Exception e) {
65 theLog.printError(e.toString());
66 throw new MirMediaException(e.toString());
76 public String getPublishHost()
78 return MirConfig.getProp("Producer.Media.Host");
83 public String getURL(Entity ent, Entity mediaTypeEnt)
85 int size = Integer.parseInt(ent.getValue("size"), 10)/1024;
86 String title = ent.getValue("title")+
87 " - "+mediaTypeEnt.getValue("name")+" "+
89 return StringUtil.createURLLinks(ent.getValue("publish_server")+"/"+
90 ent.getValue("publish_path"), title, imageRoot, getBigIcon());
94 private static String tinyIcon = MirConfig.getProp("Producer.Icon.TinyVideo");
95 private static String bigIcon = MirConfig.getProp("Producer.Icon.BigVideo");
97 public String getTinyIcon()
102 public String getBigIcon()
107 public String getIconAlt()
112 public boolean isVideo()