diff options
author | Thibaut Mattern <tmattern@users.sourceforge.net> | 2002-10-21 23:22:29 +0000 |
---|---|---|
committer | Thibaut Mattern <tmattern@users.sourceforge.net> | 2002-10-21 23:22:29 +0000 |
commit | d3e5064caebf2feca90a8b30b08290670512f2e1 (patch) | |
tree | c4a6c21f1774a44285faf6522ea35e313fe56be2 | |
parent | 9a8e8eb6229751e35a24b7164d178321e511ff9b (diff) | |
download | xine-lib-d3e5064caebf2feca90a8b30b08290670512f2e1.tar.gz xine-lib-d3e5064caebf2feca90a8b30b08290670512f2e1.tar.bz2 |
Fix BUF_FLAG_PREVIEW problem (ie don't repeat first second).
CVS patchset: 2902
CVS date: 2002/10/21 23:22:29
-rw-r--r-- | src/libmad/xine_decoder.c | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/src/libmad/xine_decoder.c b/src/libmad/xine_decoder.c index b3f1201a4..cd1010273 100644 --- a/src/libmad/xine_decoder.c +++ b/src/libmad/xine_decoder.c @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: xine_decoder.c,v 1.32 2002/10/20 21:15:07 guenter Exp $ + * $Id: xine_decoder.c,v 1.33 2002/10/21 23:22:29 tmattern Exp $ * * stuff needed to turn libmad into a xine decoder plugin */ @@ -115,7 +115,7 @@ static void mad_decode_data (audio_decoder_t *this_gen, buf_element_t *buf) { #ifdef LOG printf ("libmad: decode data, decoder_flags: %d\n", buf->decoder_flags); #endif - + if (buf->size>(INPUT_BUF_SIZE-this->bytes_in_buffer)) { printf ("libmad: ALERT input buffer too small (%d bytes, %d avail)!\n", buf->size, INPUT_BUF_SIZE-this->bytes_in_buffer); @@ -125,9 +125,9 @@ static void mad_decode_data (audio_decoder_t *this_gen, buf_element_t *buf) { if ((buf->decoder_flags & BUF_FLAG_HEADER) == 0) { xine_fast_memcpy (&this->buffer[this->bytes_in_buffer], - buf->content, buf->size); + buf->content, buf->size); this->bytes_in_buffer += buf->size; - + /* printf ("libmad: decode data - doing it\n"); */ @@ -209,11 +209,8 @@ static void mad_decode_data (audio_decoder_t *this_gen, buf_element_t *buf) { mad_synth_frame (&this->synth, &this->frame); - if ( buf->decoder_flags & BUF_FLAG_PREVIEW ) - return; - - - { + if ( (buf->decoder_flags & BUF_FLAG_PREVIEW) == 0 ) { + unsigned int nchannels, nsamples; mad_fixed_t const *left_ch, *right_ch; struct mad_pcm *pcm = &this->synth.pcm; |