You can subscribe to this list here.
| 2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
(14) |
Dec
(33) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2002 |
Jan
(68) |
Feb
(19) |
Mar
(6) |
Apr
(97) |
May
(15) |
Jun
(28) |
Jul
(83) |
Aug
(21) |
Sep
(67) |
Oct
(16) |
Nov
|
Dec
(22) |
| 2003 |
Jan
(47) |
Feb
(17) |
Mar
(5) |
Apr
|
May
(5) |
Jun
(106) |
Jul
(25) |
Aug
|
Sep
(14) |
Oct
(7) |
Nov
(24) |
Dec
(5) |
| 2004 |
Jan
(54) |
Feb
(19) |
Mar
|
Apr
(33) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(6) |
Nov
(153) |
Dec
(6) |
| 2005 |
Jan
(178) |
Feb
(17) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2006 |
Jan
(2) |
Feb
(173) |
Mar
|
Apr
(7) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(12) |
Dec
(14) |
| 2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(4) |
Jun
(29) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2008 |
Jan
(29) |
Feb
(3) |
Mar
(5) |
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(4) |
Dec
|
| 2009 |
Jan
|
Feb
|
Mar
(3) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
| 2013 |
Jan
(7) |
Feb
|
Mar
(18) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2015 |
Jan
|
Feb
|
Mar
|
Apr
(7) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Matthias P. <pfi...@us...> - 2006-02-07 20:42:11
|
Update of /cvsroot/tritonus/tritonus In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv467 Modified Files: build-common.xml configure.in Log Message: adapted for fluidsynth build Direct links to online-CVS: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tritonus/tritonus/build-common.xml http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tritonus/tritonus/configure.in Index: build-common.xml =================================================================== RCS file: /cvsroot/tritonus/tritonus/build-common.xml,v retrieving revision 1.23 retrieving revision 1.24 diff -C2 -r1.23 -r1.24 *** build-common.xml 11 Jan 2005 15:01:58 -0000 1.23 --- build-common.xml 7 Feb 2006 20:42:00 -0000 1.24 *************** *** 138,145 **** <!-- JAVASEQUENCER: --> <jar jarfile="${dist}/tritonus_javasequencer-${version}.jar" > ! <fileset dir="${build}" > ! <include name="org/tritonus/midi/device/java/" /> ! </fileset> ! <fileset dir="${src}/packaging/tritonus_javasequencer" /> </jar> --- 138,154 ---- <!-- JAVASEQUENCER: --> <jar jarfile="${dist}/tritonus_javasequencer-${version}.jar" > ! <fileset dir="${build}" > ! <include name="org/tritonus/midi/device/java/" /> ! </fileset> ! <fileset dir="${src}/packaging/tritonus_javasequencer" /> ! </jar> ! ! <!-- FLUIDSYNTH: --> ! <jar jarfile="${dist}/tritonus_fluidsynth-${version}.jar" > ! <fileset dir="${build}" > ! <include name="org/tritonus/midi/device/fluidsynth/" /> ! <include name="org/tritonus/midi/sb/fluidsynth/" /> ! </fileset> ! <fileset dir="${src}/packaging/tritonus_fluidsynth" /> </jar> Index: configure.in =================================================================== RCS file: /cvsroot/tritonus/tritonus/configure.in,v retrieving revision 1.31 retrieving revision 1.32 diff -C2 -r1.31 -r1.32 *** configure.in 17 Feb 2005 08:17:57 -0000 1.31 --- configure.in 7 Feb 2006 20:42:00 -0000 1.32 *************** *** 127,130 **** --- 127,131 ---- AC_CHECK_HEADER(cdda_interface.h,[SUBDIRS="$SUBDIRS src/lib/cdparanoia"; AC_MSG_RESULT(Information: will build stuff for cdparanoia)],[AC_MSG_RESULT(Information: will not build stuff for cdparanoia)]) AC_CHECK_HEADER(ogg/ogg.h,[SUBDIRS="$SUBDIRS src/lib/vorbis"; AC_MSG_RESULT(Information: will build stuff for vorbis)],[AC_MSG_RESULT(Information: will not build stuff for vorbis)]) + AC_CHECK_HEADER(fluidsynth.h,[SUBDIRS="$SUBDIRS src/lib/fluidsynth"; AC_MSG_RESULT(Information: will build stuff for fluidsynth)],[AC_MSG_RESULT(Information: will NOT build stuff for fluidsynth)]) dnl AC_MSG_RESULT(hallo x${SUBDIRS}x) *************** *** 228,231 **** --- 229,233 ---- src/lib/vorbis/Makefile src/lib/pvorbis/Makefile + src/lib/fluidsynth/Makefile doc/Makefile test/Makefile) |
|
From: Matthias P. <pfi...@us...> - 2006-02-07 20:40:08
|
Update of /cvsroot/tritonus/tritonus/doc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31917/doc Added Files: fluidsynth-proposal.txt Log Message: import Direct links to online-CVS: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tritonus/tritonus/doc/fluidsynth-proposal.txt --- NEW FILE: fluidsynth-proposal.txt --- |
|
From: Matthias P. <pfi...@us...> - 2006-02-07 20:16:38
|
Update of /cvsroot/tritonus/tritonus/src/lib/fluidsynth In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21572/fluidsynth Log Message: Directory /cvsroot/tritonus/tritonus/src/lib/fluidsynth added to the repository Direct links to online-CVS: |
|
From: Matthias P. <pfi...@us...> - 2006-02-07 20:16:05
|
Update of /cvsroot/tritonus/tritonus/src/packaging/tritonus_fluidsynth In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21257/tritonus_fluidsynth Added Files: manifest.mf Log Message: import of fluidsynth stuff Direct links to online-CVS: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tritonus/tritonus/src/packaging/tritonus_fluidsynth/manifest.mf --- NEW FILE: manifest.mf --- |
|
From: Matthias P. <pfi...@us...> - 2006-02-07 20:16:04
|
Update of /cvsroot/tritonus/tritonus/src/packaging/tritonus_fluidsynth/META-INF/services In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21257/tritonus_fluidsynth/META-INF/services Added Files: javax.sound.midi.spi.MidiDeviceProvider Log Message: import of fluidsynth stuff Direct links to online-CVS: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tritonus/tritonus/src/packaging/tritonus_fluidsynth/META-INF/services/javax.sound.midi.spi.MidiDeviceProvider --- NEW FILE: javax.sound.midi.spi.MidiDeviceProvider --- |
|
From: Matthias P. <pfi...@us...> - 2006-02-07 20:15:05
|
Update of /cvsroot/tritonus/tritonus/src/packaging/tritonus_fluidsynth/META-INF/services In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20825/tritonus_fluidsynth/META-INF/services Log Message: Directory /cvsroot/tritonus/tritonus/src/packaging/tritonus_fluidsynth/META-INF/services added to the repository Direct links to online-CVS: |
|
From: Matthias P. <pfi...@us...> - 2006-02-07 20:14:50
|
Update of /cvsroot/tritonus/tritonus/src/packaging/tritonus_fluidsynth/META-INF In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20736/tritonus_fluidsynth/META-INF Log Message: Directory /cvsroot/tritonus/tritonus/src/packaging/tritonus_fluidsynth/META-INF added to the repository Direct links to online-CVS: |
|
From: Matthias P. <pfi...@us...> - 2006-02-07 20:14:36
|
Update of /cvsroot/tritonus/tritonus/src/packaging/tritonus_fluidsynth In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20671/tritonus_fluidsynth Log Message: Directory /cvsroot/tritonus/tritonus/src/packaging/tritonus_fluidsynth added to the repository Direct links to online-CVS: |
|
From: Matthias P. <pfi...@us...> - 2006-02-07 18:48:46
|
Update of /cvsroot/tritonus/tritonus/src/classes/org/tritonus/midi/sb/fluidsynth In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9938/sb/fluidsynth Log Message: Directory /cvsroot/tritonus/tritonus/src/classes/org/tritonus/midi/sb/fluidsynth added to the repository Direct links to online-CVS: |
|
From: Matthias P. <pfi...@us...> - 2006-02-07 17:12:57
|
Update of /cvsroot/tritonus/tritonus/src/classes/org/tritonus/midi/sb/fluidsynth In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10591/sb/fluidsynth Added Files: FluidSoundbank.java Log Message: import Direct links to online-CVS: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tritonus/tritonus/src/classes/org/tritonus/midi/sb/fluidsynth/FluidSoundbank.java --- NEW FILE: FluidSoundbank.java --- |
|
From: Matthias P. <pfi...@us...> - 2006-02-07 16:40:51
|
Update of /cvsroot/tritonus/tritonus/src/classes/org/tritonus/midi/device/fluidsynth In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8759/device/fluidsynth Log Message: Directory /cvsroot/tritonus/tritonus/src/classes/org/tritonus/midi/device/fluidsynth added to the repository Direct links to online-CVS: |
|
From: Matthias P. <pfi...@us...> - 2006-02-07 16:05:08
|
Update of /cvsroot/tritonus/tritonus/src/classes/org/tritonus/midi/sb In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8759/sb Log Message: Directory /cvsroot/tritonus/tritonus/src/classes/org/tritonus/midi/sb added to the repository Direct links to online-CVS: |
|
From: Matthias P. <pfi...@us...> - 2006-02-01 10:26:37
|
Update of /cvsroot/tritonus/tritonus/src/classes/org/tritonus/sampled/file/pvorbis In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4408/src/classes/org/tritonus/sampled/file/pvorbis Modified Files: VorbisAudioFileReader.java Log Message: removed free() calls Direct links to online-CVS: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tritonus/tritonus/src/classes/org/tritonus/sampled/file/pvorbis/VorbisAudioFileReader.java Index: VorbisAudioFileReader.java =================================================================== RCS file: /cvsroot/tritonus/tritonus/src/classes/org/tritonus/sampled/file/pvorbis/VorbisAudioFileReader.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** VorbisAudioFileReader.java 7 Jan 2005 10:03:19 -0000 1.1 --- VorbisAudioFileReader.java 1 Feb 2006 10:26:25 -0000 1.2 *************** *** 106,110 **** oggSyncState.free(); oggStreamState.free(); - oggPage.free(); oggPacket.free(); throw new UnsupportedAudioFileException("not a Vorbis stream: ended prematurely"); --- 106,109 ---- *************** *** 114,118 **** oggSyncState.free(); oggStreamState.free(); - oggPage.free(); oggPacket.free(); throw new UnsupportedAudioFileException("not a Vorbis stream: not in Ogg bitstream format"); --- 113,116 ---- *************** *** 140,144 **** oggSyncState.free(); oggStreamState.free(); - oggPage.free(); oggPacket.free(); throw new UnsupportedAudioFileException("not a Vorbis stream: can't read first page of Ogg bitstream data"); --- 138,141 ---- *************** *** 152,156 **** oggSyncState.free(); oggStreamState.free(); - oggPage.free(); oggPacket.free(); throw new UnsupportedAudioFileException("not a Vorbis stream: can't read initial header packet"); --- 149,152 ---- *************** *** 176,180 **** oggSyncState.free(); oggStreamState.free(); - oggPage.free(); oggPacket.free(); throw new UnsupportedAudioFileException("not a Vorbis stream: first packet is not the identification header"); --- 172,175 ---- *************** *** 191,195 **** oggSyncState.free(); oggStreamState.free(); - oggPage.free(); oggPacket.free(); throw new UnsupportedAudioFileException("not a Vorbis stream: not a vorbis header packet"); --- 186,189 ---- *************** *** 201,205 **** oggSyncState.free(); oggStreamState.free(); - oggPage.free(); oggPacket.free(); throw new UnsupportedAudioFileException("not a Vorbis stream: initial packet not marked as beginning of stream"); --- 195,198 ---- *************** *** 213,217 **** oggSyncState.free(); oggStreamState.free(); - oggPage.free(); oggPacket.free(); throw new UnsupportedAudioFileException("not a Vorbis stream: wrong vorbis version"); --- 206,209 ---- *************** *** 235,239 **** if (fSampleRate < 1.0F || nChannels < 1 || ! blocksizes[0] < 8|| blocksizes[1] < blocksizes[0] || (abData[29] & 0x1) != 1) --- 227,231 ---- if (fSampleRate < 1.0F || nChannels < 1 || ! blocksizes[0] < 8 || blocksizes[1] < blocksizes[0] || (abData[29] & 0x1) != 1) *************** *** 243,247 **** oggSyncState.free(); oggStreamState.free(); - oggPage.free(); oggPacket.free(); throw new UnsupportedAudioFileException("not a Vorbis stream: illegal values in initial header"); --- 235,238 ---- *************** *** 250,254 **** oggSyncState.free(); oggStreamState.free(); - oggPage.free(); oggPacket.free(); --- 241,244 ---- |
|
From: Matthias P. <pfi...@us...> - 2006-02-01 10:24:46
|
Update of /cvsroot/tritonus/tritonus/src/classes/org/tritonus/sampled/file/vorbis In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3744/src/classes/org/tritonus/sampled/file/vorbis Modified Files: VorbisAudioFileReader.java Log Message: fixed debugging code Direct links to online-CVS: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tritonus/tritonus/src/classes/org/tritonus/sampled/file/vorbis/VorbisAudioFileReader.java Index: VorbisAudioFileReader.java =================================================================== RCS file: /cvsroot/tritonus/tritonus/src/classes/org/tritonus/sampled/file/vorbis/VorbisAudioFileReader.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** VorbisAudioFileReader.java 16 Jan 2005 12:45:52 -0000 1.1 --- VorbisAudioFileReader.java 1 Feb 2006 10:24:36 -0000 1.2 *************** *** 122,126 **** // serialno first; use it to set up a logical stream int nSerialNo = oggPage.getSerialNo(); ! TDebug.out("serial no.: " + nSerialNo); oggStreamState.init(nSerialNo); --- 122,126 ---- // serialno first; use it to set up a logical stream int nSerialNo = oggPage.getSerialNo(); ! if (TDebug.TraceAudioFileReader) TDebug.out("serial no.: " + nSerialNo); oggStreamState.init(nSerialNo); |
|
From: Matthias P. <pfi...@us...> - 2006-02-01 10:23:27
|
Update of /cvsroot/tritonus/tritonus/src/lib/vorbis In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3357 Modified Files: org_tritonus_lowlevel_ogg_Buffer.c org_tritonus_lowlevel_ogg_Packet.c org_tritonus_lowlevel_ogg_Page.c org_tritonus_lowlevel_ogg_SyncState.c Log Message: fixed type warnings Direct links to online-CVS: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tritonus/tritonus/src/lib/vorbis/org_tritonus_lowlevel_ogg_Buffer.c http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tritonus/tritonus/src/lib/vorbis/org_tritonus_lowlevel_ogg_Packet.c http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tritonus/tritonus/src/lib/vorbis/org_tritonus_lowlevel_ogg_Page.c http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tritonus/tritonus/src/lib/vorbis/org_tritonus_lowlevel_ogg_SyncState.c Index: org_tritonus_lowlevel_ogg_Buffer.c =================================================================== RCS file: /cvsroot/tritonus/tritonus/src/lib/vorbis/org_tritonus_lowlevel_ogg_Buffer.c,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** org_tritonus_lowlevel_ogg_Buffer.c 28 Jun 2003 17:52:00 -0000 1.2 --- org_tritonus_lowlevel_ogg_Buffer.c 1 Feb 2006 10:23:17 -0000 1.3 *************** *** 210,214 **** if (debug_flag) { fprintf(debug_file, "Java_org_tritonus_lowlevel_ogg_Buffer_readInit(): buffer[1]: %d\n", buffer[1]); } if (debug_flag) { fprintf(debug_file, "Java_org_tritonus_lowlevel_ogg_Buffer_readInit(): buffer[2]: %d\n", buffer[2]); } ! oggpack_readinit(handle, buffer, nBytes); (*env)->ReleaseByteArrayElements(env, abBuffer, buffer, 0); if (debug_flag) { fprintf(debug_file, "Java_org_tritonus_lowlevel_ogg_Buffer_readInit(): end\n"); } --- 210,214 ---- if (debug_flag) { fprintf(debug_file, "Java_org_tritonus_lowlevel_ogg_Buffer_readInit(): buffer[1]: %d\n", buffer[1]); } if (debug_flag) { fprintf(debug_file, "Java_org_tritonus_lowlevel_ogg_Buffer_readInit(): buffer[2]: %d\n", buffer[2]); } ! oggpack_readinit(handle, (unsigned char*) buffer, nBytes); (*env)->ReleaseByteArrayElements(env, abBuffer, buffer, 0); if (debug_flag) { fprintf(debug_file, "Java_org_tritonus_lowlevel_ogg_Buffer_readInit(): end\n"); } *************** *** 417,421 **** buffer = oggpack_get_buffer(handle); abBuffer = (*env)->NewByteArray(env, handle->storage); ! (*env)->SetByteArrayRegion(env, abBuffer, 0, handle->storage, buffer); if (debug_flag) { fprintf(debug_file, "Java_org_tritonus_lowlevel_ogg_Buffer_getBuffer(): end\n"); } return abBuffer; --- 417,422 ---- buffer = oggpack_get_buffer(handle); abBuffer = (*env)->NewByteArray(env, handle->storage); ! (*env)->SetByteArrayRegion(env, abBuffer, 0, handle->storage, ! (jbyte*) buffer); if (debug_flag) { fprintf(debug_file, "Java_org_tritonus_lowlevel_ogg_Buffer_getBuffer(): end\n"); } return abBuffer; Index: org_tritonus_lowlevel_ogg_Packet.c =================================================================== RCS file: /cvsroot/tritonus/tritonus/src/lib/vorbis/org_tritonus_lowlevel_ogg_Packet.c,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** org_tritonus_lowlevel_ogg_Packet.c 12 Jun 2003 20:18:11 -0000 1.1 --- org_tritonus_lowlevel_ogg_Packet.c 1 Feb 2006 10:23:17 -0000 1.2 *************** *** 114,118 **** handle = getHandle(env, obj); abData = (*env)->NewByteArray(env, handle->bytes); ! (*env)->SetByteArrayRegion(env, abData, 0, handle->bytes, handle->packet); if (debug_flag) { fprintf(debug_file, "Java_org_tritonus_lowlevel_ogg_Packet_getData(): end\n"); } return abData; --- 114,119 ---- handle = getHandle(env, obj); abData = (*env)->NewByteArray(env, handle->bytes); ! (*env)->SetByteArrayRegion(env, abData, 0, handle->bytes, ! (jbyte*) (handle->packet)); if (debug_flag) { fprintf(debug_file, "Java_org_tritonus_lowlevel_ogg_Packet_getData(): end\n"); } return abData; Index: org_tritonus_lowlevel_ogg_Page.c =================================================================== RCS file: /cvsroot/tritonus/tritonus/src/lib/vorbis/org_tritonus_lowlevel_ogg_Page.c,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** org_tritonus_lowlevel_ogg_Page.c 12 Jun 2003 20:18:11 -0000 1.1 --- org_tritonus_lowlevel_ogg_Page.c 1 Feb 2006 10:23:17 -0000 1.2 *************** *** 283,287 **** handle = getHandle(env, obj); byteArray = (*env)->NewByteArray(env, handle->header_len); ! (*env)->SetByteArrayRegion(env, byteArray, 0, handle->header_len, handle->header); if (debug_flag) { fprintf(debug_file, "Java_org_tritonus_lowlevel_ogg_Page_getHeader(): end\n"); } return byteArray; --- 283,288 ---- handle = getHandle(env, obj); byteArray = (*env)->NewByteArray(env, handle->header_len); ! (*env)->SetByteArrayRegion(env, byteArray, 0, handle->header_len, ! (jbyte*) (handle->header)); if (debug_flag) { fprintf(debug_file, "Java_org_tritonus_lowlevel_ogg_Page_getHeader(): end\n"); } return byteArray; *************** *** 305,309 **** handle = getHandle(env, obj); byteArray = (*env)->NewByteArray(env, handle->body_len); ! (*env)->SetByteArrayRegion(env, byteArray, 0, handle->body_len, handle->body); if (debug_flag) { fprintf(debug_file, "Java_org_tritonus_lowlevel_ogg_Page_getBody(): end\n"); } return byteArray; --- 306,311 ---- handle = getHandle(env, obj); byteArray = (*env)->NewByteArray(env, handle->body_len); ! (*env)->SetByteArrayRegion(env, byteArray, 0, handle->body_len, ! (jbyte*) (handle->body)); if (debug_flag) { fprintf(debug_file, "Java_org_tritonus_lowlevel_ogg_Page_getBody(): end\n"); } return byteArray; Index: org_tritonus_lowlevel_ogg_SyncState.c =================================================================== RCS file: /cvsroot/tritonus/tritonus/src/lib/vorbis/org_tritonus_lowlevel_ogg_SyncState.c,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** org_tritonus_lowlevel_ogg_SyncState.c 12 Jun 2003 20:18:12 -0000 1.1 --- org_tritonus_lowlevel_ogg_SyncState.c 1 Feb 2006 10:23:17 -0000 1.2 *************** *** 171,175 **** buffer = ogg_sync_buffer(handle, nBytes); (*env)->GetByteArrayRegion(env, abBuffer, ! 0, nBytes, buffer); nReturn = ogg_sync_wrote(handle, nBytes); if (debug_flag) { fprintf(debug_file, "Java_org_tritonus_lowlevel_ogg_SyncState_write(): end\n"); } --- 171,175 ---- buffer = ogg_sync_buffer(handle, nBytes); (*env)->GetByteArrayRegion(env, abBuffer, ! 0, nBytes, (jbyte*) buffer); nReturn = ogg_sync_wrote(handle, nBytes); if (debug_flag) { fprintf(debug_file, "Java_org_tritonus_lowlevel_ogg_SyncState_write(): end\n"); } |
|
From: Matthias P. <pfi...@us...> - 2006-01-30 12:31:47
|
Update of /cvsroot/tritonus/tritonus In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5710 Modified Files: build.xml Log Message: fixed building of mp3 decoder Direct links to online-CVS: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tritonus/tritonus/build.xml Index: build.xml =================================================================== RCS file: /cvsroot/tritonus/tritonus/build.xml,v retrieving revision 1.50 retrieving revision 1.51 diff -C2 -r1.50 -r1.51 *** build.xml 20 Jan 2005 20:00:08 -0000 1.50 --- build.xml 30 Jan 2006 12:31:37 -0000 1.51 *************** *** 18,28 **** debug="${debug}" source="${source}" ! destdir="${build}"> <compilerarg compiler="kjc" value="-generic"/> <compilerarg value="-Xlint:unchecked"/> <include name="org/tritonus/" /> <exclude name="org/tritonus/sampled/cdda/" /> ! <exclude name="org/tritonus/sampled/convert/javalayer/" /> ! <exclude name="org/tritonus/sampled/file/mpeg/" /> <exclude name="org/tritonus/midi/device/midishare/" /> <!-- necessary for kaffe --> --- 18,30 ---- debug="${debug}" source="${source}" ! destdir="${build}" ! sourcepath="${src.classes}"> <compilerarg compiler="kjc" value="-generic"/> <compilerarg value="-Xlint:unchecked"/> <include name="org/tritonus/" /> <exclude name="org/tritonus/sampled/cdda/" /> ! <!-- hack to enable building of mp3 decoder plug-in --> ! <!--exclude name="org/tritonus/sampled/convert/javalayer/" /--> ! <!--exclude name="org/tritonus/sampled/file/mpeg/" /--> <exclude name="org/tritonus/midi/device/midishare/" /> <!-- necessary for kaffe --> |
|
From: Florian B. <fl...@us...> - 2006-01-27 09:06:43
|
Update of /cvsroot/tritonus/tritonus/src/classes/org/tritonus/share/sampled In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10560/tritonus/src/classes/org/tritonus/share/sampled Modified Files: FloatSampleBuffer.java FloatSampleTools.java Log Message: fix index out of bounds exception Direct links to online-CVS: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tritonus/tritonus/src/classes/org/tritonus/share/sampled/FloatSampleBuffer.java http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tritonus/tritonus/src/classes/org/tritonus/share/sampled/FloatSampleTools.java Index: FloatSampleBuffer.java =================================================================== RCS file: /cvsroot/tritonus/tritonus/src/classes/org/tritonus/share/sampled/FloatSampleBuffer.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** FloatSampleBuffer.java 20 Jan 2005 07:47:16 -0000 1.1 --- FloatSampleBuffer.java 27 Jan 2006 09:06:35 -0000 1.2 *************** *** 343,349 **** */ public int getByteArrayBufferSize(AudioFormat format) { // make sure this format is supported FloatSampleTools.getFormatType(format); ! return format.getFrameSize() * getSampleCount(); } --- 343,358 ---- */ public int getByteArrayBufferSize(AudioFormat format) { + return getByteArrayBufferSize(format, getSampleCount()); + } + + /** + * @param lenInSamples how many samples to be considered + * @return the required size of the buffer for the given number of samples + * for calling convertToByteArray(..) + */ + public int getByteArrayBufferSize(AudioFormat format, int lenInSamples) { // make sure this format is supported FloatSampleTools.getFormatType(format); ! return format.getFrameSize() * lenInSamples; } *************** *** 357,362 **** */ public int convertToByteArray(byte[] buffer, int offset, AudioFormat format) { ! int byteCount = getByteArrayBufferSize(format); ! if (offset + byteCount > buffer.length) { throw new IllegalArgumentException ("FloatSampleBuffer.convertToByteArray: buffer too small."); --- 366,387 ---- */ public int convertToByteArray(byte[] buffer, int offset, AudioFormat format) { ! return convertToByteArray(0, getSampleCount(), buffer, offset, format); ! } ! ! /** ! * Writes this sample buffer's audio data to <code>buffer</code> ! * as an interleaved byte array. ! * <code>buffer</code> must be large enough to hold all data. ! * ! * @param readOffset the sample offset from where samples are read from this FloatSampleBuffer ! * @param lenInSamples how many samples are converted ! * @param buffer the byte buffer written to ! * @param writeOffset the byte offset in buffer ! * @throws IllegalArgumentException when buffer is too small or <code>format</code> doesn't match ! * @return number of bytes written to <code>buffer</code> ! */ ! public int convertToByteArray(int readOffset, int lenInSamples, byte[] buffer, int writeOffset, AudioFormat format) { ! int byteCount = getByteArrayBufferSize(format, lenInSamples); ! if (writeOffset + byteCount > buffer.length) { throw new IllegalArgumentException ("FloatSampleBuffer.convertToByteArray: buffer too small."); *************** *** 370,374 **** ("FloatSampleBuffer.convertToByteArray: different channel count."); } ! FloatSampleTools.float2byte(channels, 0, buffer, offset, getSampleCount(), format, getConvertDitherBits(FloatSampleTools.getFormatType(format))); --- 395,399 ---- ("FloatSampleBuffer.convertToByteArray: different channel count."); } ! FloatSampleTools.float2byte(channels, readOffset, buffer, writeOffset, lenInSamples, format, getConvertDitherBits(FloatSampleTools.getFormatType(format))); Index: FloatSampleTools.java =================================================================== RCS file: /cvsroot/tritonus/tritonus/src/classes/org/tritonus/share/sampled/FloatSampleTools.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** FloatSampleTools.java 20 Jan 2005 07:47:16 -0000 1.1 --- FloatSampleTools.java 27 Jan 2006 09:06:35 -0000 1.2 *************** *** 625,633 **** } if (outByteOffset < 0 ! || outByteOffset + (sampleCount * outByteStep) > output.length || outByteStep < getSampleSize(formatType)) { throw new IllegalArgumentException("invalid output index: " +"output.length="+output.length +" outByteOffset="+outByteOffset +" sampleCount="+sampleCount +" format="+formatType2Str(formatType)); --- 625,634 ---- } if (outByteOffset < 0 ! || outByteOffset + (sampleCount * outByteStep) >= (output.length + outByteStep) || outByteStep < getSampleSize(formatType)) { throw new IllegalArgumentException("invalid output index: " +"output.length="+output.length +" outByteOffset="+outByteOffset + +" outByteStep="+outByteStep +" sampleCount="+sampleCount +" format="+formatType2Str(formatType)); |
|
From: Matthias P. <pfi...@us...> - 2005-02-17 08:18:07
|
Update of /cvsroot/tritonus/tritonus In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3013 Modified Files: configure.in Log Message: adapted to changed directory structure Direct links to online-CVS: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tritonus/tritonus/configure.in Index: configure.in =================================================================== RCS file: /cvsroot/tritonus/tritonus/configure.in,v retrieving revision 1.30 retrieving revision 1.31 diff -C2 -r1.30 -r1.31 *** configure.in 11 Jan 2005 15:02:08 -0000 1.30 --- configure.in 17 Feb 2005 08:17:57 -0000 1.31 *************** *** 4,8 **** dnl ! AC_INIT(src/javax/sound/sampled/AudioSystem.java) AC_CONFIG_AUX_DIR(util) --- 4,8 ---- dnl ! AC_INIT(src/classes/javax/sound/sampled/AudioSystem.java) AC_CONFIG_AUX_DIR(util) |
|
From: Matthias P. <pfi...@us...> - 2005-02-05 21:07:45
|
Update of /cvsroot/tritonus/tritonus/src/lib/pvorbis In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1149/lib/pvorbis Modified Files: Makefile.in framing.c Removed Files: org_tritonus_lowlevel_pogg_Page.c Log Message: moved to pure java Direct links to online-CVS: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tritonus/tritonus/src/lib/pvorbis/Makefile.in http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tritonus/tritonus/src/lib/pvorbis/framing.c http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tritonus/tritonus/src/lib/pvorbis/org_tritonus_lowlevel_pogg_Page.c Index: Makefile.in =================================================================== RCS file: /cvsroot/tritonus/tritonus/src/lib/pvorbis/Makefile.in,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** Makefile.in 5 Feb 2005 18:58:04 -0000 1.5 --- Makefile.in 5 Feb 2005 21:07:35 -0000 1.6 *************** *** 60,64 **** org_tritonus_lowlevel_pogg_Buffer.o \ org_tritonus_lowlevel_pogg_Packet.o \ - org_tritonus_lowlevel_pogg_Page.o \ org_tritonus_lowlevel_pvorbis_Block.o \ org_tritonus_lowlevel_pvorbis_DspState.o \ --- 60,63 ---- *************** *** 76,80 **** Buffer.class \ Packet.class \ - Page.class \ Block.class \ DspState.class \ --- 75,78 ---- *************** *** 84,88 **** org.tritonus.lowlevel.pogg.Buffer \ org.tritonus.lowlevel.pogg.Packet \ - org.tritonus.lowlevel.pogg.Page \ org.tritonus.lowlevel.pvorbis.Block \ org.tritonus.lowlevel.pvorbis.DspState \ --- 82,85 ---- Index: framing.c =================================================================== RCS file: /cvsroot/tritonus/tritonus/src/lib/pvorbis/framing.c,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** framing.c 5 Feb 2005 18:58:04 -0000 1.4 --- framing.c 5 Feb 2005 21:07:35 -0000 1.5 *************** *** 27,121 **** /* A complete description of Ogg framing exists in docs/framing.html */ - int ogg_page_version(ogg_page *og){ - return((int)(og->header[4])); - } - - int ogg_page_continued(ogg_page *og){ - return((int)(og->header[5]&0x01)); - } - - int ogg_page_bos(ogg_page *og){ - return((int)(og->header[5]&0x02)); - } - - int ogg_page_eos(ogg_page *og){ - return((int)(og->header[5]&0x04)); - } - - ogg_int64_t ogg_page_granulepos(ogg_page *og){ - unsigned char *page=og->header; - ogg_int64_t granulepos=page[13]&(0xff); - granulepos= (granulepos<<8)|(page[12]&0xff); - granulepos= (granulepos<<8)|(page[11]&0xff); - granulepos= (granulepos<<8)|(page[10]&0xff); - granulepos= (granulepos<<8)|(page[9]&0xff); - granulepos= (granulepos<<8)|(page[8]&0xff); - granulepos= (granulepos<<8)|(page[7]&0xff); - granulepos= (granulepos<<8)|(page[6]&0xff); - return(granulepos); - } - - int ogg_page_serialno(ogg_page *og){ - return(og->header[14] | - (og->header[15]<<8) | - (og->header[16]<<16) | - (og->header[17]<<24)); - } - - long ogg_page_pageno(ogg_page *og){ - return(og->header[18] | - (og->header[19]<<8) | - (og->header[20]<<16) | - (og->header[21]<<24)); - } - /* returns the number of packets that are completed on this page (if - the leading packet is begun on a previous page, but ends on this - page, it's counted */ - - /* NOTE: - If a page consists of a packet begun on a previous page, and a new - packet begun (but not completed) on this page, the return will be: - ogg_page_packets(page) ==1, - ogg_page_continued(page) !=0 - - If a page happens to be a single packet that was begun on a - previous page, and spans to the next page (in the case of a three or - more page packet), the return will be: - ogg_page_packets(page) ==0, - ogg_page_continued(page) !=0 - */ - - int ogg_page_packets(ogg_page *og){ - int i,n=og->header[26],count=0; - for(i=0;i<n;i++) - if(og->header[27+i]<255)count++; - return(count); - } - #if 0 - /* helper to initialize lookup for direct-table CRC (illustrative; we - use the static init below) */ - - static ogg_uint32_t _ogg_crc_entry(unsigned long index){ - int i; - unsigned long r; - - r = index << 24; - for (i=0; i<8; i++) - if (r & 0x80000000UL) - r = (r << 1) ^ 0x04c11db7; /* The same as the ethernet generator - polynomial, although we use an - unreflected alg and an init/final - of 0, not 0xffffffff */ - else - r<<=1; - return (r & 0xffffffffUL); - } - #endif - static ogg_uint32_t crc_lookup[256]={ 0x00000000,0x04c11db7,0x09823b6e,0x0d4326d9, --- 27,35 ---- *************** *** 186,215 **** - /* checksum the page */ - /* Direct table CRC; note that this will be faster in the future if we - perform the checksum silmultaneously with other copies */ - - void ogg_page_checksum_set(ogg_page *og){ - if(og){ - ogg_uint32_t crc_reg=0; - int i; - - /* safety; needed for API behavior, but not framing code */ - og->header[22]=0; - og->header[23]=0; - og->header[24]=0; - og->header[25]=0; - - for(i=0;i<og->header_len;i++) - crc_reg=(crc_reg<<8)^crc_lookup[((crc_reg >> 24)&0xff)^og->header[i]]; - for(i=0;i<og->body_len;i++) - crc_reg=(crc_reg<<8)^crc_lookup[((crc_reg >> 24)&0xff)^og->body[i]]; - - og->header[22]=crc_reg&0xff; - og->header[23]=(crc_reg>>8)&0xff; - og->header[24]=(crc_reg>>16)&0xff; - og->header[25]=(crc_reg>>24)&0xff; - } - } --- 100,103 ---- --- org_tritonus_lowlevel_pogg_Page.c DELETED --- |
|
From: Matthias P. <pfi...@us...> - 2005-02-05 21:07:45
|
Update of /cvsroot/tritonus/tritonus/src/lib/pvorbis/ogg In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1149/lib/pvorbis/ogg Modified Files: ogg.h Log Message: moved to pure java Direct links to online-CVS: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tritonus/tritonus/src/lib/pvorbis/ogg/ogg.h Index: ogg.h =================================================================== RCS file: /cvsroot/tritonus/tritonus/src/lib/pvorbis/ogg/ogg.h,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** ogg.h 5 Feb 2005 18:58:04 -0000 1.5 --- ogg.h 5 Feb 2005 21:07:36 -0000 1.6 *************** *** 33,44 **** } oggpack_buffer; - /* ogg_page is used to encapsulate the data in one Ogg bitstream page *****/ - - typedef struct { - unsigned char *header; - long header_len; - unsigned char *body; - long body_len; - } ogg_page; --- 33,36 ---- *************** *** 101,115 **** - extern void ogg_page_checksum_set(ogg_page *og); - - extern int ogg_page_version(ogg_page *og); - extern int ogg_page_continued(ogg_page *og); - extern int ogg_page_bos(ogg_page *og); - extern int ogg_page_eos(ogg_page *og); - extern ogg_int64_t ogg_page_granulepos(ogg_page *og); - extern int ogg_page_serialno(ogg_page *og); - extern long ogg_page_pageno(ogg_page *og); - extern int ogg_page_packets(ogg_page *og); - extern void ogg_packet_clear(ogg_packet *op); --- 93,96 ---- |
|
From: Matthias P. <pfi...@us...> - 2005-02-05 21:07:44
|
Update of /cvsroot/tritonus/tritonus/src/classes/org/tritonus/lowlevel/pogg In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1149/classes/org/tritonus/lowlevel/pogg Modified Files: Page.java Log Message: moved to pure java Direct links to online-CVS: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tritonus/tritonus/src/classes/org/tritonus/lowlevel/pogg/Page.java Index: Page.java =================================================================== RCS file: /cvsroot/tritonus/tritonus/src/classes/org/tritonus/lowlevel/pogg/Page.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** Page.java 21 Jan 2005 14:00:43 -0000 1.2 --- Page.java 5 Feb 2005 21:07:34 -0000 1.3 *************** *** 37,55 **** public class Page { ! static ! { ! Ogg.loadNativeLibrary(); ! if (TDebug.TraceOggNative) ! { ! setTrace(true); ! } ! } ! /** ! * Holds the pointer to ogg_page ! * for the native code. ! * This must be long to be 64bit-clean. ! */ ! private long m_lNativeHandle; ! --- 37,113 ---- public class Page { ! private static final int[] crc_lookup = ! { ! 0x00000000,0x04c11db7,0x09823b6e,0x0d4326d9, ! 0x130476dc,0x17c56b6b,0x1a864db2,0x1e475005, ! 0x2608edb8,0x22c9f00f,0x2f8ad6d6,0x2b4bcb61, ! 0x350c9b64,0x31cd86d3,0x3c8ea00a,0x384fbdbd, ! 0x4c11db70,0x48d0c6c7,0x4593e01e,0x4152fda9, ! 0x5f15adac,0x5bd4b01b,0x569796c2,0x52568b75, ! 0x6a1936c8,0x6ed82b7f,0x639b0da6,0x675a1011, ! 0x791d4014,0x7ddc5da3,0x709f7b7a,0x745e66cd, ! 0x9823b6e0,0x9ce2ab57,0x91a18d8e,0x95609039, ! 0x8b27c03c,0x8fe6dd8b,0x82a5fb52,0x8664e6e5, ! 0xbe2b5b58,0xbaea46ef,0xb7a96036,0xb3687d81, ! 0xad2f2d84,0xa9ee3033,0xa4ad16ea,0xa06c0b5d, ! 0xd4326d90,0xd0f37027,0xddb056fe,0xd9714b49, ! 0xc7361b4c,0xc3f706fb,0xceb42022,0xca753d95, ! 0xf23a8028,0xf6fb9d9f,0xfbb8bb46,0xff79a6f1, ! 0xe13ef6f4,0xe5ffeb43,0xe8bccd9a,0xec7dd02d, ! 0x34867077,0x30476dc0,0x3d044b19,0x39c556ae, ! 0x278206ab,0x23431b1c,0x2e003dc5,0x2ac12072, ! 0x128e9dcf,0x164f8078,0x1b0ca6a1,0x1fcdbb16, ! 0x018aeb13,0x054bf6a4,0x0808d07d,0x0cc9cdca, ! 0x7897ab07,0x7c56b6b0,0x71159069,0x75d48dde, ! 0x6b93dddb,0x6f52c06c,0x6211e6b5,0x66d0fb02, ! 0x5e9f46bf,0x5a5e5b08,0x571d7dd1,0x53dc6066, ! 0x4d9b3063,0x495a2dd4,0x44190b0d,0x40d816ba, ! 0xaca5c697,0xa864db20,0xa527fdf9,0xa1e6e04e, ! 0xbfa1b04b,0xbb60adfc,0xb6238b25,0xb2e29692, ! 0x8aad2b2f,0x8e6c3698,0x832f1041,0x87ee0df6, ! 0x99a95df3,0x9d684044,0x902b669d,0x94ea7b2a, ! 0xe0b41de7,0xe4750050,0xe9362689,0xedf73b3e, ! 0xf3b06b3b,0xf771768c,0xfa325055,0xfef34de2, ! 0xc6bcf05f,0xc27dede8,0xcf3ecb31,0xcbffd686, ! 0xd5b88683,0xd1799b34,0xdc3abded,0xd8fba05a, ! 0x690ce0ee,0x6dcdfd59,0x608edb80,0x644fc637, ! 0x7a089632,0x7ec98b85,0x738aad5c,0x774bb0eb, ! 0x4f040d56,0x4bc510e1,0x46863638,0x42472b8f, ! 0x5c007b8a,0x58c1663d,0x558240e4,0x51435d53, ! 0x251d3b9e,0x21dc2629,0x2c9f00f0,0x285e1d47, ! 0x36194d42,0x32d850f5,0x3f9b762c,0x3b5a6b9b, ! 0x0315d626,0x07d4cb91,0x0a97ed48,0x0e56f0ff, ! 0x1011a0fa,0x14d0bd4d,0x19939b94,0x1d528623, ! 0xf12f560e,0xf5ee4bb9,0xf8ad6d60,0xfc6c70d7, ! 0xe22b20d2,0xe6ea3d65,0xeba91bbc,0xef68060b, ! 0xd727bbb6,0xd3e6a601,0xdea580d8,0xda649d6f, ! 0xc423cd6a,0xc0e2d0dd,0xcda1f604,0xc960ebb3, ! 0xbd3e8d7e,0xb9ff90c9,0xb4bcb610,0xb07daba7, ! 0xae3afba2,0xaafbe615,0xa7b8c0cc,0xa379dd7b, ! 0x9b3660c6,0x9ff77d71,0x92b45ba8,0x9675461f, ! 0x8832161a,0x8cf30bad,0x81b02d74,0x857130c3, ! 0x5d8a9099,0x594b8d2e,0x5408abf7,0x50c9b640, ! 0x4e8ee645,0x4a4ffbf2,0x470cdd2b,0x43cdc09c, ! 0x7b827d21,0x7f436096,0x7200464f,0x76c15bf8, ! 0x68860bfd,0x6c47164a,0x61043093,0x65c52d24, ! 0x119b4be9,0x155a565e,0x18197087,0x1cd86d30, ! 0x029f3d35,0x065e2082,0x0b1d065b,0x0fdc1bec, ! 0x3793a651,0x3352bbe6,0x3e119d3f,0x3ad08088, ! 0x2497d08d,0x2056cd3a,0x2d15ebe3,0x29d4f654, ! 0xc5a92679,0xc1683bce,0xcc2b1d17,0xc8ea00a0, ! 0xd6ad50a5,0xd26c4d12,0xdf2f6bcb,0xdbee767c, ! 0xe3a1cbc1,0xe760d676,0xea23f0af,0xeee2ed18, ! 0xf0a5bd1d,0xf464a0aa,0xf9278673,0xfde69bc4, ! 0x89b8fd09,0x8d79e0be,0x803ac667,0x84fbdbd0, ! 0x9abc8bd5,0x9e7d9662,0x933eb0bb,0x97ffad0c, ! 0xafb010b1,0xab710d06,0xa6322bdf,0xa2f33668, ! 0xbcb4666d,0xb8757bda,0xb5365d03,0xb1f740b4 ! }; ! ! ! private byte[] m_abHeader; ! private int m_nHeaderLength; ! private byte[] m_abBody; ! private int m_nBodyLength; *************** *** 57,65 **** { if (TDebug.TraceOggNative) { TDebug.out("Page.<init>(): begin"); } - int nReturn = malloc(); - if (nReturn < 0) - { - throw new RuntimeException("malloc of ogg_page failed"); - } if (TDebug.TraceOggNative) { TDebug.out("Page.<init>(): end"); } } --- 115,118 ---- *************** *** 67,130 **** ! public void finalize() { - // TODO: call free() - // call super.finalize() first or last? - // and introduce a flag if free() has already been called? } - - private native int malloc(); - public native void free(); - - /** Calls ogg_page_version(). */ ! public native int getVersion(); /** Calls ogg_page_continued(). */ ! public native boolean isContinued(); /** Calls ogg_page_packets(). */ ! public native int getPackets(); /** Calls ogg_page_bos(). */ ! public native boolean isBos(); /** Calls ogg_page_eos(). */ ! public native boolean isEos(); /** Calls ogg_page_granulepos(). */ ! public native long getGranulePos(); /** Calls ogg_page_serialno(). */ ! public native int getSerialNo(); /** Calls ogg_page_pageno(). */ ! public native int getPageNo(); /** Calls ogg_page_checksum_set(). */ ! public native void setChecksum(); - public native byte[] getHeader(); - public native byte[] getBody(); ! public native void setData(byte[] abHeader, int nHeaderOffset, ! int nHeaderLength, ! byte[] abBody, int nBodyOffset, ! int nBodyLength); ! private static native void setTrace(boolean bTrace); } --- 120,293 ---- ! private native int malloc(); ! ! // TODO: remove calls to this method ! public void free() { } /** Calls ogg_page_version(). */ ! public int getVersion() ! { ! return m_abHeader[4] & 0xFF; ! } ! /** Calls ogg_page_continued(). */ ! public boolean isContinued() ! { ! return (m_abHeader[5] & 0x01) != 0; ! } ! ! /** Calls ogg_page_packets(). */ ! /* returns the number of packets that are completed on this page (if ! the leading packet is begun on a previous page, but ends on this ! page, it's counted */ ! ! /* NOTE: ! If a page consists of a packet begun on a previous page, and a new ! packet begun (but not completed) on this page, the return will be: ! ogg_page_packets(page) ==1, ! ogg_page_continued(page) !=0 ! ! If a page happens to be a single packet that was begun on a ! previous page, and spans to the next page (in the case of a three or ! more page packet), the return will be: ! ogg_page_packets(page) ==0, ! ogg_page_continued(page) !=0 ! */ ! public int getPackets() ! { ! int n = m_abHeader[26] & 0xFF; ! int count = 0; ! for (int i = 0; i < n; i++) ! if ((m_abHeader[27 + i] & 0xFF) < 255) ! count++; ! return count; ! } ! ! /** Calls ogg_page_bos(). */ ! public boolean isBos() ! { ! return (m_abHeader[5] & 0x02) != 0; ! } ! ! /** Calls ogg_page_eos(). */ ! public boolean isEos() ! { ! return (m_abHeader[5] & 0x04) != 0; ! } ! ! /** Calls ogg_page_granulepos(). */ ! public long getGranulePos() ! { ! long granulepos = m_abHeader[13]&(0xff); ! granulepos = (granulepos<<8)|(m_abHeader[12] & 0xFF); ! granulepos = (granulepos<<8)|(m_abHeader[11] & 0xFF); ! granulepos = (granulepos<<8)|(m_abHeader[10] & 0xFF); ! granulepos = (granulepos<<8)|(m_abHeader[9] & 0xFF); ! granulepos = (granulepos<<8)|(m_abHeader[8] & 0xFF); ! granulepos = (granulepos<<8)|(m_abHeader[7] & 0xFF); ! granulepos = (granulepos<<8)|(m_abHeader[6] & 0xFF); ! return granulepos; ! } ! ! /** Calls ogg_page_serialno(). */ ! public int getSerialNo() ! { ! return m_abHeader[14] | ! (m_abHeader[15] << 8) | ! (m_abHeader[16] << 16) | ! (m_abHeader[17] << 24); ! } ! ! /** Calls ogg_page_pageno(). */ ! public int getPageNo() ! { ! return m_abHeader[18] | ! (m_abHeader[19] << 8) | ! (m_abHeader[20] << 16) | ! (m_abHeader[21] << 24); ! } ! ! /** Calls ogg_page_checksum_set(). */ ! public void setChecksum() ! { ! int crc_reg = 0; ! ! /* safety; needed for API behavior, but not framing code */ ! m_abHeader[22]=0; ! m_abHeader[23]=0; ! m_abHeader[24]=0; ! m_abHeader[25]=0; ! ! for(int i = 0; i < m_nHeaderLength; i++) ! crc_reg = (crc_reg << 8) ^ crc_lookup[((crc_reg >>> 24) & 0xff) ^ (m_abHeader[i] & 0xFF)]; ! for(int i = 0; i < m_nBodyLength; i++) ! crc_reg = (crc_reg << 8) ^ crc_lookup[((crc_reg >>> 24) & 0xff) ^ (m_abBody[i] & 0xFF)]; ! ! m_abHeader[22] = (byte) (crc_reg & 0xff); ! m_abHeader[23] = (byte) ((crc_reg >> 8) & 0xff); ! m_abHeader[24] = (byte) ((crc_reg >> 16) & 0xff); ! m_abHeader[25] = (byte) ((crc_reg >> 24) & 0xff); ! } ! public byte[] getHeader() ! { ! byte[] abHeader = new byte[m_nHeaderLength]; ! System.arraycopy(m_abHeader, 0, abHeader, 0, m_nHeaderLength); ! return abHeader; ! } ! ! ! public byte[] getBody() ! { ! byte[] abBody = new byte[m_nBodyLength]; ! System.arraycopy(m_abBody, 0, abBody, 0, m_nBodyLength); ! return abBody; ! } ! ! ! ! public void setData(byte[] abHeader, int nHeaderOffset, ! int nHeaderLength, ! byte[] abBody, int nBodyOffset, ! int nBodyLength) ! { ! m_abHeader = new byte[nHeaderLength]; ! System.arraycopy(abHeader, nHeaderOffset, m_abHeader, 0, nHeaderLength); ! m_nHeaderLength = nHeaderLength; ! m_abBody = new byte[nBodyLength]; ! System.arraycopy(abBody, nBodyOffset, m_abBody, 0, nBodyLength); ! m_nBodyLength = nBodyLength; ! } } |
|
From: Matthias P. <pfi...@us...> - 2005-02-05 18:58:15
|
Update of /cvsroot/tritonus/tritonus/src/classes/org/tritonus/lowlevel/pogg In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5577/classes/org/tritonus/lowlevel/pogg Modified Files: Packet.java StreamState.java Log Message: moved page decoding to pure java; changed some method signatures Direct links to online-CVS: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tritonus/tritonus/src/classes/org/tritonus/lowlevel/pogg/Packet.java http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tritonus/tritonus/src/classes/org/tritonus/lowlevel/pogg/StreamState.java Index: Packet.java =================================================================== RCS file: /cvsroot/tritonus/tritonus/src/classes/org/tritonus/lowlevel/pogg/Packet.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** Packet.java 2 Feb 2005 16:32:44 -0000 1.3 --- Packet.java 5 Feb 2005 18:58:03 -0000 1.4 *************** *** 112,119 **** /** Sets the data in the packet. */ ! public native void setData(byte[] abData, int nLength); ! public native void setFlags(boolean bBos, boolean bEos, long lGranulePos); --- 112,125 ---- /** Sets the data in the packet. */ ! public native void setData(byte[] abData, int nOffset, int nLength); ! public native void setFlags(boolean bBos, boolean bEos, long lGranulePos, ! long lPacketNo); ! ! public void setFlags(boolean bBos, boolean bEos, long lGranulePos) ! { ! setFlags(bBos, bEos, lGranulePos, 0); ! } Index: StreamState.java =================================================================== RCS file: /cvsroot/tritonus/tritonus/src/classes/org/tritonus/lowlevel/pogg/StreamState.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** StreamState.java 3 Feb 2005 16:35:47 -0000 1.3 --- StreamState.java 5 Feb 2005 18:58:03 -0000 1.4 *************** *** 36,58 **** public class StreamState { - static - { - Ogg.loadNativeLibrary(); - if (TDebug.TraceOggNative) - { - setTrace(true); - } - } - private static final int INITIAL_BODY_DATA_SIZE = 16 * 1024; private static final int INITIAL_LACING_VALUES_SIZE = 1024; - /** - * Holds the pointer to ogg_stream_state - * for the native code. - * This must be long to be 64bit-clean. - */ - private long m_lNativeHandle; - /** The serial number of the stream. This is set by init(). --- 36,42 ---- *************** *** 72,76 **** private int m_nBodyReturned; ! /** Lacing values. */ private int[] m_anLacingValues; --- 56,63 ---- private int m_nBodyReturned; ! /** Lacing values. Bit 0 to 7 contain the lacing value (mask ! 0xFF). Bit 8 is set if the segment belongs to the first ! packet of the stream (mask 0x100). Bit 9 is set ig the ! segment belongs to the last packet of the stream (mask 0x200). */ private int[] m_anLacingValues; *************** *** 80,85 **** --- 67,82 ---- private long[] m_alGranuleValues; + /** Number of elements used in m_anLacingValues and m_alGranuleValues. + The elements with the index m_nLacingFill is the first free element. + */ private int m_nLacingFill; + + /** Pointer to the index in m_anLacingValues where the lacing values + of the last decoded packet start (??) + */ private int m_nLacingPacket; + + /** + */ private int m_nLacingReturned; *************** *** 99,107 **** { if (TDebug.TraceOggNative) { TDebug.out("StreamState.<init>(): begin"); } - int nReturn = malloc(); - if (nReturn < 0) - { - throw new RuntimeException("malloc of ogg_stream_state failed"); - } if (TDebug.TraceOggNative) { TDebug.out("StreamState.<init>(): end"); } } --- 96,99 ---- *************** *** 109,126 **** ! public void finalize() { - // TODO: call free() - // call super.finalize() first or last? - // and introduce a flag if free() has already been called? } - private native int malloc(); - public native void free(); - - - /** Calls ogg_stream_init(). */ --- 101,110 ---- ! public void free() { } /** Calls ogg_stream_init(). */ *************** *** 147,167 **** // TODO: necessary? ! for(int i = 0; i < m_abBodyData.length; i++) m_abBodyData[i] = 0; ! for(int i = 0; i < m_anLacingValues.length; i++) m_anLacingValues[i] = 0; ! for(int i = 0; i < m_alGranuleValues.length; i++) m_alGranuleValues[i] = 0; // TODO: remove return value ! // return 0; ! return init_native(nSerialNo); } - /** Calls ogg_stream_init(). - */ - private native int init_native(int nSerialNo); - - /** Calls ogg_stream_clear(). */ --- 131,145 ---- // TODO: necessary? ! for (int i = 0; i < m_abBodyData.length; i++) m_abBodyData[i] = 0; ! for (int i = 0; i < m_anLacingValues.length; i++) m_anLacingValues[i] = 0; ! for (int i = 0; i < m_alGranuleValues.length; i++) m_alGranuleValues[i] = 0; // TODO: remove return value ! return 0; } /** Calls ogg_stream_clear(). */ *************** *** 188,225 **** // TODO: remove return value ! // return 0; ! return clear_native(); } - /** Calls ogg_stream_clear(). - */ - private native int clear_native(); - - /** Calls ogg_stream_reset(). */ public int reset() { ! return reset_native(); ! } ! ! /** Calls ogg_stream_reset(). ! */ ! private native int reset_native(); ! /** Calls ogg_stream_destroy(). ! */ ! // TODO: remove calls to this method ! public int destroy() ! { ! clear(); ! return destroy_native(); ! } ! /** Calls ogg_stream_destroy(). ! */ ! private native int destroy_native(); /** Calls ogg_stream_eos(). --- 166,194 ---- // TODO: remove return value ! return 0; } /** Calls ogg_stream_reset(). */ public int reset() { ! m_nBodyFill = 0; ! m_nBodyReturned = 0; + m_nLacingFill = 0; + m_nLacingPacket = 0; + m_nLacingReturned = 0; ! m_nHeaderFill = 0; ! m_bBos = false; ! m_bEos = false; ! m_nPageNo = -1; ! m_lPacketNo = 0; ! m_lGranulePos = 0; + // TODO: remove return value + return 0; + } /** Calls ogg_stream_eos(). *************** *** 227,240 **** public boolean isEOSReached() { ! // return m_bEos; ! return isEOSReached_native(); } - /** Calls ogg_stream_eos(). - */ - private native boolean isEOSReached_native(); - - - /** Calls ogg_stream_packetin(). */ --- 196,202 ---- public boolean isEOSReached() { ! return m_bEos; } /** Calls ogg_stream_packetin(). */ *************** *** 290,294 **** m_lPacketNo++; ! if(packet.isEos()) m_bEos = true; return 0; --- 252,256 ---- m_lPacketNo++; ! if (packet.isEos()) m_bEos = true; return 0; *************** *** 300,305 **** */ /* This constructs pages from buffered packet segments. The pointers ! returned are to static buffers; do not free. The returned buffers are ! good only until the next call (using the same ogg_stream_state) */ public int pageOut(Page page) { --- 262,267 ---- */ /* This constructs pages from buffered packet segments. The pointers ! returned are to static buffers; do not free. The returned buffers are ! good only until the next call (using the same ogg_stream_state) */ public int pageOut(Page page) { *************** *** 444,448 **** /* set pointers in the ogg_page struct */ page.setData(m_abHeader, 0, vals + 27, ! m_abBodyData, m_nBodyReturned, bytes); m_nHeaderFill = vals + 27; --- 406,410 ---- /* set pointers in the ogg_page struct */ page.setData(m_abHeader, 0, vals + 27, ! m_abBodyData, m_nBodyReturned, bytes); m_nHeaderFill = vals + 27; *************** *** 466,487 **** ! /** Calls ogg_stream_pagein(). ! */ public int pageIn(Page page) { ! return pageIn_native(page); ! } ! /** Calls ogg_stream_pagein(). ! */ ! private native int pageIn_native(Page page); ! /** Calls ogg_stream_packetout(). ! */ ! public int packetOut(Packet packet) ! { ! return packetOut_native(packet); } --- 428,578 ---- ! /** add the incoming page to the stream state; we decompose the ! page into packet segments here as well. ! ! @return 0 on success, -1 if the stream serial number stored in ! the page does not match the one stored in the stream state or ! if the protocol version stored in the page is greater than 0. ! */ public int pageIn(Page page) { ! byte[] header = page.getHeader(); ! byte[] body = page.getBody(); ! int nBodyOffset = 0; ! int bodysize = body.length; ! int segptr = 0; ! ! int version = page.getVersion(); ! boolean continued = page.isContinued(); ! boolean bos = page.isBos(); ! boolean eos = page.isEos(); ! long granulepos = page.getGranulePos(); ! int serialno = page.getSerialNo(); ! int pageno = page.getPageNo(); ! int segments = header[26] & 0xFF; ! ! /* clean up 'returned data' */ ! int lr = m_nLacingReturned; ! int br = m_nBodyReturned; + /* body data */ + if (br > 0) + { + m_nBodyFill -= br; + if (m_nBodyFill > 0) + { + System.arraycopy(m_abBodyData, br, m_abBodyData, 0, + m_nBodyFill); + } + m_nBodyReturned = 0; + } ! if (lr > 0) ! { ! /* segment table */ ! if (m_nLacingFill - lr > 0) ! { ! System.arraycopy(m_anLacingValues, lr, m_anLacingValues, 0, ! m_nLacingFill - lr); ! System.arraycopy(m_alGranuleValues, lr, m_alGranuleValues, 0, ! m_nLacingFill - lr); ! } ! m_nLacingFill -= lr; ! m_nLacingPacket -= lr; ! m_nLacingReturned = 0; ! } + /* check the serial number */ + if (serialno != m_nSerialNo) + return -1; + if (version > 0) + return -1; ! assureLacingValuesCapacity(segments + 1); ! ! /* are we in sequence? */ ! if (pageno != m_nPageNo) ! { ! int i; ! ! /* unroll previous partial packet (if any) */ ! for (i = m_nLacingPacket; i < m_nLacingFill; i++) ! m_nBodyFill -= (m_anLacingValues[i] & 0xFF); ! m_nLacingFill = m_nLacingPacket; ! ! /* make a note of dropped data in segment table */ ! if (m_nPageNo != -1) ! { ! m_anLacingValues[m_nLacingFill] = 0x400; ! m_nLacingFill++; ! m_nLacingPacket++; ! } ! ! /* are we a 'continued packet' page? If so, we'll need to skip ! some segments */ ! if (continued) ! { ! bos = false; ! for (; segptr < segments; segptr++) ! { ! int val = header[27 + segptr] & 0xFF; ! nBodyOffset += val; ! bodysize -= val; ! if (val < 255) ! { ! segptr++; ! break; ! } ! } ! } ! } ! ! if (bodysize > 0) ! { ! assureBodyDataCapacity(bodysize); ! System.arraycopy(body, nBodyOffset, m_abBodyData, m_nBodyFill, ! bodysize); ! m_nBodyFill += bodysize; ! } ! ! int saved = -1; ! while (segptr < segments) ! { ! int val = header[27 + segptr] & 0xFF; ! m_anLacingValues[m_nLacingFill] = val; ! m_alGranuleValues[m_nLacingFill] = -1; ! ! if (bos) ! { ! m_anLacingValues[m_nLacingFill] |= 0x100; ! bos = false; ! } ! ! if (val < 255) ! saved = m_nLacingFill; ! ! m_nLacingFill++; ! segptr++; ! ! if (val < 255) ! m_nLacingPacket = m_nLacingFill; ! } ! ! /* set the granulepos on the last granuleval of the last full packet */ ! if (saved != -1) ! { ! m_alGranuleValues[saved] = granulepos; ! } ! ! if (eos) ! { ! m_bEos = true; ! if (m_nLacingFill > 0) ! m_anLacingValues[m_nLacingFill - 1] |= 0x200; ! } ! ! m_nPageNo = pageno + 1; ! ! return 0; } *************** *** 489,493 **** /** Calls ogg_stream_packetout(). */ ! private native int packetOut_native(Packet packet); --- 580,587 ---- /** Calls ogg_stream_packetout(). */ ! public int packetOut(Packet packet) ! { ! return packetOutInternal(packet, true); ! } *************** *** 496,506 **** public int packetPeek(Packet packet) { ! return packetPeek_native(packet); } ! /** Calls ogg_stream_packetpeek(). ! */ ! private native int packetPeek_native(Packet packet); --- 590,667 ---- public int packetPeek(Packet packet) { ! return packetOutInternal(packet, false); } ! /** Retrieves a packet from the internal storage for emission. ! This method is called by packetOut and packetPeek. ! ! @param packet the Packet object to store the retrieved packet ! data in. May be null if bAdvance is false. ! ! @param bAdvance should the internal pointers to the packet ! data storage be advanced to the next packet after retrieving ! this one? Called with a value of true for ordinary packet out ! and with a value of false for packet peek. ! ! @return ! */ ! private int packetOutInternal(Packet packet, boolean bAdvance) ! { ! /* The last part of decode. We have the stream broken into ! packet segments. Now we need to group them into packets ! (or return the out of sync markers) */ ! ! int ptr = m_nLacingReturned; ! ! if (m_nLacingPacket <= ptr) ! return 0; ! ! if ((m_anLacingValues[ptr] & 0x400) != 0) ! { ! /* we need to tell the codec there's a gap; it might need ! to handle previous packet dependencies. */ ! m_nLacingReturned++; ! m_lPacketNo++; ! return -1; ! } ! ! if (packet == null && ! bAdvance) ! return 1; /* just using peek as an inexpensive way ! to ask if there's a whole packet ! waiting */ ! ! /* Gather the whole packet. We'll have no holes or a partial ! * packet */ ! int size = m_anLacingValues[ptr] & 0xFF; ! int bytes = size; ! /* last packet of the stream? */ ! boolean eos = (m_anLacingValues[ptr] & 0x200) != 0; ! /* first packet of the stream? */ ! boolean bos = (m_anLacingValues[ptr] & 0x100) != 0; ! ! while (size == 255) ! { ! int val = m_anLacingValues[++ptr]; ! size = val & 0xff; ! if ((val & 0x200) != 0) ! eos = true; ! bytes += size; ! } ! ! if (packet != null) ! { ! packet.setData(m_abBodyData, m_nBodyReturned, bytes); ! packet.setFlags(bos, eos, m_alGranuleValues[ptr], m_lPacketNo); ! } ! ! if (bAdvance) ! { ! m_nBodyReturned += bytes; ! m_nLacingReturned = ptr + 1; ! m_lPacketNo++; ! } ! return 1; ! } *************** *** 534,541 **** } } - - - - private static native void setTrace(boolean bTrace); } --- 695,698 ---- |
|
From: Matthias P. <pfi...@us...> - 2005-02-05 18:58:15
|
Update of /cvsroot/tritonus/tritonus/src/classes/org/tritonus/lowlevel/pvorbis In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5577/classes/org/tritonus/lowlevel/pvorbis Modified Files: DspState.java Log Message: moved page decoding to pure java; changed some method signatures Direct links to online-CVS: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tritonus/tritonus/src/classes/org/tritonus/lowlevel/pvorbis/DspState.java Index: DspState.java =================================================================== RCS file: /cvsroot/tritonus/tritonus/src/classes/org/tritonus/lowlevel/pvorbis/DspState.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** DspState.java 14 Jan 2005 10:00:01 -0000 1.3 --- DspState.java 5 Feb 2005 18:58:03 -0000 1.4 *************** *** 121,130 **** getInfo().pack(buffer); ! infoPacket.setData(buffer.getBuffer(), buffer.bytes()); infoPacket.setFlags(true, false, 0); buffer.reset(); comment.pack(buffer); ! commentPacket.setData(buffer.getBuffer(), buffer.bytes()); commentPacket.setFlags(false, false, 0); --- 121,130 ---- getInfo().pack(buffer); ! infoPacket.setData(buffer.getBuffer(), 0, buffer.bytes()); infoPacket.setFlags(true, false, 0); buffer.reset(); comment.pack(buffer); ! commentPacket.setData(buffer.getBuffer(), 0, buffer.bytes()); commentPacket.setFlags(false, false, 0); |