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 710603 - rtph264pay doesn't meet the minimum requirements of RFC3984
rtph264pay doesn't meet the minimum requirements of RFC3984
Status: RESOLVED NOTABUG
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
1.1.4
Other All
: Normal critical
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2013-10-22 07:08 UTC by Fredrik Wigert
Modified: 2013-10-25 12:35 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Fredrik Wigert 2013-10-22 07:08:24 UTC
In section 5.4 of rfc3984 it is stated that packetization-mode 0 is required to be implemented. This means sending single NAL, not fragmented NALs (FU-A). In gstreamer there seems to be no way to set packetization-mode, and no way to force x264enc to output smaller packets than the mtu in rtph264pay. This means that the requirement of packetization-mode 0 is impossible to fulfill in the current implementation.

https://www.rfc-editor.org/rfc/rfc3984.txt

If anyone has a workaround for this I'd be thrilled to hear about it!
Comment 1 Olivier Crête 2013-10-22 08:09:28 UTC
You can set the "mtu" property to 4294967295 and the packets will never be fragmented.
Comment 2 Fredrik Wigert 2013-10-22 08:20:51 UTC
Yes, but the problem is that routers only allow packets smaller than ~1360 bytes. They certainly will not be fragmented, but they will never reach their destination either :)
Comment 3 Olivier Crête 2013-10-25 11:47:29 UTC
Then you need to setup the encoder to create smaller NALs if you don't want to fragment them. You can do x264enc option-string="slice-max-size=1200"
Comment 4 Fredrik Wigert 2013-10-25 12:35:32 UTC
Ah, great! I tried different variations of vbv-buffer-length and constant bitrates with no success. But this option string really works. Thank you very much!