2 * put your module comment here
6 package mircoders.media;
18 * Handles real audio. 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 MediaHandlerRealAudio extends MediaHandlerAudio implements MirMedia
30 public boolean set (byte[] uploadedData, Entity ent, Entity mediaTypeEnt )
31 throws MirMediaException {
32 String ext = mediaTypeEnt.getValue("name");
33 String dir = MirConfig.getProp("Producer.Media.Path");
34 String rtspDir = MirConfig.getProp("Producer.RealMedia.Path");
35 String mediaHost = MirConfig.getProp("Producer.Media.Host");
36 String rtspMediaHost = MirConfig.getProp("Producer.RealMedia.Host");
38 String date = ent.getValue("date");
39 String datePath = StringUtil.webdbDate2path(date);
40 String mediaFname = ent.getId()+"."+ext;
41 String realMediaPointer = rtspMediaHost+datePath+mediaFname;
42 String realMediaFile = ent.getId()+".ram";
43 Integer size = new Integer(uploadedData.length);
45 FileUtil.write(dir+"/"+datePath+"/"+mediaFname, uploadedData);
46 //FileUtil.write(rtspDir+"/"+mediaFname, uploadedData);
47 //were done with the data, dereference.
51 FileUtil.write(dir+"/"+datePath+"/"+realMediaFile,realMediaPointer.getBytes());
52 ent.setValueForProperty("is_produced", "1");
53 ent.setValueForProperty("icon_is_produced", "1");
54 ent.setValueForProperty("publish_path",datePath+"/"+realMediaFile);
55 //ent.setValueForProperty("publish_path", realMediaFile);
56 ent.setValueForProperty("publish_server", mediaHost);
57 ent.setValueForProperty("size", size.toString());
59 } catch (Exception e) {
60 theLog.printError(e.toString());
61 throw new MirMediaException(e.toString());