Skip to content
  • Alex Ashley's avatar
    qtdemux: only transform protected caps once · 97f6f7c7
    Alex Ashley authored
    Commit 7873bede
    (https://bugzilla.gnome.org/show_bug.cgi?id=760774) changed the
    behaviour of qtdemux to call gst_qtdemux_configure_stream() for
    every new moof.
    
    When playing a protected stream, gst_qtdemux_configure_stream()
    calls gst_qtdemux_configure_protected_caps(). The
    gst_qtdemux_configure_protected_caps() function takes the original
    media format, puts this in a field called "original-media-type"
    and then changes the caps to "application/x-cenc".
    
    The gst_qtdemux_configure_protected_caps() did not handle the case
    of being called multiple times, causing it to incorrectly set the
    caps. The second call was causing the caps to be set to:
    
        application/x-cenc, original-media-type"application/x-cenc"
    
    This commit makes gst_qtdemux_configure_protected_caps() check that
    the caps have already been transformed, so that it only gets
    changed once.
    
        https://bugzilla.gnome.org/show_bug.cgi?id=761769
    97f6f7c7