Shaka Player: игнорировать пустой AdaptationSet - PullRequest
1 голос
/ 24 июня 2019

Я пытаюсь воспроизвести поток DASH в Shaka Player.Иногда поток не имеет источника звука, и его файл манифеста содержит пустую запись AdaptationSet.В этом случае Shaka Player возвращает ошибку разбора манифеста:

| DASH_EMPTY_ADAPTATION_SET | 4003 | number | The DASH Manifest contained an AdaptationSet with no Representations. |

Можно ли как-то игнорировать эту ошибку и воспроизводить видео без источника звука?

Пример файла манифеста:

<?xml version="1.0" encoding="utf-8"?>
<MPD xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="urn:mpeg:dash:schema:mpd:2011"
    xmlns:xlink="http://www.w3.org/1999/xlink"
    xsi:schemaLocation="urn:mpeg:DASH:schema:MPD:2011 http://standards.iso.org/ittf/PubliclyAvailableStandards/MPEG-DASH_schema_files/DASH-MPD.xsd"
    profiles="urn:mpeg:dash:profile:isoff-live:2011"
    type="dynamic"
    minimumUpdatePeriod="PT4S"
    suggestedPresentationDelay="PT4S"
    availabilityStartTime="2019-06-24T13:38:04Z"
    publishTime="2019-06-24T13:38:34Z"
    timeShiftBufferDepth="PT14.9S"
    minBufferTime="PT9.9S">
    <ProgramInformation>
        <Title>Media Presentation</Title>
    </ProgramInformation>
    <Period id="0" start="PT0.0S">
        <AdaptationSet id="0" contentType="video" segmentAlignment="true" bitstreamSwitching="true">
            <Representation id="0" mimeType="video/mp4" codecs="avc1.640028" bandwidth="2000000" width="1920" height="1080" frameRate="20/1">
                <SegmentTemplate timescale="10240" initialization="init-stream$RepresentationID$.m4s" media="chunk-stream$RepresentationID$-$Number%05d$.m4s" startNumber="5">
                    <SegmentTimeline>
                        <S t="201697" d="51190" r="2" />
                    </SegmentTimeline>
                </SegmentTemplate>
            </Representation>
        </AdaptationSet>
        <AdaptationSet id="1" contentType="audio" segmentAlignment="true" bitstreamSwitching="true">
        </AdaptationSet>
    </Period>
</MPD>
...