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 471194 - [rtpbuffer] RTP headers are wrong for win32
[rtpbuffer] RTP headers are wrong for win32
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
git master
Other Windows
: Normal blocker
: 0.10.15
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2007-08-28 16:08 UTC by Haakon Sporsheim
Modified: 2007-09-07 18:05 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Patch for the GstRTPHeader structure (574 bytes, patch)
2007-08-28 16:10 UTC, Haakon Sporsheim
committed Details | Review
Patch for the GstRFC2190AHeader structure (434 bytes, patch)
2007-08-28 16:11 UTC, Haakon Sporsheim
committed Details | Review

Description Haakon Sporsheim 2007-08-28 16:08:24 UTC
Using RTP payloader elements on win32 generates invalid RTP Headers. This is because the MS Compiler packs the GstRTPHeader and GstRFC2190AHeader structures wrong.
Comment 1 Haakon Sporsheim 2007-08-28 16:10:27 UTC
Created attachment 94509 [details] [review]
Patch for the GstRTPHeader structure

Fix for the GstRTPHeader in gst-plugins-base.
Comment 2 Haakon Sporsheim 2007-08-28 16:11:19 UTC
Created attachment 94510 [details] [review]
Patch for the GstRFC2190AHeader structure

Fix for the GstRFC2190AHeader in gst-plugins-good.
Comment 3 Tim-Philipp Müller 2007-09-07 16:47:36 UTC
Thanks, nice catch! The bit in -base should hopefully be fixed now:

 2007-09-07  Tim-Philipp Müller  <tim at centricular dot net>

        Based on patch by: Haakon Sporsheim  <haakon.sporsheim at tandberg com>

        * gst-libs/gst/rtp/gstrtpbuffer.c:
          Fix up GstRTPHeader helper struct so that compilers will not under
          any circumstances add padding in between our fields, as currently
          happens with MSVC on win32, because that would lead to us sending
          out RTP payloads with broken RTP headers (#471194).
          Fix assertion guards for gst_rtp_buffer_get_csrc() and _set_csrc().
          
        * tests/check/Makefile.am:
        * tests/check/libs/.cvsignore:
        * tests/check/libs/rtp.c:
          Add some simple unit tests for GstRTPBuffer. Some are disabled
          because the code tested still needs fixing (set_csrc() does not work).