2 * put your module comment here
17 * Handles real video. like MediaHandlerAudio, except it manages the ram file, too.
19 * @see mir.media.MediaHandlerGeneric
20 * @see mir.media.MirMedia
21 * @author john <john@manifestor.org>
26 public class MediaHandlerRealVideo extends MediaHandlerGeneric implements MirMedia
29 private String imageHost = MirConfig.getProp("Producer.Image.Host");
30 private static String imageRoot = MirConfig.getProp("Producer.ImageRoot");
31 private Logfile theLog = Logfile.getInstance(MirConfig.getProp("Home")+"log/media.log");
33 public boolean set (byte[] uploadedData, Entity ent, Entity mediaTypeEnt )
34 throws MirMediaException {
36 String ext = mediaTypeEnt.getValue("name");
37 String dir = MirConfig.getProp("Producer.Media.Path");
38 String rtspDir = MirConfig.getProp("Producer.RealMedia.Path");
39 String mediaHost = MirConfig.getProp("Producer.Media.Host");
40 String rtspMediaHost = MirConfig.getProp("Producer.RealMedia.Host");
42 String mediaFname = ent.getId()+"."+ext;
43 String RealMediaPointer = rtspMediaHost+mediaFname;
44 String RealMediaFile = ent.getId()+".ram";
45 String date = ent.getValue("date");
46 String datePath = StringUtil.webdbDate2path(date);
47 Integer size = new Integer(uploadedData.length);
49 FileUtil.write(dir+"/"+datePath+"/"+mediaFname, uploadedData);
50 //FileUtil.write(rtspDir+"/"+mediaFname, uploadedData);
51 //were done with the data, dereference.
55 FileUtil.write(dir+"/"+RealMediaFile,RealMediaPointer.getBytes());
56 ent.setValueForProperty("is_produced", "1");
57 ent.setValueForProperty("icon_is_produced", "1");
58 ent.setValueForProperty("publish_path",datePath+"/"+mediaFname);
59 //ent.setValueForProperty("publish_path", RealMediaFile);
60 ent.setValueForProperty("publish_server", mediaHost);
61 ent.setValueForProperty("size", size.toString());
63 } catch (Exception e) {
64 theLog.printError(e.toString());
65 throw new MirMediaException(e.toString());
75 public String getPublishHost()
77 return MirConfig.getProp("Producer.Media.Host");
82 public String getURL(Entity ent, Entity mediaTypeEnt)
84 int size = Integer.parseInt(ent.getValue("size"), 10)/1024;
85 String title = ent.getValue("title")+
86 " - "+mediaTypeEnt.getValue("name")+" "+
88 return StringUtil.createURLLinks(ent.getValue("publish_server")+"/"+
89 ent.getValue("publish_path"), title, imageRoot, getBigIcon());
93 private static String tinyIcon = MirConfig.getProp("Producer.Icon.TinyVideo");
94 private static String bigIcon = MirConfig.getProp("Producer.Icon.BigVideo");
96 public String getTinyIcon()
101 public String getBigIcon()
106 public String getIconAlt()
111 public boolean isVideo()