[Red5commits] [1541] API: IStreamFilenameGenerator now differs between filenames for recording and pl

jbauch luke at codegent.com
Wed Jan 24 10:51:40 EST 2007


API: IStreamFilenameGenerator now differs between filenames for recording and playback


Timestamp: 11/14/06 18:56:44 EST (2 months ago) 
Change: 1541 
Author: jbauch

Files (see diff or trac for details): 
doc/trunk/HOWTO-StreamCustomDirectories.txt
doc/trunk/changelog.txt
java/server/trunk/src/org/red5/server/api/stream/IStreamFilenameGenerator.java
java/server/trunk/src/org/red5/server/stream/ClientBroadcastStream.java
java/server/trunk/src/org/red5/server/stream/DefaultStreamFilenameGenerator.java
java/server/trunk/src/org/red5/server/stream/ProviderService.java


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

Index: /java/server/trunk/src/org/red5/server/stream/DefaultStreamFilenameGenerator.java
===================================================================
--- /java/server/trunk/src/org/red5/server/stream/DefaultStreamFilenameGenerator.java (revision 1406)
+++ /java/server/trunk/src/org/red5/server/stream/DefaultStreamFilenameGenerator.java (revision 1541)
@@ -1,2 +1,3 @@
+
 package org.red5.server.stream;
 
@@ -36,9 +37,9 @@
 	}
 
-	public String generateFilename(IScope scope, String name) {
-		return generateFilename(scope, name, null);
+	public String generateFilename(IScope scope, String name, GenerationType type) {
+		return generateFilename(scope, name, null, type);
 	}
 
-	public String generateFilename(IScope scope, String name, String extension) {
+	public String generateFilename(IScope scope, String name, String extension, GenerationType type) {
 		String result = getStreamDirectory(scope) + name;
 		if (extension != null && !extension.equals("")) {
Index: /java/server/trunk/src/org/red5/server/stream/ProviderService.java
===================================================================
--- /java/server/trunk/src/org/red5/server/stream/ProviderService.java (revision 1538)
+++ /java/server/trunk/src/org/red5/server/stream/ProviderService.java (revision 1541)
@@ -34,4 +34,5 @@
 import org.red5.server.api.stream.IBroadcastStream;
 import org.red5.server.api.stream.IStreamFilenameGenerator;
+import org.red5.server.api.stream.IStreamFilenameGenerator.GenerationType;
 import org.red5.server.messaging.IMessageInput;
 import org.red5.server.messaging.IPipe;
@@ -162,5 +163,5 @@
 			ScopeUtils.getScopeService(scope, IStreamFilenameGenerator.class, DefaultStreamFilenameGenerator.class);
 		
-		return filenameGenerator.generateFilename(scope, name);
+		return filenameGenerator.generateFilename(scope, name, GenerationType.PLAYBACK);
 	}
 
Index: /java/server/trunk/src/org/red5/server/stream/ClientBroadcastStream.java
===================================================================
--- /java/server/trunk/src/org/red5/server/stream/ClientBroadcastStream.java (revision 1538)
+++ /java/server/trunk/src/org/red5/server/stream/ClientBroadcastStream.java (revision 1541)
@@ -40,4 +40,5 @@
 import org.red5.server.api.stream.ResourceExistException;
 import org.red5.server.api.stream.ResourceNotFoundException;
+import org.red5.server.api.stream.IStreamFilenameGenerator.GenerationType;
 import org.red5.server.messaging.IFilter;
 import org.red5.server.messaging.IMessage;
@@ -137,5 +138,5 @@
 							DefaultStreamFilenameGenerator.class);
 
-			String filename = generator.generateFilename(scope, name, ".flv");
+			String filename = generator.generateFilename(scope, name, ".flv", GenerationType.RECORD);
 			Resource res = scope.getResource(filename);
 			if (!isAppend) {
Index: /java/server/trunk/src/org/red5/server/api/stream/IStreamFilenameGenerator.java
===================================================================
--- /java/server/trunk/src/org/red5/server/api/stream/IStreamFilenameGenerator.java (revision 1538)
+++ /java/server/trunk/src/org/red5/server/api/stream/IStreamFilenameGenerator.java (revision 1541)
@@ -34,4 +34,10 @@
 	public static String BEAN_NAME = "streamFilenameGenerator";
 
+	/** Possible filename generation types. */
+	public static enum GenerationType {
+			PLAYBACK,
+			RECORD
+	};
+	
 	/**
 	 * Generate a filename without an extension.
@@ -41,5 +47,5 @@
 	 * @return
 	 */
-	public String generateFilename(IScope scope, String name);
+	public String generateFilename(IScope scope, String name, GenerationType type);
 
 	/**
@@ -51,5 +57,5 @@
 	 * @return
 	 */
-	public String generateFilename(IScope scope, String name, String extension);
+	public String generateFilename(IScope scope, String name, String extension, GenerationType type);
 
 }
Index: /doc/trunk/HOWTO-StreamCustomDirectories.txt
===================================================================
--- /doc/trunk/HOWTO-StreamCustomDirectories.txt (revision 1539)
+++ /doc/trunk/HOWTO-StreamCustomDirectories.txt (revision 1541)
@@ -38,13 +38,14 @@
         public String playbackPath = "videoStreams/";
         
-        public String generateFilename(IScope scope, String name) {
+        public String generateFilename(IScope scope, String name,
+                GenerationType type) {
             // Generate filename without an extension.
-            return generateFilename(scope, name, null);
+            return generateFilename(scope, name, null, type);
         }
 
         public String generateFilename(IScope scope, String name,
-                String extension) {
+                String extension, GenerationType type) {
             String filename;
-            if (name.startsWith("red5RecordDemo"))
+            if (type == GenerationType.RECORD)
                 filename = recordPath + name;
             else
Index: /doc/trunk/changelog.txt
===================================================================
--- /doc/trunk/changelog.txt (revision 1537)
+++ /doc/trunk/changelog.txt (revision 1541)
@@ -11,4 +11,5 @@
 - RTMP network library supports client mode (Trac #94)
 - source of VOD streams can be customized through IStreamFilenameGenerator
+- API: IStreamFilenameGenerator differs between playback and recording
 
 Bugfixes:


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