From: jreichen <jre...@us...> - 2011-04-09 00:28:37
|
Update of /cvsroot/sageplugins/MediaStreaming/src/sagex/streaming/httpls/playlist In directory vz-cvs-3.sog:/tmp/cvs-serv11888/src/sagex/streaming/httpls/playlist Modified Files: SegmentPlaylist.java Log Message: - Refactor HTTP Live Streaming Playlist Code - Put absolute URLs in HTTP Live Streaming Playlists Index: SegmentPlaylist.java =================================================================== RCS file: /cvsroot/sageplugins/MediaStreaming/src/sagex/streaming/httpls/playlist/SegmentPlaylist.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** SegmentPlaylist.java 18 Jan 2011 01:40:10 -0000 1.3 --- SegmentPlaylist.java 9 Apr 2011 00:28:34 -0000 1.4 *************** *** 4,7 **** --- 4,9 ---- import java.util.List; + import javax.servlet.http.HttpServletRequest; + import org.mortbay.log.Log; *************** *** 11,15 **** --- 13,19 ---- { public static final int TARGET_DURATION = 10; + private static final String LINE_TERM = "\r\n"; + private HttpServletRequest req; private Object mediaFile; private int mediaFileId; *************** *** 19,24 **** private boolean isFileCurrentlyRecording; ! public SegmentPlaylist(Object mediaFile, String conversionId, String quality) { this.mediaFile = mediaFile; this.mediaFileId = MediaFileAPI.GetMediaFileID(mediaFile); --- 23,29 ---- private boolean isFileCurrentlyRecording; ! public SegmentPlaylist(HttpServletRequest req, Object mediaFile, String conversionId, String quality) { + this.req = req; this.mediaFile = mediaFile; this.mediaFileId = MediaFileAPI.GetMediaFileID(mediaFile); *************** *** 112,119 **** Log.debug("Number of playlist segments: " + segmentCount); ! sb.append("#EXTM3U\r\n"); Log.debug("#EXTM3U"); ! sb.append("#EXT-X-TARGETDURATION:" + TARGET_DURATION + "\r\n"); Log.debug("#EXT-X-TARGETDURATION:" + SegmentPlaylist.TARGET_DURATION); for (int i = 0; i < segmentCount; i++) --- 117,126 ---- Log.debug("Number of playlist segments: " + segmentCount); ! sb.append("#EXTM3U" + LINE_TERM); Log.debug("#EXTM3U"); ! sb.append("#EXT-X-TARGETDURATION:" + TARGET_DURATION + LINE_TERM); Log.debug("#EXT-X-TARGETDURATION:" + SegmentPlaylist.TARGET_DURATION); + // sb.append("#EXT-X-MEDIA-SEQUENCE:1" + LINE_TERM); + // Log.debug("#EXT-X-MEDIA-SEQUENCE:1"); for (int i = 0; i < segmentCount; i++) *************** *** 144,148 **** if (!isFileCurrentlyRecording) { ! sb.append("#EXT-X-ENDLIST\r\n"); Log.debug("#EXT-X-ENDLIST"); } --- 151,155 ---- if (!isFileCurrentlyRecording) { ! sb.append("#EXT-X-ENDLIST" + LINE_TERM); Log.debug("#EXT-X-ENDLIST"); } *************** *** 169,181 **** StringBuilder sb = new StringBuilder(); ! sb.append("#EXTINF:" + segmentDuration + "," + showName + "\r\n"); ! String url = "/stream/HTTPLiveStreamingSegment?" + ! "Sequence=" + segmentSequence + "&MediaFileId=" + mediaFileId + "&ConversionId=" + conversionId + "&Quality=" + quality + "&MediaFileSegment=" + mediaFileSegment; ! sb.append(url + "\r\n"); return sb.toString(); --- 176,190 ---- StringBuilder sb = new StringBuilder(); ! sb.append("#EXTINF:" + segmentDuration + "," + showName + LINE_TERM); ! String url = req.getRequestURL().toString().replace(req.getRequestURI(), "") + ! req.getContextPath() + ! "/HTTPLiveStreamingSegment" + ! "?Sequence=" + segmentSequence + "&MediaFileId=" + mediaFileId + "&ConversionId=" + conversionId + "&Quality=" + quality + "&MediaFileSegment=" + mediaFileSegment; ! sb.append(url + LINE_TERM); return sb.toString(); |