亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? avtransmitter.java

?? java 開發(fā)的sip軟電話 源碼 jain sip
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
                        int remoteVideo = at.findPortForLocal(Integer.parseInt(mediaManCallback.getVideoPort()));
                        
                        if(((String)contents.get(i)).equals("video")){                        	
                        	sessions.add(remoteAddress.getHostAddress() + "/" + /* audioPort */ /*mediaManCallback.getVideoPort() */  remoteVideo + "/" + remoteVideo + "/1/video");
                        	//avReceiver[i]= new AVReceive2(("200.233.219.41/" + mediaManCallback.getVideoPort()).split("t"),rtpMgrs[i]);
                        }else{ 
                        	sessions.add(remoteAddress.getHostAddress() + "/" +  remoteAudio /*mediaManCallback.getAudioPort()*/ + "/" + remoteAudio + "/1/audio");
                        	//avReceiver[i]= new AVReceive2(("200.233.219.41/" + remoteAudio).split("t"),rtpMgrs[i]);
                        }
 
                        /////////////////////////////////////////////////////////
                    	avReceiver[i] = new AVReceiverMais(sessions,rtpMgrs[i]);
                        avReceiver[i].setMediaManager(mediaManCallback);                         	
                        
                        rtpMgrs[i].initialize(localAddr);                        
                        avReceiver[i].initialize();
                        rtpMgrs[i].addTarget(destAddr);
                        sessionAddresses[i] = destAddr;
                    }
                    catch (InvalidSessionAddressException ex) {
                        //port was occupied
                        success = false;
                    }
                    catch (IOException ex) {
                        //we should just try to notify user and continue with other tracks
                        mediaManCallback.fireNonFatalMediaError(new
                            MediaException(
                            "Failed to initialize an RTPManager for address pair:\n"
                            + "Local address:" + localAddr.toString()
                            + " data port:" + localAddr.getDataPort()
                            + " control port:" + localAddr.getControlPort() +
                            "\n"
                            + "Dest  address:" + destAddr
                            + " data port:" + destAddr.getDataPort()
                            + " control port:" + destAddr.getControlPort(),
                            ex));
                        success = false;
                        retries = 0;
                    }                   
                }
                while (!success && --retries > 0);
                //notify user if we could bind at all
                if (!success) {
                    mediaManCallback.fireNonFatalMediaError(
                        new MediaException(
                        "Failed to initialise rtp manager for track " + i
                        + " encoded as " + pbss[i].getFormat().getEncoding()
                        + " @ [" + ipAddress + "]:" + port + "!"));
                    continue;
                }
                if(createdRtpManager)
                    mediaManCallback.putRtpManager(localAddr, rtpMgrs[i]);
                try {
                    sendStream = rtpMgrs[i].createSendStream(dataOutput, i);
                    sendStream.setBitRate(56000);
                    sendStream.start();
                    System.out.println("CODEC: "+contents.get(i));
                    
                    //if(contents.get(i).equals("video")){
                    //	sendStream.stop();
                    //}
                    sendStreams.add(sendStream);                    
                }
                catch (Exception ex) {
                    mediaManCallback.fireNonFatalMediaError( new MediaException(
                        "Session " + i + " failed to start transmitting.", ex));
                }
            }
            }finally{}            
            
        }finally{
            
        }
    }
    
    /**
     * For JPEG and H263, we know that they only work for particular
     * sizes.  So we'll perform extra checking here to make sure they
     * are of the right sizes.
     */
    Format checkForVideoSizes(Format original, Format supported)
    {
        try {
            
            int width, height;
            Dimension size = ( (VideoFormat) original).getSize();
            Format jpegFmt = new Format(VideoFormat.JPEG_RTP);
            Format h263Fmt = new Format(VideoFormat.H263_RTP);
            if (supported.matches(jpegFmt)) {
                // For JPEG, make sure width and height are divisible by 8.
                width = (size.width % 8 == 0 ? size.width :
                         (int) (size.width / 8) * 8);
                height = (size.height % 8 == 0 ? size.height :
                          (int) (size.height / 8) * 8);
            }
            else if (supported.matches(h263Fmt)) {
                // For H.263, we only support some specific sizes.
                if (size.width < 128) {
                    width = 128;
                    height = 96;
                }
                else if (size.width < 176||true) {
                    width = 176;
                    height = 144;
                }
                else {
                    width = 352;
                    height = 288;
                }
            }
            else {
                // We don't know this particular format.  We'll just
                // leave it alone then.
                return supported;
            }
            return (new VideoFormat(null,
                                    new Dimension(width, height),
                                    Format.NOT_SPECIFIED,
                                    null,
                                    Format.NOT_SPECIFIED)).intersects(supported);
        }
        finally {
            
        }
    }

    protected String findIPAddressForFormat(String format)
    {
        try {
            for (int i = 0; i < formatSets.size(); i++) {
                ArrayList currentSet = (ArrayList) formatSets.get(i);
                for (int j = 0; j < currentSet.size(); j++) {
                    if ( ( (String) currentSet.get(j)).equals(format)) {
                        return (String) ipAddresses.get(i);
                    }
                }
            }
            return null;
        }
        finally {
        }
    }

    protected int findPortForFormat(String format)
    {
        try {
            for (int i = 0; i < formatSets.size(); i++) {
                ArrayList currentSet = (ArrayList) formatSets.get(i);
                for (int j = 0; j < currentSet.size(); j++) {
                    if ( ( (String) currentSet.get(j)).equals(format)) {
                        return ( (Integer) ports.get(i)).intValue();
                    }
                }
            }
            return -1;
        }
        finally {
            
        }
    }

    protected int findPortForLocal(int local)
    {
        try {
            
            //
            ArrayList currentSet = (ArrayList) localPorts;            
            for (int i = 0; i < localPorts.size(); i++) {
            	System.out.println("PORT: "+ports.get(i));
            	System.out.println("LOCALPORT: "+((Integer)currentSet.get(i)));
                if ( ((Integer)currentSet.get(i)).intValue() == local) {
                	
                        return ( (Integer) ports.get(i)).intValue();
                    }
                }
            return -1;
        }
        finally {
            
        }
    }
    
    protected int findLocalPortForFormat(String format)
    {
        try {
            
            for (int i = 0; i < formatSets.size(); i++) {
                ArrayList currentSet = (ArrayList) formatSets.get(i);
                for (int j = 0; j < currentSet.size(); j++) {
                    if ( ( (String) currentSet.get(j)).equals(format)) {
                        return ( (Integer) localPorts.get(i)).intValue();
                    }
                }
            }
            return -1;
        }
        finally {
            
        }
    }
    
    protected String findContentForFormat(String format)
    {
        try {
            
            for (int i = 0; i < formatSets.size(); i++) {
                ArrayList currentSet = (ArrayList) formatSets.get(i);
                for (int j = 0; j < currentSet.size(); j++) {
                    if ( ( (String) currentSet.get(j)).equals(format)) {
                        return (String)contents.get(i);
                    }
                }
            }
            return "";
        }
        finally {
            
        }
    }
    
    /**
     * Setting the encoding quality to the specified value on the JPEG encoder.
     * 0.5 is a good default.
     */
    void setJPEGQuality(Player p, float val)
    {
        try {
            
            Control cs[] = p.getControls();
            QualityControl qc = null;
            VideoFormat jpegFmt = new VideoFormat(VideoFormat.JPEG);
            // Loop through the controls to find the Quality control for
            // the JPEG encoder.
            for (int i = 0; i < cs.length; i++) {
                if (cs[i] instanceof QualityControl &&
                    cs[i] instanceof Owned) {
                    Object owner = ( (Owned) cs[i]).getOwner();
                    // Check to see if the owner is a Codec.
                    // Then check for the output format.
                    if (owner instanceof Codec) {
                        Format fmts[] = ( (Codec) owner).
                            getSupportedOutputFormats(null);
                        for (int j = 0; j < fmts.length; j++) {
                            if (fmts[j].matches(jpegFmt)) {
                                qc = (QualityControl) cs[i];
                                qc.setQuality(val);
                                break;
                            }
                        }
                    }
                    if (qc != null) {
                        break;
                    }
                }
            }
        }
        finally {
            
        }
    }

    public RTPManager[] getRTPs(){
    	
    return rtpMgrs; 
    
    }
    
    protected int findFirstMatchingFormat(Format[] hayStack, ArrayList needles)
    {
        try {
            
            if (hayStack == null || needles == null) {
                return -1;
            }
            for (int j = 0; j < needles.size(); j++) {
                ArrayList currentSet = (ArrayList) needles.get(j);
                for (int k = 0; k < currentSet.size(); k++) {
                    for (int i = 0; i < hayStack.length; i++) {
                        if (hayStack[i].getEncoding().equals( (String)
                            currentSet.get(k))) {
                            return i;
                        }
                    }
                }
            }
            return -1;
        }
        finally {
            
        }
    }

    /****************************************************************
     * Convenience methods to handle processor's state changes.
     ****************************************************************/
    protected Integer stateLock = new Integer(0);
    protected boolean failed = false;
    Integer getStateLock()
    {
        return stateLock;
    }

    void setFailed()
    {
        failed = true;
    }

    protected synchronized boolean waitForState(Processor p, int state)
    {
        p.addControllerListener(new StateListener());
        failed = false;
        // Call the required method on the processor
        if (state == Processor.Configured) {
            p.configure();
        }
        else if (state == Processor.Realized) {
            p.realize();
        }
        // Wait until we get an event that confirms the
        // success of the method, or a failure event.
        // See StateListener inner class
        while (p.getState() < state && !failed) {
            synchronized (getStateLock()) {
                try {
                    getStateLock().wait();
                }
                catch (InterruptedException ie) {
                    return false;
                }
            }
        }
        if (failed) {
            return false;
        }
        else {
            return true;
        }
    }
    
    

    /****************************************************************
     * Inner Classes
     ****************************************************************/
    class StateListener
        implements ControllerListener
    {
        public void controllerUpdate(ControllerEvent ce)
        {
            try {
                
                // If there was an error during configure or
                // realize, the processor will be closed
                if (ce instanceof ControllerClosedEvent) {
                    setFailed();
                    // All controller events, send a notification
                    // to the waiting thread in waitForState method.
                }
                if (ce instanceof ControllerEvent) {
                    synchronized (getStateLock()) {
                        getStateLock().notifyAll();
                    }
                }
                //Loop media files
                if (ce instanceof EndOfMediaEvent) {
                    processor.setMediaTime(new Time(0));
                    processor.start();
                }
            }
            finally {
                
            }
        }
    }
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲色大成网站www久久九九| 欧美高清在线一区| 91香蕉视频mp4| 99久久er热在这里只有精品15 | 色欲综合视频天天天| 不卡欧美aaaaa| 97超碰欧美中文字幕| 一本到三区不卡视频| 欧洲国内综合视频| 欧洲精品中文字幕| 欧美久久一区二区| 日韩精品一区二区三区在线| 9191精品国产综合久久久久久| 7777精品久久久大香线蕉| 日韩精品一区二区三区中文精品| ww久久中文字幕| 日韩毛片一二三区| 日韩高清一区二区| 国产aⅴ精品一区二区三区色成熟| 成人小视频免费在线观看| 色婷婷久久久综合中文字幕| 欧美日韩一区在线| 久久日韩精品一区二区五区| 国产精品久久精品日日| 亚洲观看高清完整版在线观看| 天堂一区二区在线| 国产精品88av| 欧美日韩免费高清一区色橹橹| 日韩一级精品视频在线观看| 国产欧美一区二区精品性色超碰| 亚洲卡通动漫在线| 国产精品亚洲视频| 欧美综合欧美视频| 欧美激情综合五月色丁香 | 91精品蜜臀在线一区尤物| 日韩你懂的在线观看| 中文字幕永久在线不卡| 日本伊人精品一区二区三区观看方式| 国产乱人伦偷精品视频免下载| 色悠悠久久综合| 国产亚洲精品精华液| 午夜视频一区二区| 99久久伊人精品| 精品国产第一区二区三区观看体验 | 色偷偷久久人人79超碰人人澡| 欧美一区二区三区四区五区 | 国内精品在线播放| 欧美日本不卡视频| 国产精品成人免费| 精品一区二区三区免费视频| 91黄视频在线| 日韩一区在线看| 国产精品综合网| 日韩欧美一级二级三级久久久| 成人欧美一区二区三区1314| 国产酒店精品激情| 欧美在线观看视频在线| 精品理论电影在线观看| 午夜欧美视频在线观看| 在线看不卡av| 国产精品久久久久久福利一牛影视| 黄色日韩三级电影| 在线播放中文一区| 视频一区中文字幕国产| 欧美优质美女网站| 亚洲精品欧美二区三区中文字幕| 国产美女娇喘av呻吟久久| 欧美一区二区黄| 毛片av一区二区三区| 91精品在线免费| 日韩va欧美va亚洲va久久| 在线91免费看| 奇米一区二区三区av| 欧美一级黄色录像| 久久99精品久久久久久国产越南 | 综合色中文字幕| av中文字幕在线不卡| 1000精品久久久久久久久| 99久久免费国产| 亚洲欧洲中文日韩久久av乱码| 91麻豆产精品久久久久久| 亚洲精品福利视频网站| 欧美体内she精视频| 日韩精品三区四区| 精品日韩99亚洲| 高清成人免费视频| 一区二区在线观看视频| 欧美精品久久久久久久多人混战| 日韩高清不卡一区二区| 精品sm在线观看| 99v久久综合狠狠综合久久| 亚洲精品日产精品乱码不卡| 欧美日韩日日摸| 国产专区欧美精品| 国产精品成人免费在线| 欧美日产国产精品| 精品一区二区三区免费毛片爱| 国产精品久久毛片av大全日韩| 91视频在线观看免费| 日韩1区2区3区| 日本一区二区三区四区在线视频| 色视频欧美一区二区三区| 日本女人一区二区三区| 国产精品私房写真福利视频| 欧美亚洲日本国产| 国产综合色产在线精品| 国产精品女主播在线观看| aa级大片欧美| 激情六月婷婷久久| 亚洲自拍欧美精品| 国产午夜三级一区二区三| 欧美婷婷六月丁香综合色| 国产成人亚洲精品青草天美 | 极品少妇一区二区三区精品视频| 中文字幕欧美日本乱码一线二线| 在线观看av一区二区| 国产一区二区三区免费看| 亚洲最大成人网4388xx| 国产午夜精品一区二区| 欧美丰满高潮xxxx喷水动漫| 国产福利视频一区二区三区| 亚洲一区视频在线观看视频| 日韩精品一区二区在线观看| 欧美综合在线视频| 成人动漫av在线| 国产一区二区三区四区五区美女 | 国产精品一卡二| 日韩高清在线不卡| 亚洲一区二区三区美女| 精品电影一区二区三区| 欧美日韩一区国产| 91欧美一区二区| 97久久超碰精品国产| 国产精品亚洲午夜一区二区三区 | 亚洲品质自拍视频| 国产欧美一区二区在线| 欧美xxxxxxxx| 欧美日韩亚州综合| 欧美三级乱人伦电影| 色婷婷香蕉在线一区二区| av色综合久久天堂av综合| 国产乱子伦视频一区二区三区 | 国产精品免费人成网站| 久久奇米777| xnxx国产精品| 久久综合久久鬼色| 久久亚洲一级片| 精品国产一区久久| 久久人人超碰精品| 欧美精彩视频一区二区三区| 国产三级精品三级在线专区| 国产日韩欧美一区二区三区乱码| 久久久久久99久久久精品网站| 精品成a人在线观看| 久久久亚洲国产美女国产盗摄| 国产亚洲一区二区在线观看| 久久精品网站免费观看| 国产精品青草综合久久久久99| 久久亚洲精华国产精华液| 国产日韩亚洲欧美综合| 国产精品视频免费看| 1024成人网| 亚洲欧美视频在线观看| 亚洲免费观看高清在线观看| 亚洲欧洲www| 亚洲国产欧美一区二区三区丁香婷| 午夜精品福利在线| 久久精品99国产精品| 日韩成人免费看| 国产乱码精品1区2区3区| 国产一区中文字幕| 国产激情视频一区二区在线观看| 老司机精品视频导航| 成人免费视频一区| 欧美三级日韩三级| 2欧美一区二区三区在线观看视频| 精品国产三级电影在线观看| 欧美国产97人人爽人人喊| 亚洲自拍偷拍综合| 国产一区二区精品久久91| 色综合天天天天做夜夜夜夜做| 欧美日韩一二区| 国产无遮挡一区二区三区毛片日本| 综合中文字幕亚洲| 美女mm1313爽爽久久久蜜臀| 成人精品国产免费网站| 88在线观看91蜜桃国自产| 国产欧美久久久精品影院 | 91精品国产综合久久久蜜臀粉嫩| 精品国产91乱码一区二区三区| 中文字幕永久在线不卡| 日韩国产精品91| 91亚洲精品久久久蜜桃| 欧美变态tickle挠乳网站| 中文字幕一区二区三区乱码在线 | 亚洲精品日韩一| 国产乱码精品1区2区3区| 欧美人伦禁忌dvd放荡欲情| 欧美经典一区二区三区| 美女视频黄频大全不卡视频在线播放|