2 * put your module comment here
6 package mircoders.media;
10 import freemarker.template.SimpleList;
11 import freemarker.template.SimpleHash;
21 * Handles realVideo .it manages the ram file.
23 * 03.2002 - reworked Realmedia handling. -mh
25 * @see mir.media.MediaHandlerGeneric
26 * @see mir.media.MirMedia
27 * @author john <john@manifestor.org>, mh <heckmann@hbe.ca>
32 public class MediaHandlerRealVideo extends MediaHandlerVideo implements
35 public void produce (Entity ent, Entity mediaTypeEnt )
36 throws MirMediaException {
38 // first see if the file exists
39 super.produce(ent, mediaTypeEnt);
41 String baseName = ent.getId();
42 String date = ent.getValue("date");
43 String datePath = StringUtil.webdbDate2path(date);
44 String rtspDir = MirConfig.getProp("Producer.RealMedia.Path");
45 String rtspMediaHost = MirConfig.getProp("Producer.RealMedia.Host");
47 String RealMediaPointer = rtspMediaHost+ent.getValue("publish_path");
48 String RealMediaFile = datePath+ent.getId()+".ram";
50 //write an rm (ram?. -mh) file
51 FileUtil.write(super.getStoragePath()+"/"+RealMediaFile,
52 RealMediaPointer.getBytes());
53 } catch (Exception e) {
54 theLog.printError(e.toString());
55 throw new MirMediaException(e.toString());
59 public SimpleList getURL(Entity ent, Entity mediaTypeEnt)
61 SimpleList theList = new SimpleList();
63 //String stringSize = ent.getValue("size");
64 //int size = Integer.parseInt(stringSize, 10)/1024;
67 String basePath=StringUtil.regexpReplace(ent.getValue("publish_path"),
70 // @todo the texts ("title") below urgently need to be sanely localizaeble
72 SimpleHash ramHash = new SimpleHash();
73 ramHash.put("publish_path", basePath+".ram");
74 ramHash.put("publish_server", ent.getValue("publish_server"));
75 ramHash.put("title", "stream URL");
82 public String getStoragePath()
84 return MirConfig.getProp("Producer.RealMedia.Path");
87 public String getDescr()
89 return "RealMedia Video";