summaryrefslogtreecommitdiffstats
path: root/ext
diff options
context:
space:
mode:
authorWim Taymans <wim.taymans@gmail.com>2007-11-21 09:45:41 +0000
committerWim Taymans <wim.taymans@gmail.com>2007-11-21 09:45:41 +0000
commit1b2fa58301a32618257032a6350342205446c9cb (patch)
tree03607808ddaf7de9e15eb329d54c07f7c7ae67cf /ext
parent6691ae01e2b7a491cadb609d7b09471ce21d24cb (diff)
downloadgst-plugins-bad-1b2fa58301a32618257032a6350342205446c9cb.tar.gz
gst-plugins-bad-1b2fa58301a32618257032a6350342205446c9cb.tar.bz2
gst-plugins-bad-1b2fa58301a32618257032a6350342205446c9cb.zip
ext/faac/gstfaac.c: Don't try to flush the decoder on EOS when it was not initialized.
Original commit message from CVS: * ext/faac/gstfaac.c: (gst_faac_sink_event): Don't try to flush the decoder on EOS when it was not initialized. Fixes #498667
Diffstat (limited to 'ext')
-rw-r--r--ext/faac/gstfaac.c11
1 files changed, 7 insertions, 4 deletions
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;
}