[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