After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 732542 - h264parse: drop broken SEI NAL units/messages?
h264parse: drop broken SEI NAL units/messages?
Status: RESOLVED INVALID
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2014-07-01 11:33 UTC by Gwenole Beauchesne
Modified: 2018-05-05 14:59 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Gwenole Beauchesne 2014-07-01 11:33:34 UTC
Hi, the current implementation of gst_h264_parse_process_sei() will ignore any error from badly constructed SEI NAL unit. i.e. in alignment=au mode, we will be accumulating broken SEI NAL units.

There are multiple (non-?) issues here:

1. If the SEI NAL unit contains a single SEI message that is incorrectly constructed, the process_sei() function would ignore it. It could be interesting to skip it from the output.

2. If the SEI NAL unit contains multiple SEI messages, and one of the SEI message is badly constructed, what should we do? Rejecting the whole NAL unit wouldn't be appropriate. However, would it be worth recreating a correct NAL unit with the good SEI messages? Otherwise, it could be just fine to delegate that to the decoder, and let it care, if needed.

3. In the codec parser, we try very hard to make the parser robust with invalid SEI messages. In particular, if the reported payloadSize is larger than what is left in the NAL unit, we would just skip the message, unless it is one of the supported set. Is it worth reporting an appropriate error?

Thinking further, I think this bug is totally useless after all, and it might be just fine to ignore any SEI related error. :) That's supplemental information that does not interfere in the core decoding process. So, an error could be bearable.
Comment 1 Edward Hervey 2018-05-05 14:59:55 UTC
As you said, it's not fundamental to the decoding process, I think it's safe to ignore.