summaryrefslogtreecommitdiffstats
path: root/ext/libpng
diff options
context:
space:
mode:
authorEdward Hervey <bilboed@bilboed.com>2005-11-18 18:19:21 +0000
committerEdward Hervey <bilboed@bilboed.com>2005-11-18 18:19:21 +0000
commit978a8d1529e53fe3926bccccb05310a25e5204d5 (patch)
treef5fd32159eb1d992c03d309740f10678376d8767 /ext/libpng
parent5ae66f78c51ba7a55fe486a452a795dc231a1a4d (diff)
ext/libpng/gstpngenc.c: Added debug category
Original commit message from CVS: * 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.
Diffstat (limited to 'ext/libpng')
-rw-r--r--ext/libpng/gstpngenc.c14
1 files changed, 13 insertions, 1 deletions
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;
}