Revision: 10668
Author: oleg.kulikoff
Date: Wed Mar 10 00:39:04 2010
Log: Fix format transcoding
http://code.google.com/p/mobicents/source/detail?r=10668

Modified:
/trunk/servers/media/core/server-impl/src/main/java/org/mobicents/media/server/RtpConnectionImpl.java /trunk/servers/media/core/server-impl/src/main/java/org/mobicents/media/server/impl/rtp/ReceiveStream.java /trunk/servers/media/core/server-impl/src/main/java/org/mobicents/media/server/impl/rtp/RtpFactory.java

=======================================
--- /trunk/servers/media/core/server-impl/src/main/java/org/mobicents/media/server/RtpConnectionImpl.java Tue Mar 9 08:12:56 2010 +++ /trunk/servers/media/core/server-impl/src/main/java/org/mobicents/media/server/RtpConnectionImpl.java Wed Mar 10 00:39:04 2010
@@ -107,7 +107,10 @@
             if (rxChannels[i] != null) {
rxCount = getExtendedRxFormats(rxChannels[i].getInputFormats(), sockets[i].getCodecs(), rxFormats);
             }
-
+            System.out.println("Codecs= " + sockets[i].getCodecs());
+
+            System.out.println("rx=");
+            print(rxFormats, rxCount);
             //TX formats with possible encodings
             Format[] txFormats = new Format[15];
             int txCount = 0;
@@ -115,9 +118,13 @@
txCount = getExtendedTxFormats(txChannels[i].getOutputFormats(), sockets[i].getCodecs(), txFormats);
             }

+            System.out.println("tx=");
+            print(txFormats, txCount);
HashMap<Integer, Format> profile = getProfile(sockets[i].getAVProfile(), mediaType); formatCount[i] = intersection(rxFormats, rxCount, txFormats, txCount, profile,
                     payloads[i], formats[i]);
+            System.out.println("intersection=");
+            print(formats[i], formatCount[i]);
         }
     }

@@ -187,7 +194,7 @@
                 break;
             }
             for (Codec c : codecs) {
-                if (c.getSupportedOutputFormat().matches(fmt)) {
+                if (c.getSupportedInputFormat().matches(fmt)) {
                     boolean present = false;
                     for (int i = 0; i < count; i++) {
if (extended[i].matches(c.getSupportedOutputFormat())) {
=======================================
--- /trunk/servers/media/core/server-impl/src/main/java/org/mobicents/media/server/impl/rtp/ReceiveStream.java Sun Mar 7 23:45:18 2010 +++ /trunk/servers/media/core/server-impl/src/main/java/org/mobicents/media/server/impl/rtp/ReceiveStream.java Wed Mar 10 00:39:04 2010
@@ -207,13 +207,13 @@
                 buffer.setDuration(rtpSocket.getPeriod());
             }
             buffer.setFormat(format);
+            if (codec != null) {
+                codec.process(buffer);
+            }
         } else if (packet.getPayloadType() == dtmf) {
             dtmfConverter.process(packet, buffer);
         }

-        if (codec != null) {
-            codec.process(buffer);
-        }
     }

     /**
=======================================
--- /trunk/servers/media/core/server-impl/src/main/java/org/mobicents/media/server/impl/rtp/RtpFactory.java Tue Mar 9 07:55:34 2010 +++ /trunk/servers/media/core/server-impl/src/main/java/org/mobicents/media/server/impl/rtp/RtpFactory.java Wed Mar 10 00:39:04 2010
@@ -241,8 +241,6 @@

public void setCodecs(Hashtable<MediaType, List<CodecFactory>> codecFactories) {
        this.codecFactories = codecFactories;
-
-
     }

     protected Selector getSelector() {

Reply via email to