diff options
author | Michael Roitzsch <mroi@users.sourceforge.net> | 2004-05-29 14:45:25 +0000 |
---|---|---|
committer | Michael Roitzsch <mroi@users.sourceforge.net> | 2004-05-29 14:45:25 +0000 |
commit | a74413f06efef91496b3f5b9f749b328ede19ac8 (patch) | |
tree | 4077995d8ad8c0fc3784d9c7d91a40e1b15e731c /src/post/visualizations/fftscope.c | |
parent | cd2b6b26d53a8d879250cd28f0dfbb1cf2b04355 (diff) | |
download | xine-lib-a74413f06efef91496b3f5b9f749b328ede19ac8.tar.gz xine-lib-a74413f06efef91496b3f5b9f749b328ede19ac8.tar.bz2 |
separate the two semantics of querying a port's status with a NULL stream;
before, NULL could mean two things: no stream at all or a stream that does not
want to be addressed; now the latter is represented by the new XINE_ANON_STREAM
resulting changes:
* the status() functions now behave differently for NULL and XINE_ANON_STREAM
(as the commentary always implied, but this was not the case, so post
plugin rewiring went wrong, because it relies on the status() function)
* the NULL_STREAM defines in audio_out and video_out are obsolete
* update the function comments in the headers
* update the post plugin rewire functions to use the status() functions to
check, if the old port was opened and handle the new one accordingly;
this makes open_count obsolete
* change all post plugins accordingly (mostly using XINE_ANON_STREAM instead
of NULL)
additional change:
* the status() function of audio port now returns the bits/rate/mode values
of the input and not the output; this is more likely to be what a post plugin
wants
* the reimplementation of status() in the upmix plugin is obsolete
CVS patchset: 6603
CVS date: 2004/05/29 14:45:25
Diffstat (limited to 'src/post/visualizations/fftscope.c')
-rw-r--r-- | src/post/visualizations/fftscope.c | 20 |
1 files changed, 7 insertions, 13 deletions
diff --git a/src/post/visualizations/fftscope.c b/src/post/visualizations/fftscope.c index d2a98bb9f..95ed6969e 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.26 2004/05/18 03:17:03 miguelfreitas Exp $ + * $Id: fftscope.c,v 1.27 2004/05/29 14:45:26 mroi Exp $ * */ @@ -260,8 +260,8 @@ static int fftscope_rewire_video(xine_post_out_t *output_gen, void *data) if (!data) return 0; /* register our stream at the new output port */ - old_port->close(old_port, NULL); - new_port->open(new_port, NULL); + old_port->close(old_port, XINE_ANON_STREAM); + new_port->open(new_port, XINE_ANON_STREAM); /* reconnect ourselves */ this->vo_port = new_port; return 1; @@ -277,14 +277,10 @@ static int fftscope_port_open(xine_audio_port_t *port_gen, xine_stream_t *stream _x_post_rewire(&this->post); _x_post_inc_usage(port); - if (stream) - port->stream = stream; - else - port->stream = POST_NULL_STREAM; + port->stream = stream; port->bits = bits; port->rate = rate; port->mode = mode; - port->open_count++; this->ratio = (double)FFT_WIDTH/(double)FFT_HEIGHT; @@ -295,7 +291,7 @@ static int fftscope_port_open(xine_audio_port_t *port_gen, xine_stream_t *stream this->data_idx = 0; this->fft = fft_new(FFT_BITS); - this->vo_port->open(this->vo_port, NULL); + this->vo_port->open(this->vo_port, XINE_ANON_STREAM); this->metronom->set_master(this->metronom, stream->metronom); for (c = 0; c < this->channels; c++) { @@ -321,13 +317,11 @@ static void fftscope_port_close(xine_audio_port_t *port_gen, xine_stream_t *stre fft_dispose(this->fft); this->fft = NULL; - this->vo_port->close(this->vo_port, NULL); + this->vo_port->close(this->vo_port, XINE_ANON_STREAM); this->metronom->set_master(this->metronom, NULL); port->original_port->close(port->original_port, stream ); - port->open_count--; - _x_post_dec_usage(port); } @@ -408,7 +402,7 @@ static void fftscope_port_put_buffer (xine_audio_port_t *port_gen, draw_fftscope(this, frame); - frame->draw(frame, NULL); + frame->draw(frame, XINE_ANON_STREAM); frame->free(frame); } } while( this->sample_counter >= this->samples_per_frame ); |