GNOME Bugzilla – Bug 781929
audioringbuffer: mpegaudioversion 3 (MP3 2.5) is refused
Last modified: 2017-05-16 19:39:00 UTC
First, my apologies if there is some mistake in this report, I'm not very knowledgeable in MPEG audio version. What I understood is that mpegaudioparse will parse mpeg audio 1, layer 1 / 3. Additionally, it parses the 3 generations of MP3. Those a commonly named as 1, 2 and 2.5, which we map into mpegaudioversion as 1, 2 and 3. First issue I found, is that mpegaudioversion 3 is rejected by the audioringbuffer. Now, on wikipedia this is considered non-standard, but it's widely used to transport human voice, as it reduces the bitrate. I think we enable support for this in the audioringbuffer, sinks can still control their template caps. Second issue, while the code in mpegaudioparse can produce 1, 2 and 3, the template advertise only 1 and 3. Third issue, lame and mpegaudioparse disagree. An example: gst-launch-1.0 -v audiotestsrc ! audio/x-raw,rate=8000 ! lamemp3enc ! mpegaudioparse ! fakesink 8kHz is only supported for generation 2.5, lame report mpgeaudioversion=2, mpegaudioparse will report 3 correctly. (maybe this should be filed seperatly ?)
Created attachment 350702 [details] [review] audioringbuffer: Accept MPEG 1 layer 3 version 2.5
Created attachment 350703 [details] [review] alsasink: Accept MPEG 1 layer 3 version 2.5
Created attachment 350704 [details] [review] pulse: Accept MPEG 1 layer 3 version 2.5
Review of attachment 350703 [details] [review]: Oops, no comments.
Review of attachment 350704 [details] [review]: Sams.
Created attachment 350705 [details] [review] alsasink: Accept MPEG 1 layer 3 version 2.5
Created attachment 350706 [details] [review] pulse: Accept MPEG 1 layer 3 version 2.5
mpegaudioparse was fine of course, if you can see that a [ if not a { ;-P. Let me know if / when these should get in.
Attachment 350702 [details] pushed as 1ceb40c - audioringbuffer: Accept MPEG 1 layer 3 version 2.5 Attachment 350705 [details] pushed as e0d793f - alsasink: Accept MPEG 1 layer 3 version 2.5
Attachment 350706 [details] pushed as bd2ce0f - pulse: Accept MPEG 1 layer 3 version 2.5