qtdemux: also push buffers without encryption info instead of dropping them
authorEnrique Ocaña González <eocanha@igalia.com>
Sat, 20 May 2017 16:55:40 +0000 (16:55 +0000)
committerThibault Saunier <tsaunier@igalia.com>
Mon, 21 May 2018 15:36:17 +0000 (17:36 +0200)
commit844423ff99e281fc831303b92861ed43ce5c1518
tree9a6fc1657f62640214b2b4837a7de4536ba7d5ce
parentb04583d9ed915c051840429ce1adc5ed57f2d774
qtdemux: also push buffers without encryption info instead of dropping them

Test "17. PlayReadyH264Video" in YouTube leanback EME conformance tests 2016
for H.264[1] uses a media file[2] with cenc encryption whose first two 'moof'
boxes have no encryption information (no 'saiz' and 'saio' boxes).

Those boxes are actually not encrypted and the current qtdemux implementation
was just dropping them, breaking the test use case.

This patch detects those kind of situations and just lets the unencrypted
buffers pass. Of course, this needs some collaboration by the decryptors,
which should also do the same and not to try to decrypt those clear buffers.

[1] http://yt-dash-mse-test.commondatastorage.googleapis.com/unit-tests/2016.html?test_type=encryptedmedia-test&webm=false
[2] http://yt-dash-mse-test.commondatastorage.googleapis.com/unit-tests/media/oops_cenc-20121114-142.mp4

https://bugzilla.gnome.org/show_bug.cgi?id=770107
gst/isomp4/qtdemux.c