2 * put your module comment here
17 * Handles real audio. 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 MediaHandlerRealAudio extends MediaHandlerAudio implements MirMedia
29 public boolean set (byte[] uploadedData, Entity ent, Entity mediaTypeEnt ) {
30 String ext = mediaTypeEnt.getValue("name");
31 String dir = MirConfig.getProp("Producer.Media.Path");
32 String rtspDir = MirConfig.getProp("Producer.RealMedia.Path");
33 String mediaHost = MirConfig.getProp("Producer.Media.Host");
34 String rtspMediaHost = MirConfig.getProp("Producer.RealMedia.Host");
36 String date = ent.getValue("date");
37 String datePath = StringUtil.webdbDate2path(date);
38 String mediaFname = ent.getId()+"."+ext;
39 String realMediaPointer = rtspMediaHost+datePath+mediaFname;
40 String realMediaFile = ent.getId()+".ram";
41 Integer size = new Integer(uploadedData.length);
42 if(FileUtil.write(dir+"/"+datePath+"/"+mediaFname, uploadedData)) {
43 //if(FileUtil.write(rtspDir+"/"+mediaFname, uploadedData)) {
44 //were done with the data, dereference.
49 FileUtil.write(dir+"/"+datePath+"/"+realMediaFile,realMediaPointer.getBytes());
50 ent.setValueForProperty("is_produced", "1");
51 ent.setValueForProperty("icon_is_produced", "1");
52 ent.setValueForProperty("publish_path",datePath+"/"+realMediaFile);
53 //ent.setValueForProperty("publish_path", realMediaFile);
54 ent.setValueForProperty("publish_server", mediaHost);
55 ent.setValueForProperty("size", size.toString());
57 } catch (StorageObjectException e) {
58 theLog.printError("StorageObjectException: "+e.toString());
62 theLog.printError("could not write FILE!");