diff --git a/src/merge/cluster_helper.cpp b/src/merge/cluster_helper.cpp index 41ce74b95..8f841d6b4 100644 --- a/src/merge/cluster_helper.cpp +++ b/src/merge/cluster_helper.cpp @@ -297,7 +297,7 @@ cluster_helper_c::render() { DataBuffer *data_buffer; int i, k, elements_in_cluster; packet_cptr pack; - int64_t max_cl_timecode; + int64_t min_cl_timecode, max_cl_timecode; generic_packetizer_c *source; vector render_groups; render_groups_t *render_group; @@ -307,6 +307,7 @@ cluster_helper_c::render() { BlockBlobType this_block_blob_type, std_block_blob_type = use_simpleblock ? BLOCK_BLOB_ALWAYS_SIMPLE : BLOCK_BLOB_NO_SIMPLE; + min_cl_timecode = 9223372036854775807LL; max_cl_timecode = 0; // Splitpoint stuff @@ -347,9 +348,8 @@ cluster_helper_c::render() { render_groups.push_back(render_group); } - if (i == 0) - cluster->set_min_timecode(pack->assigned_timecode - timecode_offset); - max_cl_timecode = pack->assigned_timecode; + min_cl_timecode = MXMIN(pack->assigned_timecode, min_cl_timecode); + max_cl_timecode = MXMAX(pack->assigned_timecode, max_cl_timecode); data_buffer = new DataBuffer((binary *)pack->data->get(), pack->data->get_size()); @@ -485,6 +485,8 @@ cluster_helper_c::render() { if (elements_in_cluster > 0) { for (i = 0; i < render_groups.size(); i++) set_duration(render_groups[i]); + + cluster->set_min_timecode(min_cl_timecode - timecode_offset); cluster->set_max_timecode(max_cl_timecode - timecode_offset); cluster->Render(*out, *kax_cues); bytes_in_file += cluster->ElementSize(); diff --git a/tests/results.txt b/tests/results.txt index 9ffa59e0c..264c9753f 100644 --- a/tests/results.txt +++ b/tests/results.txt @@ -47,8 +47,8 @@ T_048X_chapters_ogmstyle:5ecb42d20d78b4f73fc2340a2e4f0803:passed:20040920-192349 T_049ass:b50e8bc1d9acbe0a5a940e18e4b33cde:passed:20040929-113852 T_050X_ass:6aeb4aef55511282630e9f0e69777c46-d65638e96a393b01deb6d5e132d35552:passed:20040929-113852 T_200mp2_from_mp4:4e8078c1fbe5ec97a3a74e1f5aeb255a:passed:20040917-185156 -T_201avc_from_mp4_with_par:7fde891eefaa495c0dab229888aae1a6:passed:20050125-224528 -T_202avc_from_mp4_with_par_bframes:abf88626e2ae80e8711b3bce9ba2ed2e:passed:20050125-224635 +T_201avc_from_mp4_with_par:6c7940e2a22ceeb41599880a8499ab8a:passed:20050125-224528 +T_202avc_from_mp4_with_par_bframes:646322197912c18bbeeaec2b6bcdb781:passed:20050125-224635 T_203wavpack_with_correctiondata:a375abc2174544fda652ec9ea0bffd61:passed:20050201-094411 T_204wavpack_without_correctiondata:58e1c78c7a26d67af71845754519c652:passed:20050201-094414 T_205X_cuesheets:3b00b00c7d185137e30d7e95e3123d33-b3bb67d316e20da12926d5c1d628f6e5:passed:20050210-211853 @@ -57,12 +57,12 @@ T_207segmentinfo:824963a25737f7785a7dc2ff13febd27:passed:20050211-234856 T_208cat_and_splitting:f91e9554e8a2919c5df10b653ba787a5-8adde65fdd770ba8e2aafa4f930bc1ba:passed:20050306-152640 T_209ac3misdeetected_as_mpeges:7a0a91f18dea69ea2a43774098f5d472:passed:20050315-092851 T_210splitting_and_chapters:1a8f6844f5912334d5ed3c329f8e0662-cd88146c6b77b9a2bfa370ac11c15997-a1bd93f44ca199aee4e44c0632d0733f-fc3d1279de973c724dc3ed946358cd54:passed:20050406-165104 -T_211bug_segfault_reading_mp4:2490c01adda16aa621201836d38a3145:passed:20050728-083402 +T_211bug_segfault_reading_mp4:77ac0d67fd2b1865b241e43d45e98819:passed:20050728-083402 T_212ssa_attachments:7555c28c8b18536880248bb88253fa49-9a5a5ed80808c9d448ca5b44b640d8aa-c9a562c38a809df96ba6bd78220bb930-6ee73fb6f296ec5a9d9322c8ec556bc3-cadf6d54ff0e53f2fa363b4042d2be2a:passed:20050824-131320 T_213mp4_broken_pixel_dimensions:dc4f6c0c82b1d1aabaadac51d70b77c0:passed:20050919-094831 T_214one_frame_avi:bea975277e91ded1a4085043e89608ce:passed:20051004-192755 T_215X_codec_extradata_avi:78d669fc6511b6b931cd0981e2e1cca9-3fabc505fdd377c05ce4557b1bc13545:passed:20051004-194707 -T_216mp4_editlists:af755119f47f2cad57d45f5c6e1145f4:passed:20051118-191453 +T_216mp4_editlists:e892849c0caf98ea19399c63040d94db:passed:20051118-191453 T_217file_identification:ef3c502529537c1d3699d0e0487751c3-d40a9c9f030a0ec8cb4386746a1eb2da-3932d2e08ee1db10320e451664df0d3e-740f6f0002645b8e3722c7620a03ad15-3653ca6236d589cd9cc59fde37b2d2dc-9c926be4a5c0dbf460ebc0c0ecf9a756-2422026a86400c0a1a4b5ddab16e29ef-6524735ec6a605cc67c8907486c45ced-c170654ad0688c40fc9e2ceeb9ef0b9f-6b44c4e351ac48b7fdb63355c65783eb-d701319c3f77c58adfee92b1186a3993-12aa395d3bc0431c5acb81bc4407b70f-3e7956db47487933b47241fc7bc76359-52dfc8091ce64db9f8ad44aee34748ec-6b7149a5774a37d214b8085c6409aab3-15beba0108723bff77bf8d88876f8f31-72fabb6ff0194c82321db1c317b11c63-2b03944260062946d1ceabde9c71e007-87cb6b0e3933210309228a79d3a3f823-34b0b13ac1b1b3ced17cbb31df973d62-e592a5d28c92ebb23fe6d7ea901ec0a9-f997737ca7eff867d33ee58af611e741:passed:20051209-180815 T_218theora:35ea3cf1add9a6687627953e1645d4c9-fac4b041366588e3c8215b9fbb696db2:passed:20060428-105054 T_219srt_short_timecodes:a7db07ee64751fcc24993dd4af73ccf1:passed:20060926-112658 @@ -72,11 +72,11 @@ T_222stereo_mode:22eebd6bda7d848379044be8d9d8f440-38a1988c087c40e6e52025bb974f2c T_223ra_cook_keyframes:9586107c7cf22c7fe4e3a3513f8da68d:passed:20061228-150947 T_224dts:af6388e169eb68cfb5e3ce3af8b39da3-844ad568698bde5b3b778632f355aab8:passed:20070206-174735 T_225dts_in_wav:8bc50d56c1bc7031284c963b0c00389c-7438d3051d05d983d1cf740902a1b913:passed:20070206-174726 -T_226h264:d2599cdc7b3aa46f2b00c5ef49f948d2:passed:20070208-103558 -T_227h264_with_garbage:a390685806a6282bbf68593329728557:passed:20070208-103656 -T_228h264_no_idr_slices:80c935a51e96facf6a4232df8c647cfa:passed:20070426-103130 +T_226h264:d4f91974c45f08ae697f872f970d7c44:passed:20070208-103558 +T_227h264_with_garbage:832021cdd448f3c0703609218c43641b:passed:20070208-103656 +T_228h264_no_idr_slices:6c734c225a3ee5fa2fe2c558e03a677c:passed:20070426-103130 T_229rav3_in_rm:afe8fabeb8f8d74f29a5116b731c3262:passed:20070619-220659 -T_230h264_nalu_size_len_change:7778979ff769e9c85cd052ea1731beb0-abf88626e2ae80e8711b3bce9ba2ed2e:passed:20070622-103843 +T_230h264_nalu_size_len_change:5edd20bc714e136b1b09c0d518688f03-646322197912c18bbeeaec2b6bcdb781:passed:20070622-103843 T_231X_ac3_header_removal:6ca341797c5f93e273c8502f4d6f4fba:passed:20070623-111240 -T_232h264_changing_sps_pps:6f35e6f75bff5560f13bf465d1cd16d9:passed:20070815-211934 +T_232h264_changing_sps_pps:e3c2583388a2178a2b9f706cc96cd82b:passed:20070815-211934 T_233srt_with_coordinates:ecb701d64b3073d99295e9e160761962:passed:20070819-203105