GNOME Bugzilla – Bug 557365
subparse check fails
Last modified: 2008-12-11 15:49:16 UTC
This is on Mandriva Cooker with gst-plugins-base 0.10.21: Running suite(s): subparse 93%: Checks: 15, Failures: 1, Errors: 0 elements/subparse.c:241:F:general:test_sami:0: 'g_list_length (buffers)' (1) is not equal to 'num' (2) FAIL: elements/subparse
Could you run the test with GST_DEBUG=subparse:5 and attach the output to this bug?
Created attachment 121181 [details] debug output
Considering that it fails on some setups/machines and not others, there's a good chance this is due to a bug in libxml.
Created attachment 124415 [details] log.bz2 debug output with GST_DEBUG=5 for a succeeding run of the sami test
Created attachment 124428 [details] [review] Force output of last buffer on closure of <sami> tag For some reason, some versions of libxml don't properly close all tags, therefore we never get the end_sax_element method called with the final "body" tag, but we do get it for the closing "sami" tag. The proposed patch basically forces the output of the last buffer on both </body> and </sami>. Testing and feedback welcome so I commit this ASAP.
2008-12-11 Edward Hervey <edward.hervey@collabora.co.uk> * gst/subparse/samiparse.c: (sami_context_push_state), (sami_context_pop_state), (start_sami_element), (end_sami_element): Some versions of libxml seem to be very picky as to strict formatting of the input and never 'close' the final </body> tag. In order to fix that bad behaviour, we trigger the flushing of remaining data on both </body> and </sami>. Fixes #557365