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();
|