rmdemux: REAL Media File make system Hang <gst_rmdemux_chain:Bogus looking header, unprintable FOURCC>
Submitted by Orange Ashu
Link to original bug (#755723)
Description
Hello,
I were checking the GST-Real media Parser code and found that one clip (Test file) makes my system Hangs (Windows x86, Linux, Win CE etc).
this problem for the video file is present from GST 0.1 to Even in GST 1.6. please help to guide me which part of code can be debugged further for the same.
1: Test clip run command
gst-launch-1.0 --gst-debug-level=5 playbin uri=file:///D:/11_OnePiece_RV4.rmvb
2: Test clip source file
Will attach somewhere and share the location in comment later on this bug.
3: Logs with Debug level 5
Attached.
4: My Analysis:
a. Test real media clip headers are correct.
I checked each and every information and links (including size and other details for all Types of FOURCC.
b. While decoding, it detects [.RMF, PROP , MDPR , MDPR, MDPR, CONT] correctly next available FOURCC is "DATA", which were never detected.
c. This file i am able to play on lots of other frameworks and plateform (VLC (Win/ Linux), Android devices etc.).
Logs analysis is as below (Line# 97156)
<source>
reading offset 858, length 31, size 178754120, segment.stop -1, maxsize 178754120
0:00:05.198403458 6904 0F7AEA08 DEBUG basesrc gstbasesrc.c:2451:gst_base_src_get_range:<source>
calling create offset 858 length 31, time 0
0:00:05.198453449 6904 0F7AEA08 DEBUG GST_MEMORY gstmemory.c:138:gst_memory_init: new memory 005683F0, maxsize:34 offset:0 size:31
0:00:05.198512048 6904 0F7AEA08 DEBUG basesrc gstbasesrc.c:2305:gst_base_src_do_sync:<source>
we have no clock
0:00:05.198562370 6904 0F7AEA08 DEBUG basesrc gstbasesrc.c:2515:gst_base_src_get_range:<source>
buffer ok
0:00:05.198611699 6904 0F7AEA08 DEBUG default rmutils.c:83:gst_rm_utils_read_tags: File Content : (CONT) len = 31
0:00:05.198662022 6904 0F7AEA08 DEBUG default rmutils.c:111:gst_rm_utils_read_tags: title =
0:00:05.198718965 6904 0F7AEA08 DEBUG default rmutils.c:104:gst_rm_utils_read_tags: converting tag from CP1252 to UTF-8
0:00:05.198790807 6904 0F7AEA08 DEBUG default rmutils.c:111:gst_rm_utils_read_tags: artist = û¤·¤ÎZHU
0:00:05.198845433 6904 0F7AEA08 DEBUG default rmutils.c:111:gst_rm_utils_read_tags: copyright = bbs.jumpcn.com
0:00:05.198896418 6904 0F7AEA08 DEBUG default rmutils.c:111:gst_rm_utils_read_tags: comment =
0:00:05.198949058 6904 0F7AEA08 DEBUG GST_MEMORY gstmemory.c:87:_gst_memory_free: free memory 005683F0
0:00:05.199001698 6904 0F7AEA08 DEBUG basesrc gstbasesrc.c:2350:gst_base_src_update_length:<source>
reading offset 178576568, length 10, size 178754120, segment.stop -1, maxsize 178754120
0:00:05.199054999 6904 0F7AEA08 DEBUG basesrc gstbasesrc.c:2451:gst_base_src_get_range:<source>
calling create offset 178576568 length 10, time 0
0:00:05.199105653 6904 0F7AEA08 DEBUG GST_MEMORY gstmemory.c:138:gst_memory_init: new memory 0F7EC500, maxsize:13 offset:0 size:10
0:00:05.199173191 6904 0F7AEA08 DEBUG basesrc gstbasesrc.c:2305:gst_base_src_do_sync:<source>
we have no clock
0:00:05.199224506 6904 0F7AEA08 DEBUG basesrc gstbasesrc.c:2515:gst_base_src_get_range:<source>
buffer ok
0:00:05.199275822 6904 0F7AEA08 WARN rmdemux rmdemux.c:1039:gst_rmdemux_chain:<rmdemux0>
Bogus looking header, unprintable FOURCC
0:00:05.199327800 6904 0F7AEA08 DEBUG basesrc gstbasesrc.c:2350:gst_base_src_update_length:<source>
reading offset 178576568, length 10, size 178754120, segment.stop -1, maxsize 178754120
0:00:05.199381102 6904 0F7AEA08 DEBUG basesrc gstbasesrc.c:2451:gst_base_src_get_range:<source>
calling create offset 178576568 length 10, time 0
0:00:05.199475787 6904 0F7AEA08 DEBUG GST_MEMORY gstmemory.c:138:gst_memory_init: new memory 0F7EC4A0, maxsize:13 offset:0 size:10
0:00:05.199536372 6904 0F7AEA08 DEBUG basesrc gstbasesrc.c:2305:gst_base_src_do_sync:<source>
we have no clock
0:00:05.199586695 6904 0F7AEA08 DEBUG basesrc gstbasesrc.c:2515:gst_base_src_get_range:<source>
buffer ok
0:00:05.199635362 6904 0F7AEA08 DEBUG GST_PERFORMANCE gstadapter.c:502:gst_adapter_map: copy remaining 10 bytes from adapter
0:00:05.199684691 6904 0F7AEA08 DEBUG adapter gstadapter.c:296:copy_into_unchecked: bsize 10, skip 4, csize 6
0:00:05.199736338 6904 0F7AEA08 WARN rmdemux rmdemux.c:1039:gst_rmdemux_chain:<rmdemux0>
Bogus looking header, unprintable FOURCC
0:00:05.199784673 6904 0F7AEA08 DEBUG GST_PERFORMANCE gstadapter.c:502:gst_adapter_map: copy remaining 10 bytes from adapter
0:00:05.199833340 6904 0F7AEA08 DEBUG adapter gstadapter.c:296:copy_into_unchecked: bsize 10, skip 8, csize 2
0:00:05.199883994 6904 0F7AEA08 WARN rmdemux rmdemux.c:1039:gst_rmdemux_chain:<rmdemux0>
Bogus looking header, unprintable FOURCC
0:00:05.199931999 6904 0F7AEA08 DEBUG GST_MEMORY gstmemory.c:87:_gst_memory_free: free memory 0F7EC500
0:00:05.199983645 6904 0F7AEA08 DEBUG basesrc gstbasesrc.c:2350:gst_base_src_update_length:<source>
reading offset 178576568, length 10, size 178754120, segment.stop -1, maxsize 178754120
0:00:05.200037278 6904 0F7AEA08 DEBUG basesrc gstbasesrc.c:2451:gst_base_src_get_range:<source>
calling create offset 178576568 length 10, time 0
0:00:05.200087932 6904 0F7AEA08 DEBUG GST_MEMORY gstmemory.c:138:gst_memory_init: new memory 0F7EC440, maxsize:13 offset:0 size:10
0:00:05.200147855 6904 0F7AEA08 DEBUG basesrc gstbasesrc.c:2305:gst_base_src_do_sync:<source>
we have no clock
0:00:05.200198177 6904 0F7AEA08 DEBUG basesrc gstbasesrc.c:2515:gst_base_src_get_range:<source>
buffer ok
0:00:05.200246844 6904 0F7AEA08 DEBUG GST_PERFORMANCE gstadapter.c:502:gst_adapter_map: copy remaining 10 bytes from adapter
0:00:05.200295511 6904 0F7AEA08 DEBUG adapter gstadapter.c:296:copy_into_unchecked: bsize 10, skip 2, csize 8
0:00:05.200346827 6904 0F7AEA08 WARN rmdemux rmdemux.c:1039:gst_rmdemux_chain:<rmdemux0>
Bogus looking header, unprintable FOURCC
0:00:05.198350818 6904 0F7AEA08 DEBUG basesrc gstbasesrc.c:2350:gst_base_src_update_length:Version: 1.6.0