[Red5commits] [1332] Add "repeat" and "rewind" feature to sample implementation of IPlaylistControlle

sgong luke at codegent.com
Tue Sep 12 08:50:17 EDT 2006


Add "repeat" and "rewind" feature to sample implementation of IPlaylistController per user's request.


Timestamp: 09/12/06 07:48:04 EST (less than one hour ago) 
Change: 1332 
Author: sgong

Files (see diff or trac for details): 
java/server/trunk/src/org/red5/server/stream/SimplePlaylistController.java


Trac: http://mirror1.cvsdude.com/trac/osflash/red5/changeset/1332

Index: /java/server/trunk/src/org/red5/server/stream/SimplePlaylistController.java
===================================================================
--- /java/server/trunk/src/org/red5/server/stream/SimplePlaylistController.java (revision 1082)
+++ /java/server/trunk/src/org/red5/server/stream/SimplePlaylistController.java (revision 1332)
@@ -27,8 +27,13 @@
 	public int nextItem(IPlaylist playlist, int itemIndex) {
 		if (itemIndex < 0) itemIndex = -1;
+		if (playlist.isRepeat()) return itemIndex;
 		int nextIndex = itemIndex + 1;
 		if (nextIndex < playlist.getItemSize()) {
 			return nextIndex;
-		} else return -1;
+		} else if (playlist.isRewind()) {
+			return playlist.getItemSize() > 0 ? 0 : -1;
+		} else {
+			return -1;
+		}
 	}
 
@@ -37,5 +42,13 @@
 			return playlist.getItemSize() - 1;
 		}
-		return itemIndex - 1;
+		if (playlist.isRepeat()) return itemIndex;
+		int prevIndex = itemIndex - 1;
+		if (prevIndex >= 0) {
+			return prevIndex;
+		} else if (playlist.isRewind()) {
+			return playlist.getItemSize() - 1;
+		} else {
+			return -1;
+		}
 	}
 


Note:
Diffs are chopped if more than 25k.
This is to get past the limit on the mailing list.



More information about the Red5commits mailing list