summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Terriberry <tterribe@xiph.org>2010-08-31 18:51:40 +0000
committerTim Terriberry <tterribe@xiph.org>2010-08-31 18:51:40 +0000
commit7125eb6381e57436db1c5a2d7c4e52091c37e95c (patch)
tree69cac8f2ae0282587205c4044794b19be8ca1e30
parent4ec59aa611e2d4093428c66d01dbbf2535c6cca5 (diff)
downloadtremor-7125eb6381e57436db1c5a2d7c4e52091c37e95c.tar.gz
Remove the extra argument from vorbis_synthesis().
Add vorbis_synthesis_trackonly() instead, so that this part of the API works like mainline libvorbis now. git-svn-id: https://svn.xiph.org/trunk/Tremor@17374 0101bb08-14d6-0310-b084-bc0e0c8e3800
-rw-r--r--Version_script.in1
-rw-r--r--ivorbiscodec.h3
-rw-r--r--synthesis.c10
-rw-r--r--vorbisfile.c20
4 files changed, 22 insertions, 12 deletions
diff --git a/Version_script.in b/Version_script.in
index e16d322..7f22f2f 100644
--- a/Version_script.in
+++ b/Version_script.in
@@ -51,6 +51,7 @@
vorbis_synthesis_init;
vorbis_synthesis_restart;
vorbis_synthesis;
+ vorbis_synthesis_trackonly;
vorbis_synthesis_blockin;
vorbis_synthesis_pcmout;
vorbis_synthesis_read;
diff --git a/ivorbiscodec.h b/ivorbiscodec.h
index 40a9c47..25e6509 100644
--- a/ivorbiscodec.h
+++ b/ivorbiscodec.h
@@ -171,7 +171,8 @@ extern int vorbis_synthesis_headerin(vorbis_info *vi,vorbis_comment *vc,
extern int vorbis_synthesis_init(vorbis_dsp_state *v,vorbis_info *vi);
extern int vorbis_synthesis_restart(vorbis_dsp_state *v);
-extern int vorbis_synthesis(vorbis_block *vb,ogg_packet *op,int decodep);
+extern int vorbis_synthesis(vorbis_block *vb,ogg_packet *op);
+extern int vorbis_synthesis_trackonly(vorbis_block *vb,ogg_packet *op);
extern int vorbis_synthesis_blockin(vorbis_dsp_state *v,vorbis_block *vb);
extern int vorbis_synthesis_pcmout(vorbis_dsp_state *v,ogg_int32_t ***pcm);
extern int vorbis_synthesis_read(vorbis_dsp_state *v,int samples);
diff --git a/synthesis.c b/synthesis.c
index 962c730..1c08752 100644
--- a/synthesis.c
+++ b/synthesis.c
@@ -24,7 +24,7 @@
#include "misc.h"
#include "block.h"
-int vorbis_synthesis(vorbis_block *vb,ogg_packet *op,int decodep){
+static int _vorbis_synthesis1(vorbis_block *vb,ogg_packet *op,int decodep){
vorbis_dsp_state *vd=vb->vd;
private_state *b=(private_state *)vd->backend_state;
vorbis_info *vi=vd->vi;
@@ -82,6 +82,14 @@ int vorbis_synthesis(vorbis_block *vb,ogg_packet *op,int decodep){
}
}
+int vorbis_synthesis(vorbis_block *vb,ogg_packet *op){
+ return _vorbis_synthesis1(vb,op,1);
+}
+
+int vorbis_synthesis_trackonly(vorbis_block *vb,ogg_packet *op){
+ return _vorbis_synthesis1(vb,op,0);
+}
+
long vorbis_packet_blocksize(vorbis_info *vi,ogg_packet *op){
codec_setup_info *ci=(codec_setup_info *)vi->codec_setup;
oggpack_buffer opb;
diff --git a/vorbisfile.c b/vorbisfile.c
index a0967a4..f096a17 100644
--- a/vorbisfile.c
+++ b/vorbisfile.c
@@ -714,13 +714,13 @@ static int _fetch_and_process_packet(OggVorbis_File *vf,
if(result>0){
/* got a packet. process it */
granulepos=op.granulepos;
- if(!vorbis_synthesis(&vf->vb,&op,1)){ /* lazy check for lazy
- header handling. The
- header packets aren't
- audio, so if/when we
- submit them,
- vorbis_synthesis will
- reject them */
+ if(!vorbis_synthesis(&vf->vb,&op)){ /* lazy check for lazy
+ header handling. The
+ header packets aren't
+ audio, so if/when we
+ submit them,
+ vorbis_synthesis will
+ reject them */
/* suck in the synthesis data and track bitrate */
{
@@ -1580,9 +1580,9 @@ int ov_pcm_seek(OggVorbis_File *vf,ogg_int64_t pos){
/* remove the packet from packet queue and track its granulepos */
ogg_stream_packetout(vf->os,NULL);
- vorbis_synthesis(&vf->vb,&op,0); /* set up a vb with
- only tracking, no
- pcm_decode */
+ vorbis_synthesis_trackonly(&vf->vb,&op); /* set up a vb with
+ only tracking, no
+ pcm_decode */
vorbis_synthesis_blockin(&vf->vd,&vf->vb);
/* end of logical stream case is hard, especially with exact