From: <th...@ke...> - 2006-02-28 09:21:41
|
CVS Root: /cvs/gstreamer Module: gst-plugins-good Changes by: thaytan Date: Tue Feb 28 2006 09:21:39 UTC Log message: * ext/annodex/gstcmmldec.c: (gst_cmml_dec_sink_event), (gst_cmml_dec_new_buffer), (gst_cmml_dec_parse_preamble), (gst_cmml_dec_parse_head), (gst_cmml_dec_push_clip): * ext/annodex/gstcmmlparser.c: (gst_cmml_parser_parse_chunk): Add a little extra debug. Make the decoder not return NOT_LINKED, as we want to continue decoding all CMML and emitting tags. Modified files: . : ChangeLog ext/annodex : gstcmmldec.c gstcmmlparser.c Links: http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-good/ChangeLog.diff?r1=1.2186&r2=1.2187 http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-good/ext/annodex/gstcmmldec.c.diff?r1=1.4&r2=1.5 http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-good/ext/annodex/gstcmmlparser.c.diff?r1=1.2&r2=1.3 ====Begin Diffs==== Index: gstcmmldec.c =================================================================== RCS file: /cvs/gstreamer/gst-plugins-good/ext/annodex/gstcmmldec.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- gstcmmldec.c 25 Feb 2006 19:07:41 -0000 1.4 +++ gstcmmldec.c 28 Feb 2006 09:21:27 -0000 1.5 @@ -357,6 +357,8 @@ if (dec->flow_return == GST_FLOW_OK) dec->flow_return = gst_pad_push (dec->srcpad, buffer); + if (dec->flow_return == GST_FLOW_NOT_LINKED) + dec->flow_return = GST_FLOW_OK; /* Ignore NOT_LINKED */ break; } @@ -449,6 +451,8 @@ if (data) memcpy (GST_BUFFER_DATA (*buffer), data, size); GST_BUFFER_TIMESTAMP (*buffer) = dec->timestamp; + } else if (res == GST_FLOW_NOT_LINKED) { + GST_DEBUG_OBJECT (dec, "alloc function return NOT-LINKED, ignoring"); } else { GST_WARNING_OBJECT (dec, "alloc function returned error %s", gst_flow_get_name (res)); @@ -547,15 +551,16 @@ /* push the root element */ dec->flow_return = gst_cmml_dec_new_buffer (dec, encoded_preamble, strlen ((gchar *) encoded_preamble), &buffer); - if (dec->flow_return != GST_FLOW_OK) - goto done; + if (dec->flow_return == GST_FLOW_OK) { + dec->flow_return = gst_pad_push (dec->srcpad, buffer); + } - dec->flow_return = gst_pad_push (dec->srcpad, buffer); + if (dec->flow_return == GST_FLOW_NOT_LINKED) + dec->flow_return = GST_FLOW_OK; /* Ignore NOT_LINKED */ if (!GST_FLOW_IS_FATAL (dec->flow_return)) { GST_INFO_OBJECT (dec, "preamble parsed"); } -done: g_free (encoded_preamble); return; } @@ -598,6 +603,8 @@ g_free (head_str); if (dec->flow_return == GST_FLOW_OK) dec->flow_return = gst_pad_push (dec->srcpad, buffer); /* send a TAG_MESSAGE event for a clip */ @@ -627,6 +634,8 @@ clip_str, strlen ((gchar *) clip_str), &buffer); g_free (clip_str); Index: gstcmmlparser.c RCS file: /cvs/gstreamer/gst-plugins-good/ext/annodex/gstcmmlparser.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- gstcmmlparser.c 25 Feb 2006 19:07:41 -0000 1.2 +++ gstcmmlparser.c 28 Feb 2006 09:21:27 -0000 1.3 @@ -72,8 +72,7 @@ (startElementNsSAX2Func) gst_cmml_parser_parse_start_element_ns; parser->context->sax->endElementNs = (endElementNsSAX2Func) gst_cmml_parser_parse_end_element_ns; - parser->context->sax->processingInstruction = - (processingInstructionSAXFunc) + parser->context->sax->processingInstruction = (processingInstructionSAXFunc) gst_cmml_parser_parse_processing_instruction; parser->preamble_callback = NULL; parser->cmml_end_callback = NULL; @@ -111,6 +110,7 @@ if (xmlres != XML_ERR_OK) { xmlErrorPtr xml_error = xmlCtxtGetLastError (parser->context); + GST_DEBUG ("Error occurred decoding chunk %s", data); g_set_error (err, GST_LIBRARY_ERROR, GST_LIBRARY_ERROR_FAILED, xml_error->message); return FALSE; Index: ChangeLog RCS file: /cvs/gstreamer/gst-plugins-good/ChangeLog,v retrieving revision 1.2186 retrieving revision 1.2187 diff -u -d -r1.2186 -r1.2187 --- ChangeLog 27 Feb 2006 14:00:18 -0000 1.2186 +++ ChangeLog 28 Feb 2006 09:21:27 -0000 1.2187 @@ -1,3 +1,12 @@ +2006-02-28 Jan Schmidt <th...@ma...> + + * ext/annodex/gstcmmldec.c: (gst_cmml_dec_sink_event), + (gst_cmml_dec_new_buffer), (gst_cmml_dec_parse_preamble), + (gst_cmml_dec_parse_head), (gst_cmml_dec_push_clip): + * ext/annodex/gstcmmlparser.c: (gst_cmml_parser_parse_chunk): + Add a little extra debug. Make the decoder not return NOT_LINKED, + as we want to continue decoding all CMML and emitting tags. 2006-02-27 Michael Smith <ms...@fl...> * ext/annodex/gstskeltag.c: |