summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--ext/libpng/gstpngenc.c14
2 files changed, 21 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index a3e153d2..9a7e26dd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2005-11-18 Edward Hervey <edward@fluendo.com>
+
+ * ext/libpng/gstpngenc.c: (gst_pngenc_class_init),
+ (gst_pngenc_chain):
+ Added debug category
+ Return GST_FLOW_UNEXPECTED when sending an EOS, so the whole pipeline
+ goes to EOS.
+
2005-11-17 Edgard Lima <edgard.lima@indt.org.br>
* gst/rtp/Makefile.am
diff --git a/ext/libpng/gstpngenc.c b/ext/libpng/gstpngenc.c
index 3beb1ae2..f0ce7b8a 100644
--- a/ext/libpng/gstpngenc.c
+++ b/ext/libpng/gstpngenc.c
@@ -28,13 +28,15 @@
#define MAX_HEIGHT 4096
-GstElementDetails gst_pngenc_details = {
+static GstElementDetails gst_pngenc_details = {
"PNG encoder",
"Codec/Encoder/Image",
"Encode a video frame to a .png image",
"Jeremy SIMON <jsimon13@yahoo.fr>",
};
+GST_DEBUG_CATEGORY (pngenc_debug);
+#define GST_CAT_DEFAULT pngenc_debug
/* Filter signals and args */
enum
@@ -136,6 +138,8 @@ gst_pngenc_class_init (GstPngEncClass * klass)
"PNG compression level",
Z_NO_COMPRESSION, Z_BEST_COMPRESSION,
DEFAULT_COMPRESSION_LEVEL, (GParamFlags) G_PARAM_READWRITE));
+
+ GST_DEBUG_CATEGORY_INIT (pngenc_debug, "pngenc", 0, "PNG image encoder");
}
@@ -247,6 +251,8 @@ gst_pngenc_chain (GstPad * pad, GstBuffer * buf)
pngenc = GST_PNGENC (gst_pad_get_parent (pad));
+ GST_DEBUG_OBJECT (pngenc, "BEGINNING");
+
pngenc->buffer_out = NULL;
/* initialize png struct stuff */
@@ -315,11 +321,14 @@ gst_pngenc_chain (GstPad * pad, GstBuffer * buf)
goto done;
if (pngenc->snapshot) {
+ GST_DEBUG_OBJECT (pngenc, "snapshot mode, sending EOS");
/* send EOS event, since a frame has been pushed out */
GstEvent *event = gst_event_new_eos ();
ret = gst_pad_push_event (pngenc->srcpad, event);
+ if (!(GST_FLOW_IS_FATAL (ret)))
+ ret = GST_FLOW_UNEXPECTED;
}
/* else if (pngenc->newmedia) { */
/* /\* send new media discont *\/ */
@@ -331,6 +340,9 @@ gst_pngenc_chain (GstPad * pad, GstBuffer * buf)
/* ret = gst_pad_push (pngenc->srcpad, GST_DATA (newmedia_event)); */
/* } */
done:
+ GST_DEBUG_OBJECT (pngenc, "END, ret:%d", ret);
+
+ gst_object_unref (pngenc);
return ret;
}