Skip to content

Commit

Permalink
+ [JOrbisPlayer] modified JOrbisPlayer for icecast2 web player
Browse files Browse the repository at this point in the history
  • Loading branch information
roytam1 committed Aug 1, 2008
1 parent ce90765 commit da75720
Show file tree
Hide file tree
Showing 93 changed files with 11,946 additions and 0 deletions.
515 changes: 515 additions & 0 deletions JOrbisPlayer/COPYING.LIB

Large diffs are not rendered by default.

98 changes: 98 additions & 0 deletions JOrbisPlayer/ChangeLog
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@

ChangeLog of JOrbis
====================================================================
Last modified: Wed May 7 15:42:40 UTC 2008


Changes since version 0.0.16:
- change: refactoring code to improve the performance;
suppressing frequent GC in Residue.


Changes since version 0.0.15:
- feature: added a property 'jorbis.player.playonstartup' to JOrbisPlayer
applet to play given stream at the start-up time.
Refer to 'play/JOrbisPlayer.html'.


Changes since version 0.0.14:
- bugfix: case-insensitive matching in Comment was broken.
- bugfix: query for the tag "ART" would match the tag "ARTIST".
Many thanks to Gregorio Roper at gmx dot li, who pointed out above problem.


Changes since version 0.0.13:
- added com.jcraft.jogg.Buffer.readB method for Fluendo's theora decoder.
- added com.jcraft.jogg.Page.copy method for handling grouped ogg streams.


Changes since version 0.0.12:
- fixed resorce leaks in com.jcraft.jorbis.VorbisFile class.


Changes since version 0.0.11:
- updated VorbisFile class for calculating total length in seconds of a
Vorbis file.
- some improvements on JOrbisPlayer. For example, songs on play-list will
be played sequentially.


Changes since version 0.0.10:
- fixed bugs and incompleteness in the 'residue back-end type 2',
which is required for decoding stereo coupling streams generated
by RC3 encoder.
- fixed minor bugs in JOrbisPlayer.


Changes since version 0.0.9:
- modified JOrbisPlayer for playing Ogg Vorbis live streams on UDP broadcast
packets from JRoar 0.0.2.


Changes since version 0.0.8:
- improved the performance. In this improvement, the frequency of
GC invocations has been suppressed by refraining from object
allocations.
- modified JOrbisPlayer for accepting *.m3u file.

Changes since version 0.0.7:
- added a 'simple' comment editor in pure Java.
It has been located at 'comment_editor' directory.
- improved for decoding Ogg Vorbis streams generated by 1.0 RC2 encoder.
- modified JOrbisPlayer for accepting *.pls file.

Changes since version 0.0.6:
- fixed bugs in playing the chained ogg bit stream.


Changes since version 0.0.5:
- added the support for odd-sized LSP filters.
Now, JOribPlayer can correctly decode/play low bitrate ogg bit streams,
which are encoded by Vorbis 1.0beta4.
Many thanks to smoerk, who reported me a glitch in playing
low bitrate ogg bit streams on previous releases.
- tuned up the performance a little bit.


Changes since version 0.0.4:
- fixed a bug in the LSP conversion routines.
Now, JOribPlayer can decode/play 24khz/mono ogg bit streams.
- fixed a bug in handling comments.


Changes since version 0.0.3:
- modified to use the data type 'float' instead of 'double' for handling
internal data.
- added the LSP conversion routines.
- moved chunk of code for handling the ogg bit stream to
the 'com.jcraft.jogg' package.


Changes since version 0.0.2:
- added a pure Java Ogg Vorbis player.


Changes since version 0.0.1:
- fixed bugs in the synthesis engine.
By this bug fix, the sound quality of output from JOrbis has
been improved.
130 changes: 130 additions & 0 deletions JOrbisPlayer/README
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@

JOrbis

a pure Java(TM) Ogg Vorbis decoder
by ymnk, JCraft,Inc.

http://www.jcraft.com/jorbis/

Last modified: Mon May 7 14:31:03 UTC 2001

Description
===========

JOrbis is a pure Java Ogg Vorbis decoder.
JOrbis accepts Ogg Vorbis bitstreams and decodes them to raw PCMs.


Documentation
=============

Read before asking.

* README files all over the source tree have info related to the stuff
in the directories.


Directories & Files in the Source Tree
======================================

* com/ has source trees of JOrbis.
* player/ has source and binaries of pure Java Ogg Vorbis player.


Copyrights & Disclaimers
========================

JOrbis is copyrighted by JCraft Inc. and is licensed through the
GNU Lesser General Public License.
Read the COPYING.LIB file for the complete license.


Credits
=======
All credits goes to authors, Moty<[email protected]>,The XIPHOPHORUS Company
and contributers of Ogg Vorbis.


What is Ogg Vorbis?
===================
Here is a quote from README of Ogg Vorbis CODEC from
the Developer site for Ogg Vorbis(http://xiph.org/ogg/vorbis/).

"Vorbis is a general purpose audio and music encoding format
contemporary to MPEG-4's AAC and TwinVQ, the next generation beyond
MPEG audio layer 3. Unlike the MPEG sponsored formats (and other
proprietary formats such as RealAudio G2 and Windows' flavor of the
month), the Vorbis CODEC specification belongs to the public domain.
All the technical details are published and documented, and any
software entity may make full use of the format without royalty or
patent concerns."


Why JOrbis?
===========
We sympathize the aim of Ogg project.
JOrbis is our contribution to the Ogg project in our style.
We think the ubiquity of Vorbis decoder will leverage the
popularity of Ogg Vorbis. We hope JOrbis will run on any platform,
any devices and any web browsers, which support Java and
every people will enjoy streamed musics without without royalty or
patent concerns.


Features
========
* JOrbis is in pure JavaTM.
JOrbis will run on JDK1.0.* or higher and may run on J2METM.
* JOrbis is under LGPL.


Current Status
==============
The sound quality of outputs from JOrbis has been improved.
If you had tried last version(0.0.1) and been disappointed with its quality,
try current version. It will be worth trying.
However, in current implementation, the efficiency has not been cared and
many CPU resources are required. Much work must be done to solve this problem.


How To Try JOrbis
=================
A sample program DecodeExample.java has been included in an archive.<br>
If you are on RedHat's GNU/Linux box, just try,

$ cat foo.ogg | java com.jcraft.jorbis.DecodeExample | esdcat

If outputs are noisy, save outputs in a file then cat it to esdcat.
Ogg files are available at http://vorbis.com/listen.html
and if you have Ogg Vorbis CODEC from xiph.org, you can make ogg files
by your self.

How To Play JOrbisPlayer
========================
The Ogg Voribs player, 'JOrbisPlayer', is available at the 'player' directory.
It is a pure Java program, but it uses Java Sound APIs.
If you have J2SE V.1.3 Java VM, you can enjoy it.
*step1: Copy contents in the 'player' directory to some directory,
which is accessible via the http server.
*step2: Copy some ogg files to that directory.
*step3: Change directory to that directory, make 'playlist' file.
For example, 'ls *.ogg > playlist'
*step4: Open 'JOrbisPlayer.html' file by a web browser via http server.
JOrbisPlayer will run on a web browser automatically.
'JOrbisPlayer' also works as an application, so just try 'java JOrbisPlayer'
in the 'player' directory. For example, on GNU/Linux,

$ cd player
$ export CLASSPATH=.:..
$ java JOrbisPlayer foo.ogg bar.ogg http://shomewahre/goo.ogg

If you don't have the direct connections to the Internet and
you have the http proxy server at 192.168.0.1:80, try as follows,
$ java -Dhttp.proxyHost=192.168.0.1 -Dhttp.proxyPort=80 JOrbisPlayer http://shomewahre/goo.ogg

In our experiences, if your machine has a Cerelon, you will be able to
enjoy JOrbisPlayer.


If you have any comments, suggestions and questions, write us
at [email protected]
Binary file added JOrbisPlayer/com/jcraft/jogg/Buffer.class
Binary file not shown.
Loading

0 comments on commit da75720

Please sign in to comment.