- try upgrading to red5 r4406

This commit is contained in:
Richard Alam 2012-09-03 17:15:46 +00:00
parent 809e16cc61
commit 808588cb5d
40 changed files with 81 additions and 75 deletions

View File

@ -3,14 +3,25 @@
<classpathentry kind="src" path="src/main/java"/>
<classpathentry kind="src" path="src/test/java"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="lib" path="lib/log4j-over-slf4j-1.5.6.jar"/>
<classpathentry kind="lib" path="lib/logback-classic-0.9.14.jar"/>
<classpathentry kind="lib" path="lib/logback-core-0.9.14.jar"/>
<classpathentry kind="lib" path="lib/com.springsource.slf4j.api-1.6.1.jar"/>
<classpathentry kind="lib" path="lib/com.springsource.slf4j.bridge-1.6.1.jar"/>
<classpathentry kind="lib" path="lib/commons-pool-1.5.6.jar"/>
<classpathentry kind="lib" path="lib/easymock-2.4.jar"/>
<classpathentry kind="lib" path="lib/jcl-over-slf4j-1.6.1.jar"/>
<classpathentry kind="lib" path="lib/jedis-2.0.0.jar"/>
<classpathentry kind="lib" path="lib/jul-to-slf4j-1.6.1.jar"/>
<classpathentry kind="lib" path="lib/log4j-over-slf4j-1.6.1.jar"/>
<classpathentry kind="lib" path="lib/logback-classic-0.9.28.jar"/>
<classpathentry kind="lib" path="lib/logback-core-0.9.28.jar"/>
<classpathentry kind="lib" path="lib/mina-core-2.0.4.jar"/>
<classpathentry kind="lib" path="lib/mina-integration-beans-2.0.4.jar"/>
<classpathentry kind="lib" path="lib/mina-integration-jmx-2.0.4.jar"/>
<classpathentry kind="lib" path="lib/servlet-api-2.5.jar"/>
<classpathentry kind="lib" path="lib/slf4j-api-1.5.6.jar"/>
<classpathentry kind="lib" path="lib/spring-beans-2.5.6.jar"/>
<classpathentry kind="lib" path="lib/spring-context-2.5.6.jar"/>
<classpathentry kind="lib" path="lib/spring-core-2.5.6.jar"/>
<classpathentry kind="lib" path="lib/red5-0.9.jar"/>
<classpathentry kind="lib" path="lib/spring-beans-3.0.6.RELEASE.jar"/>
<classpathentry kind="lib" path="lib/spring-context-3.0.6.RELEASE.jar"/>
<classpathentry kind="lib" path="lib/spring-core-3.0.6.RELEASE.jar"/>
<classpathentry kind="lib" path="lib/spring-web-3.0.6.RELEASE.jar"/>
<classpathentry kind="lib" path="lib/testng-5.8.jar"/>
<classpathentry kind="lib" path="lib/red5-1.0r4406.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>

View File

@ -81,7 +81,7 @@ dependencies {
providedCompile 'org.springframework:spring-core:3.0.6.RELEASE@jar'
// Red5
providedCompile 'org/red5:red5:1.0r4316@jar'
providedCompile 'org/red5:red5:1.0r4406@jar'
// Logging
providedCompile 'org.slf4j:com.springsource.slf4j.api:1.6.1@jar'

View File

@ -20,12 +20,11 @@ package org.bigbluebutton.app.video;
import java.util.HashMap;
import java.util.Map;
import org.red5.logging.Red5LoggerFactory;
import org.red5.server.adapter.MultiThreadedApplicationAdapter;
import org.red5.server.api.IConnection;
import org.red5.server.api.IScope;
import org.red5.server.api.Red5;
import org.red5.server.api.scope.IScope;
import org.red5.server.api.stream.IBroadcastStream;
import org.red5.server.api.stream.IServerStream;
import org.red5.server.api.stream.IStreamListener;

View File

@ -81,7 +81,7 @@ dependencies {
providedCompile 'org.springframework:spring-core:3.0.6.RELEASE@jar'
// Red5
providedCompile 'org/red5:red5:1.0r4316@jar'
providedCompile 'org/red5:red5:1.0r4406@jar'
// Logging
providedCompile 'org.slf4j:com.springsource.slf4j.api:1.6.1@jar'

View File

@ -20,14 +20,16 @@
package org.bigbluebutton.voiceconf.red5;
import java.util.List;
import java.util.Set;
import org.slf4j.Logger;
import org.bigbluebutton.voiceconf.sip.PeerNotFoundException;
import org.bigbluebutton.voiceconf.sip.SipPeerManager;
import org.red5.logging.Red5LoggerFactory;
import org.red5.server.adapter.MultiThreadedApplicationAdapter;
import org.red5.server.api.IConnection;
import org.red5.server.api.IScope;
import org.red5.server.api.Red5;
import org.red5.server.api.scope.IScope;
import org.red5.server.api.service.IServiceCapableConnection;
import org.red5.server.api.stream.IBroadcastStream;
import org.red5.server.stream.ClientBroadcastStream;
@ -163,7 +165,7 @@ public class Application extends MultiThreadedApplicationAdapter {
}
}
public List<String> getStreams() {
public Set<String> getStreams() {
IConnection conn = Red5.getConnectionLocal();
return getBroadcastStreamNames( conn.getScope() );
}

View File

@ -22,7 +22,7 @@ package org.bigbluebutton.voiceconf.red5;
import org.bigbluebutton.voiceconf.red5.media.CallStream;
import org.bigbluebutton.voiceconf.sip.SipConnectInfo;
import org.red5.app.sip.codecs.Codec;
import org.red5.server.api.IScope;
import org.red5.server.api.scope.IScope;
public class CallStreamFactory {
private IScope scope;

View File

@ -23,12 +23,9 @@ import java.io.IOException;
import java.util.Collection;
import java.util.Set;
import java.util.concurrent.CopyOnWriteArraySet;
import org.red5.logging.Red5LoggerFactory;
import org.red5.server.api.IConnection;
import org.red5.server.api.IScope;
import org.red5.server.api.Red5;
import org.red5.server.api.event.IEvent;
import org.red5.server.api.scope.IScope;
import org.red5.server.api.stream.IBroadcastStream;
import org.red5.server.api.stream.IStreamCodecInfo;
import org.red5.server.api.stream.IStreamListener;

View File

@ -30,7 +30,7 @@ import org.red5.app.sip.codecs.Codec;
import org.red5.app.sip.codecs.SpeexCodec;
import org.slf4j.Logger;
import org.red5.logging.Red5LoggerFactory;
import org.red5.server.api.IScope;
import org.red5.server.api.scope.IScope;
import org.red5.server.api.stream.IBroadcastStream;
public class CallStream implements StreamObserver {

View File

@ -25,7 +25,7 @@ import org.bigbluebutton.voiceconf.red5.media.transcoder.FlashToSipTranscoder;
import org.bigbluebutton.voiceconf.red5.media.transcoder.TranscodedAudioDataListener;
import org.bigbluebutton.voiceconf.sip.SipConnectInfo;
import org.red5.logging.Red5LoggerFactory;
import org.red5.server.api.IScope;
import org.red5.server.api.scope.IScope;
import org.red5.server.api.stream.IBroadcastStream;
import org.red5.server.api.stream.IStreamListener;
import org.red5.server.api.stream.IStreamPacket;

View File

@ -25,14 +25,16 @@ import org.bigbluebutton.voiceconf.red5.media.transcoder.SipToFlashTranscoder;
import org.bigbluebutton.voiceconf.red5.media.transcoder.TranscodedAudioDataListener;
import org.red5.logging.Red5LoggerFactory;
import org.red5.server.api.IContext;
import org.red5.server.api.IScope;
import org.red5.server.api.scope.IScope;
import org.red5.server.net.rtmp.event.AudioData;
import org.red5.server.net.rtmp.event.Notify;
import org.red5.server.net.rtmp.message.Constants;
import org.red5.server.scope.Scope;
import org.red5.server.stream.BroadcastScope;
import org.red5.server.stream.IBroadcastScope;
import org.red5.server.stream.IProviderService;
import org.slf4j.Logger;
public class SipToFlashAudioStream implements TranscodedAudioDataListener, RtpStreamReceiverListener {
private static final Logger log = Red5LoggerFactory.getLogger(SipToFlashAudioStream.class, "sip");
@ -64,7 +66,7 @@ public class SipToFlashAudioStream implements TranscodedAudioDataListener, RtpSt
rtpStreamReceiver = new RtpStreamReceiver(socket, transcoder.getIncomingEncodedFrameSize());
rtpStreamReceiver.setRtpStreamReceiverListener(this);
listenStreamName = "speaker_" + System.currentTimeMillis();
scope.setName(listenStreamName);
((Scope)scope).setName(listenStreamName);
mBuffer = IoBuffer.allocate(1024);
mBuffer = mBuffer.setAutoExpand(true);
audioData = new AudioData();
@ -105,7 +107,7 @@ public class SipToFlashAudioStream implements TranscodedAudioDataListener, RtpSt
IProviderService providerService = (IProviderService) context.getBean(IProviderService.BEAN_NAME);
if (providerService.registerBroadcastStream(scope, listenStreamName, audioBroadcastStream)){
IBroadcastScope bScope = (BroadcastScope) providerService.getLiveProviderInput(scope, listenStreamName, true);
bScope.setAttribute(IBroadcastScope.STREAM_ATTRIBUTE, audioBroadcastStream);
((BroadcastScope)bScope).setAttribute(IBroadcastScope.STREAM_ATTRIBUTE, audioBroadcastStream);
} else{
log.error("could not register broadcast stream");
throw new RuntimeException("could not register broadcast stream");

View File

@ -34,7 +34,7 @@ import org.red5.app.sip.codecs.Codec;
import org.red5.app.sip.codecs.CodecUtils;
import org.slf4j.Logger;
import org.red5.logging.Red5LoggerFactory;
import org.red5.server.api.IScope;
import org.red5.server.api.scope.IScope;
import org.red5.server.api.stream.IBroadcastStream;
import java.net.DatagramSocket;
import java.net.InetAddress;

View File

@ -22,14 +22,13 @@ package org.bigbluebutton.voiceconf.sip;
import java.util.Collection;
import java.util.Iterator;
import java.util.concurrent.atomic.AtomicInteger;
import org.zoolu.sip.provider.*;
import org.zoolu.net.SocketAddress;
import org.slf4j.Logger;
import org.bigbluebutton.voiceconf.red5.CallStreamFactory;
import org.bigbluebutton.voiceconf.red5.ClientConnectionManager;
import org.red5.logging.Red5LoggerFactory;
import org.red5.server.api.IScope;
import org.red5.server.api.scope.IScope;
import org.red5.server.api.stream.IBroadcastStream;
/**

View File

@ -24,7 +24,7 @@ import org.zoolu.sip.provider.SipStack;
import org.bigbluebutton.voiceconf.red5.CallStreamFactory;
import org.bigbluebutton.voiceconf.red5.ClientConnectionManager;
import org.red5.logging.Red5LoggerFactory;
import org.red5.server.api.IScope;
import org.red5.server.api.scope.IScope;
import org.red5.server.api.stream.IBroadcastStream;
import java.util.*;

View File

@ -4,10 +4,9 @@ import java.io.IOException;
import java.util.Collection;
import java.util.Set;
import java.util.concurrent.CopyOnWriteArraySet;
import org.red5.logging.Red5LoggerFactory;
import org.red5.server.api.IScope;
import org.red5.server.api.event.IEvent;
import org.red5.server.api.scope.IScope;
import org.red5.server.api.stream.IBroadcastStream;
import org.red5.server.api.stream.IStreamCodecInfo;
import org.red5.server.api.stream.IStreamListener;
@ -23,9 +22,7 @@ import org.red5.server.net.rtmp.event.IRTMPEvent;
import org.red5.server.net.rtmp.event.Notify;
import org.red5.server.stream.codec.StreamCodecInfo;
import org.red5.server.stream.message.RTMPMessage;
import org.slf4j.Logger;
import org.red5.server.api.stream.IStreamPacket;;
public class AudioStream implements IBroadcastStream, IProvider, IPipeConnectionListener {

View File

@ -17,7 +17,7 @@ import org.red5.app.sip.trancoders.SpeexToSpeexTranscoder;
import org.red5.app.sip.trancoders.Transcoder;
import org.slf4j.Logger;
import org.red5.logging.Red5LoggerFactory;
import org.red5.server.api.IScope;
import org.red5.server.api.scope.IScope;
import org.red5.server.api.stream.IBroadcastStream;
public class CallStream implements RtpStreamReceiverListener {

View File

@ -2,7 +2,7 @@ package org.red5.app.sip;
import org.red5.app.sip.registration.SipRegisterAgentListener;
import org.red5.logging.Red5LoggerFactory;
import org.red5.server.api.IScope;
import org.red5.server.api.scope.IScope;
import org.red5.server.api.service.IServiceCapableConnection;
import org.slf4j.Logger;

View File

@ -1,6 +1,7 @@
package org.red5.app.sip;
import org.red5.server.api.IScope;
import org.red5.server.api.scope.IScope;
public interface ScopeProvider {

2
bbb-voice/src/main/java/org/red5/app/sip/SipUser.java Normal file → Executable file
View File

@ -4,7 +4,7 @@ import org.zoolu.sip.provider.*;
import org.zoolu.net.SocketAddress;
import org.slf4j.Logger;
import org.red5.logging.Red5LoggerFactory;
import org.red5.server.api.IScope;
import org.red5.server.api.scope.IScope;
import org.red5.server.api.stream.IBroadcastStream;
import org.red5.app.sip.registration.SipRegisterAgent;

View File

@ -10,7 +10,7 @@ import org.red5.app.sip.codecs.Codec;
import org.red5.app.sip.codecs.CodecUtils;
import org.slf4j.Logger;
import org.red5.logging.Red5LoggerFactory;
import org.red5.server.api.IScope;
import org.red5.server.api.scope.IScope;
import org.red5.server.api.stream.IBroadcastStream;
import org.zoolu.tools.Parser;
import java.util.Enumeration;

View File

@ -3,9 +3,8 @@ package org.red5.app.sip;
import org.slf4j.Logger;
import org.zoolu.sip.provider.SipStack;
import org.red5.logging.Red5LoggerFactory;
import org.red5.server.api.IScope;
import org.red5.server.api.scope.IScope;
import org.red5.server.api.stream.IBroadcastStream;
import java.util.*;
public final class SipUserManager {

View File

@ -4,8 +4,9 @@ import org.red5.app.sip.AudioStream;
import org.red5.app.sip.trancoders.TranscodedAudioDataListener;
import org.red5.logging.Red5LoggerFactory;
import org.red5.server.api.IContext;
import org.red5.server.api.IScope;
import org.red5.server.api.scope.IScope;
import org.red5.server.net.rtmp.event.AudioData;
import org.red5.server.scope.Scope;
import org.red5.server.stream.BroadcastScope;
import org.red5.server.stream.IBroadcastScope;
import org.red5.server.stream.IProviderService;
@ -21,7 +22,7 @@ public class ListenStream implements TranscodedAudioDataListener {
public ListenStream(IScope scope) {
this.scope = scope;
listenStreamName = "speaker_" + System.currentTimeMillis();
scope.setName(listenStreamName);
((Scope)scope).setName(listenStreamName);
}
public String getStreamName() {
@ -73,7 +74,7 @@ public class ListenStream implements TranscodedAudioDataListener {
if (providerService.registerBroadcastStream(aScope, listenStreamName, broadcastStream)){
IBroadcastScope bScope = (BroadcastScope) providerService.getLiveProviderInput(aScope, listenStreamName, true);
bScope.setAttribute(IBroadcastScope.STREAM_ATTRIBUTE, broadcastStream);
((BroadcastScope)bScope).setAttribute(IBroadcastScope.STREAM_ATTRIBUTE, broadcastStream);
} else{
log.error("could not register broadcast stream");
throw new RuntimeException("could not register broadcast stream");

View File

@ -9,7 +9,7 @@ import org.apache.mina.core.buffer.IoBuffer;
import org.red5.app.sip.RtmpAudioData;
import org.red5.app.sip.trancoders.Transcoder;
import org.red5.logging.Red5LoggerFactory;
import org.red5.server.api.IScope;
import org.red5.server.api.scope.IScope;
import org.red5.server.api.stream.IBroadcastStream;
import org.red5.server.api.stream.IStreamListener;
import org.red5.server.api.stream.IStreamPacket;

View File

@ -3,17 +3,17 @@ package org.red5.server.webapp.sip;
import java.util.List;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import org.slf4j.Logger;
import org.red5.app.sip.SipUserManager;
import org.red5.app.sip.SipUser;
import org.red5.logging.Red5LoggerFactory;
import org.red5.server.adapter.MultiThreadedApplicationAdapter;
import org.red5.server.api.IClient;
import org.red5.server.api.IConnection;
import org.red5.server.api.IScope;
import org.red5.server.api.Red5;
import org.red5.server.api.scope.IScope;
import org.red5.server.api.service.IServiceCapableConnection;
import org.red5.server.api.stream.IBroadcastStream;
import org.red5.server.api.stream.IPlayItem;
@ -114,7 +114,7 @@ public class SipPhoneApplication extends MultiThreadedApplicationAdapter impleme
loginfo( "Red5SIP Stream subscribe start: " + stream.getName() );
}
public List< String > getStreams() {
public Set< String > getStreams() {
IConnection conn = Red5.getConnectionLocal();
return getBroadcastStreamNames( conn.getScope() );
}

View File

@ -2,6 +2,8 @@ package org.red5.server.webapp.sip;
import java.text.MessageFormat;
import java.util.List;
import java.util.Set;
import org.slf4j.Logger;
import org.red5.app.sip.ConnectionClientMethodInvoker;
import org.red5.app.sip.SipUserManager;
@ -9,8 +11,8 @@ import org.red5.logging.Red5LoggerFactory;
import org.red5.server.adapter.MultiThreadedApplicationAdapter;
import org.red5.server.api.IClient;
import org.red5.server.api.IConnection;
import org.red5.server.api.IScope;
import org.red5.server.api.Red5;
import org.red5.server.api.scope.IScope;
import org.red5.server.api.service.IServiceCapableConnection;
import org.red5.server.api.stream.IBroadcastStream;
@ -82,7 +84,7 @@ public class VoiceConferenceApplication extends MultiThreadedApplicationAdapter
super.streamBroadcastClose(stream);
}
public List<String> getStreams() {
public Set<String> getStreams() {
IConnection conn = Red5.getConnectionLocal();
return getBroadcastStreamNames( conn.getScope() );
}

View File

@ -72,7 +72,7 @@ dependencies {
providedCompile 'org.springframework:spring-core:3.0.6.RELEASE@jar'
// Red5
providedCompile 'org/red5:red5:1.0r4316@jar'
providedCompile 'org/red5:red5:1.0r4406@jar'
// Logging
providedCompile 'org.slf4j:com.springsource.slf4j.api:1.6.1@jar'

View File

@ -28,7 +28,7 @@ import org.red5.server.adapter.IApplication;
import org.red5.server.adapter.MultiThreadedApplicationAdapter;
import org.red5.server.api.IConnection;
import org.red5.server.api.IContext;
import org.red5.server.api.IScope;
import org.red5.server.api.scope.IScope;
import org.slf4j.Logger;
import org.springframework.context.ApplicationEvent;
import org.springframework.context.ApplicationListener;

View File

@ -8,9 +8,8 @@ import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentLinkedQueue;
import java.util.concurrent.Executor;
import java.util.concurrent.Executors;
import org.red5.server.api.IConnection;
import org.red5.server.api.IScope;
import org.red5.server.api.scope.IScope;
import org.red5.server.api.service.ServiceUtils;
public class ConnectionInvokerService {

View File

@ -22,9 +22,9 @@ package org.bigbluebutton.conference.service.chat;
import org.red5.server.adapter.IApplication;
import org.red5.server.api.IClient;
import org.red5.server.api.IConnection;
import org.red5.server.api.IScope;
import org.slf4j.Logger;
import org.red5.logging.Red5LoggerFactory;
import org.red5.server.api.scope.IScope;
import org.red5.server.api.so.ISharedObject;
import org.red5.server.adapter.ApplicationAdapter;
import org.red5.server.api.Red5;

View File

@ -24,7 +24,7 @@ import org.red5.server.adapter.ApplicationAdapter;
import org.red5.server.adapter.IApplication;
import org.red5.server.api.IClient;
import org.red5.server.api.IConnection;
import org.red5.server.api.IScope;
import org.red5.server.api.scope.IScope;
import org.red5.server.api.so.ISharedObject;
import org.slf4j.Logger;

View File

@ -22,9 +22,9 @@ package org.bigbluebutton.conference.service.participants;
import org.red5.server.adapter.IApplication;
import org.red5.server.api.IClient;
import org.red5.server.api.IConnection;
import org.red5.server.api.IScope;
import org.slf4j.Logger;
import org.red5.logging.Red5LoggerFactory;
import org.red5.server.api.scope.IScope;
import org.red5.server.api.so.ISharedObject;
import org.red5.server.adapter.ApplicationAdapter;
import org.red5.server.api.Red5;

View File

@ -22,9 +22,8 @@ package org.bigbluebutton.conference.service.participants;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.red5.logging.Red5LoggerFactory;
import org.red5.server.api.IScope;
import org.red5.server.api.Red5;
import org.red5.server.api.Red5;
import org.red5.server.api.scope.IScope;
import java.util.ArrayList;
import java.util.Collection;

View File

@ -24,14 +24,12 @@ package org.bigbluebutton.conference.service.presentation;
import java.io.File;
import java.io.FileFilter;
import org.red5.server.adapter.IApplication;
import org.red5.server.api.IClient;
import org.red5.server.api.IConnection;
import org.red5.server.api.IScope;
import org.slf4j.Logger;
import org.red5.logging.Red5LoggerFactory;
import org.red5.server.api.scope.IScope;
import org.red5.server.api.so.ISharedObject;
import org.red5.server.adapter.ApplicationAdapter;
import org.red5.server.api.Red5;

View File

@ -23,11 +23,9 @@ package org.bigbluebutton.conference.service.presentation;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import org.slf4j.Logger;
import org.red5.logging.Red5LoggerFactory;
import org.red5.server.api.Red5;
import org.red5.server.api.IScope; import org.bigbluebutton.conference.service.participants.ParticipantsApplication;
import org.red5.logging.Red5LoggerFactory; import org.red5.server.api.Red5; import org.red5.server.api.scope.IScope;
import org.bigbluebutton.conference.service.participants.ParticipantsApplication;
public class PresentationService {
private static Logger log = Red5LoggerFactory.getLogger( PresentationService.class, "bigbluebutton" );

View File

@ -25,8 +25,8 @@ package org.bigbluebutton.conference.service.voice;
import org.red5.server.adapter.IApplication;
import org.red5.server.api.IClient;
import org.red5.server.api.IConnection;
import org.red5.server.api.IScope;
import org.slf4j.Logger;
import org.red5.server.api.scope.IScope;
import org.red5.server.api.so.ISharedObject;
import org.red5.server.adapter.ApplicationAdapter;
import org.red5.server.api.Red5; import org.bigbluebutton.conference.BigBlueButtonSession; import org.bigbluebutton.conference.Constants; import org.red5.logging.Red5LoggerFactory;

View File

@ -34,8 +34,8 @@ import org.red5.server.adapter.IApplication;
import org.red5.server.adapter.MultiThreadedApplicationAdapter;
import org.red5.server.api.IClient;
import org.red5.server.api.IConnection;
import org.red5.server.api.IScope;
import org.red5.server.api.Red5;
import org.red5.server.api.scope.IScope;
import org.slf4j.Logger;
import org.bigbluebutton.conference.service.recorder.RecorderApplication;
import org.bigbluebutton.conference.service.recorder.whiteboard.WhiteboardEventRecorder;

View File

@ -21,7 +21,7 @@ dependencies {
providedCompile 'org.springframework:spring-core:3.0.6.RELEASE@jar'
compile 'org.springframework:spring-webmvc:3.0.6.RELEASE@jar'
providedCompile 'org/red5:red5:1.0r4316@jar'
providedCompile 'org/red5:red5:1.0r4406@jar'
// Logging

View File

@ -23,10 +23,12 @@ package org.bigbluebutton.deskshare.server;
import static org.red5.server.api.ScopeUtils.getScopeService;
import org.red5.server.adapter.MultiThreadedApplicationAdapter;
import org.red5.server.api.IScope;
import org.red5.server.api.scope.IScope;
import org.red5.server.api.so.ISharedObject;
import org.red5.server.api.so.ISharedObjectService;
import org.red5.server.so.SharedObjectService;
import org.red5.server.util.ScopeUtils;
public class MultiThreadedAppAdapter extends MultiThreadedApplicationAdapter {
@ -42,7 +44,7 @@ public class MultiThreadedAppAdapter extends MultiThreadedApplicationAdapter {
@Override
public ISharedObject getSharedObject(IScope scope, String name) throws NullPointerException {
ISharedObjectService service = (ISharedObjectService) getScopeService(scope,
ISharedObjectService service = (ISharedObjectService) ScopeUtils.getScopeService(scope,
ISharedObjectService.class, SharedObjectService.class, false);
if (service == null) throw new NullPointerException();

View File

@ -25,10 +25,9 @@ import java.io.IOException;
import java.util.Collection;
import java.util.Set;
import java.util.concurrent.CopyOnWriteArraySet;
import org.red5.logging.Red5LoggerFactory;
import org.red5.server.api.IScope;
import org.red5.server.api.event.IEvent;
import org.red5.server.api.scope.IScope;
import org.red5.server.api.stream.IBroadcastStream;
import org.red5.server.api.stream.IStreamCodecInfo;
import org.red5.server.api.stream.IStreamListener;

View File

@ -21,7 +21,7 @@
*/
package org.bigbluebutton.deskshare.server.red5
import org.red5.server.api.{IContext, IScope, ScopeUtils, IConnection}
import org.red5.server.api.{IContext, IConnection}
import org.red5.server.so.SharedObjectService
import org.red5.server.api.so.{ISharedObject, ISharedObjectService}
import org.red5.server.stream.{BroadcastScope, IBroadcastScope, IProviderService}
@ -32,11 +32,12 @@ import org.bigbluebutton.deskshare.server.socket.DeskShareServer
import org.bigbluebutton.deskshare.server.MultiThreadedAppAdapter
import scala.actors.Actor
import scala.actors.Actor._
import net.lag.configgy.Configgy
import net.lag.logging.Logger
import java.io.File
import java.util.concurrent.CountDownLatch
import org.red5.server.api.scope.IScope
import org.red5.server.util.ScopeUtils
class DeskshareApplication(streamManager: StreamManager, deskShareServer: DeskShareServer) extends MultiThreadedAppAdapter {
private val deathSwitch = new CountDownLatch(1)

View File

@ -73,7 +73,7 @@ dependencies {
// Red5
compile 'org/red5:red5:1.0r4316@jar'
compile 'org/red5:red5:1.0r4406@jar'
// Logging
compile 'org.slf4j:com.springsource.slf4j.api:1.6.1@jar'