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 685074 - G.726 decoder failure.
G.726 decoder failure.
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-libav
0.10.36
Other Linux
: Normal critical
: 1.1.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2012-09-28 20:56 UTC by Sam
Modified: 2013-03-06 19:41 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Sam 2012-09-28 20:56:45 UTC
1. GStreamer gst-launch-0.10 version 0.10.36
doesn't support speech decoder G.726 on Linux machines.

2. G.726 decoder still works on Windows machines with OSS builds.

3. All IP cameras use G.726 speech codec for audio stream.
So currently there's no way to get audio from IP cameras.

4. May be it could be useful
 VLC (Ubuntu) build 2.0.0 failed to play G.726
 The last build of VLC (2.0.3) does supports G.726
...............................................................................


Example: 

gst-launch --gst-debug=2 audiotestsrc ! ffenc_g726 ! ffdec_g726 ! audioconvert ! audioresample ! autoaudiosink
Could not open log file '/home/sam/gst_log' for writing: Is a directory
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
0:00:00.122044503  2798      0x22f36d0 WARN                  ffmpeg gstffmpegcodecmap.c:140:gst_ff_channel_layout_to_gst: Unknown channels in channel layout - assuming NONE layout
0:00:00.122571805  2798      0x22f36d0 ERROR                 ffmpeg :0:: Invalid number of bits 0
0:00:00.122605608  2798      0x22f36d0 WARN                 basesrc gstbasesrc.c:2625:gst_base_src_loop:<audiotestsrc0> error: Internal data flow error.
0:00:00.122625303  2798      0x22f36d0 WARN                 basesrc gstbasesrc.c:2625:gst_base_src_loop:<audiotestsrc0> error: streaming task paused, reason not-negotiated (-4)
ERROR: from element /GstPipeline:pipeline0/GstAudioTestSrc:audiotestsrc0: Internal data flow error.
Additional debug info:
gstbasesrc.c(2625): gst_base_src_loop (): /GstPipeline:pipeline0/GstAudioTestSrc:audiotestsrc0:
streaming task paused, reason not-negotiated (-4)
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...
Comment 1 Sam 2012-09-28 20:59:18 UTC
Example shows simple audio encode-decode test that fails.

The same ERROR will be thrown in PLAYBIN2
Comment 2 Sam 2012-09-28 22:09:29 UTC
Some new details:
Downgrade helps
gstreamer-ffmpeg-0.10.11 version plays G726
Comment 3 Wim Taymans 2012-12-12 16:05:10 UTC
Works in 1.0 now.
Comment 4 Sam 2013-03-06 14:43:45 UTC
Hi, 

The same problem with 1.0

gst-launch-1.0 --gst-debug=1 audiotestsrc ! avenc_g726 ! avdec_g726 ! fakesink

Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
0:00:00.028117008  6679      0x1f6d050 ERROR                  libav :0:: Invalid number of bits 0
0:00:00.028413341  6679      0x1f6d050 ERROR                  libav :0:: Invalid number of bits 0
0:00:00.028461661  6679      0x1f6d050 ERROR                  libav :0:: Invalid number of bits 0
0:00:00.028847639  6679      0x1f6d050 ERROR                  libav :0:: Invalid number of bits 0
0:00:00.028905210  6679      0x1f6d050 ERROR                  libav :0:: Invalid number of bits 0
ERROR: from element /GstPipeline:pipeline0/GstAudioTestSrc:audiotestsrc0: Internal data flow error.
Additional debug info:
gstbasesrc.c(2791): gst_base_src_loop (): /GstPipeline:pipeline0/GstAudioTestSrc:audiotestsrc0:
streaming task paused, reason not-negotiated (-4)
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...
Comment 5 Tim-Philipp Müller 2013-03-06 17:03:40 UTC
FWIW, it works fine for me as well in git master and also the 1.0 branch, also the 1.0.5 debian packages as in sid.
Comment 6 Sam 2013-03-06 17:11:48 UTC
Hi,

I use Fedora 18 and gst-launch-1.0 version 1.0.5.
I just test simple pipeline 
gst-launch-1.0 --gst-debug=2 audiotestsrc ! avenc_g726 bitrate=8000 ! avdec_g726 ! fakesink 

0:00:00.020818856 10064      0x1c5e8f0 ERROR                  libav :0:: Invalid number of bits 0
0:00:00.021230707 10064      0x1c5e8f0 ERROR                  libav :0:: Invalid number of bits 0
0:00:00.021272267 10064      0x1c5e8f0 ERROR                  libav :0:: Invalid number of bits 0
0:00:00.023178051 10064      0x1c5e8f0 ERROR                  libav :0:: Invalid number of bits 0

I understand in gstreamer-0.10 it also doesn't work?
So may be there is some work around?

Because G726 is critical codec.

Any ideas appreciated
Comment 7 Sam 2013-03-06 17:12:20 UTC
Hi,

I use Fedora 18 and gst-launch-1.0 version 1.0.5.
I just test simple pipeline 
gst-launch-1.0 --gst-debug=2 audiotestsrc ! avenc_g726 bitrate=8000 ! avdec_g726 ! fakesink 

0:00:00.020818856 10064      0x1c5e8f0 ERROR                  libav :0:: Invalid number of bits 0
0:00:00.021230707 10064      0x1c5e8f0 ERROR                  libav :0:: Invalid number of bits 0
0:00:00.021272267 10064      0x1c5e8f0 ERROR                  libav :0:: Invalid number of bits 0
0:00:00.023178051 10064      0x1c5e8f0 ERROR                  libav :0:: Invalid number of bits 0

I understand in gstreamer-0.10 it also doesn't work?
So may be there is some work around?

Because G726 is critical codec.

Any ideas appreciated

(In reply to comment #5)
> FWIW, it works fine for me as well in git master and also the 1.0 branch, also
> the 1.0.5 debian packages as in sid.
Comment 8 Olivier Crête 2013-03-06 19:08:39 UTC
This has been fixed in the master branch (which will soon be 1.2).
Comment 9 Sam 2013-03-06 19:41:18 UTC
(In reply to comment #8)
> This has been fixed in the master branch (which will soon be 1.2).

Ok. Thanks.

What is about gstreamer-0.10?

Is there any way to fix it in gstreamer-0.10?
I use Gstreamer Java and they still don't have fixes for gstreamer-1.0

I could downgrade gstreamer-ffmpeg to version gstreamer-ffmpeg-0.10.11-4.fc17.x86_64.rpm.
What do you think?