doc/asmack-beem/beem_patches/50-remove-jingle_mediaimpl.patch
author Nikita Kozlov <nikita@mbdsys.com>
Sun, 26 Dec 2010 01:01:58 +0100
changeset 840 322071d17c00
permissions -rw-r--r--
merge beem-audio with trunk + some bugfix/improvements
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
840
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
     1
Index: org/jivesoftware/smackx/jingle/mediaimpl/test/TestMediaSession.java
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
     2
===================================================================
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
     3
--- org/jivesoftware/smackx/jingle/mediaimpl/test/TestMediaSession.java	(revision 11644)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
     4
+++ org/jivesoftware/smackx/jingle/mediaimpl/test/TestMediaSession.java	(working copy)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
     5
@@ -1,92 +0,0 @@
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
     6
-/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
     7
- * $RCSfile: TestMediaSession.java,v $
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
     8
- * $Revision: 1.1 $
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
     9
- * $Date: 08/11/2006
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    10
- * <p/>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    11
- * Copyright 2003-2006 Jive Software.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    12
- * <p/>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    13
- * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    14
- * you may not use this file except in compliance with the License.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    15
- * You may obtain a copy of the License at
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    16
- * <p/>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    17
- * http://www.apache.org/licenses/LICENSE-2.0
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    18
- * <p/>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    19
- * Unless required by applicable law or agreed to in writing, software
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    20
- * distributed under the License is distributed on an "AS IS" BASIS,
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    21
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    22
- * See the License for the specific language governing permissions and
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    23
- * limitations under the License.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    24
- */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    25
-package org.jivesoftware.smackx.jingle.mediaimpl.test;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    26
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    27
-import org.jivesoftware.smackx.jingle.JingleSession;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    28
-import org.jivesoftware.smackx.jingle.media.JingleMediaSession;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    29
-import org.jivesoftware.smackx.jingle.media.PayloadType;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    30
-import org.jivesoftware.smackx.jingle.nat.TransportCandidate;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    31
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    32
-/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    33
- * This Class implements a complete JingleMediaSession for unit testing.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    34
- *
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    35
- * @author Thiago Camargo
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    36
- */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    37
-public class TestMediaSession extends JingleMediaSession {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    38
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    39
-     /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    40
-     * Creates a TestMediaSession with defined payload type, remote and local candidates
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    41
-     *
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    42
-     * @param payloadType Payload of the jmf
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    43
-     * @param remote      the remote information. The candidate that the jmf will be sent to.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    44
-     * @param local       the local information. The candidate that will receive the jmf
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    45
-     * @param locator     media locator
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    46
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    47
-    public TestMediaSession(final PayloadType payloadType, final TransportCandidate remote, final TransportCandidate local,
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    48
-            final String locator, JingleSession jingleSession) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    49
-        super(payloadType, remote, local, "Test", jingleSession);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    50
-        initialize();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    51
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    52
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    53
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    54
-     * Initialize the screen share channels.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    55
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    56
-    public void initialize() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    57
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    58
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    59
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    60
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    61
-     * Starts transmission and for NAT Traversal reasons start receiving also.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    62
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    63
-    public void startTrasmit() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    64
-        
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    65
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    66
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    67
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    68
-     * Set transmit activity. If the active is true, the instance should trasmit.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    69
-     * If it is set to false, the instance should pause transmit.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    70
-     *
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    71
-     * @param active active state
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    72
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    73
-    public void setTrasmit(boolean active) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    74
-        
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    75
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    76
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    77
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    78
-     * For NAT Reasons this method does nothing. Use startTransmit() to start transmit and receive jmf
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    79
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    80
-    public void startReceive() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    81
-        // Do nothing
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    82
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    83
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    84
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    85
-     * Stops transmission and for NAT Traversal reasons stop receiving also.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    86
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    87
-    public void stopTrasmit() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    88
-       
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    89
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    90
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    91
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    92
-     * For NAT Reasons this method does nothing. Use startTransmit() to start transmit and receive jmf
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    93
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    94
-    public void stopReceive() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    95
-       
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    96
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    97
-}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    98
Index: org/jivesoftware/smackx/jingle/mediaimpl/test/TestMediaManager.java
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
    99
===================================================================
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   100
--- org/jivesoftware/smackx/jingle/mediaimpl/test/TestMediaManager.java	(revision 11644)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   101
+++ org/jivesoftware/smackx/jingle/mediaimpl/test/TestMediaManager.java	(working copy)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   102
@@ -1,93 +0,0 @@
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   103
-/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   104
- * $RCSfile: TestMediaManager.java,v $
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   105
- * $Revision: 1.3 $
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   106
- * $Date: 25/12/2006
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   107
- * <p/>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   108
- * Copyright 2003-2006 Jive Software.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   109
- * <p/>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   110
- * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   111
- * you may not use this file except in compliance with the License.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   112
- * You may obtain a copy of the License at
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   113
- * <p/>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   114
- * http://www.apache.org/licenses/LICENSE-2.0
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   115
- * <p/>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   116
- * Unless required by applicable law or agreed to in writing, software
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   117
- * distributed under the License is distributed on an "AS IS" BASIS,
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   118
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   119
- * See the License for the specific language governing permissions and
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   120
- * limitations under the License.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   121
- */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   122
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   123
-package org.jivesoftware.smackx.jingle.mediaimpl.test;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   124
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   125
-import org.jivesoftware.smackx.jingle.media.JingleMediaManager;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   126
-import org.jivesoftware.smackx.jingle.media.JingleMediaSession;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   127
-import org.jivesoftware.smackx.jingle.media.PayloadType;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   128
-import org.jivesoftware.smackx.jingle.nat.JingleTransportManager;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   129
-import org.jivesoftware.smackx.jingle.nat.TransportCandidate;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   130
-import org.jivesoftware.smackx.jingle.JingleSession;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   131
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   132
-import java.util.*;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   133
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   134
-/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   135
- * Implements a MediaManager for test purposes.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   136
- *
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   137
- * @author Thiago Camargo
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   138
- */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   139
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   140
-public class TestMediaManager extends JingleMediaManager {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   141
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   142
-    public static final String MEDIA_NAME = "TestMedia";
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   143
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   144
-    private List<PayloadType> payloads = new ArrayList<PayloadType>();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   145
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   146
-    private PayloadType preferredPayloadType = null;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   147
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   148
-    public TestMediaManager(JingleTransportManager transportManager) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   149
-        super(transportManager);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   150
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   151
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   152
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   153
-    * Return all supported Payloads for this Manager.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   154
-    *
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   155
-    * @return The Payload List
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   156
-    */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   157
-    public List<PayloadType> getPayloads() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   158
-        return payloads;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   159
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   160
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   161
-    public void setPayloads(List<PayloadType> payloads) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   162
-        this.payloads.addAll(payloads);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   163
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   164
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   165
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   166
-     * Returns a new JingleMediaSession
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   167
-     *
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   168
-     * @param payloadType payloadType
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   169
-     * @param remote      remote Candidate
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   170
-     * @param local       local Candidate
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   171
-     * @return JingleMediaSession JingleMediaSession
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   172
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   173
-    public JingleMediaSession createMediaSession(PayloadType payloadType, final TransportCandidate remote,
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   174
-            final TransportCandidate local, final JingleSession jingleSession) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   175
-        TestMediaSession session = null;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   176
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   177
-        session = new TestMediaSession(payloadType, remote, local, "", jingleSession);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   178
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   179
-        return session;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   180
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   181
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   182
-    public PayloadType getPreferredPayloadType() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   183
-        if (preferredPayloadType != null)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   184
-            return preferredPayloadType;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   185
-        return super.getPreferredPayloadType();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   186
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   187
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   188
-    public void setPreferredPayloadType(PayloadType preferredPayloadType) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   189
-        this.preferredPayloadType = preferredPayloadType;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   190
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   191
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   192
-    public String getName() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   193
-        return MEDIA_NAME;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   194
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   195
-}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   196
Index: org/jivesoftware/smackx/jingle/mediaimpl/JMFInit.java
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   197
===================================================================
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   198
--- org/jivesoftware/smackx/jingle/mediaimpl/JMFInit.java	(revision 11644)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   199
+++ org/jivesoftware/smackx/jingle/mediaimpl/JMFInit.java	(working copy)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   200
@@ -1,282 +0,0 @@
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   201
-package org.jivesoftware.smackx.jingle.mediaimpl;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   202
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   203
-import java.awt.Frame;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   204
-import java.awt.TextArea;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   205
-import java.awt.Toolkit;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   206
-import java.util.Vector;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   207
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   208
-import javax.media.Format;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   209
-import javax.media.PlugInManager;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   210
-import javax.media.Renderer;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   211
-import javax.media.format.AudioFormat;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   212
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   213
-import org.jivesoftware.smackx.jingle.SmackLogger;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   214
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   215
-import com.sun.media.ExclusiveUse;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   216
-import com.sun.media.util.Registry;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   217
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   218
-public class JMFInit extends Frame implements Runnable {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   219
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   220
-	private static final SmackLogger LOGGER = SmackLogger.getLogger(JMFInit.class);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   221
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   222
-	private String tempDir = "/tmp";
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   223
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   224
-    private boolean done = false;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   225
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   226
-    private String userHome;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   227
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   228
-    private boolean visible = false;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   229
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   230
-    public JMFInit(String[] args, boolean visible) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   231
-        super("Initializing JMF...");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   232
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   233
-        this.visible = visible;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   234
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   235
-        Registry.set("secure.allowCaptureFromApplets", true);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   236
-        Registry.set("secure.allowSaveFileFromApplets", true);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   237
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   238
-        updateTemp(args);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   239
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   240
-        try {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   241
-            Registry.commit();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   242
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   243
-        catch (Exception e) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   244
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   245
-            message("Failed to commit to JMFRegistry!");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   246
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   247
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   248
-        Thread detectThread = new Thread(this);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   249
-        detectThread.run();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   250
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   251
-        /*
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   252
-           * int slept = 0; while (!done && slept < 60 * 1000 * 2) { try {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   253
-           * Thread.currentThread().sleep(500); } catch (InterruptedException ie) { }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   254
-           * slept += 500; }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   255
-           *
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   256
-           * if (!done) { console.error("Detection is taking too long!
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   257
-           * Aborting!"); message("Detection is taking too long! Aborting!"); }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   258
-           *
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   259
-           * try { Thread.currentThread().sleep(2000); } catch
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   260
-           * (InterruptedException ie) { }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   261
-           */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   262
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   263
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   264
-    public void run() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   265
-        detectDirectAudio();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   266
-        detectS8DirectAudio();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   267
-        detectCaptureDevices();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   268
-        done = true;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   269
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   270
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   271
-    private void updateTemp(String[] args) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   272
-        if (args != null && args.length > 0) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   273
-            tempDir = args[0];
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   274
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   275
-            message("Setting cache directory to " + tempDir);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   276
-            Registry r = new Registry();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   277
-            try {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   278
-                r.set("secure.cacheDir", tempDir);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   279
-                r.commit();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   280
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   281
-                message("Updated registry");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   282
-            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   283
-            catch (Exception e) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   284
-                message("Couldn't update registry!");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   285
-            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   286
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   287
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   288
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   289
-    private void detectCaptureDevices() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   290
-        // check if JavaSound capture is available
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   291
-        message("Looking for Audio capturer");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   292
-        Class dsauto;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   293
-        try {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   294
-            dsauto = Class.forName("DirectSoundAuto");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   295
-            dsauto.newInstance();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   296
-            message("Finished detecting DirectSound capturer");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   297
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   298
-        catch (ThreadDeath td) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   299
-            throw td;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   300
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   301
-        catch (Throwable t) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   302
-            //Do nothing
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   303
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   304
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   305
-        Class jsauto;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   306
-        try {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   307
-            jsauto = Class.forName("JavaSoundAuto");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   308
-            jsauto.newInstance();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   309
-            message("Finished detecting javasound capturer");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   310
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   311
-        catch (ThreadDeath td) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   312
-            throw td;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   313
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   314
-        catch (Throwable t) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   315
-            message("JavaSound capturer detection failed!");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   316
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   317
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   318
-        /*
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   319
-        // Check if VFWAuto or SunVideoAuto is available
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   320
-        message("Looking for video capture devices");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   321
-        Class auto = null;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   322
-        Class autoPlus = null;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   323
-        try {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   324
-            auto = Class.forName("VFWAuto");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   325
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   326
-        catch (Exception e) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   327
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   328
-        if (auto == null) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   329
-            try {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   330
-                auto = Class.forName("SunVideoAuto");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   331
-            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   332
-            catch (Exception ee) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   333
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   334
-            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   335
-            try {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   336
-                autoPlus = Class.forName("SunVideoPlusAuto");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   337
-            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   338
-            catch (Exception ee) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   339
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   340
-            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   341
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   342
-        if (auto == null) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   343
-            try {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   344
-                auto = Class.forName("V4LAuto");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   345
-            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   346
-            catch (Exception ee) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   347
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   348
-            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   349
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   350
-        try {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   351
-            Object instance = auto.newInstance();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   352
-            if (autoPlus != null) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   353
-                Object instancePlus = autoPlus.newInstance();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   354
-            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   355
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   356
-            message("Finished detecting video capture devices");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   357
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   358
-        catch (ThreadDeath td) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   359
-            throw td;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   360
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   361
-        catch (Throwable t) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   362
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   363
-            message("Capture device detection failed!");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   364
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   365
-        */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   366
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   367
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   368
-    private void detectDirectAudio() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   369
-        Class cls;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   370
-        int plType = PlugInManager.RENDERER;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   371
-        String dar = "com.sun.media.renderer.audio.DirectAudioRenderer";
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   372
-        try {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   373
-            // Check if this is the Windows Performance Pack - hack
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   374
-            cls = Class.forName("VFWAuto");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   375
-            // Check if DS capture is supported, otherwise fail DS renderer
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   376
-            // since NT doesn't have capture
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   377
-            cls = Class.forName("com.sun.media.protocol.dsound.DSound");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   378
-            // Find the renderer class and instantiate it.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   379
-            cls = Class.forName(dar);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   380
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   381
-            Renderer rend = (Renderer) cls.newInstance();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   382
-            try {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   383
-                // Set the format and open the device
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   384
-                AudioFormat af = new AudioFormat(AudioFormat.LINEAR, 44100, 16,
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   385
-                        2);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   386
-                rend.setInputFormat(af);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   387
-                rend.open();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   388
-                Format[] inputFormats = rend.getSupportedInputFormats();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   389
-                // Register the device
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   390
-                PlugInManager.addPlugIn(dar, inputFormats, new Format[0],
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   391
-                        plType);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   392
-                // Move it to the top of the list
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   393
-                Vector rendList = PlugInManager.getPlugInList(null, null,
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   394
-                        plType);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   395
-                int listSize = rendList.size();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   396
-                if (rendList.elementAt(listSize - 1).equals(dar)) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   397
-                    rendList.removeElementAt(listSize - 1);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   398
-                    rendList.insertElementAt(dar, 0);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   399
-                    PlugInManager.setPlugInList(rendList, plType);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   400
-                    PlugInManager.commit();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   401
-                    // Log.debug("registered");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   402
-                }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   403
-                rend.close();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   404
-            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   405
-            catch (Throwable t) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   406
-                // Log.debug("Error " + t);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   407
-            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   408
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   409
-        catch (Throwable tt) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   410
-            //Do nothing
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   411
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   412
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   413
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   414
-    private void detectS8DirectAudio() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   415
-        Class cls;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   416
-        int plType = PlugInManager.RENDERER;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   417
-        String dar = "com.sun.media.renderer.audio.DirectAudioRenderer";
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   418
-        try {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   419
-            // Check if this is the solaris Performance Pack - hack
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   420
-            cls = Class.forName("SunVideoAuto");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   421
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   422
-            // Find the renderer class and instantiate it.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   423
-            cls = Class.forName(dar);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   424
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   425
-            Renderer rend = (Renderer) cls.newInstance();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   426
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   427
-            if (rend instanceof ExclusiveUse
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   428
-                    && !((ExclusiveUse) rend).isExclusive()) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   429
-                // sol8+, DAR supports mixing
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   430
-                Vector rendList = PlugInManager.getPlugInList(null, null,
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   431
-                        plType);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   432
-                int listSize = rendList.size();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   433
-                boolean found = false;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   434
-                String rname = null;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   435
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   436
-                for (int i = 0; i < listSize; i++) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   437
-                    rname = (String) (rendList.elementAt(i));
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   438
-                    if (rname.equals(dar)) { // DAR is in the registry
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   439
-                        found = true;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   440
-                        rendList.removeElementAt(i);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   441
-                        break;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   442
-                    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   443
-                }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   444
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   445
-                if (found) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   446
-                    rendList.insertElementAt(dar, 0);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   447
-                    PlugInManager.setPlugInList(rendList, plType);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   448
-                    PlugInManager.commit();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   449
-                }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   450
-            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   451
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   452
-        catch (Throwable tt) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   453
-            //Do nothing
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   454
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   455
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   456
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   457
-    private void message(String mesg) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   458
-        LOGGER.debug(mesg);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   459
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   460
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   461
-    private void createGUI() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   462
-        TextArea textBox = new TextArea(5, 50);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   463
-        add("Center", textBox);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   464
-        textBox.setEditable(false);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   465
-        addNotify();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   466
-        pack();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   467
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   468
-        int scrWidth = (int) Toolkit.getDefaultToolkit().getScreenSize()
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   469
-                .getWidth();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   470
-        int scrHeight = (int) Toolkit.getDefaultToolkit().getScreenSize()
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   471
-                .getHeight();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   472
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   473
-        setLocation((scrWidth - getWidth()) / 2, (scrHeight - getHeight()) / 2);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   474
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   475
-        setVisible(visible);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   476
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   477
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   478
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   479
-    public static void start(boolean visible) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   480
-        new JMFInit(null, visible);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   481
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   482
-}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   483
Index: org/jivesoftware/smackx/jingle/mediaimpl/demo/Demo.java
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   484
===================================================================
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   485
--- org/jivesoftware/smackx/jingle/mediaimpl/demo/Demo.java	(revision 11644)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   486
+++ org/jivesoftware/smackx/jingle/mediaimpl/demo/Demo.java	(working copy)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   487
@@ -1,174 +0,0 @@
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   488
-/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   489
- * $RCSfile: Demo.java,v $
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   490
- * $Revision: 1.3 $
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   491
- * $Date: 28/12/2006
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   492
- * <p/>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   493
- * Copyright 2003-2006 Jive Software.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   494
- * <p/>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   495
- * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   496
- * you may not use this file except in compliance with the License.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   497
- * You may obtain a copy of the License at
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   498
- * <p/>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   499
- * http://www.apache.org/licenses/LICENSE-2.0
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   500
- * <p/>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   501
- * Unless required by applicable law or agreed to in writing, software
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   502
- * distributed under the License is distributed on an "AS IS" BASIS,
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   503
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   504
- * See the License for the specific language governing permissions and
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   505
- * limitations under the License.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   506
- */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   507
-package org.jivesoftware.smackx.jingle.mediaimpl.demo;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   508
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   509
-import org.jivesoftware.smack.Connection;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   510
-import org.jivesoftware.smack.XMPPConnection;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   511
-import org.jivesoftware.smack.XMPPException;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   512
-import org.jivesoftware.smackx.jingle.JingleManager;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   513
-import org.jivesoftware.smackx.jingle.JingleSession;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   514
-import org.jivesoftware.smackx.jingle.JingleSessionRequest;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   515
-import org.jivesoftware.smackx.jingle.listeners.JingleSessionRequestListener;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   516
-import org.jivesoftware.smackx.jingle.media.JingleMediaManager;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   517
-import org.jivesoftware.smackx.jingle.mediaimpl.jspeex.SpeexMediaManager;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   518
-import org.jivesoftware.smackx.jingle.mediaimpl.sshare.ScreenShareMediaManager;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   519
-import org.jivesoftware.smackx.jingle.nat.ICETransportManager;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   520
-import org.jivesoftware.smackx.jingle.nat.JingleTransportManager;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   521
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   522
-import javax.swing.*;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   523
-import java.awt.event.ActionEvent;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   524
-import java.util.ArrayList;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   525
-import java.util.List;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   526
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   527
-/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   528
- * Jingle Demo Application. It register in a XMPP Server and let users place calls using a full JID and auto-receive calls.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   529
- * Parameters: Server User Pass.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   530
- */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   531
-public class Demo extends JFrame {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   532
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   533
-    private JingleTransportManager transportManager = null;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   534
-    private Connection xmppConnection = null;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   535
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   536
-    private String server = null;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   537
-    private String user = null;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   538
-    private String pass = null;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   539
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   540
-    private JingleManager jm = null;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   541
-    private JingleSession incoming = null;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   542
-    private JingleSession outgoing = null;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   543
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   544
-    private JTextField jid;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   545
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   546
-    public Demo(String server, String user, String pass) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   547
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   548
-        this.server = server;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   549
-        this.user = user;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   550
-        this.pass = pass;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   551
-        
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   552
-        if (user.equals("jeffw")) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   553
-            jid = new JTextField("eowyn" + "@" + server + "/Smack");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   554
-        } else {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   555
-            jid = new JTextField("jeffw" + "@" + server + "/Smack");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   556
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   557
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   558
-        xmppConnection = new XMPPConnection(server);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   559
-        try {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   560
-            xmppConnection.connect();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   561
-            xmppConnection.login(user, pass);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   562
-            initialize();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   563
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   564
-        catch (XMPPException e) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   565
-            e.printStackTrace();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   566
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   567
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   568
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   569
-    public void initialize() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   570
-        ICETransportManager icetm0 = new ICETransportManager(xmppConnection, "10.47.47.53", 3478);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   571
-        List<JingleMediaManager> mediaManagers = new ArrayList<JingleMediaManager>();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   572
-        //mediaManagers.add(new JmfMediaManager(icetm0));
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   573
-        mediaManagers.add(new SpeexMediaManager(icetm0));
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   574
-        mediaManagers.add(new ScreenShareMediaManager(icetm0));
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   575
-        jm = new JingleManager(xmppConnection, mediaManagers);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   576
-        jm.addCreationListener(icetm0);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   577
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   578
-        jm.addJingleSessionRequestListener(new JingleSessionRequestListener() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   579
-            public void sessionRequested(JingleSessionRequest request) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   580
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   581
-//                if (incoming != null)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   582
-//                    return;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   583
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   584
-                try {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   585
-                    // Accept the call
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   586
-                    incoming = request.accept();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   587
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   588
-                    // Start the call
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   589
-                    incoming.startIncoming();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   590
-                }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   591
-                catch (XMPPException e) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   592
-                    e.printStackTrace();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   593
-                }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   594
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   595
-            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   596
-        });
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   597
-        createGUI();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   598
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   599
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   600
-    public void createGUI() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   601
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   602
-        JPanel jPanel = new JPanel();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   603
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   604
-        jPanel.add(jid);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   605
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   606
-        jPanel.add(new JButton(new AbstractAction("Call") {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   607
-            public void actionPerformed(ActionEvent e) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   608
-                if (outgoing != null) return;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   609
-                try {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   610
-                    outgoing = jm.createOutgoingJingleSession(jid.getText());
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   611
-                    outgoing.startOutgoing();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   612
-                }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   613
-                catch (XMPPException e1) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   614
-                    e1.printStackTrace();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   615
-                }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   616
-            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   617
-        }));
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   618
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   619
-        jPanel.add(new JButton(new AbstractAction("Hangup") {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   620
-            public void actionPerformed(ActionEvent e) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   621
-                if (outgoing != null)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   622
-                    try {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   623
-                        outgoing.terminate();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   624
-                    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   625
-                    catch (XMPPException e1) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   626
-                        e1.printStackTrace();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   627
-                    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   628
-                    finally {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   629
-                        outgoing = null;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   630
-                    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   631
-                if (incoming != null)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   632
-                    try {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   633
-                        incoming.terminate();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   634
-                    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   635
-                    catch (XMPPException e1) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   636
-                        e1.printStackTrace();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   637
-                    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   638
-                    finally {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   639
-                        incoming = null;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   640
-                    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   641
-            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   642
-        }));
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   643
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   644
-        this.add(jPanel);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   645
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   646
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   647
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   648
-    public static void main(String args[]) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   649
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   650
-        Demo demo = null;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   651
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   652
-        if (args.length > 2) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   653
-            demo = new Demo(args[0], args[1], args[2]);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   654
-            demo.pack();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   655
-            demo.setVisible(true);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   656
-            demo.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   657
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   658
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   659
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   660
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   661
-}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   662
Index: org/jivesoftware/smackx/jingle/mediaimpl/sshare/ScreenShareSession.java
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   663
===================================================================
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   664
--- org/jivesoftware/smackx/jingle/mediaimpl/sshare/ScreenShareSession.java	(revision 11644)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   665
+++ org/jivesoftware/smackx/jingle/mediaimpl/sshare/ScreenShareSession.java	(working copy)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   666
@@ -1,206 +0,0 @@
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   667
-/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   668
- * $RCSfile: ScreenShareSession.java,v $
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   669
- * $Revision: 1.2 $
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   670
- * $Date: 08/11/2006
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   671
- * <p/>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   672
- * Copyright 2003-2006 Jive Software.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   673
- * <p/>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   674
- * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   675
- * you may not use this file except in compliance with the License.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   676
- * You may obtain a copy of the License at
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   677
- * <p/>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   678
- * http://www.apache.org/licenses/LICENSE-2.0
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   679
- * <p/>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   680
- * Unless required by applicable law or agreed to in writing, software
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   681
- * distributed under the License is distributed on an "AS IS" BASIS,
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   682
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   683
- * See the License for the specific language governing permissions and
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   684
- * limitations under the License.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   685
- */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   686
-package org.jivesoftware.smackx.jingle.mediaimpl.sshare;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   687
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   688
-import java.awt.Rectangle;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   689
-import java.awt.event.WindowAdapter;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   690
-import java.awt.event.WindowEvent;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   691
-import java.io.IOException;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   692
-import java.net.DatagramSocket;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   693
-import java.net.InetAddress;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   694
-import java.net.ServerSocket;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   695
-import java.net.UnknownHostException;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   696
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   697
-import javax.swing.JFrame;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   698
-import javax.swing.JPanel;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   699
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   700
-import org.jivesoftware.smackx.jingle.JingleSession;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   701
-import org.jivesoftware.smackx.jingle.SmackLogger;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   702
-import org.jivesoftware.smackx.jingle.media.JingleMediaSession;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   703
-import org.jivesoftware.smackx.jingle.media.PayloadType;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   704
-import org.jivesoftware.smackx.jingle.mediaimpl.sshare.api.ImageDecoder;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   705
-import org.jivesoftware.smackx.jingle.mediaimpl.sshare.api.ImageEncoder;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   706
-import org.jivesoftware.smackx.jingle.mediaimpl.sshare.api.ImageReceiver;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   707
-import org.jivesoftware.smackx.jingle.mediaimpl.sshare.api.ImageTransmitter;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   708
-import org.jivesoftware.smackx.jingle.nat.TransportCandidate;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   709
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   710
-/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   711
- * This Class implements a complete JingleMediaSession.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   712
- * It sould be used to transmit and receive captured images from the Display.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   713
- * This Class should be automaticly controlled by JingleSession.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   714
- * For better NAT Traversal support this implementation don't support only receive or only transmit.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   715
- * To receive you MUST transmit. So the only implemented and functionally methods are startTransmit() and stopTransmit()
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   716
- *
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   717
- * @author Thiago Camargo
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   718
- */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   719
-public class ScreenShareSession extends JingleMediaSession {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   720
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   721
-	private static final SmackLogger LOGGER = SmackLogger.getLogger(ScreenShareSession.class);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   722
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   723
-	private ImageTransmitter transmitter = null;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   724
-    private ImageReceiver receiver = null;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   725
-    private int width = 600;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   726
-    private int height = 600;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   727
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   728
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   729
-     * Creates a org.jivesoftware.jingleaudio.jmf.AudioMediaSession with defined payload type, remote and local candidates
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   730
-     *
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   731
-     * @param payloadType Payload of the jmf
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   732
-     * @param remote      the remote information. The candidate that the jmf will be sent to.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   733
-     * @param local       the local information. The candidate that will receive the jmf
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   734
-     * @param locator     media locator
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   735
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   736
-    public ScreenShareSession(final PayloadType payloadType, final TransportCandidate remote, final TransportCandidate local,
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   737
-            final String locator, JingleSession jingleSession) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   738
-        super(payloadType, remote, local, "Screen", jingleSession);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   739
-        initialize();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   740
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   741
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   742
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   743
-     * Initialize the screen share channels.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   744
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   745
-    public void initialize() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   746
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   747
-        JingleSession session = getJingleSession();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   748
-        if ((session != null) && (session.getInitiator().equals(session.getConnection().getUser()))) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   749
-            // If the initiator of the jingle session is us then we transmit a screen share.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   750
-            try {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   751
-                InetAddress remote = InetAddress.getByName(getRemote().getIp());
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   752
-                transmitter = new ImageTransmitter(new DatagramSocket(getLocal().getPort()), remote, getRemote().getPort(),
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   753
-                        new Rectangle(0, 0, width, height));
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   754
-            } catch (Exception e) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   755
-                e.printStackTrace();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   756
-            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   757
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   758
-        } else {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   759
-            // Otherwise we receive a screen share.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   760
-            JFrame window = new JFrame();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   761
-            JPanel jp = new JPanel();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   762
-            window.add(jp);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   763
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   764
-            window.setLocation(0, 0);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   765
-            window.setSize(600, 600);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   766
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   767
-            window.addWindowListener(new WindowAdapter() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   768
-                public void windowClosed(WindowEvent e) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   769
-                    receiver.stop();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   770
-                }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   771
-            });
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   772
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   773
-            try {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   774
-                receiver = new ImageReceiver(InetAddress.getByName("0.0.0.0"), getRemote().getPort(), getLocal().getPort(), width,
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   775
-                        height);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   776
-                LOGGER.debug("Receiving on:" + receiver.getLocalPort());
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   777
-            } catch (UnknownHostException e) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   778
-                e.printStackTrace();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   779
-            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   780
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   781
-            jp.add(receiver);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   782
-            receiver.setVisible(true);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   783
-            window.setAlwaysOnTop(true);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   784
-            window.setVisible(true);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   785
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   786
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   787
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   788
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   789
-     * Starts transmission and for NAT Traversal reasons start receiving also.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   790
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   791
-    public void startTrasmit() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   792
-        new Thread(transmitter).start();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   793
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   794
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   795
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   796
-     * Set transmit activity. If the active is true, the instance should trasmit.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   797
-     * If it is set to false, the instance should pause transmit.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   798
-     *
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   799
-     * @param active active state
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   800
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   801
-    public void setTrasmit(boolean active) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   802
-        transmitter.setTransmit(true);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   803
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   804
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   805
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   806
-     * For NAT Reasons this method does nothing. Use startTransmit() to start transmit and receive jmf
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   807
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   808
-    public void startReceive() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   809
-        // Do nothing
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   810
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   811
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   812
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   813
-     * Stops transmission and for NAT Traversal reasons stop receiving also.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   814
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   815
-    public void stopTrasmit() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   816
-        if (transmitter != null) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   817
-            transmitter.stop();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   818
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   819
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   820
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   821
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   822
-     * For NAT Reasons this method does nothing. Use startTransmit() to start transmit and receive jmf
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   823
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   824
-    public void stopReceive() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   825
-        if (receiver != null) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   826
-            receiver.stop();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   827
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   828
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   829
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   830
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   831
-     * Obtain a free port we can use.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   832
-     *
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   833
-     * @return A free port number.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   834
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   835
-    protected int getFreePort() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   836
-        ServerSocket ss;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   837
-        int freePort = 0;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   838
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   839
-        for (int i = 0; i < 10; i++) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   840
-            freePort = (int) (10000 + Math.round(Math.random() * 10000));
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   841
-            freePort = freePort % 2 == 0 ? freePort : freePort + 1;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   842
-            try {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   843
-                ss = new ServerSocket(freePort);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   844
-                freePort = ss.getLocalPort();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   845
-                ss.close();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   846
-                return freePort;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   847
-            } catch (IOException e) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   848
-                e.printStackTrace();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   849
-            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   850
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   851
-        try {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   852
-            ss = new ServerSocket(0);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   853
-            freePort = ss.getLocalPort();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   854
-            ss.close();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   855
-        } catch (IOException e) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   856
-            e.printStackTrace();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   857
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   858
-        return freePort;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   859
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   860
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   861
-    public void setEncoder(ImageEncoder encoder) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   862
-        if (encoder != null) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   863
-            this.transmitter.setEncoder(encoder);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   864
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   865
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   866
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   867
-    public void setDecoder(ImageDecoder decoder) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   868
-        if (decoder != null) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   869
-            this.receiver.setDecoder(decoder);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   870
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   871
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   872
-}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   873
Index: org/jivesoftware/smackx/jingle/mediaimpl/sshare/api/ImageTransmitter.java
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   874
===================================================================
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   875
--- org/jivesoftware/smackx/jingle/mediaimpl/sshare/api/ImageTransmitter.java	(revision 11644)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   876
+++ org/jivesoftware/smackx/jingle/mediaimpl/sshare/api/ImageTransmitter.java	(working copy)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   877
@@ -1,204 +0,0 @@
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   878
-package org.jivesoftware.smackx.jingle.mediaimpl.sshare.api;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   879
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   880
-import java.awt.AWTException;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   881
-import java.awt.Rectangle;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   882
-import java.awt.Robot;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   883
-import java.awt.image.BufferedImage;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   884
-import java.awt.image.PixelGrabber;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   885
-import java.io.ByteArrayOutputStream;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   886
-import java.io.IOException;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   887
-import java.net.DatagramPacket;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   888
-import java.net.DatagramSocket;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   889
-import java.net.InetAddress;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   890
-import java.util.Arrays;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   891
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   892
-import org.jivesoftware.smackx.jingle.SmackLogger;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   893
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   894
-/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   895
- * UDP Image Receiver.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   896
- * It uses PNG Tiles into UDP packets.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   897
- *
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   898
- * @author Thiago Rocha Camargo
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   899
- */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   900
-public class ImageTransmitter implements Runnable {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   901
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   902
-	private static final SmackLogger LOGGER = SmackLogger.getLogger(ImageTransmitter.class);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   903
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   904
-	private Robot robot;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   905
-    private InetAddress localHost;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   906
-    private InetAddress remoteHost;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   907
-    private int localPort;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   908
-    private int remotePort;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   909
-    public static final int tileWidth = 25;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   910
-    private boolean on = true;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   911
-    private boolean transmit = false;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   912
-    private DatagramSocket socket;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   913
-    private Rectangle area;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   914
-    private int tiles[][][];
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   915
-    private int maxI;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   916
-    private int maxJ;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   917
-    private ImageEncoder encoder;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   918
-    public final static int KEYFRAME = 10;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   919
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   920
-    public ImageTransmitter(DatagramSocket socket, InetAddress remoteHost, int remotePort, Rectangle area) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   921
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   922
-        try {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   923
-            robot = new Robot();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   924
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   925
-            maxI = (int) Math.ceil(area.getWidth() / tileWidth);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   926
-            maxJ = (int) Math.ceil(area.getHeight() / tileWidth);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   927
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   928
-            tiles = new int[maxI][maxJ][tileWidth * tileWidth];
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   929
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   930
-            this.area = area;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   931
-            this.socket = socket;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   932
-            localHost = socket.getLocalAddress();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   933
-            localPort = socket.getLocalPort();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   934
-            this.remoteHost = remoteHost;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   935
-            this.remotePort = remotePort;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   936
-            this.encoder = new DefaultEncoder();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   937
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   938
-            transmit = true;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   939
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   940
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   941
-        catch (AWTException e) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   942
-            e.printStackTrace();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   943
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   944
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   945
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   946
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   947
-    public void start() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   948
-        byte buf[] = new byte[1024];
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   949
-        final DatagramPacket p = new DatagramPacket(buf, 1024);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   950
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   951
-        int keyframe = 0;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   952
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   953
-        while (on) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   954
-            if (transmit) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   955
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   956
-                BufferedImage capture = robot.createScreenCapture(area);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   957
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   958
-                QuantizeFilter filter = new QuantizeFilter();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   959
-                capture = filter.filter(capture, null);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   960
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   961
-                long trace = System.currentTimeMillis();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   962
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   963
-                if (++keyframe > KEYFRAME) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   964
-                    keyframe = 0;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   965
-                }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   966
-                LOGGER.debug("KEYFRAME:" + keyframe);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   967
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   968
-                for (int i = 0; i < maxI; i++) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   969
-                    for (int j = 0; j < maxJ; j++) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   970
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   971
-                        final BufferedImage bufferedImage = capture.getSubimage(i * tileWidth, j * tileWidth, tileWidth, tileWidth);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   972
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   973
-                        int pixels[] = new int[tileWidth * tileWidth];
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   974
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   975
-                        PixelGrabber pg = new PixelGrabber(bufferedImage, 0, 0, tileWidth, tileWidth, pixels, 0, tileWidth);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   976
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   977
-                        try {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   978
-                            if (pg.grabPixels()) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   979
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   980
-                                if (keyframe == KEYFRAME || !Arrays.equals(tiles[i][j], pixels)) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   981
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   982
-                                    ByteArrayOutputStream baos = encoder.encode(bufferedImage);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   983
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   984
-                                    if (baos != null) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   985
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   986
-                                        try {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   987
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   988
-                                            Thread.sleep(1);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   989
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   990
-                                            baos.write(i);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   991
-                                            baos.write(j);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   992
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   993
-                                            byte[] bytesOut = baos.toByteArray();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   994
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   995
-                                            if (bytesOut.length > 1000)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   996
-                                                LOGGER.error("Bytes out > 1000. Equals " + bytesOut.length);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   997
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   998
-                                            p.setData(bytesOut);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
   999
-                                            p.setAddress(remoteHost);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1000
-                                            p.setPort(remotePort);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1001
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1002
-                                            try {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1003
-                                                socket.send(p);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1004
-                                            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1005
-                                            catch (IOException e) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1006
-                                                e.printStackTrace();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1007
-                                            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1008
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1009
-                                            tiles[i][j] = pixels;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1010
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1011
-                                        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1012
-                                        catch (Exception e) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1013
-                                        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1014
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1015
-                                    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1016
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1017
-                                }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1018
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1019
-                            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1020
-                        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1021
-                        catch (InterruptedException e) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1022
-                            e.printStackTrace();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1023
-                        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1024
-                    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1025
-                }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1026
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1027
-                trace = (System.currentTimeMillis() - trace);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1028
-                LOGGER.debug("Loop Time:" + trace);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1029
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1030
-                if (trace < 500) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1031
-                    try {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1032
-                        Thread.sleep(500 - trace);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1033
-                    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1034
-                    catch (InterruptedException e) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1035
-                        e.printStackTrace();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1036
-                    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1037
-                }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1038
-            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1039
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1040
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1041
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1042
-    public void run() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1043
-        start();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1044
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1045
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1046
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1047
-     * Set Transmit Enabled/Disabled
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1048
-     *
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1049
-     * @param transmit boolean Enabled/Disabled
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1050
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1051
-    public void setTransmit(boolean transmit) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1052
-        this.transmit = transmit;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1053
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1054
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1055
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1056
-     * Get the encoder used to encode Images Tiles
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1057
-     *
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1058
-     * @return encoder
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1059
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1060
-    public ImageEncoder getEncoder() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1061
-        return encoder;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1062
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1063
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1064
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1065
-     * Set the encoder used to encode Image Tiles
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1066
-     *
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1067
-     * @param encoder encoder
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1068
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1069
-    public void setEncoder(ImageEncoder encoder) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1070
-        this.encoder = encoder;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1071
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1072
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1073
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1074
-     * Stops Transmitter
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1075
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1076
-    public void stop() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1077
-        this.transmit = false;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1078
-        this.on = false;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1079
-        socket.close();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1080
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1081
-}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1082
Index: org/jivesoftware/smackx/jingle/mediaimpl/sshare/api/ImageEncoder.java
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1083
===================================================================
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1084
--- org/jivesoftware/smackx/jingle/mediaimpl/sshare/api/ImageEncoder.java	(revision 11644)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1085
+++ org/jivesoftware/smackx/jingle/mediaimpl/sshare/api/ImageEncoder.java	(working copy)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1086
@@ -1,13 +0,0 @@
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1087
-package org.jivesoftware.smackx.jingle.mediaimpl.sshare.api;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1088
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1089
-import java.awt.image.BufferedImage;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1090
-import java.io.ByteArrayOutputStream;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1091
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1092
-/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1093
- * Image Encoder Interface use this interface if you want to change the default encoder
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1094
-  *
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1095
- * @author Thiago Rocha Camargo
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1096
- */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1097
-public interface ImageEncoder {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1098
-    public ByteArrayOutputStream encode(BufferedImage bufferedImage);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1099
-}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1100
Index: org/jivesoftware/smackx/jingle/mediaimpl/sshare/api/PixelUtils.java
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1101
===================================================================
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1102
--- org/jivesoftware/smackx/jingle/mediaimpl/sshare/api/PixelUtils.java	(revision 11644)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1103
+++ org/jivesoftware/smackx/jingle/mediaimpl/sshare/api/PixelUtils.java	(working copy)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1104
@@ -1,223 +0,0 @@
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1105
-/*
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1106
-Copyright 2006 Jerry Huxtable
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1107
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1108
-Licensed under the Apache License, Version 2.0 (the "License");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1109
-you may not use this file except in compliance with the License.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1110
-You may obtain a copy of the License at
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1111
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1112
-   http://www.apache.org/licenses/LICENSE-2.0
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1113
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1114
-Unless required by applicable law or agreed to in writing, software
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1115
-distributed under the License is distributed on an "AS IS" BASIS,
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1116
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1117
-See the License for the specific language governing permissions and
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1118
-limitations under the License.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1119
-*/
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1120
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1121
-package org.jivesoftware.smackx.jingle.mediaimpl.sshare.api;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1122
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1123
-import java.awt.*;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1124
-import java.util.Random;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1125
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1126
-/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1127
- * Some more useful math functions for image processing.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1128
- * These are becoming obsolete as we move to Java2D. Use MiscComposite instead.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1129
- */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1130
-public class PixelUtils {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1131
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1132
-	public final static int REPLACE = 0;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1133
-	public final static int NORMAL = 1;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1134
-	public final static int MIN = 2;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1135
-	public final static int MAX = 3;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1136
-	public final static int ADD = 4;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1137
-	public final static int SUBTRACT = 5;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1138
-	public final static int DIFFERENCE = 6;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1139
-	public final static int MULTIPLY = 7;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1140
-	public final static int HUE = 8;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1141
-	public final static int SATURATION = 9;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1142
-	public final static int VALUE = 10;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1143
-	public final static int COLOR = 11;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1144
-	public final static int SCREEN = 12;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1145
-	public final static int AVERAGE = 13;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1146
-	public final static int OVERLAY = 14;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1147
-	public final static int CLEAR = 15;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1148
-	public final static int EXCHANGE = 16;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1149
-	public final static int DISSOLVE = 17;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1150
-	public final static int DST_IN = 18;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1151
-	public final static int ALPHA = 19;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1152
-	public final static int ALPHA_TO_GRAY = 20;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1153
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1154
-	private static Random randomGenerator = new Random();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1155
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1156
-	/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1157
-	 * Clamp a value to the range 0..255
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1158
-	 */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1159
-	public static int clamp(int c) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1160
-		if (c < 0)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1161
-			return 0;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1162
-		if (c > 255)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1163
-			return 255;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1164
-		return c;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1165
-	}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1166
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1167
-	public static int interpolate(int v1, int v2, float f) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1168
-		return clamp((int)(v1+f*(v2-v1)));
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1169
-	}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1170
-	
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1171
-	public static int brightness(int rgb) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1172
-		int r = (rgb >> 16) & 0xff;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1173
-		int g = (rgb >> 8) & 0xff;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1174
-		int b = rgb & 0xff;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1175
-		return (r+g+b)/3;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1176
-	}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1177
-	
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1178
-	public static boolean nearColors(int rgb1, int rgb2, int tolerance) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1179
-		int r1 = (rgb1 >> 16) & 0xff;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1180
-		int g1 = (rgb1 >> 8) & 0xff;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1181
-		int b1 = rgb1 & 0xff;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1182
-		int r2 = (rgb2 >> 16) & 0xff;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1183
-		int g2 = (rgb2 >> 8) & 0xff;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1184
-		int b2 = rgb2 & 0xff;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1185
-		return Math.abs(r1-r2) <= tolerance && Math.abs(g1-g2) <= tolerance && Math.abs(b1-b2) <= tolerance;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1186
-	}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1187
-	
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1188
-	private final static float hsb1[] = new float[3];//FIXME-not thread safe
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1189
-	private final static float hsb2[] = new float[3];//FIXME-not thread safe
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1190
-	
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1191
-	// Return rgb1 painted onto rgb2
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1192
-	public static int combinePixels(int rgb1, int rgb2, int op) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1193
-		return combinePixels(rgb1, rgb2, op, 0xff);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1194
-	}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1195
-	
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1196
-	public static int combinePixels(int rgb1, int rgb2, int op, int extraAlpha, int channelMask) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1197
-		return (rgb2 & ~channelMask) | combinePixels(rgb1 & channelMask, rgb2, op, extraAlpha);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1198
-	}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1199
-	
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1200
-	public static int combinePixels(int rgb1, int rgb2, int op, int extraAlpha) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1201
-		if (op == REPLACE)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1202
-			return rgb1;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1203
-		int a1 = (rgb1 >> 24) & 0xff;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1204
-		int r1 = (rgb1 >> 16) & 0xff;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1205
-		int g1 = (rgb1 >> 8) & 0xff;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1206
-		int b1 = rgb1 & 0xff;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1207
-		int a2 = (rgb2 >> 24) & 0xff;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1208
-		int r2 = (rgb2 >> 16) & 0xff;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1209
-		int g2 = (rgb2 >> 8) & 0xff;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1210
-		int b2 = rgb2 & 0xff;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1211
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1212
-		switch (op) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1213
-		case NORMAL:
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1214
-			break;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1215
-		case MIN:
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1216
-			r1 = Math.min(r1, r2);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1217
-			g1 = Math.min(g1, g2);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1218
-			b1 = Math.min(b1, b2);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1219
-			break;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1220
-		case MAX:
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1221
-			r1 = Math.max(r1, r2);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1222
-			g1 = Math.max(g1, g2);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1223
-			b1 = Math.max(b1, b2);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1224
-			break;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1225
-		case ADD:
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1226
-			r1 = clamp(r1+r2);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1227
-			g1 = clamp(g1+g2);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1228
-			b1 = clamp(b1+b2);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1229
-			break;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1230
-		case SUBTRACT:
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1231
-			r1 = clamp(r2-r1);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1232
-			g1 = clamp(g2-g1);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1233
-			b1 = clamp(b2-b1);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1234
-			break;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1235
-		case DIFFERENCE:
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1236
-			r1 = clamp(Math.abs(r1-r2));
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1237
-			g1 = clamp(Math.abs(g1-g2));
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1238
-			b1 = clamp(Math.abs(b1-b2));
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1239
-			break;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1240
-		case MULTIPLY:
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1241
-			r1 = clamp(r1*r2/255);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1242
-			g1 = clamp(g1*g2/255);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1243
-			b1 = clamp(b1*b2/255);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1244
-			break;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1245
-		case DISSOLVE:
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1246
-			if ((randomGenerator.nextInt() & 0xff) <= a1) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1247
-				r1 = r2;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1248
-				g1 = g2;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1249
-				b1 = b2;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1250
-			}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1251
-			break;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1252
-		case AVERAGE:
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1253
-			r1 = (r1+r2)/2;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1254
-			g1 = (g1+g2)/2;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1255
-			b1 = (b1+b2)/2;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1256
-			break;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1257
-		case HUE:
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1258
-		case SATURATION:
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1259
-		case VALUE:
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1260
-		case COLOR:
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1261
-			Color.RGBtoHSB(r1, g1, b1, hsb1);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1262
-			Color.RGBtoHSB(r2, g2, b2, hsb2);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1263
-			switch (op) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1264
-			case HUE:
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1265
-				hsb2[0] = hsb1[0];
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1266
-				break;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1267
-			case SATURATION:
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1268
-				hsb2[1] = hsb1[1];
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1269
-				break;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1270
-			case VALUE:
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1271
-				hsb2[2] = hsb1[2];
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1272
-				break;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1273
-			case COLOR:
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1274
-				hsb2[0] = hsb1[0];
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1275
-				hsb2[1] = hsb1[1];
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1276
-				break;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1277
-			}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1278
-			rgb1 = Color.HSBtoRGB(hsb2[0], hsb2[1], hsb2[2]);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1279
-			r1 = (rgb1 >> 16) & 0xff;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1280
-			g1 = (rgb1 >> 8) & 0xff;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1281
-			b1 = rgb1 & 0xff;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1282
-			break;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1283
-		case SCREEN:
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1284
-			r1 = 255 - ((255 - r1) * (255 - r2)) / 255;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1285
-			g1 = 255 - ((255 - g1) * (255 - g2)) / 255;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1286
-			b1 = 255 - ((255 - b1) * (255 - b2)) / 255;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1287
-			break;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1288
-		case OVERLAY:
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1289
-			int m, s;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1290
-			s = 255 - ((255 - r1) * (255 - r2)) / 255;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1291
-			m = r1 * r2 / 255;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1292
-			r1 = (s * r1 + m * (255 - r1)) / 255;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1293
-			s = 255 - ((255 - g1) * (255 - g2)) / 255;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1294
-			m = g1 * g2 / 255;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1295
-			g1 = (s * g1 + m * (255 - g1)) / 255;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1296
-			s = 255 - ((255 - b1) * (255 - b2)) / 255;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1297
-			m = b1 * b2 / 255;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1298
-			b1 = (s * b1 + m * (255 - b1)) / 255;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1299
-			break;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1300
-		case CLEAR:
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1301
-			r1 = g1 = b1 = 0xff;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1302
-			break;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1303
-		case DST_IN:
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1304
-			r1 = clamp((r2*a1)/255);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1305
-			g1 = clamp((g2*a1)/255);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1306
-			b1 = clamp((b2*a1)/255);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1307
-			a1 = clamp((a2*a1)/255);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1308
-			return (a1 << 24) | (r1 << 16) | (g1 << 8) | b1;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1309
-		case ALPHA:
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1310
-			a1 = a1*a2/255;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1311
-			return (a1 << 24) | (r2 << 16) | (g2 << 8) | b2;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1312
-		case ALPHA_TO_GRAY:
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1313
-			int na = 255-a1;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1314
-			return (a1 << 24) | (na << 16) | (na << 8) | na;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1315
-		}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1316
-		if (extraAlpha != 0xff || a1 != 0xff) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1317
-			a1 = a1*extraAlpha/255;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1318
-			int a3 = (255-a1)*a2/255;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1319
-			r1 = clamp((r1*a1+r2*a3)/255);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1320
-			g1 = clamp((g1*a1+g2*a3)/255);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1321
-			b1 = clamp((b1*a1+b2*a3)/255);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1322
-			a1 = clamp(a1+a3);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1323
-		}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1324
-		return (a1 << 24) | (r1 << 16) | (g1 << 8) | b1;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1325
-	}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1326
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1327
-}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1328
Index: org/jivesoftware/smackx/jingle/mediaimpl/sshare/api/Quantizer.java
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1329
===================================================================
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1330
--- org/jivesoftware/smackx/jingle/mediaimpl/sshare/api/Quantizer.java	(revision 11644)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1331
+++ org/jivesoftware/smackx/jingle/mediaimpl/sshare/api/Quantizer.java	(working copy)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1332
@@ -1,53 +0,0 @@
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1333
-/*
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1334
-Copyright 2006 Jerry Huxtable
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1335
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1336
-Licensed under the Apache License, Version 2.0 (the "License");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1337
-you may not use this file except in compliance with the License.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1338
-You may obtain a copy of the License at
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1339
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1340
-   http://www.apache.org/licenses/LICENSE-2.0
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1341
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1342
-Unless required by applicable law or agreed to in writing, software
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1343
-distributed under the License is distributed on an "AS IS" BASIS,
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1344
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1345
-See the License for the specific language governing permissions and
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1346
-limitations under the License.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1347
-*/
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1348
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1349
-package org.jivesoftware.smackx.jingle.mediaimpl.sshare.api;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1350
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1351
-/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1352
- * The interface for an image quantizer. The addColor method is called (repeatedly
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1353
- * if necessary) with all the image pixels. A color table can then be returned by 
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1354
- * calling the buildColorTable method.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1355
- */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1356
-public interface Quantizer {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1357
-	/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1358
-	 * Initialize the quantizer. This should be called before adding any pixels.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1359
-	 * @param numColors the number of colors we're quantizing to.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1360
-	 */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1361
-	public void setup(int numColors);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1362
-	
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1363
-	/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1364
-	 * Add pixels to the quantizer.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1365
-	 * @param pixels the array of ARGB pixels
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1366
-	 * @param offset the offset into the array
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1367
-	 * @param count the count of pixels
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1368
-	 */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1369
-	public void addPixels(int[] pixels, int offset, int count);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1370
-	
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1371
-	/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1372
-	 * Build a color table from the added pixels.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1373
-	 * @return an array of ARGB pixels representing a color table
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1374
-	 */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1375
-	public int[] buildColorTable();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1376
-	
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1377
-	/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1378
-	 * Using the previously-built color table, return the index into that table for a pixel.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1379
-	 * This is guaranteed to return a valid index - returning the index of a color closer
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1380
-	 * to that requested if necessary. 
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1381
-	 * @param rgb the pixel to find
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1382
-	 * @return the pixel's index in the color table
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1383
-	 */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1384
-	public int getIndexForColor(int rgb);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1385
-}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1386
Index: org/jivesoftware/smackx/jingle/mediaimpl/sshare/api/DefaultEncoder.java
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1387
===================================================================
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1388
--- org/jivesoftware/smackx/jingle/mediaimpl/sshare/api/DefaultEncoder.java	(revision 11644)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1389
+++ org/jivesoftware/smackx/jingle/mediaimpl/sshare/api/DefaultEncoder.java	(working copy)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1390
@@ -1,24 +0,0 @@
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1391
-package org.jivesoftware.smackx.jingle.mediaimpl.sshare.api;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1392
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1393
-import javax.imageio.ImageIO;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1394
-import java.awt.image.BufferedImage;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1395
-import java.io.ByteArrayOutputStream;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1396
-import java.io.IOException;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1397
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1398
-/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1399
- * Implements a default PNG Encoder
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1400
- */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1401
-public class DefaultEncoder implements ImageEncoder{
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1402
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1403
-    public ByteArrayOutputStream encode(BufferedImage bufferedImage) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1404
-        ByteArrayOutputStream baos = new ByteArrayOutputStream();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1405
-        try {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1406
-            ImageIO.write(bufferedImage, "png", baos);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1407
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1408
-        catch (IOException e) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1409
-            e.printStackTrace();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1410
-            baos = null;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1411
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1412
-        return baos;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1413
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1414
-}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1415
Index: org/jivesoftware/smackx/jingle/mediaimpl/sshare/api/QuantizeFilter.java
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1416
===================================================================
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1417
--- org/jivesoftware/smackx/jingle/mediaimpl/sshare/api/QuantizeFilter.java	(revision 11644)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1418
+++ org/jivesoftware/smackx/jingle/mediaimpl/sshare/api/QuantizeFilter.java	(working copy)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1419
@@ -1,178 +0,0 @@
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1420
-/*
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1421
-Copyright 2006 Jerry Huxtable
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1422
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1423
-Licensed under the Apache License, Version 2.0 (the "License");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1424
-you may not use this file except in compliance with the License.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1425
-You may obtain a copy of the License at
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1426
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1427
-   http://www.apache.org/licenses/LICENSE-2.0
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1428
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1429
-Unless required by applicable law or agreed to in writing, software
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1430
-distributed under the License is distributed on an "AS IS" BASIS,
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1431
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1432
-See the License for the specific language governing permissions and
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1433
-limitations under the License.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1434
-*/
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1435
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1436
-package org.jivesoftware.smackx.jingle.mediaimpl.sshare.api;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1437
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1438
-import java.awt.*;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1439
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1440
-/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1441
- * A filter which quantizes an image to a set number of colors - useful for producing
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1442
- * images which are to be encoded using an index color model. The filter can perform
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1443
- * Floyd-Steinberg error-diffusion dithering if required. At present, the quantization
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1444
- * is done using an octtree algorithm but I eventually hope to add more quantization
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1445
- * methods such as median cut. Note: at present, the filter produces an image which
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1446
- * uses the RGB color model (because the application it was written for required it).
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1447
- * I hope to extend it to produce an IndexColorModel by request.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1448
- */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1449
-public class QuantizeFilter extends WholeImageFilter {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1450
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1451
-	/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1452
-	 * Floyd-Steinberg dithering matrix.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1453
-	 */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1454
-	protected final static int[] matrix = {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1455
-	 	 0, 0, 0,
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1456
-	 	 0, 0, 7,
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1457
-	 	 3, 5, 1,
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1458
-	};
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1459
-	private int sum = 3+5+7+1;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1460
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1461
-	private boolean dither;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1462
-	private int numColors = 256;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1463
-	private boolean serpentine = true;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1464
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1465
-	/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1466
-	 * Set the number of colors to quantize to.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1467
-	 * @param numColors the number of colors. The default is 256.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1468
-	 */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1469
-	public void setNumColors(int numColors) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1470
-		this.numColors = Math.min(Math.max(numColors, 8), 256);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1471
-	}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1472
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1473
-	/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1474
-	 * Get the number of colors to quantize to.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1475
-	 * @return the number of colors.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1476
-	 */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1477
-	public int getNumColors() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1478
-		return numColors;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1479
-	}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1480
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1481
-	/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1482
-	 * Set whether to use dithering or not. If not, the image is posterized.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1483
-	 * @param dither true to use dithering
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1484
-	 */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1485
-	public void setDither(boolean dither) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1486
-		this.dither = dither;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1487
-	}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1488
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1489
-	/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1490
-	 * Return the dithering setting
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1491
-	 * @return the current setting
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1492
-	 */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1493
-	public boolean getDither() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1494
-		return dither;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1495
-	}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1496
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1497
-	/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1498
-	 * Set whether to use a serpentine pattern for return or not. This can reduce 'avalanche' artifacts in the output.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1499
-	 * @param serpentine true to use serpentine pattern
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1500
-	 */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1501
-	public void setSerpentine(boolean serpentine) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1502
-		this.serpentine = serpentine;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1503
-	}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1504
-	
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1505
-	/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1506
-	 * Return the serpentine setting
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1507
-	 * @return the current setting
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1508
-	 */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1509
-	public boolean getSerpentine() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1510
-		return serpentine;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1511
-	}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1512
-	
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1513
-	public void quantize(int[] inPixels, int[] outPixels, int width, int height, int numColors, boolean dither, boolean serpentine) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1514
-		int count = width*height;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1515
-		Quantizer quantizer = new OctTreeQuantizer();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1516
-		quantizer.setup(numColors);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1517
-		quantizer.addPixels(inPixels, 0, count);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1518
-		int[] table =  quantizer.buildColorTable();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1519
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1520
-		if (!dither) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1521
-			for (int i = 0; i < count; i++)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1522
-				outPixels[i] = table[quantizer.getIndexForColor(inPixels[i])];
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1523
-		} else {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1524
-			int index = 0;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1525
-			for (int y = 0; y < height; y++) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1526
-				boolean reverse = serpentine && (y & 1) == 1;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1527
-				int direction;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1528
-				if (reverse) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1529
-					index = y*width+width-1;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1530
-					direction = -1;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1531
-				} else {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1532
-					index = y*width;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1533
-					direction = 1;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1534
-				}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1535
-				for (int x = 0; x < width; x++) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1536
-					int rgb1 = inPixels[index];
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1537
-					int rgb2 = table[quantizer.getIndexForColor(rgb1)];
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1538
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1539
-					outPixels[index] = rgb2;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1540
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1541
-					int r1 = (rgb1 >> 16) & 0xff;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1542
-					int g1 = (rgb1 >> 8) & 0xff;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1543
-					int b1 = rgb1 & 0xff;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1544
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1545
-					int r2 = (rgb2 >> 16) & 0xff;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1546
-					int g2 = (rgb2 >> 8) & 0xff;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1547
-					int b2 = rgb2 & 0xff;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1548
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1549
-					int er = r1-r2;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1550
-					int eg = g1-g2;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1551
-					int eb = b1-b2;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1552
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1553
-					for (int i = -1; i <= 1; i++) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1554
-						int iy = i+y;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1555
-						if (0 <= iy && iy < height) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1556
-							for (int j = -1; j <= 1; j++) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1557
-								int jx = j+x;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1558
-								if (0 <= jx && jx < width) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1559
-									int w;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1560
-									if (reverse)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1561
-										w = matrix[(i+1)*3-j+1];
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1562
-									else
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1563
-										w = matrix[(i+1)*3+j+1];
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1564
-									if (w != 0) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1565
-										int k = reverse ? index - j : index + j;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1566
-										rgb1 = inPixels[k];
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1567
-										r1 = (rgb1 >> 16) & 0xff;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1568
-										g1 = (rgb1 >> 8) & 0xff;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1569
-										b1 = rgb1 & 0xff;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1570
-										r1 += er * w/sum;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1571
-										g1 += eg * w/sum;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1572
-										b1 += eb * w/sum;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1573
-										inPixels[k] = (PixelUtils.clamp(r1) << 16) | (PixelUtils.clamp(g1) << 8) | PixelUtils.clamp(b1);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1574
-									}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1575
-								}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1576
-							}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1577
-						}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1578
-					}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1579
-					index += direction;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1580
-				}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1581
-			}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1582
-		}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1583
-	}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1584
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1585
-	protected int[] filterPixels( int width, int height, int[] inPixels, Rectangle transformedSpace ) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1586
-		int[] outPixels = new int[width*height];
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1587
-		
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1588
-		quantize(inPixels, outPixels, width, height, numColors, dither, serpentine);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1589
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1590
-		return outPixels;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1591
-	}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1592
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1593
-	public String toString() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1594
-		return "Colors/Quantize...";
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1595
-	}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1596
-	
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1597
-}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1598
Index: org/jivesoftware/smackx/jingle/mediaimpl/sshare/api/ImageReceiver.java
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1599
===================================================================
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1600
--- org/jivesoftware/smackx/jingle/mediaimpl/sshare/api/ImageReceiver.java	(revision 11644)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1601
+++ org/jivesoftware/smackx/jingle/mediaimpl/sshare/api/ImageReceiver.java	(working copy)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1602
@@ -1,150 +0,0 @@
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1603
-package org.jivesoftware.smackx.jingle.mediaimpl.sshare.api;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1604
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1605
-import java.awt.*;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1606
-import java.awt.image.BufferedImage;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1607
-import java.io.ByteArrayInputStream;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1608
-import java.io.IOException;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1609
-import java.net.DatagramPacket;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1610
-import java.net.DatagramSocket;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1611
-import java.net.InetAddress;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1612
-import java.net.SocketException;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1613
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1614
-/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1615
- * UDP Image Receiver.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1616
- * It uses PNG Tiles into UDP packets.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1617
- *
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1618
- * @author Thiago Rocha Camargo
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1619
- */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1620
-public class ImageReceiver extends Canvas {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1621
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1622
-    private boolean on = true;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1623
-    private DatagramSocket socket;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1624
-    private BufferedImage tiles[][];
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1625
-    private static final int tileWidth = ImageTransmitter.tileWidth;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1626
-    private InetAddress localHost;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1627
-    private InetAddress remoteHost;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1628
-    private int localPort;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1629
-    private int remotePort;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1630
-    private ImageDecoder decoder;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1631
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1632
-    public ImageReceiver(final InetAddress remoteHost, final int remotePort, final int localPort, int width, int height) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1633
-        tiles = new BufferedImage[width][height];
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1634
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1635
-        try {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1636
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1637
-            socket = new DatagramSocket(localPort);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1638
-            localHost = socket.getLocalAddress();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1639
-            this.remoteHost = remoteHost;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1640
-            this.remotePort = remotePort;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1641
-            this.localPort = localPort;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1642
-            this.decoder = new DefaultDecoder();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1643
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1644
-            new Thread(new Runnable() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1645
-                public void run() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1646
-                    byte buf[] = new byte[1024];
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1647
-                    DatagramPacket p = new DatagramPacket(buf, 1024);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1648
-                    try {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1649
-                        while (on) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1650
-                            socket.receive(p);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1651
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1652
-                            int length = p.getLength();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1653
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1654
-                            BufferedImage bufferedImage = decoder.decode(new ByteArrayInputStream(p.getData(), 0, length - 2));
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1655
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1656
-                            if (bufferedImage != null) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1657
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1658
-                                int x = p.getData()[length - 2];
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1659
-                                int y = p.getData()[length - 1];
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1660
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1661
-                                drawTile(x, y, bufferedImage);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1662
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1663
-                            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1664
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1665
-                        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1666
-                    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1667
-                    catch (IOException e) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1668
-                        e.printStackTrace();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1669
-                    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1670
-                }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1671
-            }).start();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1672
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1673
-            new Thread(new Runnable() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1674
-                public void run() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1675
-                    byte buf[] = new byte[1024];
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1676
-                    DatagramPacket p = new DatagramPacket(buf, 1024);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1677
-                    try {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1678
-                        while (on) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1679
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1680
-                            p.setAddress(remoteHost);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1681
-                            p.setPort(remotePort);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1682
-                            socket.send(p);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1683
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1684
-                            try {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1685
-                                Thread.sleep(1000);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1686
-                            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1687
-                            catch (InterruptedException e) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1688
-                                e.printStackTrace();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1689
-                            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1690
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1691
-                        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1692
-                    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1693
-                    catch (IOException e) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1694
-                        e.printStackTrace();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1695
-                    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1696
-                }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1697
-            }).start();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1698
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1699
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1700
-        catch (SocketException e) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1701
-            e.printStackTrace();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1702
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1703
-        this.setSize(width, height);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1704
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1705
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1706
-    public InetAddress getLocalHost() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1707
-        return localHost;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1708
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1709
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1710
-    public InetAddress getRemoteHost() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1711
-        return remoteHost;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1712
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1713
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1714
-    public int getLocalPort() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1715
-        return localPort;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1716
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1717
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1718
-    public int getRemotePort() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1719
-        return remotePort;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1720
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1721
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1722
-    public DatagramSocket getDatagramSocket() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1723
-        return socket;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1724
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1725
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1726
-    public void drawTile(int x, int y, BufferedImage bufferedImage) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1727
-        tiles[x][y] = bufferedImage;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1728
-        //repaint(x * tileWidth, y * tileWidth, tileWidth, tileWidth);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1729
-        this.getGraphics().drawImage(bufferedImage, tileWidth * x, tileWidth * y, this);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1730
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1731
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1732
-    public void paint(Graphics g) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1733
-        for (int i = 0; i < tiles.length; i++) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1734
-            for (int j = 0; j < tiles[0].length; j++) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1735
-                g.drawImage(tiles[i][j], tileWidth * i, tileWidth * j, this);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1736
-            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1737
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1738
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1739
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1740
-    public ImageDecoder getDecoder() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1741
-        return decoder;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1742
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1743
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1744
-    public void setDecoder(ImageDecoder decoder) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1745
-        this.decoder = decoder;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1746
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1747
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1748
-    public void stop(){
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1749
-        this.on=false;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1750
-        socket.close();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1751
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1752
-}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1753
Index: org/jivesoftware/smackx/jingle/mediaimpl/sshare/api/WholeImageFilter.java
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1754
===================================================================
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1755
--- org/jivesoftware/smackx/jingle/mediaimpl/sshare/api/WholeImageFilter.java	(revision 11644)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1756
+++ org/jivesoftware/smackx/jingle/mediaimpl/sshare/api/WholeImageFilter.java	(working copy)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1757
@@ -1,86 +0,0 @@
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1758
-/*
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1759
-Copyright 2006 Jerry Huxtable
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1760
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1761
-Licensed under the Apache License, Version 2.0 (the "License");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1762
-you may not use this file except in compliance with the License.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1763
-You may obtain a copy of the License at
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1764
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1765
-   http://www.apache.org/licenses/LICENSE-2.0
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1766
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1767
-Unless required by applicable law or agreed to in writing, software
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1768
-distributed under the License is distributed on an "AS IS" BASIS,
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1769
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1770
-See the License for the specific language governing permissions and
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1771
-limitations under the License.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1772
-*/
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1773
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1774
-package org.jivesoftware.smackx.jingle.mediaimpl.sshare.api;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1775
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1776
-import java.awt.*;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1777
-import java.awt.image.BufferedImage;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1778
-import java.awt.image.ColorModel;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1779
-import java.awt.image.WritableRaster;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1780
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1781
-/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1782
- * A filter which acts as a superclass for filters which need to have the whole image in memory
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1783
- * to do their stuff.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1784
- */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1785
-public abstract class WholeImageFilter extends AbstractBufferedImageOp {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1786
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1787
-	/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1788
-     * The output image bounds.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1789
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1790
-    protected Rectangle transformedSpace;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1791
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1792
-	/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1793
-     * The input image bounds.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1794
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1795
-	protected Rectangle originalSpace;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1796
-	
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1797
-	/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1798
-	 * Construct a WholeImageFilter.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1799
-	 */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1800
-	public WholeImageFilter() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1801
-	}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1802
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1803
-    public BufferedImage filter( BufferedImage src, BufferedImage dst ) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1804
-        int width = src.getWidth();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1805
-        int height = src.getHeight();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1806
-		int type = src.getType();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1807
-		WritableRaster srcRaster = src.getRaster();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1808
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1809
-		originalSpace = new Rectangle(0, 0, width, height);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1810
-		transformedSpace = new Rectangle(0, 0, width, height);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1811
-		transformSpace(transformedSpace);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1812
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1813
-        if ( dst == null ) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1814
-            ColorModel dstCM = src.getColorModel();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1815
-			dst = new BufferedImage(dstCM, dstCM.createCompatibleWritableRaster(transformedSpace.width, transformedSpace.height), dstCM.isAlphaPremultiplied(), null);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1816
-		}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1817
-		WritableRaster dstRaster = dst.getRaster();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1818
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1819
-		int[] inPixels = getRGB( src, 0, 0, width, height, null );
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1820
-		inPixels = filterPixels( width, height, inPixels, transformedSpace );
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1821
-		setRGB( dst, 0, 0, transformedSpace.width, transformedSpace.height, inPixels );
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1822
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1823
-        return dst;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1824
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1825
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1826
-	/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1827
-     * Calculate output bounds for given input bounds.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1828
-     * @param rect input and output rectangle
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1829
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1830
-	protected void transformSpace(Rectangle rect) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1831
-	}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1832
-	
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1833
-	/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1834
-     * Actually filter the pixels.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1835
-     * @param width the image width
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1836
-     * @param height the image height
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1837
-     * @param inPixels the image pixels
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1838
-     * @param transformedSpace the output bounds
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1839
-     * @return the output pixels
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1840
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1841
-	protected abstract int[] filterPixels( int width, int height, int[] inPixels, Rectangle transformedSpace );
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1842
-}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1843
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1844
Index: org/jivesoftware/smackx/jingle/mediaimpl/sshare/api/AbstractBufferedImageOp.java
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1845
===================================================================
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1846
--- org/jivesoftware/smackx/jingle/mediaimpl/sshare/api/AbstractBufferedImageOp.java	(revision 11644)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1847
+++ org/jivesoftware/smackx/jingle/mediaimpl/sshare/api/AbstractBufferedImageOp.java	(working copy)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1848
@@ -1,98 +0,0 @@
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1849
-/*
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1850
-Copyright 2006 Jerry Huxtable
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1851
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1852
-Licensed under the Apache License, Version 2.0 (the "License");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1853
-you may not use this file except in compliance with the License.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1854
-You may obtain a copy of the License at
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1855
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1856
-   http://www.apache.org/licenses/LICENSE-2.0
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1857
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1858
-Unless required by applicable law or agreed to in writing, software
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1859
-distributed under the License is distributed on an "AS IS" BASIS,
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1860
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1861
-See the License for the specific language governing permissions and
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1862
-limitations under the License.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1863
-*/
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1864
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1865
-package org.jivesoftware.smackx.jingle.mediaimpl.sshare.api;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1866
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1867
-import java.awt.*;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1868
-import java.awt.geom.Point2D;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1869
-import java.awt.geom.Rectangle2D;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1870
-import java.awt.image.BufferedImage;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1871
-import java.awt.image.BufferedImageOp;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1872
-import java.awt.image.ColorModel;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1873
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1874
-/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1875
- * A convenience class which implements those methods of BufferedImageOp which are rarely changed.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1876
- */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1877
-public abstract class AbstractBufferedImageOp implements BufferedImageOp, Cloneable {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1878
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1879
-    public BufferedImage createCompatibleDestImage(BufferedImage src, ColorModel dstCM) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1880
-        if ( dstCM == null )
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1881
-            dstCM = src.getColorModel();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1882
-        return new BufferedImage(dstCM, dstCM.createCompatibleWritableRaster(src.getWidth(), src.getHeight()), dstCM.isAlphaPremultiplied(), null);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1883
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1884
-    
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1885
-    public Rectangle2D getBounds2D( BufferedImage src ) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1886
-        return new Rectangle(0, 0, src.getWidth(), src.getHeight());
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1887
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1888
-    
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1889
-    public Point2D getPoint2D( Point2D srcPt, Point2D dstPt ) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1890
-        if ( dstPt == null )
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1891
-            dstPt = new Point2D.Double();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1892
-        dstPt.setLocation( srcPt.getX(), srcPt.getY() );
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1893
-        return dstPt;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1894
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1895
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1896
-    public RenderingHints getRenderingHints() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1897
-        return null;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1898
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1899
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1900
-	/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1901
-	 * A convenience method for getting ARGB pixels from an image. This tries to avoid the performance
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1902
-	 * penalty of BufferedImage.getRGB unmanaging the image.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1903
-     * @param image   a BufferedImage object
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1904
-     * @param x       the left edge of the pixel block
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1905
-     * @param y       the right edge of the pixel block
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1906
-     * @param width   the width of the pixel arry
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1907
-     * @param height  the height of the pixel arry
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1908
-     * @param pixels  the array to hold the returned pixels. May be null.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1909
-     * @return the pixels
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1910
-     * @see #setRGB
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1911
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1912
-	public int[] getRGB( BufferedImage image, int x, int y, int width, int height, int[] pixels ) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1913
-		int type = image.getType();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1914
-		if ( type == BufferedImage.TYPE_INT_ARGB || type == BufferedImage.TYPE_INT_RGB )
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1915
-			return (int [])image.getRaster().getDataElements( x, y, width, height, pixels );
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1916
-		return image.getRGB( x, y, width, height, pixels, 0, width );
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1917
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1918
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1919
-	/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1920
-	 * A convenience method for setting ARGB pixels in an image. This tries to avoid the performance
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1921
-	 * penalty of BufferedImage.setRGB unmanaging the image.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1922
-     * @param image   a BufferedImage object
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1923
-     * @param x       the left edge of the pixel block
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1924
-     * @param y       the right edge of the pixel block
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1925
-     * @param width   the width of the pixel arry
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1926
-     * @param height  the height of the pixel arry
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1927
-     * @param pixels  the array of pixels to set
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1928
-     * @see #getRGB
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1929
-	 */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1930
-	public void setRGB( BufferedImage image, int x, int y, int width, int height, int[] pixels ) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1931
-		int type = image.getType();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1932
-		if ( type == BufferedImage.TYPE_INT_ARGB || type == BufferedImage.TYPE_INT_RGB )
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1933
-			image.getRaster().setDataElements( x, y, width, height, pixels );
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1934
-		else
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1935
-			image.setRGB( x, y, width, height, pixels, 0, width );
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1936
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1937
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1938
-	public Object clone() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1939
-		try {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1940
-			return super.clone();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1941
-		}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1942
-		catch ( CloneNotSupportedException e ) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1943
-			return null;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1944
-		}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1945
-	}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1946
-}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1947
Index: org/jivesoftware/smackx/jingle/mediaimpl/sshare/api/ImageDecoder.java
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1948
===================================================================
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1949
--- org/jivesoftware/smackx/jingle/mediaimpl/sshare/api/ImageDecoder.java	(revision 11644)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1950
+++ org/jivesoftware/smackx/jingle/mediaimpl/sshare/api/ImageDecoder.java	(working copy)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1951
@@ -1,15 +0,0 @@
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1952
-package org.jivesoftware.smackx.jingle.mediaimpl.sshare.api;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1953
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1954
-import java.awt.image.BufferedImage;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1955
-import java.io.ByteArrayInputStream;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1956
-import java.io.IOException;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1957
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1958
-/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1959
- * Image Decoder Interface use this interface if you want to change the default decoder
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1960
- *
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1961
- * @author Thiago Rocha Camargo
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1962
- */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1963
-public interface ImageDecoder {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1964
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1965
-    public BufferedImage decode(ByteArrayInputStream stream) throws IOException;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1966
-}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1967
Index: org/jivesoftware/smackx/jingle/mediaimpl/sshare/api/OctTreeQuantizer.java
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1968
===================================================================
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1969
--- org/jivesoftware/smackx/jingle/mediaimpl/sshare/api/OctTreeQuantizer.java	(revision 11644)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1970
+++ org/jivesoftware/smackx/jingle/mediaimpl/sshare/api/OctTreeQuantizer.java	(working copy)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1971
@@ -1,287 +0,0 @@
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1972
-/*
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1973
-Copyright 2006 Jerry Huxtable
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1974
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1975
-Licensed under the Apache License, Version 2.0 (the "License");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1976
-you may not use this file except in compliance with the License.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1977
-You may obtain a copy of the License at
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1978
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1979
-   http://www.apache.org/licenses/LICENSE-2.0
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1980
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1981
-Unless required by applicable law or agreed to in writing, software
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1982
-distributed under the License is distributed on an "AS IS" BASIS,
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1983
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1984
-See the License for the specific language governing permissions and
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1985
-limitations under the License.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1986
-*/
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1987
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1988
-package org.jivesoftware.smackx.jingle.mediaimpl.sshare.api;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1989
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1990
-import java.io.PrintStream;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1991
-import java.util.Vector;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1992
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1993
-import org.jivesoftware.smackx.jingle.SmackLogger;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1994
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1995
-/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1996
- * An image Quantizer based on the Octree algorithm. This is a very basic implementation
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1997
- * at present and could be much improved by picking the nodes to reduce more carefully 
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1998
- * (i.e. not completely at random) when I get the time.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  1999
- */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2000
-public class OctTreeQuantizer implements Quantizer {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2001
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2002
-	private static final SmackLogger LOGGER = SmackLogger.getLogger(OctTreeQuantizer.class);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2003
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2004
-	/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2005
-	 * The greatest depth the tree is allowed to reach
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2006
-	 */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2007
-	final static int MAX_LEVEL = 5;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2008
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2009
-	/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2010
-	 * An Octtree node.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2011
-	 */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2012
-	class OctTreeNode {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2013
-		int children;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2014
-		int level;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2015
-		OctTreeNode parent;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2016
-		OctTreeNode leaf[] = new OctTreeNode[8];
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2017
-		boolean isLeaf;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2018
-		int count;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2019
-		int	totalRed;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2020
-		int	totalGreen;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2021
-		int	totalBlue;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2022
-		int index;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2023
-		
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2024
-		/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2025
-		 * A debugging method which prints the tree out.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2026
-		 */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2027
-		public void list(PrintStream s, int level) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2028
-			String indentStr = "";
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2029
-			for (int i = 0; i < level; i++)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2030
-				indentStr += " ";
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2031
-			if (count == 0)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2032
-				LOGGER.debug(indentStr + index + ": count=" + count);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2033
-			else
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2034
-				LOGGER.debug(indentStr + index + ": count=" + count + " red=" + (totalRed/count) + " green=" + (totalGreen / count) + " blue=" + (totalBlue / count));
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2035
-			for (int i = 0; i < 8; i++)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2036
-				if (leaf[i] != null)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2037
-					leaf[i].list(s, level+2);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2038
-		}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2039
-	}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2040
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2041
-	private int nodes = 0;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2042
-	private OctTreeNode root;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2043
-	private int reduceColors;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2044
-	private int maximumColors;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2045
-	private int colors = 0;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2046
-	private Vector[] colorList;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2047
-	
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2048
-	public OctTreeQuantizer() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2049
-		setup(256);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2050
-		colorList = new Vector[MAX_LEVEL+1];
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2051
-		for (int i = 0; i < MAX_LEVEL+1; i++)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2052
-			colorList[i] = new Vector();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2053
-		root = new OctTreeNode();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2054
-	}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2055
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2056
-	/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2057
-	 * Initialize the quantizer. This should be called before adding any pixels.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2058
-	 * @param numColors the number of colors we're quantizing to.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2059
-	 */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2060
-	public void setup(int numColors) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2061
-		maximumColors = numColors;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2062
-		reduceColors = Math.max(512, numColors * 2);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2063
-	}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2064
-	
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2065
-	/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2066
-	 * Add pixels to the quantizer.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2067
-	 * @param pixels the array of ARGB pixels
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2068
-	 * @param offset the offset into the array
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2069
-	 * @param count the count of pixels
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2070
-	 */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2071
-	public void addPixels(int[] pixels, int offset, int count) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2072
-		for (int i = 0; i < count; i++) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2073
-			insertColor(pixels[i+offset]);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2074
-			if (colors > reduceColors)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2075
-				reduceTree(reduceColors);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2076
-		}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2077
-	}	
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2078
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2079
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2080
-     * Get the color table index for a color.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2081
-     * @param rgb the color
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2082
-     * @return the index
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2083
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2084
-	public int getIndexForColor(int rgb) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2085
-		int red = (rgb >> 16) & 0xff;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2086
-		int green = (rgb >> 8) & 0xff;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2087
-		int blue = rgb & 0xff;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2088
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2089
-		OctTreeNode node = root;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2090
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2091
-		for (int level = 0; level <= MAX_LEVEL; level++) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2092
-			OctTreeNode child;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2093
-			int bit = 0x80 >> level;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2094
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2095
-			int index = 0;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2096
-			if ((red & bit) != 0)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2097
-				index += 4;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2098
-			if ((green & bit) != 0)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2099
-				index += 2;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2100
-			if ((blue & bit) != 0)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2101
-				index += 1;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2102
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2103
-			child = node.leaf[index];
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2104
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2105
-			if (child == null)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2106
-				return node.index;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2107
-			else if (child.isLeaf)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2108
-				return child.index;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2109
-			else
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2110
-				node = child;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2111
-		}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2112
-		LOGGER.debug("getIndexForColor failed");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2113
-		return 0;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2114
-	}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2115
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2116
-	private void insertColor(int rgb) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2117
-		int red = (rgb >> 16) & 0xff;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2118
-		int green = (rgb >> 8) & 0xff;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2119
-		int blue = rgb & 0xff;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2120
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2121
-		OctTreeNode node = root;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2122
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2123
-//		LOGGER.debug("insertColor="+Integer.toHexString(rgb));
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2124
-		for (int level = 0; level <= MAX_LEVEL; level++) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2125
-			OctTreeNode child;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2126
-			int bit = 0x80 >> level;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2127
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2128
-			int index = 0;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2129
-			if ((red & bit) != 0)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2130
-				index += 4;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2131
-			if ((green & bit) != 0)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2132
-				index += 2;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2133
-			if ((blue & bit) != 0)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2134
-				index += 1;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2135
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2136
-			child = node.leaf[index];
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2137
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2138
-			if (child == null) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2139
-				node.children++;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2140
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2141
-				child = new OctTreeNode();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2142
-				child.parent = node;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2143
-				node.leaf[index] = child;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2144
-				node.isLeaf = false;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2145
-				nodes++;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2146
-				colorList[level].addElement(child);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2147
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2148
-				if (level == MAX_LEVEL) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2149
-					child.isLeaf = true;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2150
-					child.count = 1;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2151
-					child.totalRed = red;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2152
-					child.totalGreen = green;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2153
-					child.totalBlue = blue;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2154
-					child.level = level;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2155
-					colors++;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2156
-					return;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2157
-				}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2158
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2159
-				node = child;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2160
-			} else if (child.isLeaf) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2161
-				child.count++;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2162
-				child.totalRed += red;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2163
-				child.totalGreen += green;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2164
-				child.totalBlue += blue;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2165
-				return;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2166
-			} else
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2167
-				node = child;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2168
-		}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2169
-		LOGGER.debug("insertColor failed");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2170
-	}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2171
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2172
-	private void reduceTree(int numColors) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2173
-		for (int level = MAX_LEVEL-1; level >= 0; level--) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2174
-			Vector v = colorList[level];
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2175
-			if (v != null && v.size() > 0) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2176
-				for (int j = 0; j < v.size(); j++) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2177
-					OctTreeNode node = (OctTreeNode)v.elementAt(j);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2178
-					if (node.children > 0) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2179
-						for (int i = 0; i < 8; i++) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2180
-							OctTreeNode child = node.leaf[i];
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2181
-							if (child != null) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2182
-								if (!child.isLeaf)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2183
-									LOGGER.debug("not a leaf!");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2184
-								node.count += child.count;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2185
-								node.totalRed += child.totalRed;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2186
-								node.totalGreen += child.totalGreen;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2187
-								node.totalBlue += child.totalBlue;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2188
-								node.leaf[i] = null;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2189
-								node.children--;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2190
-								colors--;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2191
-								nodes--;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2192
-								colorList[level+1].removeElement(child);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2193
-							}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2194
-						}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2195
-						node.isLeaf = true;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2196
-						colors++;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2197
-						if (colors <= numColors)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2198
-							return;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2199
-					}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2200
-				}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2201
-			}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2202
-		}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2203
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2204
-		LOGGER.debug("Unable to reduce the OctTree");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2205
-	}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2206
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2207
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2208
-     * Build the color table.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2209
-     * @return the color table
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2210
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2211
-	public int[] buildColorTable() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2212
-		int[] table = new int[colors];
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2213
-		buildColorTable(root, table, 0);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2214
-		return table;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2215
-	}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2216
-	
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2217
-	/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2218
-	 * A quick way to use the quantizer. Just create a table the right size and pass in the pixels.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2219
-     * @param inPixels the input colors
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2220
-     * @param table the output color table
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2221
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2222
-	public void buildColorTable(int[] inPixels, int[] table) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2223
-		int count = inPixels.length;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2224
-		maximumColors = table.length;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2225
-		for (int i = 0; i < count; i++) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2226
-			insertColor(inPixels[i]);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2227
-			if (colors > reduceColors)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2228
-				reduceTree(reduceColors);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2229
-		}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2230
-		if (colors > maximumColors)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2231
-			reduceTree(maximumColors);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2232
-		buildColorTable(root, table, 0);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2233
-	}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2234
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2235
-	private int buildColorTable(OctTreeNode node, int[] table, int index) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2236
-		if (colors > maximumColors)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2237
-			reduceTree(maximumColors);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2238
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2239
-		if (node.isLeaf) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2240
-			int count = node.count;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2241
-			table[index] = 0xff000000 |
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2242
-				((node.totalRed/count) << 16) |
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2243
-				((node.totalGreen/count) << 8) |
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2244
-				node.totalBlue/count;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2245
-			node.index = index++;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2246
-		} else {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2247
-			for (int i = 0; i < 8; i++) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2248
-				if (node.leaf[i] != null) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2249
-					node.index = index;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2250
-					index = buildColorTable(node.leaf[i], table, index);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2251
-				}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2252
-			}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2253
-		}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2254
-		return index;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2255
-	}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2256
-	
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2257
-}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2258
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2259
Index: org/jivesoftware/smackx/jingle/mediaimpl/sshare/api/DefaultDecoder.java
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2260
===================================================================
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2261
--- org/jivesoftware/smackx/jingle/mediaimpl/sshare/api/DefaultDecoder.java	(revision 11644)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2262
+++ org/jivesoftware/smackx/jingle/mediaimpl/sshare/api/DefaultDecoder.java	(working copy)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2263
@@ -1,16 +0,0 @@
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2264
-package org.jivesoftware.smackx.jingle.mediaimpl.sshare.api;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2265
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2266
-import javax.imageio.ImageIO;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2267
-import java.awt.image.BufferedImage;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2268
-import java.io.ByteArrayInputStream;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2269
-import java.io.IOException;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2270
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2271
-/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2272
- * Implements a default PNG decoder.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2273
- */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2274
-public class DefaultDecoder implements ImageDecoder {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2275
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2276
-    public BufferedImage decode(ByteArrayInputStream stream) throws IOException {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2277
-        return ImageIO.read(stream);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2278
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2279
-}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2280
Index: org/jivesoftware/smackx/jingle/mediaimpl/sshare/ScreenShareMediaManager.java
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2281
===================================================================
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2282
--- org/jivesoftware/smackx/jingle/mediaimpl/sshare/ScreenShareMediaManager.java	(revision 11644)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2283
+++ org/jivesoftware/smackx/jingle/mediaimpl/sshare/ScreenShareMediaManager.java	(working copy)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2284
@@ -1,115 +0,0 @@
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2285
-/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2286
- * $RCSfile: ScreenShareMediaManager.java,v $
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2287
- * $Revision: 1.3 $
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2288
- * $Date: 25/12/2006
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2289
- * <p/>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2290
- * Copyright 2003-2006 Jive Software.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2291
- * <p/>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2292
- * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2293
- * you may not use this file except in compliance with the License.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2294
- * You may obtain a copy of the License at
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2295
- * <p/>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2296
- * http://www.apache.org/licenses/LICENSE-2.0
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2297
- * <p/>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2298
- * Unless required by applicable law or agreed to in writing, software
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2299
- * distributed under the License is distributed on an "AS IS" BASIS,
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2300
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2301
- * See the License for the specific language governing permissions and
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2302
- * limitations under the License.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2303
- */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2304
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2305
-package org.jivesoftware.smackx.jingle.mediaimpl.sshare;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2306
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2307
-import org.jivesoftware.smackx.jingle.JingleSession;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2308
-import org.jivesoftware.smackx.jingle.media.JingleMediaManager;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2309
-import org.jivesoftware.smackx.jingle.media.JingleMediaSession;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2310
-import org.jivesoftware.smackx.jingle.media.PayloadType;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2311
-import org.jivesoftware.smackx.jingle.mediaimpl.sshare.api.ImageDecoder;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2312
-import org.jivesoftware.smackx.jingle.mediaimpl.sshare.api.ImageEncoder;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2313
-import org.jivesoftware.smackx.jingle.nat.JingleTransportManager;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2314
-import org.jivesoftware.smackx.jingle.nat.TransportCandidate;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2315
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2316
-import java.util.ArrayList;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2317
-import java.util.List;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2318
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2319
-/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2320
- * Implements a JingleMediaManager for ScreenSharing.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2321
- * It currently uses an Audio payload Type. Which needs to be fixed in the next version.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2322
- *
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2323
- * @author Thiago Camargo
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2324
- */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2325
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2326
-public class ScreenShareMediaManager extends JingleMediaManager {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2327
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2328
-    public static final String MEDIA_NAME = "ScreenShare";
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2329
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2330
-    private List<PayloadType> payloads = new ArrayList<PayloadType>();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2331
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2332
-    private ImageDecoder decoder = null;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2333
-    private ImageEncoder encoder = null;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2334
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2335
-    public ScreenShareMediaManager(JingleTransportManager transportManager) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2336
-        super(transportManager);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2337
-        setupPayloads();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2338
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2339
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2340
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2341
-     * Setup API supported Payloads
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2342
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2343
-    private void setupPayloads() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2344
-        payloads.add(new PayloadType.Audio(30, "sshare"));
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2345
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2346
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2347
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2348
-     * Return all supported Payloads for this Manager.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2349
-     *
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2350
-     * @return The Payload List
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2351
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2352
-    public List<PayloadType> getPayloads() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2353
-        return payloads;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2354
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2355
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2356
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2357
-     * Returns a new JingleMediaSession
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2358
-     *
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2359
-     * @param payloadType payloadType
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2360
-     * @param remote      remote Candidate
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2361
-     * @param local       local Candidate
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2362
-     * @return JingleMediaSession JingleMediaSession
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2363
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2364
-    public JingleMediaSession createMediaSession(PayloadType payloadType, final TransportCandidate remote, final TransportCandidate local, final JingleSession jingleSession) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2365
-        ScreenShareSession session = null;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2366
-        session = new ScreenShareSession(payloadType, remote, local, "Screen", jingleSession);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2367
-        if (encoder != null) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2368
-            session.setEncoder(encoder);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2369
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2370
-        if (decoder != null) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2371
-            session.setDecoder(decoder);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2372
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2373
-        return session;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2374
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2375
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2376
-    public PayloadType getPreferredPayloadType() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2377
-        return super.getPreferredPayloadType();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2378
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2379
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2380
-    public ImageDecoder getDecoder() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2381
-        return decoder;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2382
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2383
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2384
-    public void setDecoder(ImageDecoder decoder) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2385
-        this.decoder = decoder;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2386
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2387
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2388
-    public ImageEncoder getEncoder() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2389
-        return encoder;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2390
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2391
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2392
-    public void setEncoder(ImageEncoder encoder) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2393
-        this.encoder = encoder;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2394
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2395
-    
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2396
-    public  String getName() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2397
-        return MEDIA_NAME;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2398
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2399
-}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2400
Index: org/jivesoftware/smackx/jingle/mediaimpl/multi/MultiMediaManager.java
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2401
===================================================================
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2402
--- org/jivesoftware/smackx/jingle/mediaimpl/multi/MultiMediaManager.java	(revision 11644)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2403
+++ org/jivesoftware/smackx/jingle/mediaimpl/multi/MultiMediaManager.java	(working copy)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2404
@@ -1,106 +0,0 @@
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2405
-/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2406
- * $RCSfile: MultiMediaManager.java,v $
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2407
- * $Revision: 1.3 $
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2408
- * $Date: 25/12/2006
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2409
- * <p/>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2410
- * Copyright 2003-2006 Jive Software.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2411
- * <p/>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2412
- * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2413
- * you may not use this file except in compliance with the License.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2414
- * You may obtain a copy of the License at
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2415
- * <p/>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2416
- * http://www.apache.org/licenses/LICENSE-2.0
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2417
- * <p/>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2418
- * Unless required by applicable law or agreed to in writing, software
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2419
- * distributed under the License is distributed on an "AS IS" BASIS,
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2420
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2421
- * See the License for the specific language governing permissions and
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2422
- * limitations under the License.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2423
- */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2424
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2425
-package org.jivesoftware.smackx.jingle.mediaimpl.multi;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2426
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2427
-import org.jivesoftware.smackx.jingle.JingleSession;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2428
-import org.jivesoftware.smackx.jingle.media.JingleMediaManager;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2429
-import org.jivesoftware.smackx.jingle.media.JingleMediaSession;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2430
-import org.jivesoftware.smackx.jingle.media.PayloadType;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2431
-import org.jivesoftware.smackx.jingle.nat.JingleTransportManager;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2432
-import org.jivesoftware.smackx.jingle.nat.TransportCandidate;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2433
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2434
-import java.util.ArrayList;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2435
-import java.util.List;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2436
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2437
-/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2438
- * Implements a MultiMediaManager using other JingleMediaManager implementations.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2439
- * It supports every Codecs that JingleMediaManagers added has.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2440
- *
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2441
- * @author Thiago Camargo
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2442
- */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2443
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2444
-public class MultiMediaManager extends JingleMediaManager {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2445
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2446
-    public static final String MEDIA_NAME = "Multi";
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2447
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2448
-    private List<JingleMediaManager> managers = new ArrayList<JingleMediaManager>();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2449
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2450
-    private PayloadType preferredPayloadType = null;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2451
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2452
-    public MultiMediaManager(JingleTransportManager transportManager) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2453
-        super(transportManager);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2454
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2455
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2456
-    public void addMediaManager(JingleMediaManager manager) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2457
-        managers.add(manager);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2458
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2459
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2460
-    public void removeMediaManager(JingleMediaManager manager) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2461
-        managers.remove(manager);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2462
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2463
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2464
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2465
-     * Return all supported Payloads for this Manager.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2466
-     *
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2467
-     * @return The Payload List
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2468
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2469
-    public List<PayloadType> getPayloads() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2470
-        List<PayloadType> list = new ArrayList<PayloadType>();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2471
-        if (preferredPayloadType != null) list.add(preferredPayloadType);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2472
-        for (JingleMediaManager manager : managers) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2473
-            for (PayloadType payloadType : manager.getPayloads()) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2474
-                if (!list.contains(payloadType) && !payloadType.equals(preferredPayloadType))
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2475
-                    list.add(payloadType);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2476
-            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2477
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2478
-        return list;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2479
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2480
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2481
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2482
-     * Returns a new JingleMediaSession
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2483
-     *
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2484
-     * @param payloadType payloadType
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2485
-     * @param remote      remote Candidate
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2486
-     * @param local       local Candidate
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2487
-     * @return JingleMediaSession JingleMediaSession
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2488
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2489
-    public JingleMediaSession createMediaSession(PayloadType payloadType, final TransportCandidate remote, final TransportCandidate local, final JingleSession jingleSession) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2490
-        for (JingleMediaManager manager : managers) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2491
-            if (manager.getPayloads().contains(payloadType)) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2492
-                return manager.createMediaSession(payloadType, remote, local, jingleSession);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2493
-            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2494
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2495
-        return null;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2496
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2497
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2498
-    public PayloadType getPreferredPayloadType() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2499
-        if (preferredPayloadType != null) return preferredPayloadType;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2500
-        return super.getPreferredPayloadType();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2501
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2502
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2503
-    public void setPreferredPayloadType(PayloadType preferredPayloadType) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2504
-        this.preferredPayloadType = preferredPayloadType;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2505
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2506
-    
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2507
-    public  String getName() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2508
-        return MEDIA_NAME;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2509
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2510
-}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2511
Index: org/jivesoftware/smackx/jingle/mediaimpl/jmf/AudioMediaSession.java
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2512
===================================================================
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2513
--- org/jivesoftware/smackx/jingle/mediaimpl/jmf/AudioMediaSession.java	(revision 11644)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2514
+++ org/jivesoftware/smackx/jingle/mediaimpl/jmf/AudioMediaSession.java	(working copy)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2515
@@ -1,165 +0,0 @@
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2516
-/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2517
- * $RCSfile: AudioMediaSession.java,v $
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2518
- * $Revision: 1.1 $
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2519
- * $Date: 08/11/2006
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2520
- * <p/>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2521
- * Copyright 2003-2006 Jive Software.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2522
- * <p/>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2523
- * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2524
- * you may not use this file except in compliance with the License.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2525
- * You may obtain a copy of the License at
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2526
- * <p/>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2527
- * http://www.apache.org/licenses/LICENSE-2.0
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2528
- * <p/>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2529
- * Unless required by applicable law or agreed to in writing, software
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2530
- * distributed under the License is distributed on an "AS IS" BASIS,
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2531
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2532
- * See the License for the specific language governing permissions and
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2533
- * limitations under the License.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2534
- */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2535
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2536
-package org.jivesoftware.smackx.jingle.mediaimpl.jmf;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2537
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2538
-import java.io.IOException;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2539
-import java.net.ServerSocket;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2540
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2541
-import javax.media.MediaLocator;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2542
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2543
-import org.jivesoftware.smackx.jingle.JingleSession;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2544
-import org.jivesoftware.smackx.jingle.SmackLogger;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2545
-import org.jivesoftware.smackx.jingle.media.JingleMediaSession;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2546
-import org.jivesoftware.smackx.jingle.media.PayloadType;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2547
-import org.jivesoftware.smackx.jingle.nat.TransportCandidate;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2548
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2549
-/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2550
- * This Class implements a complete JingleMediaSession.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2551
- * It sould be used to transmit and receive audio captured from the Mic.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2552
- * This Class should be automaticly controlled by JingleSession.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2553
- * But you could also use in any VOIP application.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2554
- * For better NAT Traversal support this implementation don't support only receive or only transmit.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2555
- * To receive you MUST transmit. So the only implemented and functionally methods are startTransmit() and stopTransmit()
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2556
- *
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2557
- * @author Thiago Camargo
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2558
- */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2559
-public class AudioMediaSession extends JingleMediaSession {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2560
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2561
-	private static final SmackLogger LOGGER = SmackLogger.getLogger(AudioMediaSession.class);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2562
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2563
-	private AudioChannel audioChannel;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2564
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2565
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2566
-     * Creates a org.jivesoftware.jingleaudio.jmf.AudioMediaSession with defined payload type, remote and local candidates
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2567
-     *
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2568
-     * @param payloadType Payload of the jmf
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2569
-     * @param remote      the remote information. The candidate that the jmf will be sent to.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2570
-     * @param local       the local information. The candidate that will receive the jmf
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2571
-     * @param locator     media locator
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2572
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2573
-    public AudioMediaSession(final PayloadType payloadType, final TransportCandidate remote,
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2574
-            final TransportCandidate local, String locator, JingleSession jingleSession) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2575
-        super(payloadType, remote, local, locator==null?"dsound://":locator,jingleSession);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2576
-        initialize();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2577
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2578
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2579
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2580
-     * Initialize the Audio Channel to make it able to send and receive audio
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2581
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2582
-    public void initialize() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2583
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2584
-        String ip;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2585
-        String localIp;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2586
-        int localPort;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2587
-        int remotePort;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2588
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2589
-        if (this.getLocal().getSymmetric() != null) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2590
-            ip = this.getLocal().getIp();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2591
-            localIp = this.getLocal().getLocalIp();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2592
-            localPort = getFreePort();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2593
-            remotePort = this.getLocal().getSymmetric().getPort();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2594
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2595
-            LOGGER.debug(this.getLocal().getConnection() + " " + ip + ": " + localPort + "->" + remotePort);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2596
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2597
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2598
-        else {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2599
-            ip = this.getRemote().getIp();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2600
-            localIp = this.getLocal().getLocalIp();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2601
-            localPort = this.getLocal().getPort();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2602
-            remotePort = this.getRemote().getPort();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2603
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2604
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2605
-        audioChannel = new AudioChannel(new MediaLocator(this.getMediaLocator()), localIp, ip, localPort, remotePort, AudioFormatUtils.getAudioFormat(this.getPayloadType()),this);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2606
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2607
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2608
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2609
-     * Starts transmission and for NAT Traversal reasons start receiving also.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2610
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2611
-    public void startTrasmit() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2612
-        audioChannel.start();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2613
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2614
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2615
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2616
-     * Set transmit activity. If the active is true, the instance should trasmit.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2617
-     * If it is set to false, the instance should pause transmit.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2618
-     *
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2619
-     * @param active active state
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2620
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2621
-    public void setTrasmit(boolean active) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2622
-        audioChannel.setTrasmit(active);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2623
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2624
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2625
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2626
-     * For NAT Reasons this method does nothing. Use startTransmit() to start transmit and receive jmf
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2627
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2628
-    public void startReceive() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2629
-        // Do nothing
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2630
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2631
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2632
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2633
-     * Stops transmission and for NAT Traversal reasons stop receiving also.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2634
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2635
-    public void stopTrasmit() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2636
-        if (audioChannel != null)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2637
-            audioChannel.stop();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2638
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2639
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2640
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2641
-     * For NAT Reasons this method does nothing. Use startTransmit() to start transmit and receive jmf
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2642
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2643
-    public void stopReceive() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2644
-        // Do nothing
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2645
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2646
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2647
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2648
-     * Obtain a free port we can use.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2649
-     *
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2650
-     * @return A free port number.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2651
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2652
-    protected int getFreePort() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2653
-        ServerSocket ss;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2654
-        int freePort = 0;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2655
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2656
-        for (int i = 0; i < 10; i++) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2657
-            freePort = (int) (10000 + Math.round(Math.random() * 10000));
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2658
-            freePort = freePort % 2 == 0 ? freePort : freePort + 1;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2659
-            try {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2660
-                ss = new ServerSocket(freePort);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2661
-                freePort = ss.getLocalPort();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2662
-                ss.close();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2663
-                return freePort;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2664
-            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2665
-            catch (IOException e) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2666
-                e.printStackTrace();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2667
-            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2668
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2669
-        try {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2670
-            ss = new ServerSocket(0);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2671
-            freePort = ss.getLocalPort();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2672
-            ss.close();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2673
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2674
-        catch (IOException e) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2675
-            e.printStackTrace();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2676
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2677
-        return freePort;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2678
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2679
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2680
-}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2681
Index: org/jivesoftware/smackx/jingle/mediaimpl/jmf/AudioReceiver.java
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2682
===================================================================
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2683
--- org/jivesoftware/smackx/jingle/mediaimpl/jmf/AudioReceiver.java	(revision 11644)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2684
+++ org/jivesoftware/smackx/jingle/mediaimpl/jmf/AudioReceiver.java	(working copy)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2685
@@ -1,171 +0,0 @@
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2686
-/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2687
- * $RCSfile: AudioReceiver.java,v $
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2688
- * $Revision: 1.1 $
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2689
- * $Date: 08/11/2006
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2690
- * <p/>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2691
- * Copyright 2003-2006 Jive Software.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2692
- * <p/>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2693
- * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2694
- * you may not use this file except in compliance with the License.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2695
- * You may obtain a copy of the License at
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2696
- * <p/>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2697
- * http://www.apache.org/licenses/LICENSE-2.0
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2698
- * <p/>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2699
- * Unless required by applicable law or agreed to in writing, software
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2700
- * distributed under the License is distributed on an "AS IS" BASIS,
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2701
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2702
- * See the License for the specific language governing permissions and
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2703
- * limitations under the License.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2704
- */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2705
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2706
-package org.jivesoftware.smackx.jingle.mediaimpl.jmf;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2707
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2708
-import javax.media.ControllerErrorEvent;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2709
-import javax.media.ControllerEvent;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2710
-import javax.media.ControllerListener;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2711
-import javax.media.Player;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2712
-import javax.media.RealizeCompleteEvent;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2713
-import javax.media.protocol.DataSource;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2714
-import javax.media.rtp.Participant;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2715
-import javax.media.rtp.RTPControl;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2716
-import javax.media.rtp.ReceiveStream;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2717
-import javax.media.rtp.ReceiveStreamListener;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2718
-import javax.media.rtp.SessionListener;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2719
-import javax.media.rtp.event.ByeEvent;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2720
-import javax.media.rtp.event.NewParticipantEvent;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2721
-import javax.media.rtp.event.NewReceiveStreamEvent;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2722
-import javax.media.rtp.event.ReceiveStreamEvent;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2723
-import javax.media.rtp.event.RemotePayloadChangeEvent;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2724
-import javax.media.rtp.event.SessionEvent;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2725
-import javax.media.rtp.event.StreamMappedEvent;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2726
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2727
-import org.jivesoftware.smackx.jingle.SmackLogger;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2728
-import org.jivesoftware.smackx.jingle.media.JingleMediaSession;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2729
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2730
-/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2731
- * This class implements receive methods and listeners to be used in AudioChannel
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2732
- *
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2733
- * @author Thiago Camargo
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2734
- */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2735
-public class AudioReceiver implements ReceiveStreamListener, SessionListener,
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2736
-        ControllerListener {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2737
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2738
-	private static final SmackLogger LOGGER = SmackLogger.getLogger(AudioReceiver.class);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2739
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2740
-	boolean dataReceived = false;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2741
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2742
-    Object dataSync;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2743
-    JingleMediaSession jingleMediaSession;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2744
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2745
-    public AudioReceiver(final Object dataSync, final JingleMediaSession jingleMediaSession) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2746
-        this.dataSync = dataSync;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2747
-        this.jingleMediaSession = jingleMediaSession;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2748
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2749
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2750
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2751
-     * JingleSessionListener.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2752
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2753
-    public synchronized void update(SessionEvent evt) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2754
-        if (evt instanceof NewParticipantEvent) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2755
-            Participant p = ((NewParticipantEvent) evt).getParticipant();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2756
-            LOGGER.error("  - A new participant had just joined: " + p.getCNAME());
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2757
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2758
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2759
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2760
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2761
-     * ReceiveStreamListener
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2762
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2763
-    public synchronized void update(ReceiveStreamEvent evt) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2764
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2765
-        Participant participant = evt.getParticipant();    // could be null.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2766
-        ReceiveStream stream = evt.getReceiveStream();  // could be null.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2767
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2768
-        if (evt instanceof RemotePayloadChangeEvent) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2769
-            LOGGER.error("  - Received an RTP PayloadChangeEvent.");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2770
-            LOGGER.error("Sorry, cannot handle payload change.");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2771
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2772
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2773
-        else if (evt instanceof NewReceiveStreamEvent) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2774
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2775
-            try {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2776
-                stream = evt.getReceiveStream();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2777
-                DataSource ds = stream.getDataSource();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2778
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2779
-                // Find out the formats.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2780
-                RTPControl ctl = (RTPControl) ds.getControl("javax.jmf.rtp.RTPControl");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2781
-                if (ctl != null) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2782
-                    LOGGER.error("  - Recevied new RTP stream: " + ctl.getFormat());
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2783
-                }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2784
-                else
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2785
-                    LOGGER.error("  - Recevied new RTP stream");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2786
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2787
-                if (participant == null)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2788
-                    LOGGER.error("      The sender of this stream had yet to be identified.");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2789
-                else {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2790
-                    LOGGER.error("      The stream comes from: " + participant.getCNAME());
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2791
-                }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2792
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2793
-                // create a player by passing datasource to the Media Manager
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2794
-                Player p = javax.media.Manager.createPlayer(ds);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2795
-                if (p == null)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2796
-                    return;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2797
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2798
-                p.addControllerListener(this);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2799
-                p.realize();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2800
-                jingleMediaSession.mediaReceived(participant != null ? participant.getCNAME() : "");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2801
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2802
-                // Notify intialize() that a new stream had arrived.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2803
-                synchronized (dataSync) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2804
-                    dataReceived = true;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2805
-                    dataSync.notifyAll();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2806
-                }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2807
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2808
-            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2809
-            catch (Exception e) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2810
-                LOGGER.error("NewReceiveStreamEvent exception " + e.getMessage());
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2811
-                return;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2812
-            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2813
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2814
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2815
-        else if (evt instanceof StreamMappedEvent) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2816
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2817
-            if (stream != null && stream.getDataSource() != null) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2818
-                DataSource ds = stream.getDataSource();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2819
-                // Find out the formats.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2820
-                RTPControl ctl = (RTPControl) ds.getControl("javax.jmf.rtp.RTPControl");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2821
-                LOGGER.error("  - The previously unidentified stream ");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2822
-                if (ctl != null)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2823
-                    LOGGER.error("      " + ctl.getFormat());
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2824
-                LOGGER.error("      had now been identified as sent by: " + participant.getCNAME());
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2825
-            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2826
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2827
-        else if (evt instanceof ByeEvent) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2828
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2829
-            LOGGER.error("  - Got \"bye\" from: " + participant.getCNAME());
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2830
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2831
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2832
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2833
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2834
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2835
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2836
-     * ControllerListener for the Players.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2837
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2838
-    public synchronized void controllerUpdate(ControllerEvent ce) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2839
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2840
-        Player p = (Player) ce.getSourceController();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2841
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2842
-        if (p == null)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2843
-            return;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2844
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2845
-        // Get this when the internal players are realized.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2846
-        if (ce instanceof RealizeCompleteEvent) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2847
-            p.start();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2848
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2849
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2850
-        if (ce instanceof ControllerErrorEvent) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2851
-            p.removeControllerListener(this);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2852
-            LOGGER.error("Receiver internal error: " + ce);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2853
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2854
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2855
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2856
-}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2857
Index: org/jivesoftware/smackx/jingle/mediaimpl/jmf/JmfMediaManager.java
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2858
===================================================================
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2859
--- org/jivesoftware/smackx/jingle/mediaimpl/jmf/JmfMediaManager.java	(revision 11644)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2860
+++ org/jivesoftware/smackx/jingle/mediaimpl/jmf/JmfMediaManager.java	(working copy)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2861
@@ -1,170 +0,0 @@
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2862
-/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2863
- * $RCSfile: JmfMediaManager.java,v $
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2864
- * $Revision: 1.3 $
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2865
- * $Date: 08/11/2006
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2866
- * <p/>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2867
- * Copyright 2003-2006 Jive Software.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2868
- * <p/>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2869
- * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2870
- * you may not use this file except in compliance with the License.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2871
- * You may obtain a copy of the License at
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2872
- * <p/>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2873
- * http://www.apache.org/licenses/LICENSE-2.0
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2874
- * <p/>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2875
- * Unless required by applicable law or agreed to in writing, software
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2876
- * distributed under the License is distributed on an "AS IS" BASIS,
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2877
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2878
- * See the License for the specific language governing permissions and
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2879
- * limitations under the License.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2880
- */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2881
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2882
-package org.jivesoftware.smackx.jingle.mediaimpl.jmf;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2883
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2884
-import java.io.File;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2885
-import java.io.IOException;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2886
-import java.util.ArrayList;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2887
-import java.util.List;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2888
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2889
-import org.jivesoftware.smackx.jingle.JingleSession;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2890
-import org.jivesoftware.smackx.jingle.SmackLogger;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2891
-import org.jivesoftware.smackx.jingle.media.JingleMediaManager;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2892
-import org.jivesoftware.smackx.jingle.media.JingleMediaSession;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2893
-import org.jivesoftware.smackx.jingle.media.PayloadType;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2894
-import org.jivesoftware.smackx.jingle.mediaimpl.JMFInit;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2895
-import org.jivesoftware.smackx.jingle.nat.JingleTransportManager;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2896
-import org.jivesoftware.smackx.jingle.nat.TransportCandidate;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2897
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2898
-/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2899
- * Implements a jingleMediaManager using JMF based API.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2900
- * It supports GSM and G723 codecs.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2901
- * <i>This API only currently works on windows and Mac.</i>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2902
- *
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2903
- * @author Thiago Camargo
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2904
- */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2905
-public class JmfMediaManager extends JingleMediaManager {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2906
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2907
-	private static final SmackLogger LOGGER = SmackLogger.getLogger(JmfMediaManager.class);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2908
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2909
-	public static final String MEDIA_NAME = "JMF";
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2910
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2911
-    
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2912
-    private List<PayloadType> payloads = new ArrayList<PayloadType>();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2913
-    private String mediaLocator = null;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2914
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2915
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2916
-     * Creates a Media Manager instance
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2917
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2918
-    public JmfMediaManager(JingleTransportManager transportManager) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2919
-        super(transportManager);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2920
-        setupPayloads();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2921
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2922
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2923
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2924
-     * Creates a Media Manager instance
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2925
-     *
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2926
-     * @param mediaLocator Media Locator
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2927
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2928
-    public JmfMediaManager(String mediaLocator, JingleTransportManager transportManager) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2929
-        super(transportManager);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2930
-        this.mediaLocator = mediaLocator;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2931
-        setupPayloads();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2932
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2933
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2934
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2935
-     * Returns a new jingleMediaSession
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2936
-     *
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2937
-     * @param payloadType payloadType
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2938
-     * @param remote      remote Candidate
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2939
-     * @param local       local Candidate
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2940
-     * @return JingleMediaSession
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2941
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2942
-    public JingleMediaSession createMediaSession(final PayloadType payloadType, final TransportCandidate remote, final TransportCandidate local, final JingleSession jingleSession) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2943
-        return new AudioMediaSession(payloadType, remote, local, mediaLocator, jingleSession);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2944
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2945
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2946
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2947
-     * Setup API supported Payloads
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2948
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2949
-    private void setupPayloads() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2950
-        payloads.add(new PayloadType.Audio(3, "gsm"));
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2951
-        payloads.add(new PayloadType.Audio(4, "g723"));
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2952
-        payloads.add(new PayloadType.Audio(0, "PCMU", 16000));
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2953
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2954
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2955
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2956
-     * Return all supported Payloads for this Manager
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2957
-     *
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2958
-     * @return The Payload List
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2959
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2960
-    public List<PayloadType> getPayloads() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2961
-        return payloads;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2962
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2963
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2964
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2965
-     * Return the media locator or null if not defined
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2966
-     *
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2967
-     * @return media locator
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2968
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2969
-    public String getMediaLocator() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2970
-        return mediaLocator;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2971
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2972
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2973
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2974
-     * Set the media locator
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2975
-     *
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2976
-     * @param mediaLocator media locator or null to use default
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2977
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2978
-    public void setMediaLocator(String mediaLocator) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2979
-        this.mediaLocator = mediaLocator;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2980
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2981
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2982
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2983
-     * Runs JMFInit the first time the application is started so that capture
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2984
-     * devices are properly detected and initialized by JMF.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2985
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2986
-    public static void setupJMF() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2987
-        // .jmf is the place where we store the jmf.properties file used
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2988
-        // by JMF. if the directory does not exist or it does not contain
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2989
-        // a jmf.properties file. or if the jmf.properties file has 0 length
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2990
-        // then this is the first time we're running and should continue to
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2991
-        // with JMFInit
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2992
-        String homeDir = System.getProperty("user.home");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2993
-        File jmfDir = new File(homeDir, ".jmf");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2994
-        String classpath = System.getProperty("java.class.path");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2995
-        classpath += System.getProperty("path.separator")
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2996
-                + jmfDir.getAbsolutePath();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2997
-        System.setProperty("java.class.path", classpath);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2998
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  2999
-        if (!jmfDir.exists())
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3000
-            jmfDir.mkdir();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3001
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3002
-        File jmfProperties = new File(jmfDir, "jmf.properties");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3003
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3004
-        if (!jmfProperties.exists()) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3005
-            try {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3006
-                jmfProperties.createNewFile();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3007
-            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3008
-            catch (IOException ex) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3009
-                LOGGER.debug("Failed to create jmf.properties");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3010
-                ex.printStackTrace();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3011
-            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3012
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3013
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3014
-        // if we're running on linux checkout that libjmutil.so is where it
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3015
-        // should be and put it there.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3016
-        runLinuxPreInstall();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3017
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3018
-        //if (jmfProperties.length() == 0) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3019
-        new JMFInit(null, false);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3020
-        //}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3021
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3022
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3023
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3024
-    private static void runLinuxPreInstall() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3025
-        // @TODO Implement Linux Pre-Install
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3026
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3027
-    
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3028
-    public  String getName() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3029
-        return MEDIA_NAME;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3030
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3031
-}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3032
Index: org/jivesoftware/smackx/jingle/mediaimpl/jmf/AudioChannel.java
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3033
===================================================================
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3034
--- org/jivesoftware/smackx/jingle/mediaimpl/jmf/AudioChannel.java	(revision 11644)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3035
+++ org/jivesoftware/smackx/jingle/mediaimpl/jmf/AudioChannel.java	(working copy)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3036
@@ -1,553 +0,0 @@
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3037
-/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3038
- * $RCSfile: AudioChannel.java,v $
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3039
- * $Revision: 1.1 $
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3040
- * $Date: 08/11/2006
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3041
- * <p/>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3042
- * Copyright 2003-2006 Jive Software.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3043
- * <p/>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3044
- * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3045
- * you may not use this file except in compliance with the License.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3046
- * You may obtain a copy of the License at
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3047
- * <p/>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3048
- * http://www.apache.org/licenses/LICENSE-2.0
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3049
- * <p/>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3050
- * Unless required by applicable law or agreed to in writing, software
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3051
- * distributed under the License is distributed on an "AS IS" BASIS,
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3052
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3053
- * See the License for the specific language governing permissions and
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3054
- * limitations under the License.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3055
- */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3056
-package org.jivesoftware.smackx.jingle.mediaimpl.jmf;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3057
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3058
-import java.io.IOException;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3059
-import java.net.InetAddress;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3060
-import java.net.UnknownHostException;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3061
-import java.util.ArrayList;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3062
-import java.util.List;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3063
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3064
-import javax.media.Codec;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3065
-import javax.media.Controller;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3066
-import javax.media.ControllerClosedEvent;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3067
-import javax.media.ControllerEvent;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3068
-import javax.media.ControllerListener;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3069
-import javax.media.Format;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3070
-import javax.media.MediaLocator;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3071
-import javax.media.NoProcessorException;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3072
-import javax.media.Processor;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3073
-import javax.media.UnsupportedPlugInException;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3074
-import javax.media.control.BufferControl;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3075
-import javax.media.control.PacketSizeControl;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3076
-import javax.media.control.TrackControl;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3077
-import javax.media.format.AudioFormat;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3078
-import javax.media.protocol.ContentDescriptor;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3079
-import javax.media.protocol.DataSource;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3080
-import javax.media.protocol.PushBufferDataSource;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3081
-import javax.media.protocol.PushBufferStream;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3082
-import javax.media.rtp.InvalidSessionAddressException;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3083
-import javax.media.rtp.RTPManager;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3084
-import javax.media.rtp.SendStream;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3085
-import javax.media.rtp.SessionAddress;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3086
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3087
-import org.jivesoftware.smackx.jingle.SmackLogger;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3088
-import org.jivesoftware.smackx.jingle.media.JingleMediaSession;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3089
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3090
-/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3091
- * An Easy to use Audio Channel implemented using JMF.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3092
- * It sends and receives jmf for and from desired IPs and ports.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3093
- * Also has a rport Symetric behavior for better NAT Traversal.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3094
- * It send data from a defined port and receive data in the same port, making NAT binds easier.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3095
- * <p/>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3096
- * Send from portA to portB and receive from portB in portA.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3097
- * <p/>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3098
- * Sending
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3099
- * portA ---> portB
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3100
- * <p/>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3101
- * Receiving
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3102
- * portB ---> portA
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3103
- * <p/>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3104
- * <i>Transmit and Receive are interdependents. To receive you MUST trasmit. </i>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3105
- *
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3106
- * @author Thiago Camargo
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3107
- */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3108
-public class AudioChannel {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3109
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3110
-	private static final SmackLogger LOGGER = SmackLogger.getLogger(AudioChannel.class);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3111
-	
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3112
-	private MediaLocator locator;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3113
-    private String localIpAddress;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3114
-    private String remoteIpAddress;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3115
-    private int localPort;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3116
-    private int portBase;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3117
-    private Format format;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3118
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3119
-    private Processor processor = null;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3120
-    private RTPManager rtpMgrs[];
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3121
-    private DataSource dataOutput = null;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3122
-    private AudioReceiver audioReceiver;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3123
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3124
-    private List<SendStream> sendStreams = new ArrayList<SendStream>();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3125
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3126
-    private JingleMediaSession jingleMediaSession;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3127
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3128
-    private boolean started = false;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3129
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3130
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3131
-     * Creates an Audio Channel for a desired jmf locator. For instance: new MediaLocator("dsound://")
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3132
-     *
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3133
-     * @param locator         media locator
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3134
-     * @param localIpAddress  local IP address
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3135
-     * @param remoteIpAddress remote IP address
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3136
-     * @param localPort       local port number
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3137
-     * @param remotePort      remote port number
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3138
-     * @param format          audio format
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3139
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3140
-    public AudioChannel(MediaLocator locator,
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3141
-            String localIpAddress,
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3142
-            String remoteIpAddress,
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3143
-            int localPort,
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3144
-            int remotePort,
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3145
-            Format format, JingleMediaSession jingleMediaSession) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3146
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3147
-        this.locator = locator;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3148
-        this.localIpAddress = localIpAddress;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3149
-        this.remoteIpAddress = remoteIpAddress;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3150
-        this.localPort = localPort;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3151
-        this.portBase = remotePort;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3152
-        this.format = format;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3153
-        this.jingleMediaSession = jingleMediaSession;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3154
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3155
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3156
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3157
-     * Starts the transmission. Returns null if transmission started ok.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3158
-     * Otherwise it returns a string with the reason why the setup failed.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3159
-     * Starts receive also.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3160
-     *
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3161
-     * @return result description
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3162
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3163
-    public synchronized String start() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3164
-        if (started) return null;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3165
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3166
-        // Create a processor for the specified jmf locator
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3167
-        String result = createProcessor();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3168
-        if (result != null) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3169
-            started = false;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3170
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3171
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3172
-        // Create an RTP session to transmit the output of the
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3173
-        // processor to the specified IP address and port no.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3174
-        result = createTransmitter();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3175
-        if (result != null) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3176
-            processor.close();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3177
-            processor = null;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3178
-            started = false;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3179
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3180
-        else {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3181
-            started = true;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3182
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3183
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3184
-        // Start the transmission
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3185
-        processor.start();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3186
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3187
-        return null;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3188
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3189
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3190
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3191
-     * Stops the transmission if already started.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3192
-     * Stops the receiver also.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3193
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3194
-    public void stop() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3195
-        if (!started) return;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3196
-        synchronized (this) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3197
-            try {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3198
-                started = false;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3199
-                if (processor != null) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3200
-                    processor.stop();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3201
-                    processor = null;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3202
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3203
-                    for (RTPManager rtpMgr : rtpMgrs) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3204
-                        rtpMgr.removeReceiveStreamListener(audioReceiver);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3205
-                        rtpMgr.removeSessionListener(audioReceiver);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3206
-                        rtpMgr.removeTargets("Session ended.");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3207
-                        rtpMgr.dispose();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3208
-                    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3209
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3210
-                    sendStreams.clear();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3211
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3212
-                }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3213
-            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3214
-            catch (Exception e) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3215
-                e.printStackTrace();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3216
-            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3217
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3218
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3219
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3220
-    private String createProcessor() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3221
-        if (locator == null)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3222
-            return "Locator is null";
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3223
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3224
-        DataSource ds;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3225
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3226
-        try {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3227
-            ds = javax.media.Manager.createDataSource(locator);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3228
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3229
-        catch (Exception e) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3230
-            // Try JavaSound Locator as a last resort
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3231
-            try {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3232
-                ds = javax.media.Manager.createDataSource(new MediaLocator("javasound://"));
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3233
-            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3234
-            catch (Exception ee) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3235
-                return "Couldn't create DataSource";
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3236
-            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3237
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3238
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3239
-        // Try to create a processor to handle the input jmf locator
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3240
-        try {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3241
-            processor = javax.media.Manager.createProcessor(ds);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3242
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3243
-        catch (NoProcessorException npe) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3244
-            npe.printStackTrace();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3245
-            return "Couldn't create processor";
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3246
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3247
-        catch (IOException ioe) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3248
-            ioe.printStackTrace();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3249
-            return "IOException creating processor";
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3250
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3251
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3252
-        // Wait for it to configure
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3253
-        boolean result = waitForState(processor, Processor.Configured);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3254
-        if (!result){
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3255
-            return "Couldn't configure processor";
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3256
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3257
-        
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3258
-        // Get the tracks from the processor
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3259
-        TrackControl[] tracks = processor.getTrackControls();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3260
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3261
-        // Do we have atleast one track?
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3262
-        if (tracks == null || tracks.length < 1){
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3263
-            return "Couldn't find tracks in processor";
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3264
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3265
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3266
-        // Set the output content descriptor to RAW_RTP
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3267
-        // This will limit the supported formats reported from
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3268
-        // Track.getSupportedFormats to only valid RTP formats.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3269
-        ContentDescriptor cd = new ContentDescriptor(ContentDescriptor.RAW_RTP);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3270
-        processor.setContentDescriptor(cd);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3271
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3272
-        Format supported[];
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3273
-        Format chosen = null;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3274
-        boolean atLeastOneTrack = false;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3275
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3276
-        // Program the tracks.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3277
-        for (int i = 0; i < tracks.length; i++) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3278
-            if (tracks[i].isEnabled()) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3279
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3280
-                supported = tracks[i].getSupportedFormats();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3281
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3282
-                if (supported.length > 0) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3283
-                    for (Format format : supported) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3284
-                        if (format instanceof AudioFormat) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3285
-                            if (this.format.matches(format))
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3286
-                                chosen = format;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3287
-                        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3288
-                    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3289
-                    if (chosen != null) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3290
-                        tracks[i].setFormat(chosen);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3291
-                        LOGGER.error("Track " + i + " is set to transmit as:");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3292
-                        LOGGER.error("  " + chosen);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3293
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3294
-                        if (tracks[i].getFormat() instanceof AudioFormat) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3295
-                            int packetRate = 20;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3296
-                            PacketSizeControl pktCtrl = (PacketSizeControl) processor.getControl(PacketSizeControl.class.getName());
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3297
-                            if (pktCtrl != null) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3298
-                                try {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3299
-                                    pktCtrl.setPacketSize(getPacketSize(tracks[i].getFormat(), packetRate));
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3300
-                                }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3301
-                                catch (IllegalArgumentException e) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3302
-                                    pktCtrl.setPacketSize(80);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3303
-                                    // Do nothing
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3304
-                                }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3305
-                            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3306
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3307
-                            if (tracks[i].getFormat().getEncoding().equals(AudioFormat.ULAW_RTP)) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3308
-                                Codec codec[] = new Codec[3];
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3309
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3310
-                                codec[0] = new com.ibm.media.codec.audio.rc.RCModule();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3311
-                                codec[1] = new com.ibm.media.codec.audio.ulaw.JavaEncoder();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3312
-                                codec[2] = new com.sun.media.codec.audio.ulaw.Packetizer();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3313
-                                ((com.sun.media.codec.audio.ulaw.Packetizer) codec
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3314
-                                        [2]).setPacketSize(160);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3315
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3316
-                                try {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3317
-                                    tracks[i].setCodecChain(codec);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3318
-                                }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3319
-                                catch (UnsupportedPlugInException e) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3320
-                                    e.printStackTrace();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3321
-                                }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3322
-                            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3323
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3324
-                        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3325
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3326
-                        atLeastOneTrack = true;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3327
-                    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3328
-                    else
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3329
-                        tracks[i].setEnabled(false);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3330
-                }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3331
-                else
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3332
-                    tracks[i].setEnabled(false);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3333
-            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3334
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3335
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3336
-        if (!atLeastOneTrack)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3337
-            return "Couldn't set any of the tracks to a valid RTP format";
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3338
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3339
-        result = waitForState(processor, Controller.Realized);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3340
-        if (!result)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3341
-            return "Couldn't realize processor";
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3342
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3343
-        // Get the output data source of the processor
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3344
-        dataOutput = processor.getDataOutput();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3345
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3346
-        return null;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3347
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3348
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3349
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3350
-     * Get the best packet size for a given codec and a codec rate
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3351
-     *
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3352
-     * @param codecFormat
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3353
-     * @param milliseconds
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3354
-     * @return
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3355
-     * @throws IllegalArgumentException
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3356
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3357
-    private int getPacketSize(Format codecFormat, int milliseconds) throws IllegalArgumentException {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3358
-        String encoding = codecFormat.getEncoding();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3359
-        if (encoding.equalsIgnoreCase(AudioFormat.GSM) ||
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3360
-                encoding.equalsIgnoreCase(AudioFormat.GSM_RTP)) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3361
-            return milliseconds * 4; // 1 byte per millisec
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3362
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3363
-        else if (encoding.equalsIgnoreCase(AudioFormat.ULAW) ||
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3364
-                encoding.equalsIgnoreCase(AudioFormat.ULAW_RTP)) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3365
-            return milliseconds * 8;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3366
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3367
-        else {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3368
-            throw new IllegalArgumentException("Unknown codec type");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3369
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3370
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3371
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3372
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3373
-     * Use the RTPManager API to create sessions for each jmf
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3374
-     * track of the processor.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3375
-     *
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3376
-     * @return description
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3377
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3378
-    private String createTransmitter() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3379
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3380
-        // Cheated.  Should have checked the type.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3381
-        PushBufferDataSource pbds = (PushBufferDataSource) dataOutput;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3382
-        PushBufferStream pbss[] = pbds.getStreams();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3383
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3384
-        rtpMgrs = new RTPManager[pbss.length];
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3385
-        SessionAddress localAddr, destAddr;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3386
-        InetAddress ipAddr;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3387
-        SendStream sendStream;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3388
-        audioReceiver = new AudioReceiver(this, jingleMediaSession);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3389
-        int port;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3390
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3391
-        for (int i = 0; i < pbss.length; i++) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3392
-            try {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3393
-                rtpMgrs[i] = RTPManager.newInstance();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3394
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3395
-                port = portBase + 2 * i;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3396
-                ipAddr = InetAddress.getByName(remoteIpAddress);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3397
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3398
-                localAddr = new SessionAddress(InetAddress.getByName(this.localIpAddress),
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3399
-                        localPort);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3400
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3401
-                destAddr = new SessionAddress(ipAddr, port);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3402
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3403
-                rtpMgrs[i].addReceiveStreamListener(audioReceiver);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3404
-                rtpMgrs[i].addSessionListener(audioReceiver);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3405
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3406
-                BufferControl bc = (BufferControl) rtpMgrs[i].getControl("javax.media.control.BufferControl");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3407
-                if (bc != null) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3408
-                    int bl = 160;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3409
-                    bc.setBufferLength(bl);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3410
-                }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3411
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3412
-                try {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3413
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3414
-                    rtpMgrs[i].initialize(localAddr);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3415
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3416
-                }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3417
-                catch (InvalidSessionAddressException e) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3418
-                    // In case the local address is not allowed to read, we user another local address
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3419
-                    SessionAddress sessAddr = new SessionAddress();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3420
-                    localAddr = new SessionAddress(sessAddr.getDataAddress(),
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3421
-                            localPort);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3422
-                    rtpMgrs[i].initialize(localAddr);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3423
-                }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3424
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3425
-                rtpMgrs[i].addTarget(destAddr);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3426
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3427
-                LOGGER.error("Created RTP session at " + localPort + " to: " + remoteIpAddress + " " + port);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3428
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3429
-                sendStream = rtpMgrs[i].createSendStream(dataOutput, i);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3430
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3431
-                sendStreams.add(sendStream);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3432
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3433
-                sendStream.start();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3434
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3435
-            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3436
-            catch (Exception e) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3437
-                e.printStackTrace();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3438
-                return e.getMessage();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3439
-            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3440
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3441
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3442
-        return null;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3443
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3444
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3445
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3446
-     * Set transmit activity. If the active is true, the instance should trasmit.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3447
-     * If it is set to false, the instance should pause transmit.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3448
-     *
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3449
-     * @param active active state
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3450
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3451
-    public void setTrasmit(boolean active) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3452
-        for (SendStream sendStream : sendStreams) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3453
-            try {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3454
-                if (active) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3455
-                    sendStream.start();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3456
-                    LOGGER.debug("START");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3457
-                }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3458
-                else {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3459
-                    sendStream.stop();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3460
-                    LOGGER.debug("STOP");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3461
-                }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3462
-            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3463
-            catch (IOException e) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3464
-                e.printStackTrace();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3465
-            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3466
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3467
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3468
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3469
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3470
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3471
-     * *************************************************************
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3472
-     * Convenience methods to handle processor's state changes.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3473
-     * **************************************************************
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3474
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3475
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3476
-    private Integer stateLock = 0;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3477
-    private boolean failed = false;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3478
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3479
-    Integer getStateLock() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3480
-        return stateLock;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3481
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3482
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3483
-    void setFailed() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3484
-        failed = true;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3485
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3486
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3487
-    private synchronized boolean waitForState(Processor p, int state) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3488
-        p.addControllerListener(new StateListener());
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3489
-        failed = false;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3490
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3491
-        // Call the required method on the processor
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3492
-        if (state == Processor.Configured) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3493
-            p.configure();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3494
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3495
-        else if (state == Processor.Realized) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3496
-            p.realize();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3497
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3498
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3499
-        // Wait until we get an event that confirms the
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3500
-        // success of the method, or a failure event.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3501
-        // See StateListener inner class
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3502
-        while (p.getState() < state && !failed) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3503
-            synchronized (getStateLock()) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3504
-                try {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3505
-                    getStateLock().wait();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3506
-                }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3507
-                catch (InterruptedException ie) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3508
-                    return false;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3509
-                }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3510
-            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3511
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3512
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3513
-        return !failed;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3514
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3515
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3516
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3517
-     * *************************************************************
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3518
-     * Inner Classes
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3519
-     * **************************************************************
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3520
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3521
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3522
-    class StateListener implements ControllerListener {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3523
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3524
-        public void controllerUpdate(ControllerEvent ce) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3525
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3526
-            // If there was an error during configure or
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3527
-            // realize, the processor will be closed
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3528
-            if (ce instanceof ControllerClosedEvent)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3529
-                setFailed();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3530
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3531
-            // All controller events, send a notification
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3532
-            // to the waiting thread in waitForState method.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3533
-            if (ce != null) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3534
-                synchronized (getStateLock()) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3535
-                    getStateLock().notifyAll();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3536
-                }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3537
-            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3538
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3539
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3540
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3541
-    public static void main(String args[]) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3542
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3543
-        InetAddress localhost;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3544
-        try {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3545
-            localhost = InetAddress.getLocalHost();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3546
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3547
-            AudioChannel audioChannel0 = new AudioChannel(new MediaLocator("javasound://8000"), localhost.getHostAddress(), localhost.getHostAddress(), 7002, 7020, new AudioFormat(AudioFormat.GSM_RTP), null);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3548
-            AudioChannel audioChannel1 = new AudioChannel(new MediaLocator("javasound://8000"), localhost.getHostAddress(), localhost.getHostAddress(), 7020, 7002, new AudioFormat(AudioFormat.GSM_RTP), null);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3549
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3550
-            audioChannel0.start();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3551
-            audioChannel1.start();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3552
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3553
-            try {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3554
-                Thread.sleep(5000);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3555
-            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3556
-            catch (InterruptedException e) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3557
-                e.printStackTrace();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3558
-            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3559
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3560
-            audioChannel0.setTrasmit(false);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3561
-            audioChannel1.setTrasmit(false);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3562
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3563
-            try {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3564
-                Thread.sleep(5000);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3565
-            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3566
-            catch (InterruptedException e) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3567
-                e.printStackTrace();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3568
-            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3569
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3570
-            audioChannel0.setTrasmit(true);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3571
-            audioChannel1.setTrasmit(true);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3572
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3573
-            try {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3574
-                Thread.sleep(5000);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3575
-            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3576
-            catch (InterruptedException e) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3577
-                e.printStackTrace();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3578
-            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3579
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3580
-            audioChannel0.stop();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3581
-            audioChannel1.stop();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3582
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3583
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3584
-        catch (UnknownHostException e) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3585
-            e.printStackTrace();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3586
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3587
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3588
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3589
-}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3590
\ No newline at end of file
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3591
Index: org/jivesoftware/smackx/jingle/mediaimpl/jmf/AudioFormatUtils.java
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3592
===================================================================
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3593
--- org/jivesoftware/smackx/jingle/mediaimpl/jmf/AudioFormatUtils.java	(revision 11644)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3594
+++ org/jivesoftware/smackx/jingle/mediaimpl/jmf/AudioFormatUtils.java	(working copy)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3595
@@ -1,55 +0,0 @@
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3596
-/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3597
- * $RCSfile: AudioFormatUtils.java,v $
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3598
- * $Revision: 1.1 $
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3599
- * $Date: 08/11/2006
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3600
- * <p/>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3601
- * Copyright 2003-2006 Jive Software.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3602
- * <p/>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3603
- * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3604
- * you may not use this file except in compliance with the License.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3605
- * You may obtain a copy of the License at
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3606
- * <p/>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3607
- * http://www.apache.org/licenses/LICENSE-2.0
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3608
- * <p/>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3609
- * Unless required by applicable law or agreed to in writing, software
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3610
- * distributed under the License is distributed on an "AS IS" BASIS,
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3611
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3612
- * See the License for the specific language governing permissions and
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3613
- * limitations under the License.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3614
- */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3615
-package org.jivesoftware.smackx.jingle.mediaimpl.jmf;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3616
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3617
-import org.jivesoftware.smackx.jingle.media.PayloadType;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3618
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3619
-import javax.media.format.AudioFormat;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3620
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3621
-/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3622
- * Audio Format Utils.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3623
- *
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3624
- * @author Thiago Camargo
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3625
- */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3626
-public class AudioFormatUtils {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3627
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3628
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3629
-     * Return a JMF AudioFormat for a given Jingle Payload type.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3630
-     * Return null if the payload is not supported by this jmf API.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3631
-     *
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3632
-     * @param payloadtype payloadtype
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3633
-     * @return correspondent audioType
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3634
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3635
-    public static AudioFormat getAudioFormat(PayloadType payloadtype) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3636
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3637
-        switch (payloadtype.getId()) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3638
-            case 0:
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3639
-                return new AudioFormat(AudioFormat.ULAW_RTP);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3640
-            case 3:
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3641
-                return new AudioFormat(AudioFormat.GSM_RTP);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3642
-            case 4:
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3643
-                return new AudioFormat(AudioFormat.G723_RTP);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3644
-            default:
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3645
-                return null;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3646
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3647
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3648
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3649
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3650
-}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3651
Index: org/jivesoftware/smackx/jingle/mediaimpl/jspeex/SpeexMediaManager.java
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3652
===================================================================
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3653
--- org/jivesoftware/smackx/jingle/mediaimpl/jspeex/SpeexMediaManager.java	(revision 11644)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3654
+++ org/jivesoftware/smackx/jingle/mediaimpl/jspeex/SpeexMediaManager.java	(working copy)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3655
@@ -1,134 +0,0 @@
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3656
-/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3657
- * $RCSfile: SpeexMediaManager.java,v $
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3658
- * $Revision: 1.3 $
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3659
- * $Date: 25/12/2006
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3660
- * <p/>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3661
- * Copyright 2003-2006 Jive Software.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3662
- * <p/>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3663
- * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3664
- * you may not use this file except in compliance with the License.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3665
- * You may obtain a copy of the License at
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3666
- * <p/>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3667
- * http://www.apache.org/licenses/LICENSE-2.0
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3668
- * <p/>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3669
- * Unless required by applicable law or agreed to in writing, software
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3670
- * distributed under the License is distributed on an "AS IS" BASIS,
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3671
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3672
- * See the License for the specific language governing permissions and
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3673
- * limitations under the License.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3674
- */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3675
-package org.jivesoftware.smackx.jingle.mediaimpl.jspeex;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3676
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3677
-import java.io.File;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3678
-import java.io.IOException;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3679
-import java.util.ArrayList;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3680
-import java.util.List;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3681
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3682
-import org.jivesoftware.smackx.jingle.JingleSession;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3683
-import org.jivesoftware.smackx.jingle.SmackLogger;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3684
-import org.jivesoftware.smackx.jingle.media.JingleMediaManager;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3685
-import org.jivesoftware.smackx.jingle.media.JingleMediaSession;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3686
-import org.jivesoftware.smackx.jingle.media.PayloadType;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3687
-import org.jivesoftware.smackx.jingle.mediaimpl.JMFInit;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3688
-import org.jivesoftware.smackx.jingle.nat.JingleTransportManager;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3689
-import org.jivesoftware.smackx.jingle.nat.TransportCandidate;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3690
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3691
-/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3692
- * Implements a jingleMediaManager using JMF based API and JSpeex.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3693
- * It supports Speex codec.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3694
- * <i>This API only currently works on windows.</i>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3695
- *
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3696
- * @author Thiago Camargo
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3697
- */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3698
-public class SpeexMediaManager extends JingleMediaManager {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3699
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3700
-	private static final SmackLogger LOGGER = SmackLogger.getLogger(SpeexMediaManager.class);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3701
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3702
-	public static final String MEDIA_NAME = "Speex";
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3703
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3704
-    private List<PayloadType> payloads = new ArrayList<PayloadType>();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3705
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3706
-    public SpeexMediaManager(JingleTransportManager transportManager) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3707
-        super(transportManager);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3708
-        setupPayloads();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3709
-        setupJMF();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3710
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3711
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3712
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3713
-     * Returns a new jingleMediaSession
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3714
-     *
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3715
-     * @param payloadType payloadType
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3716
-     * @param remote      remote Candidate
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3717
-     * @param local       local Candidate
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3718
-     * @return JingleMediaSession
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3719
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3720
-    public JingleMediaSession createMediaSession(PayloadType payloadType, final TransportCandidate remote, final TransportCandidate local, final JingleSession jingleSession) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3721
-        return new AudioMediaSession(payloadType, remote, local, null,null);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3722
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3723
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3724
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3725
-     * Setup API supported Payloads
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3726
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3727
-    private void setupPayloads() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3728
-        payloads.add(new PayloadType.Audio(15, "speex"));
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3729
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3730
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3731
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3732
-     * Return all supported Payloads for this Manager
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3733
-     *
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3734
-     * @return The Payload List
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3735
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3736
-    public List<PayloadType> getPayloads() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3737
-        return payloads;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3738
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3739
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3740
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3741
-     * Runs JMFInit the first time the application is started so that capture
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3742
-     * devices are properly detected and initialized by JMF.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3743
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3744
-    public static void setupJMF() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3745
-        // .jmf is the place where we store the jmf.properties file used
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3746
-        // by JMF. if the directory does not exist or it does not contain
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3747
-        // a jmf.properties file. or if the jmf.properties file has 0 length
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3748
-        // then this is the first time we're running and should continue to
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3749
-        // with JMFInit
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3750
-        String homeDir = System.getProperty("user.home");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3751
-        File jmfDir = new File(homeDir, ".jmf");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3752
-        String classpath = System.getProperty("java.class.path");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3753
-        classpath += System.getProperty("path.separator")
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3754
-                + jmfDir.getAbsolutePath();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3755
-        System.setProperty("java.class.path", classpath);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3756
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3757
-        if (!jmfDir.exists())
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3758
-            jmfDir.mkdir();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3759
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3760
-        File jmfProperties = new File(jmfDir, "jmf.properties");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3761
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3762
-        if (!jmfProperties.exists()) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3763
-            try {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3764
-                jmfProperties.createNewFile();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3765
-            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3766
-            catch (IOException ex) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3767
-                LOGGER.debug("Failed to create jmf.properties");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3768
-                ex.printStackTrace();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3769
-            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3770
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3771
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3772
-        // if we're running on linux checkout that libjmutil.so is where it
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3773
-        // should be and put it there.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3774
-        runLinuxPreInstall();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3775
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3776
-        if (jmfProperties.length() == 0) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3777
-            new JMFInit(null, false);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3778
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3779
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3780
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3781
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3782
-    private static void runLinuxPreInstall() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3783
-        // @TODO Implement Linux Pre-Install
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3784
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3785
-    
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3786
-    public String getName() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3787
-        return MEDIA_NAME;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3788
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3789
-}
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3790
Index: org/jivesoftware/smackx/jingle/mediaimpl/jspeex/AudioMediaSession.java
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3791
===================================================================
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3792
--- org/jivesoftware/smackx/jingle/mediaimpl/jspeex/AudioMediaSession.java	(revision 11644)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3793
+++ org/jivesoftware/smackx/jingle/mediaimpl/jspeex/AudioMediaSession.java	(working copy)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3794
@@ -1,245 +0,0 @@
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3795
-/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3796
- * $RCSfile: AudioMediaSession.java,v $
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3797
- * $Revision: 1.1 $
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3798
- * $Date: 25/12/2006
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3799
- * <p/>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3800
- * Copyright 2003-2006 Jive Software.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3801
- * <p/>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3802
- * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3803
- * you may not use this file except in compliance with the License.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3804
- * You may obtain a copy of the License at
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3805
- * <p/>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3806
- * http://www.apache.org/licenses/LICENSE-2.0
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3807
- * <p/>
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3808
- * Unless required by applicable law or agreed to in writing, software
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3809
- * distributed under the License is distributed on an "AS IS" BASIS,
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3810
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3811
- * See the License for the specific language governing permissions and
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3812
- * limitations under the License.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3813
- */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3814
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3815
-package org.jivesoftware.smackx.jingle.mediaimpl.jspeex;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3816
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3817
-import java.io.IOException;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3818
-import java.net.DatagramSocket;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3819
-import java.net.InetAddress;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3820
-import java.net.ServerSocket;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3821
-import java.security.GeneralSecurityException;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3822
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3823
-import javax.media.NoProcessorException;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3824
-import javax.media.format.UnsupportedFormatException;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3825
-import javax.media.rtp.rtcp.SenderReport;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3826
-import javax.media.rtp.rtcp.SourceDescription;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3827
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3828
-import mil.jfcom.cie.media.session.MediaSession;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3829
-import mil.jfcom.cie.media.session.MediaSessionListener;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3830
-import mil.jfcom.cie.media.session.StreamPlayer;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3831
-import mil.jfcom.cie.media.srtp.packetizer.SpeexFormat;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3832
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3833
-import org.jivesoftware.smackx.jingle.JingleSession;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3834
-import org.jivesoftware.smackx.jingle.SmackLogger;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3835
-import org.jivesoftware.smackx.jingle.media.JingleMediaSession;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3836
-import org.jivesoftware.smackx.jingle.media.PayloadType;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3837
-import org.jivesoftware.smackx.jingle.nat.TransportCandidate;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3838
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3839
-/**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3840
- * This Class implements a complete JingleMediaSession.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3841
- * It sould be used to transmit and receive audio captured from the Mic.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3842
- * This Class should be automaticly controlled by JingleSession.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3843
- * But you could also use in any VOIP application.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3844
- * For better NAT Traversal support this implementation don't support only receive or only transmit.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3845
- * To receive you MUST transmit. So the only implemented and functionally methods are startTransmit() and stopTransmit()
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3846
- *
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3847
- * @author Thiago Camargo
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3848
- */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3849
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3850
-public class AudioMediaSession extends JingleMediaSession implements MediaSessionListener {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3851
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3852
-	private static final SmackLogger LOGGER = SmackLogger.getLogger(AudioMediaSession.class);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3853
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3854
-	private MediaSession mediaSession;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3855
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3856
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3857
-     * Create a Session using Speex Codec
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3858
-     *
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3859
-     * @param localhost    localHost
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3860
-     * @param localPort    localPort
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3861
-     * @param remoteHost   remoteHost
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3862
-     * @param remotePort   remotePort
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3863
-     * @param eventHandler eventHandler
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3864
-     * @param quality      quality
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3865
-     * @param secure       secure
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3866
-     * @param micOn        micOn
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3867
-     * @return MediaSession
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3868
-     * @throws NoProcessorException
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3869
-     * @throws UnsupportedFormatException
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3870
-     * @throws IOException
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3871
-     * @throws GeneralSecurityException
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3872
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3873
-    public static MediaSession createSession(String localhost, int localPort, String remoteHost, int remotePort, MediaSessionListener eventHandler, int quality, boolean secure, boolean micOn) throws NoProcessorException, UnsupportedFormatException, IOException, GeneralSecurityException {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3874
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3875
-        SpeexFormat.setFramesPerPacket(1);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3876
-        /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3877
-         * The master key. Hardcoded for now.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3878
-         */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3879
-        byte[] masterKey = new byte[]{(byte) 0xE1, (byte) 0xF9, 0x7A, 0x0D, 0x3E, 0x01, (byte) 0x8B, (byte) 0xE0, (byte) 0xD6, 0x4F, (byte) 0xA3, 0x2C, 0x06, (byte) 0xDE, 0x41, 0x39};
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3880
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3881
-        /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3882
-         * The master salt. Hardcoded for now.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3883
-         */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3884
-        byte[] masterSalt = new byte[]{0x0E, (byte) 0xC6, 0x75, (byte) 0xAD, 0x49, (byte) 0x8A, (byte) 0xFE, (byte) 0xEB, (byte) 0xB6, (byte) 0x96, 0x0B, 0x3A, (byte) 0xAB, (byte) 0xE6};
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3885
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3886
-        DatagramSocket[] localPorts = MediaSession.getLocalPorts(InetAddress.getByName(localhost), localPort);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3887
-        MediaSession session = MediaSession.createInstance(remoteHost, remotePort, localPorts, quality, secure, masterKey, masterSalt);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3888
-        session.setListener(eventHandler);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3889
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3890
-        session.setSourceDescription(new SourceDescription[]{new SourceDescription(SourceDescription.SOURCE_DESC_NAME, "Superman", 1, false), new SourceDescription(SourceDescription.SOURCE_DESC_EMAIL, "cdcie.tester@je.jfcom.mil", 1, false), new SourceDescription(SourceDescription.SOURCE_DESC_LOC, InetAddress.getByName(localhost) + " Port " + session.getLocalDataPort(), 1, false), new SourceDescription(SourceDescription.SOURCE_DESC_TOOL, "JFCOM CDCIE Audio Chat", 1, false)});
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3891
-        return session;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3892
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3893
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3894
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3895
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3896
-     * Creates a org.jivesoftware.jingleaudio.jspeex.AudioMediaSession with defined payload type, remote and local candidates
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3897
-     *
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3898
-     * @param payloadType Payload of the jmf
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3899
-     * @param remote      the remote information. The candidate that the jmf will be sent to.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3900
-     * @param local       the local information. The candidate that will receive the jmf
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3901
-     * @param locator     media locator
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3902
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3903
-    public AudioMediaSession(final PayloadType payloadType, final TransportCandidate remote,
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3904
-            final TransportCandidate local, String locator, JingleSession jingleSession) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3905
-        super(payloadType, remote, local, locator == null ? "dsound://" : locator, jingleSession);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3906
-        initialize();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3907
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3908
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3909
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3910
-     * Initialize the Audio Channel to make it able to send and receive audio
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3911
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3912
-    public void initialize() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3913
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3914
-        String ip;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3915
-        String localIp;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3916
-        int localPort;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3917
-        int remotePort;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3918
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3919
-        if (this.getLocal().getSymmetric() != null) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3920
-            ip = this.getLocal().getIp();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3921
-            localIp = this.getLocal().getLocalIp();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3922
-            localPort = getFreePort();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3923
-            remotePort = this.getLocal().getSymmetric().getPort();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3924
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3925
-            LOGGER.debug(this.getLocal().getConnection() + " " + ip + ": " + localPort + "->" + remotePort);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3926
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3927
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3928
-        else {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3929
-            ip = this.getRemote().getIp();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3930
-            localIp = this.getLocal().getLocalIp();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3931
-            localPort = this.getLocal().getPort();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3932
-            remotePort = this.getRemote().getPort();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3933
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3934
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3935
-        try {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3936
-            mediaSession = createSession(localIp, localPort, ip, remotePort, this, 2, false, true);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3937
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3938
-        catch (NoProcessorException e) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3939
-            e.printStackTrace();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3940
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3941
-        catch (UnsupportedFormatException e) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3942
-            e.printStackTrace();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3943
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3944
-        catch (IOException e) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3945
-            e.printStackTrace();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3946
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3947
-        catch (GeneralSecurityException e) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3948
-            e.printStackTrace();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3949
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3950
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3951
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3952
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3953
-     * Starts transmission and for NAT Traversal reasons start receiving also.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3954
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3955
-    public void startTrasmit() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3956
-        try {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3957
-            LOGGER.debug("start");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3958
-            mediaSession.start(true);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3959
-            this.mediaReceived("");
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3960
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3961
-        catch (IOException e) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3962
-            e.printStackTrace();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3963
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3964
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3965
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3966
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3967
-     * Set transmit activity. If the active is true, the instance should trasmit.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3968
-     * If it is set to false, the instance should pause transmit.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3969
-     *
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3970
-     * @param active active state
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3971
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3972
-    public void setTrasmit(boolean active) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3973
-        // Do nothing
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3974
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3975
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3976
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3977
-     * For NAT Reasons this method does nothing. Use startTransmit() to start transmit and receive jmf
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3978
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3979
-    public void startReceive() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3980
-        // Do nothing
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3981
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3982
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3983
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3984
-     * Stops transmission and for NAT Traversal reasons stop receiving also.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3985
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3986
-    public void stopTrasmit() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3987
-        if (mediaSession != null)
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3988
-            mediaSession.close();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3989
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3990
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3991
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3992
-     * For NAT Reasons this method does nothing. Use startTransmit() to start transmit and receive jmf
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3993
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3994
-    public void stopReceive() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3995
-        // Do nothing
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3996
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3997
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3998
-    public void newStreamIdentified(StreamPlayer streamPlayer) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  3999
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  4000
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  4001
-    public void senderReportReceived(SenderReport report) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  4002
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  4003
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  4004
-    public void streamClosed(StreamPlayer stream, boolean timeout) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  4005
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  4006
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  4007
-    /**
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  4008
-     * Obtain a free port we can use.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  4009
-     *
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  4010
-     * @return A free port number.
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  4011
-     */
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  4012
-    protected int getFreePort() {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  4013
-        ServerSocket ss;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  4014
-        int freePort = 0;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  4015
-
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  4016
-        for (int i = 0; i < 10; i++) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  4017
-            freePort = (int) (10000 + Math.round(Math.random() * 10000));
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  4018
-            freePort = freePort % 2 == 0 ? freePort : freePort + 1;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  4019
-            try {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  4020
-                ss = new ServerSocket(freePort);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  4021
-                freePort = ss.getLocalPort();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  4022
-                ss.close();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  4023
-                return freePort;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  4024
-            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  4025
-            catch (IOException e) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  4026
-                e.printStackTrace();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  4027
-            }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  4028
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  4029
-        try {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  4030
-            ss = new ServerSocket(0);
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  4031
-            freePort = ss.getLocalPort();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  4032
-            ss.close();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  4033
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  4034
-        catch (IOException e) {
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  4035
-            e.printStackTrace();
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  4036
-        }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  4037
-        return freePort;
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  4038
-    }
322071d17c00 merge beem-audio with trunk + some bugfix/improvements
Nikita Kozlov <nikita@mbdsys.com>
parents:
diff changeset
  4039
-}