matroskademux : seek to cluster with error throws error during seek
Submitted by Kumar Vijay Vikram
Created attachment 373175
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.
We expect to play next file without error popup message even if the file has an issue.
Attachment 373175, "Issue Stream":