GNOME Bugzilla – Bug 608998
[jpegparse] unit test fails
Last modified: 2010-02-17 13:55:20 UTC
Running suite(s): jpegparse 0%: Checks: 2, Failures: 2, Errors: 0 gstcheck.c:449:F:jpegparse:test_parse_single_byte:0: size of the buffers are not the same gstcheck.c:449:F:jpegparse:test_parse_all_in_one_buf:0: size of the buffers are not the same FAIL: elements/jpegparse Test should be fixed or disabled for the release.
commit 185df279e85990c643ca26092140caa48e5862f8 Author: Sebastian Dröge <sebastian.droege@collabora.co.uk> Date: Fri Feb 5 17:25:59 2010 +0100 jpegparse: Fix unit test The parsed buffers have a framerate of 1/1. Fixes bug #608998.
It still seems to fail for me in the exact same way..
Hmm $ make elements/jpegparse.check CC jpegparse.o LINK elements/jpegparse Running suite(s): jpegparse 100%: Checks: 2, Failures: 0, Errors: 0
Maybe something to do with this? Running suite(s): jpegparse ==5562== Conditional jump or move depends on uninitialised value(s) ==5562== at 0x872156B: gst_jpeg_parse_match_next_marker (gstjpegparse.c:319) ==5562== by 0x87216EE: gst_jpeg_parse_find_end_marker (gstjpegparse.c:372) ==5562== by 0x8721857: gst_jpeg_parse_get_image_length (gstjpegparse.c:402) ==5562== by 0x8722F3B: gst_jpeg_parse_chain (gstjpegparse.c:779) ==5562== by 0x50944D4: gst_pad_chain_data_unchecked (gstpad.c:4122) ==5562== by 0x5094EC1: gst_pad_push_data (gstpad.c:4351) ==5562== by 0x4E2B8DA: gst_check_element_push_buffer_list (gstcheck.c:432) ==5562== by 0x401368: test_parse_single_byte (jpegparse.c:106) ==5562== by 0x4E2F165: srunner_run_all (check_run.c:372) ==5562== by 0x401487: main (jpegparse.c:190) ==5562== ==5562== Conditional jump or move depends on uninitialised value(s) ==5562== at 0x872157E: gst_jpeg_parse_match_next_marker (gstjpegparse.c:319) ==5562== by 0x87216EE: gst_jpeg_parse_find_end_marker (gstjpegparse.c:372) ==5562== by 0x8721857: gst_jpeg_parse_get_image_length (gstjpegparse.c:402) ==5562== by 0x8722F3B: gst_jpeg_parse_chain (gstjpegparse.c:779) ==5562== by 0x50944D4: gst_pad_chain_data_unchecked (gstpad.c:4122) ==5562== by 0x5094EC1: gst_pad_push_data (gstpad.c:4351) ==5562== by 0x4E2B8DA: gst_check_element_push_buffer_list (gstcheck.c:432) ==5562== by 0x401368: test_parse_single_byte (jpegparse.c:106) ==5562== by 0x4E2F165: srunner_run_all (check_run.c:372) ==5562== by 0x401487: main (jpegparse.c:190) ==5562== 0%: Checks: 2, Failures: 2, Errors: 0 gstcheck.c:450:F:jpegparse:test_parse_single_byte:0: size of the buffers are not the same gstcheck.c:450:F:jpegparse:test_parse_all_in_one_buf:0: size of the buffers are not the same
0:00:10.285522732 28177 0x6fbf9c0 LOG check gstcheck.c:449:gst_check_element_push_buffer_list: compare buffers, orig vs. new: size 4 vs. 2, caps image/jpeg, parsed=(boolean)true, framerate=(fraction)1/1 vs. image/jpeg, parsed=(boolean)true, framerate=(fraction)1/1 0:00:10.288162942 28177 0x6fbf9c0 MEMDUMP check gstcheck.c:450:gst_check_element_push_buffer_list: --------------------------------------------------------------------------- 0:00:10.288964929 28177 0x6fbf9c0 MEMDUMP check gstcheck.c:450:gst_check_element_push_buffer_list: orig buffer 0:00:10.296625820 28177 0x6fbf9c0 MEMDUMP check gstcheck.c:450:gst_check_element_push_buffer_list: 00000000: ff d8 ff d9 .... 0:00:10.297240213 28177 0x6fbf9c0 MEMDUMP check gstcheck.c:450:gst_check_element_push_buffer_list: --------------------------------------------------------------------------- 0:00:10.297991147 28177 0x6fbf9c0 MEMDUMP check gstcheck.c:451:gst_check_element_push_buffer_list: --------------------------------------------------------------------------- 0:00:10.298200391 28177 0x6fbf9c0 MEMDUMP check gstcheck.c:451:gst_check_element_push_buffer_list: new buffer 0:00:10.298457197 28177 0x6fbf9c0 MEMDUMP check gstcheck.c:451:gst_check_element_push_buffer_list: 00000000: ff d8 .. 0:00:10.298658131 28177 0x6fbf9c0 MEMDUMP check gstcheck.c:451:gst_check_element_push_buffer_list: --------------------------------------------------------------------------- 0%: Checks: 1, Failures: 1, Errors: 0 gstcheck.c:457:F:jpegparse:test_parse_single_byte:0: size of the buffers are not the same
Sorry, let's try that again: logging added to gst_check_element_push_buffer_list reports: compare buffers, orig vs. new: size 4 vs. 2, caps image/jpeg, parsed=(boolean)true, framerate=(fraction)1/1 vs. image/jpeg, parsed=(boolean)true, framerate=(fraction)1/1 --------------------------------------------------------------------------- orig buffer 00000000: ff d8 ff d9 .... --------------------------------------------------------------------------- --------------------------------------------------------------------------- new buffer 00000000: ff d8 .. --------------------------------------------------------------------------- 0%: Checks: 1, Failures: 1, Errors: 0 gstcheck.c:457:F:jpegparse:test_parse_single_byte:0: size of the buffers are not the same
Created attachment 154012 [details] [review] return offset+length from _get_image_length()
Works for me, please commit, but: - please use C comments instead of C++ comments - please put the 'Fixes 12345' into the body of the commit message, not the header line Thanks!
Created attachment 154016 [details] [review] return offset+length from _get_image_length()
commit caf2be2115ef4d52adf0b454bb24ea3f2458b1ec Author: Stefan Kost <ensonic@users.sf.net> Date: Wed Feb 17 12:34:38 2010 +0200 jpegparse: return offset+length from _get_image_length(). _find_end_marker() find the position of the marker. EOI has a fixed length of 2 bytes that where missing. Fixes #608998