matroskademux : seek to cluster with error throws error during seek
Submitted by Kumar Vijay Vikram
Link to original bug (#796880)
Description
Created attachment 373175
Issue Stream
The attached stream is an error stream. Duration is 0:24:14.9 but plays till 0:11:19.6 as there is no further clusters.
When seek is done to any position greater that 0:11:20, we get an error while executing seek.
The error occurs while the method is gst_matroska_demux_search_pos scanning for matching cluster.
Failure happens because of the following error:
0:00:58.475704730 3013 0xa0c950 ERROR ebmlread ebml-read.c:141:gst_ebml_peek_id_length:<matroskademux0>
Invalid EBML ID size tag (0x8) at position 102897769 (0x6221869)
Refer to attached log file for more details.
During playback, similar error is thrown but gst_matroska_demux_check_parse_error handles the error and searches for next cluster. Similar error handling is required when seeking.
The finding suitable cluster logic in matroska-demux has been changed from GST v1.12 to v1.14.
Expected output:
We expect to play next file without error popup message even if the file has an issue.
Attachment 373175, "Issue Stream":
test_mkv_seek.mkv
Version: 1.14.0