openh264enc: fix broken header AU emission by base class
authorTim-Philipp Müller <tim@centricular.com>
Tue, 20 Apr 2021 19:04:33 +0000 (20:04 +0100)
committerTim-Philipp Müller <tim@centricular.com>
Tue, 24 Aug 2021 22:42:27 +0000 (23:42 +0100)
commit67a49be61fadaf264daf08619d66e92d86d9a333
treef9bc53748d291545a920dcc9509a1c729cbd1fac
parent90c1732849c0233dd428d578ebbc481c23a36f4d
openh264enc: fix broken header AU emission by base class

This encoder advertises alignment=au as output format, which means
each output frame should contain a full decodable access unit.

The video encoder base class is not aware of our output alignment
and will output spurious buffers with just the SPS/PPS inside when
we call gst_video_encoder_set_headers(), which is broken because
each buffer is supposed to contain a full decodable access unit
in our case.

Just don't tell the base class about our headers, they will be
sent at the beginning of each IDR frame anyway.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2178>
ext/openh264/gstopenh264enc.cpp