From 90f9a53a2a69b34c26b1b732b5efea3c3fddb02e Mon Sep 17 00:00:00 2001 From: Thibaut Mattern Date: Sat, 26 Jul 2003 17:44:30 +0000 Subject: Same pts hack for all viz plugins CVS patchset: 5216 CVS date: 2003/07/26 17:44:30 --- src/post/visualizations/fftscope.c | 11 +++++++++-- src/post/visualizations/fooviz.c | 10 +++++++++- 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); -- cgit v1.2.3