GNOME Bugzilla – Bug 532409
RTP payload/depayloader for G.729
Last modified: 2009-01-23 08:45:38 UTC
I'm attaching RTP pay/depay for G.729 that are currently part of gst-plugins-farsight. They're currently used by OS2007.x and OS2008 and have been extensively tested.
Created attachment 110664 [details] payloader/depayloader for G.729
Based on patch by: Olivier Crete <tester at tester dot ca> * gst/rtp/Makefile.am: * gst/rtp/gstrtp.c: (plugin_init): * gst/rtp/gstrtpg729depay.c: (gst_rtp_g729_depay_base_init), (gst_rtp_g729_depay_class_init), (gst_rtp_g729_depay_init), (gst_rtp_g729_depay_setcaps), (gst_rtp_g729_depay_process), (gst_rtp_g729_depay_plugin_init): * gst/rtp/gstrtpg729depay.h: * gst/rtp/gstrtpg729pay.c: (gst_rtpg729pay_base_init), (gst_rtpg729pay_class_init), (gst_rtpg729pay_init), (gst_rtpg729pay_setcaps), (gst_rtp_g729_pay_plugin_init): * gst/rtp/gstrtpg729pay.h: Added G729 pay and depayloaders. Fixes #532409.
When you added the RTP payloader, you noobed it. G729 frames are not always the same size, they can be CN frames, in that case, they are only 2 bytes. So GstBaseRTPAudioPay isn't suitable. Please replace the current payloader with the one attached to this bug which actually works.
Created attachment 122434 [details] [review] Patch fixing the G729 payloader for current CVS
Patch by: Olivier Crete <tester at tester dot ca> * gst/rtp/gstrtpg729pay.c: (gst_rtp_g729_pay_base_init), (gst_rtp_g729_pay_class_init), (gst_rtp_g729_pay_init), (gst_rtp_g729_pay_set_caps), (gst_rtp_g729_pay_handle_buffer): * gst/rtp/gstrtpg729pay.h: Replace G729 payloader with an improved version. Fixes #532409.