• Alex Ashley's avatar
    qtdemux: support seeking of CENC encrypted streams · 5ba07e86
    Alex Ashley authored
    When playing a stream that has been protected by DASH CENC, playback
    will fail if a seek is performed. Qtdemux produces the error "stream
    is protected using cenc, but no cenc protection system information
    has been found" and playback stops.
    
    The problem is that gst_qtdemux_reset() gets called as part of the
    FLUSH during a seek. This function frees the protection_system_ids
    array. When gst_qtdemux_configure_protected_caps() is called after the
    seek has completed, the protection_system_ids array is empty and
    qtdemux is unable to create the correct output caps for the protected
    stream.
    
    This commit changes it to only free the protection_system_ids on
    hard resets.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=761787
    5ba07e86
qtdemux.c 406 KB