GNOME Bugzilla – Bug 679958
oggmux unit test fails: should flag all out buffers as DELTA units except those with video key units
Last modified: 2012-08-10 09:57:45 UTC
Jhbuild (git from master, 3.6 module set) of gst-plugins-base fails with the following test: Running suite(s): oggmux 71%: Checks: 7, Failures: 2, Errors: 0 pipelines/oggmux.c:196:F:general:test_vorbis_theora:0: Non-video buffer doesn't have DELTA_UNIT in stream with video pipelines/oggmux.c:196:F:general:test_theora_vorbis:0: Non-video buffer doesn't have DELTA_UNIT in stream with video FAIL: pipelines/oggmux built on Fedora 17 ( up to date )
Known issue. A couple of other tests still fail too. Help would be appreciated :)
Right, so the test wants all non-video (read: audio) buffers on the oggmux *output* side to be marked as DELTA_UNITS. I'm guessing this is so that e.g. multifdsink and friends can cache back to the last keyframe and send that data to clients as initial burst to make things show up faster. So I guess this is desirable and should probably be fixed.
Sorry, didn't realise that this was broken in 0.10 as well, just assumed someone would have noticed before :) No idea yet what might've broken this yet, perhaps something audio/video base class-related, since the oggmux diff to the last release is minimal.
Looks like changes in theoraenc are causing this somehow (only difference I noticed was that new theoraenc doesn't flag header buffers as delta units any longer, which seems right though).
commit 2720abd8b3a4a934b0e6c1ee59b718967aad23d2 Author: Tim-Philipp Müller <tim.muller@collabora.co.uk> Date: Fri Aug 10 10:45:09 2012 +0100 oggmux: pick delta pad earlier during header parsing and based on video/non-video Pick delta pad earlier during header parsing, and pick it based on whether it's a video stream or not rather than some rather byzantine signalling from theoraenc etc. which would set the delta flag on header packets which oggmux would then pick up and determine that this is a "delta-able" stream. Since the new videodecoder-based theoraenc didn't do that any more, we would only see the first delta flag on the second video packet, which is after we've already muxed a few audio packets flagged as key units, which trips up the unit test. Fixes pipelines/oggmux unit test. https://bugzilla.gnome.org/show_bug.cgi?id=679958