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 538891 - G.726 pay/depayloader is missing
G.726 pay/depayloader is missing
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
git master
Other All
: Normal normal
: 0.10.9
Assigned To: Wim Taymans
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2008-06-18 05:37 UTC by mersad
Modified: 2008-06-19 10:23 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Source file for the payloader (4.49 KB, text/plain)
2008-06-18 05:41 UTC, mersad
Details
Header file for the payloader (1.61 KB, text/plain)
2008-06-18 05:41 UTC, mersad
Details
Source file for the depayloader (6.26 KB, text/plain)
2008-06-18 05:42 UTC, mersad
Details
Header file for the depayloader (1.63 KB, text/plain)
2008-06-18 05:42 UTC, mersad
Details

Description mersad 2008-06-18 05:37:25 UTC
Please describe the problem:
G.726 pay/depayloader is missing

Steps to reproduce:
1. 
2. 
3. 


Actual results:


Expected results:


Does this happen every time?


Other information:
Comment 1 mersad 2008-06-18 05:41:13 UTC
Created attachment 112957 [details]
Source file for the payloader
Comment 2 mersad 2008-06-18 05:41:50 UTC
Created attachment 112958 [details]
Header file for the payloader
Comment 3 mersad 2008-06-18 05:42:10 UTC
Created attachment 112959 [details]
Source file for the depayloader
Comment 4 mersad 2008-06-18 05:42:52 UTC
Created attachment 112960 [details]
Header file for the depayloader
Comment 5 Wim Taymans 2008-06-18 10:14:07 UTC
I changed the caps of the payloader slightly so that it also supports audio/x-adpcm and more bitrates. Also added more bitrates to the depayloader.

        Patch by: mersad <mersad at axis dot com>

        * gst/rtp/Makefile.am:
        * gst/rtp/gstrtp.c: (plugin_init):
        * gst/rtp/gstrtpg726depay.c: (gst_rtp_g726_depay_base_init),
        (gst_rtp_g726_depay_class_init), (gst_rtp_g726_depay_init),
        (gst_rtp_g726_depay_setcaps), (gst_rtp_g726_depay_process),
        (gst_rtp_g726_depay_plugin_init):
        * gst/rtp/gstrtpg726depay.h:
        * gst/rtp/gstrtpg726pay.c: (gst_rtp_g726_pay_base_init),
        (gst_rtp_g726_pay_class_init), (gst_rtp_g726_pay_init),
        (gst_rtp_g726_pay_setcaps), (gst_rtp_g726_pay_plugin_init):
        * gst/rtp/gstrtpg726pay.h:
        Added G726 pay/depayloaders. Fixes #538891.
Comment 6 Olivier Crête 2008-06-18 14:35:30 UTC
The payloader you committed seems to put G.723 frames into G726 packets, which seems wrong since G.723 is a completely different codec.
Comment 7 Wim Taymans 2008-06-18 14:42:42 UTC
I don't know, I thought it was ok because of this line in RFC 3551:

  "The encodings of G.726 are here denoted as G726-40, G726-32, G726-24,
   and G726-16.  Prior to 1990, G721 described the 32 kbit/s ADPCM
   encoding, and G723 described the 40, 32, and 16 kbit/s encodings.
   Thus, G726-32 designates the same algorithm as G721 in RFC 1890."
Comment 8 Olivier Crête 2008-06-18 16:38:01 UTC
It's confusing, the encoding name "G723" is actually for G.723.1, which is completely unrelated to G.723.
Comment 9 Wim Taymans 2008-06-18 16:43:26 UTC
so, I should remove the audio/G723 and audio/32KADPCM from the input caps for the payloader? I guess audio/32KADPCM is not even something we know about in GStreamer...
Comment 10 Olivier Crête 2008-06-18 16:49:02 UTC
Definitely audi/G723 should be removed, and I've never heard of audio/32KADPCM (and I don't know what it is..)
Comment 11 Wim Taymans 2008-06-18 16:58:17 UTC
OK

        * gst/rtp/gstrtpg726pay.c:
        Fix caps, See #538891.
Comment 12 mersad 2008-06-19 08:35:24 UTC
G.721 and G.723 were replaced by G.726 and G.723.1 is not the same thing as G.723 as you say. So the codec G.723 is actually G.726, but not G.723.1.

G.723:
http://www.itu.int/rec/T-REC-G.723/e

G.721:
http://www.itu.int/rec/T-REC-G.721/e

audio/32KADPCM is defined in RFC 2422:
http://www.rfc-editor.org/rfc/rfc2422.txt

A list of media types can be found in:

http://www.rfc-editor.org/rfc/rfc4856.txt

The media type audio/G723 is defined for G.723.1, but I think
the MIME-type for G.723 is also defined as audio/G723.
Comment 13 Wim Taymans 2008-06-19 09:23:08 UTC
very confusing indeed. Since we are talking about the input of the payloader, we have to deal with the GStreamer media types and not mime types. I would strongly suggest to map all of the encoders for these formats to the gstreamer media types instead of adding these new media types.
Comment 14 mersad 2008-06-19 10:09:17 UTC
Wim, did you remove the types from the setcaps()-function?

So that we only have:

  if (strcmp ("audio/x-adpcm", stname) == 0) {
    if (!gst_structure_get_int (structure, "bitrate", &bitrate))
      bitrate = 32000;
  }
Comment 15 Wim Taymans 2008-06-19 10:23:10 UTC
yes, the reason being that we currently don't have any media types of audio/G723 or audio/32KADPCM, they are all conveyed with audio/x-adpcm.