summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEdward Hervey <bilboed@bilboed.com>2005-12-19 15:19:44 +0000
committerEdward Hervey <bilboed@bilboed.com>2005-12-19 15:19:44 +0000
commit95d65be727e4e64070c249641bd20d1c24070069 (patch)
treec5569e020fec5293994f882fb8abad4d02e3cb7c
parentac8b1191d4c9db98ca500809e989f0cc75e94187 (diff)
downloadgst-plugins-bad-95d65be727e4e64070c249641bd20d1c24070069.tar.gz
gst-plugins-bad-95d65be727e4e64070c249641bd20d1c24070069.tar.bz2
gst-plugins-bad-95d65be727e4e64070c249641bd20d1c24070069.zip
ext/swfdec/gstswfdec.c: Add debugging category and return GstFlowReturn in the right places
Original commit message from CVS: * ext/swfdec/gstswfdec.c: (gst_swfdec_class_init), (gst_swfdec_chain), (gst_swfdec_render): Add debugging category and return GstFlowReturn in the right places * ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_link): Get something from the peer pad once we've checked if there is a peer pad. * gst/qtdemux/qtdemux.c: (gst_qtdemux_change_state), (qtdemux_tree_get_child_by_type), (qtdemux_parse_trak), (qtdemux_video_caps): Couple of fixes
-rw-r--r--ChangeLog12
-rw-r--r--ext/swfdec/gstswfdec.c18
-rw-r--r--ext/wavpack/gstwavpackdec.c3
-rw-r--r--gst/qtdemux/qtdemux.c13
4 files changed, 38 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index 6aeb3c2f..a6499b4c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2005-12-19 Edward Hervey <edward@fluendo.com>
+
+ * ext/swfdec/gstswfdec.c: (gst_swfdec_class_init),
+ (gst_swfdec_chain), (gst_swfdec_render):
+ Add debugging category and return GstFlowReturn in the right places
+ * ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_link):
+ Get something from the peer pad once we've checked if there is a peer pad.
+ * gst/qtdemux/qtdemux.c: (gst_qtdemux_change_state),
+ (qtdemux_tree_get_child_by_type), (qtdemux_parse_trak),
+ (qtdemux_video_caps):
+ Couple of fixes
+
2005-12-19 Edgard Lima <edgard.lima@indt.org.br>
* ext/divx/Makefile.am:
diff --git a/ext/swfdec/gstswfdec.c b/ext/swfdec/gstswfdec.c
index bd983b58..9b11b0cf 100644
--- a/ext/swfdec/gstswfdec.c
+++ b/ext/swfdec/gstswfdec.c
@@ -26,6 +26,9 @@
#include <gst/video/video.h>
#include <swfdec_buffer.h>
+GST_DEBUG_CATEGORY_STATIC (swfdec_debug);
+#define GST_CAT_DEFAULT swfdec_debug
+
/* elementfactory information */
static GstElementDetails gst_swfdec_details =
GST_ELEMENT_DETAILS ("SWF video decoder",
@@ -243,6 +246,9 @@ gst_swfdec_class_init (GstSwfdecClass * klass)
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GstSwfdecClass, embed_url), NULL, NULL,
g_cclosure_marshal_VOID__STRING, G_TYPE_NONE, 1, G_TYPE_STRING);
+
+ GST_DEBUG_CATEGORY_INIT (swfdec_debug, "swfdec", 0, "Flash decoder plugin");
+
}
static GstCaps *
@@ -332,11 +338,13 @@ gst_swfdec_chain (GstPad * pad, GstBuffer * buffer)
GstSwfdec *swfdec = GST_SWFDEC (GST_PAD_PARENT (pad));
g_static_rec_mutex_lock (&swfdec->mutex);
+ GST_DEBUG_OBJECT (swfdec, "about to call swfdec_decoder_parse");
ret = swfdec_decoder_parse (swfdec->decoder);
if (ret == SWF_NEEDBITS) {
guint buf_size;
GstBuffer *prev_buffer;
+ GST_DEBUG_OBJECT (swfdec, "SWF_NEEDBITS, feeding data to swfdec-decoder");
buf_size = gst_adapter_available (swfdec->adapter);
if (buf_size) {
prev_buffer = gst_buffer_new_and_alloc (buf_size);
@@ -351,8 +359,6 @@ gst_swfdec_chain (GstPad * pad, GstBuffer * buffer)
swfdec_decoder_add_buffer (swfdec->decoder,
gst_swfdec_buffer_to_swf (buffer));
-
-
} else if (ret == SWF_CHANGE) {
GstCaps *caps;
@@ -363,6 +369,7 @@ gst_swfdec_chain (GstPad * pad, GstBuffer * buffer)
GstTagList *taglist;
#endif
+ GST_DEBUG_OBJECT (swfdec, "SWF_CHANGE");
gst_adapter_push (swfdec->adapter, buffer);
swfdec_decoder_get_image_size (swfdec->decoder,
@@ -411,6 +418,7 @@ gst_swfdec_chain (GstPad * pad, GstBuffer * buffer)
#endif
} else if (ret == SWF_EOF) {
+ GST_DEBUG_OBJECT (swfdec, "SWF_EOF");
gst_swfdec_render (swfdec, ret);
gst_task_start (swfdec->task);
}
@@ -439,8 +447,10 @@ gst_swfdec_render (GstSwfdec * swfdec, int ret)
GstBuffer *videobuf;
GstBuffer *audiobuf;
gboolean ret;
+ GstFlowReturn res;
const char *url;
+ GST_DEBUG_OBJECT (swfdec, "render:SWF_EOF");
swfdec_decoder_set_mouse (swfdec->decoder, swfdec->x, swfdec->y,
swfdec->button);
@@ -448,8 +458,8 @@ gst_swfdec_render (GstSwfdec * swfdec, int ret)
if (!ret) {
gst_task_stop (swfdec->task);
- gst_pad_push_event (swfdec->videopad, gst_event_new_eos ());
- gst_pad_push_event (swfdec->audiopad, gst_event_new_eos ());
+ res = gst_pad_push_event (swfdec->videopad, gst_event_new_eos ());
+ res = gst_pad_push_event (swfdec->audiopad, gst_event_new_eos ());
return;
}
diff --git a/ext/wavpack/gstwavpackdec.c b/ext/wavpack/gstwavpackdec.c
index f3f9d750..d8a4308e 100644
--- a/ext/wavpack/gstwavpackdec.c
+++ b/ext/wavpack/gstwavpackdec.c
@@ -83,13 +83,14 @@ static GstPadLinkReturn
gst_wavpack_dec_link (GstPad * pad, GstPad * peer)
{
GstWavpackDec *wavpackdec = GST_WAVPACK_DEC (gst_pad_get_parent (pad));
- GstStructure *structure = gst_caps_get_structure (GST_PAD_CAPS (peer), 0);
+ GstStructure *structure;
GstCaps *srccaps;
gint bits;
if (!gst_caps_is_fixed (GST_PAD_CAPS (peer)))
return GST_PAD_LINK_REFUSED;
+ structure = gst_caps_get_structure (GST_PAD_CAPS (peer), 0);
gst_structure_get_int (structure, "rate",
(gint32 *) & wavpackdec->samplerate);
gst_structure_get_int (structure, "channels",
diff --git a/gst/qtdemux/qtdemux.c b/gst/qtdemux/qtdemux.c
index 84c2facb..ce01f649 100644
--- a/gst/qtdemux/qtdemux.c
+++ b/gst/qtdemux/qtdemux.c
@@ -473,7 +473,8 @@ gst_qtdemux_change_state (GstElement * element, GstStateChange transition)
for (n = 0; n < qtdemux->n_streams; n++) {
gst_element_remove_pad (element, qtdemux->streams[n]->pad);
g_free (qtdemux->streams[n]->samples);
- gst_caps_unref (qtdemux->streams[n]->caps);
+ if (qtdemux->streams[n]->caps)
+ gst_caps_unref (qtdemux->streams[n]->caps);
g_free (qtdemux->streams[n]);
}
qtdemux->n_streams = 0;
@@ -1765,7 +1766,13 @@ qtdemux_tree_get_child_by_type (GNode * node, guint32 fourcc)
child = g_node_next_sibling (child)) {
buffer = child->data;
+ child_fourcc = GST_READ_UINT32_LE (buffer);
+ GST_LOG ("First chunk of buffer %p is [%" GST_FOURCC_FORMAT "]",
+ buffer, GST_FOURCC_ARGS (child_fourcc));
+
child_fourcc = GST_READ_UINT32_LE (buffer + 4);
+ GST_LOG ("buffer %p has fourcc [%" GST_FOURCC_FORMAT "]",
+ buffer, GST_FOURCC_ARGS (child_fourcc));
if (child_fourcc == fourcc) {
return child;
@@ -1899,7 +1906,7 @@ qtdemux_parse_trak (GstQTDemux * qtdemux, GNode * trak)
stream = g_new0 (QtDemuxStream, 1);
tkhd = qtdemux_tree_get_child_by_type (trak, FOURCC_tkhd);
- g_assert (tkhd);
+ g_return_if_fail (tkhd);
GST_LOG ("track[tkhd] version/flags: 0x%08x",
QTDEMUX_GUINT32_GET (tkhd->data + 8));
@@ -2621,7 +2628,7 @@ qtdemux_video_caps (GstQTDemux * qtdemux, guint32 fourcc,
return gst_caps_from_string ("image/jpeg");
case GST_MAKE_FOURCC ('m', 'j', 'p', 'b'):
_codec ("Motion-JPEG format B");
- return gst_caps_from_string ("image/jpeg-b");
+ return gst_caps_from_string ("video/x-mjpeg-b");
case GST_MAKE_FOURCC ('S', 'V', 'Q', '3'):
_codec ("Sorensen video v.3");
return gst_caps_from_string ("video/x-svq, " "svqversion = (int) 3");