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

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

?? proxy.java

?? java ogg player library. for play back ogg audio
?? JAVA
字號:
/* -*-mode:java; c-basic-offset:2; -*- *//* JRoar -- pure Java streaming server for Ogg  * * Copyright (C) 2001,2002 ymnk, JCraft,Inc. * * Written by: 2001,2002 ymnk<ymnk@jcraft.com> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */package com.jcraft.jroar;import java.io.*;import java.net.*;import java.util.*;import com.jcraft.jogg.*;class Proxy extends Source implements Runnable{  static final int BUFSIZE=4096*2;//  private String source=null;  private InputStream bitStream=null;  private SyncState oy;  private com.jcraft.jogg.Page og;    private byte[] buffer=null;  private int bytes=0;  private Thread me=null;  private int RETRY=3;  int retry=RETRY;  private long lasttime=0;  Proxy(String mountpoint, String source){    super(mountpoint);    this.source=source;HttpServer.source_connections++;  }  void init_ogg(){    oy=new SyncState();    og=new com.jcraft.jogg.Page();    buffer=null;    bytes=0;    oy.init();  }  public void kick(){    if(me!=null){      if(System.currentTimeMillis()-lasttime>600000){        //System.out.println("kick: stop!");        stop();        //System.out.println("kick: done!");      }      return;    }    if(mountpoint==null) return;    me=new Thread(this);    me.start();  }  public void run(){    //if(me==null) return;     lasttime=System.currentTimeMillis();    Vector http_header=new Vector();    com.jcraft.jogg.Page[] pages=new com.jcraft.jogg.Page[10];    int page_count=0;    String _source=source;    try{      if(_source.startsWith("peercast://")){        _source=PeerCast.getURL(_source);      }      else if(_source.endsWith(".pls")){        _source=Pls.getURL(_source);      }      URL url=new URL(_source);      URLConnection urlc=url.openConnection();      setURLProperties(urlc);      String foo;      /*      foo=urlc.getHeaderField(0); // HTTP/1.0 200 OK      if(foo.indexOf(" 200 ")==-1){        stop();        return;      }      */      int i=0;      String s=null;      String t=null;      while(true){        s=urlc.getHeaderField(i);	t=urlc.getHeaderFieldKey(i);	if(s==null)break;	// System.out.println("header: "+t+": "+s);	http_header.addElement((t==null?s:(t+": "+s)));	i++;      }      int index=0;      foo="jroar-source."+index+": ";      i=0;      for(;i<http_header.size();i++){        s=(String)(http_header.elementAt(i));        if(s.startsWith(foo)){           index++;           foo="jroar-source."+index+": ";           i=0;           continue;	}        break;      }      http_header.addElement(foo+source);      bitStream=urlc.getInputStream();    }    catch(Exception ee){      System.err.println(ee); 	          me=null;//    drop();      stop();      return;    }    init_ogg();    int serialno=-1;    ByteArrayOutputStream _header=new ByteArrayOutputStream();    byte[] header=null;    retry=RETRY;  loop:    while(me!=null){      boolean eos=false;      header=null;      while(!eos){        int index=oy.buffer(BUFSIZE);        buffer=oy.data;        try{ bytes=bitStream.read(buffer, index, BUFSIZE); }        catch(Exception e){          System.err.println(e);          bytes=-1;          break;        }        if(bytes==-1)break;        if(bytes==0)break;        oy.wrote(bytes);        lasttime=System.currentTimeMillis();        try{Thread.sleep(1);}  // sleep for green thread.        catch(Exception e){}        while(!eos){	  int result=oy.pageout(og);	  if(result==0)break; // need more data	  if(result==-1){ // missing or corrupt data at this page position//	    System.err.println("Corrupt or missing data in bitstream; continuing...");	  }	  else{            retry=RETRY;//  	    if(serialno!=og.serialno()){//              header=null;//              serialno=og.serialno();//	    }                      if((og.granulepos()==0)               || (og.granulepos()==-1)          // hack for Speex              ){              if(header!=null){header=null;}	      if(pages.length<=page_count){		com.jcraft.jogg.Page[] foo=new com.jcraft.jogg.Page[pages.length*2];		System.arraycopy(pages, 0, foo, 0, pages.length);		pages=foo;	      }	      pages[page_count++]=og.copy();	    }            else{              if(header==null){		//parseHeader(pages, page_count);		com.jcraft.jogg.Page foo;		for(int i=0;i< page_count; i++){		  foo=pages[i];		  _header.write(foo.header_base, foo.header, foo.header_len);		  _header.write(foo.body_base, foo.body, foo.body_len);		}                header=_header.toByteArray();                _header.reset();		page_count=0;	      }	    }//          synchronized(listeners){  // In some case, c.write will block.  	      int size=listeners.size();              if(size==0){  	        eos=true;                stop();                break;	      }              Client c=null;              for(int i=0; i<size;){	        try{                  c=(Client)(listeners.elementAt(i));                  c.write(http_header, header,  			  og.header_base, og.header, og.header_len,			  og.body_base, og.body, og.body_len);		}		catch(Exception e){  	          c.close();                  removeListener(c);                  size--;                  continue;                }                i++;	      }//  	    }	    if(og.eos()!=0)eos=true;	  }        }      }      if(bytes==-1){        retry--;        if(retry>0){          System.out.println("Connection to "+_source+" is dropped. Retry("+retry+")");          header=null;          serialno=-1;          init_ogg();          try { if(bitStream!=null)bitStream.close(); }           catch(Exception e) { System.out.println(e); }          try{Thread.sleep(1000);}          catch(Exception e) { }          try{            URL url=new URL(_source);            URLConnection urlc=url.openConnection();            setURLProperties(urlc);            bitStream=urlc.getInputStream();            continue;	  }	  catch(Exception e){            retry=0;	  }	}	else{          stop();	}        break;      }    }    stop();  }  private void setURLProperties(URLConnection urlc){    if(HttpServer.myURL!=null){      urlc.setRequestProperty("jroar-proxy", HttpServer.myURL+mountpoint);      //System.out.println(HttpServer.myURL+mountpoint);      if(JRoar.comment!=null)        urlc.setRequestProperty("jroar-comment", JRoar.comment);    }  }  void stop(){    if(me!=null){      if(oy!=null) oy.clear();      try {       if(bitStream!=null)bitStream.close();      }       catch(Exception e) { }      bitStream=null;      me=null;//    drop();    }    drop_clients();  }  void drop_clients(){    Client c=null;    synchronized(listeners){      int size=listeners.size();      for(int i=0; i<size;i++){        c=(Client)(listeners.elementAt(i));        try{ c.close();}        catch(Exception e){}      }      listeners.removeAllElements();    }  }  void drop(){    drop_clients();    super.drop();  }  public String toString(){    return super.toString()+" me="+me+", bitStream="+bitStream;  }}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲人被黑人高潮完整版| 国产成人av资源| 欧美日韩国产欧美日美国产精品| 亚洲精品水蜜桃| 日本电影亚洲天堂一区| 亚洲成人动漫在线观看| 欧美久久免费观看| 国产一区欧美日韩| 国产精品高潮久久久久无| 国产黄色精品网站| 欧美乱妇20p| 亚洲午夜av在线| www.视频一区| 国产精品不卡一区二区三区| 久久精品噜噜噜成人88aⅴ| 国产成人精品免费| 欧美一区二区三区在线| 亚洲精品成人天堂一二三| 国产高清不卡一区二区| 884aa四虎影成人精品一区| 一区二区三区中文字幕电影| 成人一区二区在线观看| 久久众筹精品私拍模特| 日本不卡不码高清免费观看| 欧美日韩精品三区| 一区二区激情小说| 在线观看免费一区| 亚洲同性gay激情无套| 国产xxx精品视频大全| 久久五月婷婷丁香社区| 精品一区二区日韩| 精品福利在线导航| 老司机午夜精品99久久| 777久久久精品| 奇米四色…亚洲| 欧美日韩一本到| 亚洲成av人片一区二区三区| 色婷婷国产精品| 亚洲理论在线观看| 91免费观看视频| 一区二区三区在线观看国产| 日本国产一区二区| 亚洲综合成人在线视频| 91国产丝袜在线播放| 亚洲综合男人的天堂| 欧美性三三影院| 肉丝袜脚交视频一区二区| 欧美日韩国产大片| 蜜桃视频一区二区| 久久久久久久久久久电影| 国产综合一区二区| 国产人伦精品一区二区| 波多野结衣中文字幕一区二区三区 | 久久精品一区二区三区不卡| 久久国产成人午夜av影院| 欧美日本乱大交xxxxx| 亚洲一区av在线| 欧美三级午夜理伦三级中视频| 亚洲v精品v日韩v欧美v专区| 欧美精品第一页| 日韩av在线播放中文字幕| 精品久久久久久久久久久久包黑料| 激情文学综合插| 国产视频一区不卡| 99国内精品久久| 一区二区三区在线免费播放| 制服丝袜一区二区三区| 麻豆精品久久精品色综合| 久久女同性恋中文字幕| 99re视频精品| 日韩电影在线观看网站| 欧美精品一区二区三区高清aⅴ| 国内一区二区在线| 成人免费一区二区三区视频| 欧美日韩在线观看一区二区| 蜜臀av亚洲一区中文字幕| 久久久久久久电影| 色视频欧美一区二区三区| 日本色综合中文字幕| 久久久av毛片精品| 欧美性猛交xxxx黑人交| 国内精品久久久久影院薰衣草| 亚洲欧美综合另类在线卡通| 欧美视频中文一区二区三区在线观看| 首页亚洲欧美制服丝腿| 国产女主播视频一区二区| 欧洲国产伦久久久久久久| 久久成人综合网| 国产精品久久久99| 日韩一区二区三区免费看| 成人一级黄色片| 日韩精品福利网| 亚洲国产精品高清| 欧美丰满一区二区免费视频| 国产精品一区二区果冻传媒| 一二三区精品视频| 久久先锋影音av| 在线国产电影不卡| 国产精品资源网站| 亚洲一二三四久久| 国产日韩三级在线| 91精品国产综合久久香蕉的特点 | 亚洲超碰精品一区二区| 精品88久久久久88久久久| 91成人在线观看喷潮| 国产精品一区二区在线观看网站| 亚洲午夜在线观看视频在线| 久久综合九色综合欧美98| 欧美丝袜自拍制服另类| 国产suv精品一区二区6| 日本成人在线不卡视频| 国产精品高潮久久久久无| 精品欧美乱码久久久久久1区2区| 色婷婷综合五月| 高清久久久久久| 美国十次了思思久久精品导航| 亚洲三级电影全部在线观看高清| 精品久久久久久久久久久院品网| 欧美图片一区二区三区| 粉嫩av亚洲一区二区图片| 久久精品久久精品| 亚洲成人激情av| 一区二区三区四区激情| 国产精品久久精品日日| 久久精品夜色噜噜亚洲a∨| 欧美一区二区女人| 欧美三级视频在线观看| 一本久道久久综合中文字幕| 成人看片黄a免费看在线| 国产麻豆精品95视频| 日日夜夜精品视频天天综合网| 一区二区激情视频| 亚洲乱码国产乱码精品精小说| 亚洲国产精品精华液ab| 精品电影一区二区三区| 欧美一级在线视频| 欧美日韩国产另类一区| 在线观看成人小视频| 99久久伊人网影院| 成人免费毛片aaaaa**| 韩国av一区二区三区| 老司机午夜精品| 奇米精品一区二区三区在线观看| 五月婷婷激情综合网| 亚洲福利视频一区| 亚洲成a人片综合在线| 亚洲综合一区在线| 一区二区三区四区乱视频| 亚洲精品乱码久久久久久黑人| 日韩美女啊v在线免费观看| 国产精品女主播在线观看| 国产日本一区二区| 中文无字幕一区二区三区| 欧美国产一区二区| 成人欧美一区二区三区小说 | 欧美一级欧美三级| 欧美日本精品一区二区三区| 欧美影视一区二区三区| 欧美中文字幕一二三区视频| 在线免费视频一区二区| 欧美视频第二页| 欧美精品在线一区二区| 91精品一区二区三区久久久久久| 91精品在线一区二区| 精品少妇一区二区三区免费观看| 日韩欧美国产一区二区三区| 欧美一区二区视频在线观看2022| 欧美一卡二卡三卡| 精品国产在天天线2019| 亚洲精品在线观看视频| 国产亚洲欧美日韩在线一区| 国产农村妇女毛片精品久久麻豆| 国产精品久久久久婷婷| 亚洲人成人一区二区在线观看 | 日本一区二区成人| 国产精品久久久久久久久免费丝袜 | 久久一区二区三区四区| 国产人妖乱国产精品人妖| 最新热久久免费视频| 一区二区三区在线观看欧美| 天天色综合成人网| 六月丁香综合在线视频| 国产酒店精品激情| 99r国产精品| 欧美日韩午夜在线视频| 精品奇米国产一区二区三区| 久久青草国产手机看片福利盒子 | 最新日韩av在线| 亚洲成人777| 国产在线精品一区二区| av一区二区三区| 欧美性猛交一区二区三区精品| 日韩精品中文字幕一区| 亚洲国产经典视频| 亚洲午夜一区二区三区| 久久精品国产澳门| 99在线精品免费| 制服丝袜亚洲精品中文字幕| 国产午夜精品一区二区三区嫩草| 亚洲男帅同性gay1069|