[Red5commits] [1106] videoConferenceDemo seems to be working again:- fixed "stream.start" being call

jbauch luke at codegent.com
Mon Jul 3 18:30:05 EDT 2006


videoConferenceDemo seems to be working again:
- fixed "stream.start" being called twice for broadcast streams
- fixed generated keyframe being sent before reset pings / notification messages / blank audio


Timestamp: 07/04/06 08:09:22 (less than one hour ago) 
Change: 1106 
Author: jbauch

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


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

Index: /java/server/trunk/src/org/red5/server/stream/PlaylistSubscriberStream.java
===================================================================
--- /java/server/trunk/src/org/red5/server/stream/PlaylistSubscriberStream.java (revision 1092)
+++ /java/server/trunk/src/org/red5/server/stream/PlaylistSubscriberStream.java (revision 1106)
@@ -390,4 +390,5 @@
 			boolean isPublishedStream = liveInput != null;
 			boolean isFileStream = vodInput != null;
+			boolean sendNotifications = true;
 			
 			// decision: 0 for Live, 1 for File, 2 for Wait, 3 for N/A
@@ -438,4 +439,9 @@
 								VideoData video = new VideoData(keyFrame);
 								try {
+									sendResetPing();
+									sendResetStatus(item);
+									sendStartStatus(item);
+									sendBlankAudio();
+									
 									video.setTimestamp(0);
 									
@@ -443,4 +449,5 @@
 									videoMsg.setBody(video);
 									msgOut.pushMessage(videoMsg);
+									sendNotifications = false;
 								} finally {
 									video.release();
@@ -477,8 +484,10 @@
 				throw new StreamNotFoundException(item.getName());
 			}
-			sendResetPing();
-			sendResetStatus(item);
-			sendStartStatus(item);
-			sendBlankAudio();
+			if (sendNotifications) {
+				sendResetPing();
+				sendResetStatus(item);
+				sendStartStatus(item);
+				sendBlankAudio();
+			}
 			state = State.PLAYING;
 			if (decision == 1) {
Index: /java/server/trunk/src/org/red5/server/stream/StreamService.java
===================================================================
--- /java/server/trunk/src/org/red5/server/stream/StreamService.java (revision 1092)
+++ /java/server/trunk/src/org/red5/server/stream/StreamService.java (revision 1106)
@@ -168,5 +168,4 @@
 		if (stream == null) {
 			stream = streamConn.newBroadcastStream(streamId);
-			stream.start();
 		} else {
 			// already published


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