diff options
-rw-r--r-- | ext/flac/gstflacenc.c | 17 |
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) { |