I was trying to play MKV
video file on the Lollipop
release but could not able to play, though it was working properly in Kitkat
release.
My findings on debugging into the issue as below,
In the function ParseTrackEntry()
the default track settings for audio, video and content encoding is set to -1
If the id of the current track is not video nor audio but of type content_encoding, the track settings is updated accordingly.
Later in the function, the buffer is parsed based on the type of track, i.e if the track is of type video then audio track setting should be less than 0, similarly if the track consist of audio the video track setting should be less than 0.
But in case the track consist of content encoding type, there is a check for video, audio and content encoding track settings as well.
As the track settings will be updated in case of type content encoding, it fails here
if (e.start >= 0)
return E_FILE_FORMAT_INVALID;
When the check for content encoding is removed the MKV
file plays successfully.
My file has a video
track, an audio
track and multiple subtitles
. What could be the issue? Please help.