diff --git a/bbb-voice/src/main/java/org/bigbluebutton/voiceconf/red5/media/CallStream.java b/bbb-voice/src/main/java/org/bigbluebutton/voiceconf/red5/media/CallStream.java index 6287948e2132275da2ef037b75d13e143313e571..928b2e90758af7886b32e08a5216f700f7a09833 100755 --- a/bbb-voice/src/main/java/org/bigbluebutton/voiceconf/red5/media/CallStream.java +++ b/bbb-voice/src/main/java/org/bigbluebutton/voiceconf/red5/media/CallStream.java @@ -62,6 +62,10 @@ public class CallStream implements StreamObserver { rtmpToRtpTranscoder = new NellyToPcmTranscoder(sipCodec); rtpToRtmpTranscoder = new PcmToNellyTranscoder(sipCodec); } + + System.out.println("Packetization [" + sipCodec.getIncomingPacketization() + "," + sipCodec.getOutgoingPacketization() + "]"); + System.out.println("Outgoing Frame size [" + sipCodec.getOutgoingEncodedFrameSize() + ", " + sipCodec.getOutgoingDecodedFrameSize() + "]"); + System.out.println("Incoming Frame size [" + sipCodec.getIncomingEncodedFrameSize() + ", " + sipCodec.getIncomingDecodedFrameSize() + "]"); userListenStream = new SipToFlashAudioStream(scope, rtpToRtmpTranscoder, connInfo.getSocket()); userListenStream.addListenStreamObserver(this); rtpToRtmpTranscoder.addTranscodedAudioDataListener(userListenStream); diff --git a/bbb-voice/src/main/java/org/bigbluebutton/voiceconf/red5/media/RtpStreamSender.java b/bbb-voice/src/main/java/org/bigbluebutton/voiceconf/red5/media/RtpStreamSender.java index d00678c4a8d424f51fe23cb0a66fa5406ce4fcbe..7457869f0541dc6162e488ef4acbf674e3292e42 100755 --- a/bbb-voice/src/main/java/org/bigbluebutton/voiceconf/red5/media/RtpStreamSender.java +++ b/bbb-voice/src/main/java/org/bigbluebutton/voiceconf/red5/media/RtpStreamSender.java @@ -72,6 +72,10 @@ public class RtpStreamSender { } public void send(byte[] audioData, int offset, int num) { + // transcodedAudioDataBuffer = new byte[audioData.length - 1 + RTP_HEADER_SIZE]; + // rtpPacket = new RtpPacket(transcodedAudioDataBuffer, 0); + // rtpPacket.setPayloadType(transcoder.getCodecId()); + System.out.println("Audio Data length = " + audioData.length + " buffer = " + transcoder.getOutgoingEncodedFrameSize()); transcoder.transcode(audioData, offset, num, transcodedAudioDataBuffer, RTP_HEADER_SIZE, this); } diff --git a/bbb-voice/src/main/java/org/red5/app/sip/codecs/SpeexCodec.java b/bbb-voice/src/main/java/org/red5/app/sip/codecs/SpeexCodec.java index 530fad4473e73d200177e8456db9198159490bd3..71c07833ff1ca2f0e3ce1f3402da0283806fe6fe 100755 --- a/bbb-voice/src/main/java/org/red5/app/sip/codecs/SpeexCodec.java +++ b/bbb-voice/src/main/java/org/red5/app/sip/codecs/SpeexCodec.java @@ -11,8 +11,8 @@ import local.media.G711; public class SpeexCodec implements Codec { private static final String codecName = "Speex"; - private static int defaultEncodedFrameSize = 320; - private static int defaultDecodedFrameSize = 320; + private static int defaultEncodedFrameSize = 120; + private static int defaultDecodedFrameSize = 120; private static int defaultSampleRate = 16000; private int outgoingPacketization = 0; private int incomingPacketization = 0; @@ -25,12 +25,16 @@ public class SpeexCodec implements Codec { if ( this.outgoingPacketization == 0 ) { this.outgoingPacketization = defaultEncodePacketization; } + + System.out.println("encodeInit " + outgoingPacketization); } public void decodeInit(int defaultDecodePacketization) { if ( this.incomingPacketization == 0 ) { this.incomingPacketization = defaultDecodePacketization; } + + System.out.println("decodeInit " + incomingPacketization); } @@ -136,7 +140,6 @@ public class SpeexCodec implements Codec { return codecId; } - public String[] getCodecMediaAttributes() { // TODO Auto-generated method stub return null; diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/phone/managers/StreamManager.as b/bigbluebutton-client/src/org/bigbluebutton/modules/phone/managers/StreamManager.as index 118d0255683ada4288f92cca2df3217f0821e122..863fa2100aff9761fdffba0ff7b97cd2d4f41a7f 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/modules/phone/managers/StreamManager.as +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/phone/managers/StreamManager.as @@ -65,6 +65,7 @@ package org.bigbluebutton.modules.phone.managers mic.setSilenceLevel(0,20000); mic.codec = SoundCodec.SPEEX; mic.gain = 60; + // mic.encodeQuality = 5; mic.rate = 16; // use 8 for Nelly mic.addEventListener(ActivityEvent.ACTIVITY, micActivityHandler); mic.addEventListener(StatusEvent.STATUS, micStatusHandler);