summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Schleef <ds@schleef.org>2003-12-02 02:34:37 +0000
committerDavid Schleef <ds@schleef.org>2003-12-02 02:34:37 +0000
commiteee3e34645c89024dc4d3d22c83f78ed4c70b996 (patch)
treee49446bf9e202ff96c54644e9269149d7a651531
parentdf41e0a0d7c87f7aec6db18ec5febd6124b2161a (diff)
Apply patch from jesimon@libertysurf.fr (Jeremy SIMON) in #122368.
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.
-rw-r--r--ext/flac/gstflacenc.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/ext/flac/gstflacenc.c b/ext/flac/gstflacenc.c
index d8928a0c..a0f9fb91 100644
--- a/ext/flac/gstflacenc.c
+++ b/ext/flac/gstflacenc.c
@@ -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) {