Я пытался воспроизвести видео файл Lollipop
, но не смог сыграть, хотя он работал правильно в выпуске Kitkat
.MKV видеофайл не играл на Lollipop
Мои выводы по отладке в вопросе, как показано ниже,
В функции ParseTrackEntry()
настройки дорожек по умолчанию для аудио, видео и кодирования контента устанавливается на -1
Если идентификатор текущий трек не является видео или аудио, а типа content_encoding, настройки треков соответственно обновляются.
Позже в функции буфера анализируется в зависимости от типа дорожки, то есть если дорожка имеет тип видео, тогда настройка звуковой дорожки должна быть меньше 0, similarly if the track consist of audio the video track setting should be less than 0.
Но в случае, если трек состоит из типа кодировки контента, есть также проверка настроек дорожки кодирования видео, звука и содержимого.
В настройках трековых будет обновляться в случае кодирования контента типа, он не здесь
if (e.start >= 0)
return E_FILE_FORMAT_INVALID;
Когда проверка для кодирования содержимого удаляется файл MKV
играет успешно.
В моем файле есть трек video
, дорожка audio
и несколько subtitles
. В чем может быть проблема? Пожалуйста помоги.
Спасибо Ганешу за объяснение. Я пробовал с вышеуказанной проверкой и ее работой. – user3639587
Изменения объединены: https://gerrit.chromium.org/gerrit/#/c/73474/ Спасибо за отладку этой проблемы –
@LajosMolnar .. Спасибо.Приятно услышать от вас после долгого времени :) – Ganesh