mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-17 11:45:25 +00:00
ext/annodex/: Add a little extra debug. Make the decoder not return NOT_LINKED, as we want to continue decoding all C...
Original commit message from CVS: * 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.
This commit is contained in:
parent
4d83c2400a
commit
86ddc6d513
3 changed files with 24 additions and 6 deletions
|
@ -1,3 +1,12 @@
|
|||
2006-02-28 Jan Schmidt <thaytan@mad.scientist.com>
|
||||
|
||||
* 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 <msmith@fluendo.com>
|
||||
|
||||
* ext/annodex/gstskeltag.c:
|
||||
|
|
|
@ -357,6 +357,8 @@ gst_cmml_dec_sink_event (GstPad * pad, GstEvent * event)
|
|||
|
||||
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 @@ gst_cmml_dec_new_buffer (GstCmmlDec * dec,
|
|||
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 @@ gst_cmml_dec_parse_preamble (GstCmmlDec * dec, guchar * preamble,
|
|||
/* 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 @@ gst_cmml_dec_parse_head (GstCmmlDec * dec, GstCmmlTagHead * head)
|
|||
g_free (head_str);
|
||||
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 */
|
||||
}
|
||||
|
||||
/* send a TAG_MESSAGE event for a clip */
|
||||
|
@ -627,6 +634,8 @@ gst_cmml_dec_push_clip (GstCmmlDec * dec, GstCmmlTagClip * clip)
|
|||
clip_str, strlen ((gchar *) clip_str), &buffer);
|
||||
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 */
|
||||
|
||||
g_free (clip_str);
|
||||
}
|
||||
|
|
|
@ -72,8 +72,7 @@ gst_cmml_parser_new (GstCmmlParserMode mode)
|
|||
(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 @@ gst_cmml_parser_parse_chunk (GstCmmlParser * parser,
|
|||
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;
|
||||
|
|
Loading…
Reference in a new issue