diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | ext/faac/gstfaac.c | 11 |
2 files changed, 13 insertions, 4 deletions
@@ -1,3 +1,9 @@ +2007-11-21 Wim Taymans <wim.taymans@gmail.com> + + * ext/faac/gstfaac.c: (gst_faac_sink_event): + Don't try to flush the decoder on EOS when it was not initialized. + Fixes #498667 + 2007-11-21 Julien Moutte <julien@fluendo.com> * ext/sdl/sdlaudiosink.c: (gst_sdlaudio_sink_write): Fix build diff --git a/ext/faac/gstfaac.c b/ext/faac/gstfaac.c index 143cc3b8..eae5849e 100644 --- a/ext/faac/gstfaac.c +++ b/ext/faac/gstfaac.c @@ -453,9 +453,13 @@ gst_faac_sink_event (GstPad * pad, GstEvent * event) { GstBuffer *outbuf; + if (!faac->handle) + ret = FALSE; + else + ret = TRUE; + /* flush first */ - ret = TRUE; - do { + while (ret) { if (gst_pad_alloc_buffer_and_set_caps (faac->srcpad, GST_BUFFER_OFFSET_NONE, faac->bytes, GST_PAD_CAPS (faac->srcpad), &outbuf) == GST_FLOW_OK) { @@ -472,8 +476,7 @@ gst_faac_sink_event (GstPad * pad, GstEvent * event) ret = FALSE; } } - } while (ret); - + } ret = gst_pad_event_default (pad, event); break; } |