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 755059 - opusdec: negotiation regression
opusdec: negotiation regression
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Linux
: Normal blocker
: 1.5.91
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2015-09-15 12:42 UTC by Nicola
Modified: 2015-09-15 19:54 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
opusdec: remove check for number of channels (1.09 KB, patch)
2015-09-15 19:00 UTC, Thiago Sousa Santos
committed Details | Review

Description Nicola 2015-09-15 12:42:11 UTC
Please try this pipeline:

gst-launch-1.0 -vmt souphttpsrc location="http://195.250.34.59/temp/opus.mkv" ! matroskademux ! queue  ! opusdec ! audioconvert ! audioresample ! audio/x-raw,channels=1  ! fakesink silent=false

this works in 1.4.x but not in git master, the problematic part is the capsfilter:

- original file is opus 2 channels
- adding a capsfilter with 1 channel cause this error:

0:00:00.094908359 25195      0x22d9280 DEBUG                opusdec gstopusdec.c:616:gst_opus_dec_set_format:<opusdec0> set_format: audio/x-opus, multistream=(boolean)false, channels=(int)2, rate=(int)48000, streamheader=(buffer)< 4f707573486561640102000080bb0000000000 >
0:00:00.095215994 25195      0x22d9280 INFO                 opusdec gstopusdec.c:259:gst_opus_dec_negotiate:<opusdec0> Negotiated 1 channels, 48000 Hz
/GstPipeline:pipeline0/GstOpusDec:opusdec0.GstPad:sink: caps = "audio/x-opus\,\ multistream\=\(boolean\)false\,\ channels\=\(int\)2\,\ rate\=\(int\)48000\,\ streamheader\=\(buffer\)\<\ 4f707573486561640102000080bb0000000000\ \>"
0:00:00.095286761 25195      0x22d9280 DEBUG                opusdec gstopusdec.c:733:gst_opus_dec_handle_frame:<opusdec0> found streamheader
0:00:00.095299113 25195      0x22d9280 ERROR                opusdec gstopusdec.c:302:gst_opus_dec_parse_header:<opusdec0> Opus ID header has invalid channels
Comment 1 Thiago Sousa Santos 2015-09-15 19:00:55 UTC
Created attachment 311404 [details] [review]
opusdec: remove check for number of channels

opus decoder can convert from different number of channels, no
need to check, just let it negotiate and create a new decoder if
needed.
Comment 2 Thiago Sousa Santos 2015-09-15 19:51:47 UTC
commit 7e834a5d85254831d692260db60698f49a26d3e2
Author: Thiago Santos <thiagoss@osg.samsung.com>
Date:   Tue Sep 15 15:39:11 2015 -0300

    opusdec: remove check for number of channels
    
    opus decoder can convert from different number of channels, no
    need to check, just let it negotiate and create a new decoder if
    needed.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=755059