Apply patch from jesimon@libertysurf.fr (Jeremy SIMON) in #122368.
authorDavid Schleef <ds@schleef.org>
Tue, 2 Dec 2003 02:34:37 +0000 (02:34 +0000)
committerDavid Schleef <ds@schleef.org>
Tue, 2 Dec 2003 02:34:37 +0000 (02:34 +0000)
Original commit message from CVS:
Apply patch from jesimon@libertysurf.fr (Jeremy SIMON) in #122368.
FLAC io functions should be called every time the encoder is initialized.

ext/flac/gstflacenc.c

index d8928a0..a0f9fb9 100644 (file)
@@ -335,14 +335,6 @@ gst_flacenc_init (FlacEnc *flacenc)
 
   flacenc->encoder = FLAC__seekable_stream_encoder_new();
 
-  FLAC__seekable_stream_encoder_set_write_callback (flacenc->encoder, 
-                                       gst_flacenc_write_callback);
-  FLAC__seekable_stream_encoder_set_seek_callback (flacenc->encoder, 
-                                       gst_flacenc_seek_callback);
-                                       
-  FLAC__seekable_stream_encoder_set_client_data (flacenc->encoder, 
-                                       flacenc);
-                 
   flacenc->negotiated = FALSE;
   flacenc->first = TRUE;
   flacenc->first_buf = NULL;
@@ -580,6 +572,15 @@ gst_flacenc_chain (GstPad *pad, GstData *_data)
                  FLAC__SEEKABLE_STREAM_ENCODER_UNINITIALIZED) 
   {
     FLAC__SeekableStreamEncoderState state;
+
+    FLAC__seekable_stream_encoder_set_write_callback (flacenc->encoder, 
+                                          gst_flacenc_write_callback);
+    FLAC__seekable_stream_encoder_set_seek_callback (flacenc->encoder, 
+                                          gst_flacenc_seek_callback);
+                                          
+    FLAC__seekable_stream_encoder_set_client_data (flacenc->encoder, 
+                                          flacenc);
+                 
     gst_flacenc_set_metadata (flacenc);
     state = FLAC__seekable_stream_encoder_init (flacenc->encoder);
     if (state != FLAC__STREAM_ENCODER_OK) {