Skip to content
  • Thiago Santos's avatar
    dashdemux: implement ISOBMFF profile handling · 3055bb33
    Thiago Santos authored
    The ISOBMFF profile allows definind subsegments in a segment. At those
    subsegment boundaries the client can switch from one representation to
    another as they have aligned indexes.
    
    To handle those the 'sidx' index is parsed from the stream and the
    entries point to pts/offset of the samples in the stream. Knowing that
    the entries are aligned in the different representation allows the client
    to switch mid fragment. In this profile a single fragment is used per
    representation and the subsegments are contained in this fragment.
    
    To notify the superclass about the subsegment boundary the chunk_received
    function returns a special flow return that indicates that. In this case,
    the super class will check if a more suitable bitrate is available and will
    change to the same subsegment in this new representation.
    
    It also requires special handling of the position in the stream as the
    fragment advancing is now done by incrementing the index of the subsegment.
    It will only advance to the next fragment once all subsegments have been
    downloaded.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=741248
    3055bb33