Summary:ASTERISK-06486: [patch] G.723.1b codec isn't compiled
Reporter:Paul Cadach (pcadach)Labels:
Date Opened:2006-03-06 11:10:31.000-0600Date Closed:2006-03-19 21:52:58.000-0600
Versions:Frequency of
Environment:Attachments:( 0) g7231b.diff
( 1) g7231bmake.diff
Description:Codec's makefile collects codec module names by substituting codec interface source names with '.so' then filter it for missed codec sources. G.723.1b implementation uses the same codec interface source (codec_g723_1.c) to produce its module (codec_g723_1b.so) and module name is ALWAYS missing in module list.
Comments:By: Andrey S Pankov (casper) 2006-03-07 11:13:08.000-0600

g7231bmake.diff seems more reasonable to me... :)
Disclaimer is on file.

By: Paul Cadach (pcadach) 2006-03-07 11:18:53.000-0600

It's not so principal. I'd reported the problem and attach one simplest (!) solution (just compare sizes of diff-files ;-) ).

Of course, casper's patch is more clear for understanding but I'd just follows current implementation of "optional" codec compilation (filtering list of already-defined modules when dependent source isn't available).

By: Tilghman Lesher (tilghman) 2006-03-07 14:07:10.000-0600

Isn't this a moot point until 2014, when the final G.723.1 codec patent expires?

By: Paul Cadach (pcadach) 2006-03-07 17:43:12.000-0600

I use G.723.1b for test codec capabilities/selection together with H.323. Because my test box is connected over regular modem I cannot use something else without $10/channel. Sources are slightly modified ITU's reference implementation.

By: Tilghman Lesher (tilghman) 2006-03-07 18:02:29.000-0600

But you can afford $300,000/channel for G.723.1 ?

By: Paul Cadach (pcadach) 2006-03-07 23:55:34.000-0600

Cisco 12SP+/30VIP phone support G.711 and G.723.1 only, so I don't have a chance to move to different codec.

By: Paul Cadach (pcadach) 2006-03-08 00:00:50.000-0600

I don't sure G.723.1 costs $300K per channel otherwise Cisco's (and other) gateways costs (which support it) will costs 30*$300K for single E1 channel.

Anyway, support for ITU reference codecs is already provided with Asterisk, and G.723.1b isn't compiles correctly, and it's wrong.

By: Tilghman Lesher (tilghman) 2006-03-08 00:40:43.000-0600

No, but it's $300,000 effectively for the first license, because the patent holders won't talk to you unless you're willing to spend at least that amount.

By: Denis Smirnov (mithraen) 2006-03-19 04:33:56.000-0600

Now G.723.1 _is_ builded, if ITU samples unpacked to codecs/
But G.723.1b not builded.
We need disable building G.723.1 or enabling building G.723.1b.

By: Paul Cadach (pcadach) 2006-03-19 04:37:14.000-0600

G.723.1b uses different sources and is independed from G.723.1. Mithraen, which sources you uses to try to build G.723.1/G.723.1b?

By: Denis Smirnov (mithraen) 2006-03-19 04:49:25.000-0600

With trivial patch to Makefile I build both versions.

Makefile has bug:
It looks to all *.c and try to build *.so. But codec_g723_1b.so and codec_g723_1.so builded from codec_g723_1.c.


all that needs for building, if we have sources.
If we don't have it:

ifeq ($(wildcard g723.1b/coder2.c),)
 MODS:=$(filter-out codec_g723_1b.so,$(MODS))

codec_g723_1b.so would be filtered out.

But now it not filtered -- it trivialy not added to MODS.

Somtime ago all modules was listed in Makefile beginning. Later it replaced with :

MODS:=$(patsubst %.c,%.so,$(wildcard codec_*.c))

and codec_g723_1b was broken :)

I modify this string:

MODS:=$(patsubst %.c,%.so,$(wildcard codec_*.c)) codec_g723_1b.so

and all works ok :)

By: Paul Cadach (pcadach) 2006-03-19 19:48:33.000-0600

Mithraen: This is another way of my patch (g7231b.diff, I've just added codec_g7231b.so at next line, not in the same as you). Casper have slightly different way (to add module into the list if g723.1b/coder2.c file is presented, not to filter out module from the list if g723.1b/coder2.c is ommited). Anyway, any of solution is acceptable.

By: Tilghman Lesher (tilghman) 2006-03-19 21:52:40.000-0600

None of this changes the fact that there's a patent and you all are avoiding paying the patent fees.  Given the patent-holder's deep pockets, we cannot afford to do anything with respect to this, other than to simply close this issue, which is what I'm going to do.