diff options
author | Thibaut Mattern <tmattern@users.sourceforge.net> | 2003-07-26 17:44:30 +0000 |
---|---|---|
committer | Thibaut Mattern <tmattern@users.sourceforge.net> | 2003-07-26 17:44:30 +0000 |
commit | 90f9a53a2a69b34c26b1b732b5efea3c3fddb02e (patch) | |
tree | 422f96ae6c6c8807948d1d5091cf67326660cd1c | |
parent | f67de27c237b39f9c5f2ceffd61e6b4561e7cbef (diff) | |
download | xine-lib-90f9a53a2a69b34c26b1b732b5efea3c3fddb02e.tar.gz xine-lib-90f9a53a2a69b34c26b1b732b5efea3c3fddb02e.tar.bz2 |
Same pts hack for all viz plugins
CVS patchset: 5216
CVS date: 2003/07/26 17:44:30
-rw-r--r-- | src/post/visualizations/fftscope.c | 11 | ||||
-rw-r--r-- | src/post/visualizations/fooviz.c | 10 | ||||
-rw-r--r-- | src/post/visualizations/oscope.c | 10 |
3 files changed, 27 insertions, 4 deletions
diff --git a/src/post/visualizations/fftscope.c b/src/post/visualizations/fftscope.c index 7ce034779..c595e21be 100644 --- a/src/post/visualizations/fftscope.c +++ b/src/post/visualizations/fftscope.c @@ -22,7 +22,7 @@ * * FFT code by Steve Haehnichen, originally licensed under GPL v1 * - * $Id: fftscope.c,v 1.13 2003/04/30 06:58:51 tmattern Exp $ + * $Id: fftscope.c,v 1.14 2003/07/26 17:44:30 tmattern Exp $ * */ @@ -538,7 +538,14 @@ static void fftscope_port_put_buffer (xine_audio_port_t *port_gen, uint64_t vpts = buf->vpts; int i, c; - + /* HACK: compute a pts using metronom internals */ + if (!vpts) { + metronom_t *metronom = this->stream->metronom; + pthread_mutex_lock(&metronom->lock); + vpts = metronom->audio_vpts - metronom->vpts_offset; + pthread_mutex_unlock(&metronom->lock); + } + /* make a copy of buf data for private use */ if( this->buf.mem_size < buf->mem_size ) { this->buf.mem = realloc(this->buf.mem, buf->mem_size); diff --git a/src/post/visualizations/fooviz.c b/src/post/visualizations/fooviz.c index f5f11e739..c1aecb329 100644 --- a/src/post/visualizations/fooviz.c +++ b/src/post/visualizations/fooviz.c @@ -23,7 +23,7 @@ * process. It simply paints the screen a solid color and rotates through * colors on each iteration. * - * $Id: fooviz.c,v 1.7 2003/05/31 18:33:30 miguelfreitas Exp $ + * $Id: fooviz.c,v 1.8 2003/07/26 17:44:30 tmattern Exp $ * */ @@ -172,6 +172,14 @@ static void fooviz_port_put_buffer (xine_audio_port_t *port_gen, uint64_t vpts = buf->vpts; int i, j; + /* HACK: compute a pts using metronom internals */ + if (!vpts) { + metronom_t *metronom = this->stream->metronom; + pthread_mutex_lock(&metronom->lock); + vpts = metronom->audio_vpts - metronom->vpts_offset; + pthread_mutex_unlock(&metronom->lock); + } + /* make a copy of buf data for private use */ if( this->buf.mem_size < buf->mem_size ) { this->buf.mem = realloc(this->buf.mem, buf->mem_size); diff --git a/src/post/visualizations/oscope.c b/src/post/visualizations/oscope.c index b11e282bd..e143b8f27 100644 --- a/src/post/visualizations/oscope.c +++ b/src/post/visualizations/oscope.c @@ -20,7 +20,7 @@ * Basic Oscilloscope Visualization Post Plugin For xine * by Mike Melanson (melanson@pcisys.net) * - * $Id: oscope.c,v 1.7 2003/04/30 06:58:51 tmattern Exp $ + * $Id: oscope.c,v 1.8 2003/07/26 17:44:30 tmattern Exp $ * */ @@ -243,6 +243,14 @@ static void oscope_port_put_buffer (xine_audio_port_t *port_gen, uint64_t vpts = buf->vpts; int i, c; + /* HACK: compute a pts using metronom internals */ + if (!vpts) { + metronom_t *metronom = this->stream->metronom; + pthread_mutex_lock(&metronom->lock); + vpts = metronom->audio_vpts - metronom->vpts_offset; + pthread_mutex_unlock(&metronom->lock); + } + /* make a copy of buf data for private use */ if( this->buf.mem_size < buf->mem_size ) { this->buf.mem = realloc(this->buf.mem, buf->mem_size); |