From a6e733f5f43ced09a06fe2de569e5d6ab6d63604 Mon Sep 17 00:00:00 2001 From: Jon Bergli Heier Date: Sun, 5 Sep 2010 20:39:32 +0200 Subject: Added proper error handling to encoders/decoders. --- encoders/encoder_lame.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'encoders') diff --git a/encoders/encoder_lame.c b/encoders/encoder_lame.c index bf3baff..0836d17 100644 --- a/encoders/encoder_lame.c +++ b/encoders/encoder_lame.c @@ -13,7 +13,7 @@ static gboolean lame_encoder_init(gpointer *data) { } static gssize lame_encoder_encode(gpointer data, GInputStream *input, - GOutputStream *output) { + GOutputStream *output, GError **error) { lame_global_flags *gfp = data; const int inbuf_size = 0x400*8; const int outbuf_size = 0x400*8; @@ -25,7 +25,13 @@ static gssize lame_encoder_encode(gpointer data, GInputStream *input, int ret = lame_encode_buffer_interleaved(gfp, (short*)inbuf, inbuf_read / 4, outbuf, outbuf_size); - return g_output_stream_write(output, outbuf, ret, NULL, NULL); + ret = g_output_stream_write(output, outbuf, ret, NULL, error); + + if(ret == 0) { + *error = g_error_new(encoder_quark(), ENCODER_CODE_DONE, "encoding done"); + } + + return ret; } static void lame_encoder_close(gpointer data) { -- cgit v1.2.3