Xpra: Ticket #1052: 0.16.0 fedora 21 builds not supporting vorbis

Checking back a number of versions, I don't see any fedora 21 that support vorbis (neither in the xpra/beta repos nor any of our own builds).

Tested the r10508, r11099, and r11304 0.16.0 fedora 21 builds... none had any support for vorbis.

Builds did have both gstreamer 0.10 and 1.0 (smo double checked), and

GStreamer version: 1.4.5.0
PyGStreamer version: 3.14.0

but...

encoders supported: mp3, wav, wavpack, speex
decoders supported: mp3, wav, wavpack, speex

Attaching some bug report tool goodies.



Tue, 15 Dec 2015 00:11:37 GMT - alas: attachment set

bug tool server info


Tue, 15 Dec 2015 00:12:01 GMT - alas: attachment set

bug tool sound info


Tue, 15 Dec 2015 00:13:56 GMT - alas: attachment set

bug tool system info


Tue, 15 Dec 2015 00:14:28 GMT - alas: attachment set

xpra info


Tue, 15 Dec 2015 03:45:22 GMT - Antoine Martin: owner changed

Fedora 21 is no longer supported and there will be no new builds for this release.

That said, to diagnose issues like this one, run (edited output to make it readable):

$ ./xpra/sound/gstreamer_util.py -v
GStreamer 1.0 environment: {'PATH': '/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/home/antoine/.local/bin:/home/antoine/bin'}
GStreamer 1.0 sys.path=/home/antoine/projects/Xpra/trunk/src/xpra/sound, \
    /usr/lib64/python27.zip, /usr/lib64/python2.7, /usr/lib64/python2.7/plat-linux2, /usr/lib64/python2.7/lib-tk, \
    /usr/lib64/python2.7/lib-old, /usr/lib64/python2.7/lib-dynload, /usr/lib64/python2.7/site-packages, \
    /usr/lib64/python2.7/site-packages/gst-0.10, /usr/lib64/python2.7/site-packages/gtk-2.0, /usr/lib/python2.7/site-packages
trying to import GStreamer 1.0 using <function import_gst1 at 0x7fbfbec6cc08>
import_gst1()
import_gst1() gi=<module 'gi' from '/usr/lib64/python2.7/site-packages/gi/__init__.pyc'>
import_gst1() Gst=<IntrospectionModule 'Gst' from '/usr/lib64/girepository-1.0/Gst-1.0.typelib'>
Python GStreamer version 1.6.1 for Python 2.7
Loaded Python GStreamer version 1.6.1 for Python 2.7
found the following plugins: ['3gppmux', 'aacparse', 'ac3parse', 'accurip', 'adder', ...
GStreamer plugins found: 3gppmux, aacparse, ac3parse, accurip, adder, ...
GStreamer version: 1.6.1.0
PyGStreamer version: 3.18.2
skipping flac with GStreamer 1.x to avoid obscure 'not-neogtiated' errors I do not have time for
missing ['lamemp3enc', 'mad', 'mp3parse'] from ('lamemp3enc', None, 'mad', 'mp3parse')
missing ['lamemp3enc', 'mad'] from ('lamemp3enc', None, 'mad', 'mpegaudioparse')
initialized sound codecs:
* vorbis     : vorbisenc   , gdppay      , vorbisdec   , gdpdepay
* opus       : opusenc     , oggmux      , opusdec     , oggdemux
* wav        : wavenc      , None        , None        , wavparse
* wavpack    : wavpackenc  , None        , wavpackdec  , wavpackparse
* speex      : speexenc    , oggmux      , speexdec    , oggdemux
encoders supported: vorbis, opus, wav, wavpack, speex
decoders supported: vorbis, opus, wav, wavpack, speex

If vorbis is not in that list, there should be a message explaining why.


Tue, 15 Dec 2015 18:13:38 GMT - alas:

Interesting... running that same command I'm not seeing any reference to the following lines:

GStreamer 1.0 environment: {'PATH': '/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/home/antoine/.local/bin:/home/antoine/bin'}
GStreamer 1.0 sys.path=/home/antoine/projects/Xpra/trunk/src/xpra/sound, \
    /usr/lib64/python27.zip, /usr/lib64/python2.7, /usr/lib64/python2.7/plat-linux2, /usr/lib64/python2.7/lib-tk, \
    /usr/lib64/python2.7/lib-old, /usr/lib64/python2.7/lib-dynload, /usr/lib64/python2.7/site-packages, \
    /usr/lib64/python2.7/site-packages/gst-0.10, /usr/lib64/python2.7/site-packages/gtk-2.0, /usr/lib/python2.7/site-packages
trying to import GStreamer 1.0 using <function import_gst1 at 0x7fbfbec6cc08>
import_gst1()
import_gst1() gi=<module 'gi' from '/usr/lib64/python2.7/site-packages/gi/__init__.pyc'>
import_gst1() Gst=<IntrospectionModule 'Gst' from '/usr/lib64/girepository-1.0/Gst-1.0.typelib'>
Python GStreamer version 1.6.1 for Python 2.7

All I'm seeing is the following. I would make a novice guess and figure that there's some path failing to be set for the vorbis?

[tlaloc@jimador sound]$ python gstreamer_util.py
Loaded Python GStreamer version 1.4.5 for Python 2.7
GStreamer plugins found: 3gppmux, a52dec, aacparse, ac3parse, adder, agingtv, alawdec, alawenc, alpha, alphacolor, a                                lsasink, alsasrc, amrnbdec, amrnbenc, amrparse, amrwbdec, apedemux, apev2mux, appsink, appsrc, asfdemux, aspectratio                                crop, asteriskh263, audioamplify, audiochebband, audiocheblimit, audioconvert, audiodynamic, audioecho, audiofirfilt                                er, audioiirfilter, audioinvert, audiokaraoke, audiopanorama, audiorate, audioresample, audiotestsrc, audiowsincband                                , audiowsinclimit, auparse, autoaudiosink, autoaudiosrc, autovideosink, autovideosrc, avidemux, avimux, avisubtitle,                                 bin, breakmydata, capsfilter, capssetter, cdiocddasrc, cdparanoiasrc, clockoverlay, cpureport, cutter, dcaparse, de                                codebin, deinterlace, deinterleave, dicetv, downloadbuffer, dtmfsrc, dv1394src, dvdec, dvdemux, dvdlpcmdec, dvdreads                                rc, dvdsubdec, dvdsubparse, dynudpsink, edgetv, encodebin, equalizer-10bands, equalizer-3bands, equalizer-nbands, fa                                kesink, fakesrc, fdsink, fdsrc, filesink, filesrc, flacdec, flacenc, flacparse, flactag, flvdemux, flvmux, flxdec, f                                unnel, gamma, gdkpixbufdec, gdkpixbufoverlay, gdkpixbufsink, giosink, giosrc, giostreamsink, giostreamsrc, goom, goo                                m2k1, hdv1394src, icydemux, id3demux, id3v2mux, identity, imagefreeze, input-selector, interleave, ismlmux, jpegdec,                                 jpegenc, lamemp3enc, level, mad, matroskademux, matroskamux, matroskaparse, mj2mux, mp4mux, mpeg2dec, mpegaudiopars                                e, mulawdec, mulawenc, multifdsink, multifilesink, multifilesrc, multipartdemux, multipartmux, multiqueue, multisock                                etsink, multiudpsink, navigationtest, navseek, oggaviparse, oggdemux, oggmux, oggparse, ogmaudioparse, ogmtextparse,                                 ogmvideoparse, optv, oss4sink, oss4src, osssink, osssrc, output-selector, pipeline, playbin, playsink, pngdec, pnge                                nc, pnmsrc, progressreport, pulsesink, pulsesrc, pushfilesrc, qtdemux, qtmoovrecover, qtmux, quarktv, queue, queue2,                                 rademux, radioactv, rdtdepay, rdtmanager, revtv, rganalysis, rglimiter, rgvolume, rippletv, rmdemux, rndbuffersize,                                 rtpL16depay, rtpL16pay, rtpL24depay, rtpL24pay, rtpac3depay, rtpac3pay, rtpamrdepay, rtpamrpay, rtpasfdepay, rtpbin                                , rtpbvdepay, rtpbvpay, rtpceltdepay, rtpceltpay, rtpdec, rtpdtmfdepay, rtpdtmfmux, rtpdtmfsrc, rtpdvdepay, rtpdvpay                                , rtpg722depay, rtpg722pay, rtpg723depay, rtpg723pay, rtpg726depay, rtpg726pay, rtpg729depay, rtpg729pay, rtpgsmdepa                                y, rtpgsmpay, rtpgstdepay, rtpgstpay, rtph263depay, rtph263pay, rtph263pdepay, rtph263ppay, rtph264depay, rtph264pay                                , rtpilbcdepay, rtpilbcpay, rtpj2kdepay, rtpj2kpay, rtpjitterbuffer, rtpjpegdepay, rtpjpegpay, rtpmp1sdepay, rtpmp2t                                depay, rtpmp2tpay, rtpmp4adepay, rtpmp4apay, rtpmp4gdepay, rtpmp4gpay, rtpmp4vdepay, rtpmp4vpay, rtpmpadepay, rtpmpa                                pay, rtpmparobustdepay, rtpmpvdepay, rtpmpvpay, rtpmux, rtppcmadepay, rtppcmapay, rtppcmudepay, rtppcmupay, rtpptdem                                ux, rtpqcelpdepay, rtpqdm2depay, rtprtxqueue, rtprtxreceive, rtprtxsend, rtpsbcdepay, rtpsbcpay, rtpsession, rtpsire                                ndepay, rtpsirenpay, rtpspeexdepay, rtpspeexpay, rtpssrcdemux, rtpstreamdepay, rtpstreampay, rtpsv3vdepay, rtptheora                                depay, rtptheorapay, rtpvorbisdepay, rtpvorbispay, rtpvp8depay, rtpvp8pay, rtpvrawdepay, rtpvrawpay, rtpxqtdepay, rt                                spreal, rtspsrc, rtspwms, sbcparse, scaletempo, shagadelictv, shapewipe, shout2send, smpte, smptealpha, souphttpclie                                ntsink, souphttpsrc, spectrum, speexdec, speexenc, splitfilesrc, ssaparse, streaktv, streamsynchronizer, subparse, s                                ubtitleoverlay, taginject, tcpclientsink, tcpclientsrc, tcpserversink, tcpserversrc, tee, testsink, textoverlay, tex                                trender, theoradec, theoraenc, theoraparse, timeoverlay, twolamemp2enc, typefind, udpsink, udpsrc, uridecodebin, v4l                                2radio, v4l2sink, v4l2src, valve, vertigotv, videobalance, videobox, videoconvert, videocrop, videoflip, videomedian                                , videomixer, videorate, videoscale, videotestsrc, volume, vorbisdec, vorbisenc, vorbisparse, vorbistag, vp8dec, vp8                                enc, vp9dec, vp9enc, warptv, wavenc, wavpackdec, wavpackenc, wavpackparse, wavparse, webmmux, x264enc, ximagesink, x                                imagesrc, xingmux, xvimagesink, y4menc
GStreamer version: 1.4.5.0
PyGStreamer version: 3.14.0
encoders supported: mp3, wav, wavpack, speex
decoders supported: mp3, wav, wavpack, speex

If you have a quick hint, that would be useful - otherwise I suppose you can close this ticket and I can open a new one if I find the issue after updating to a newer, sleeker fedora.


Wed, 16 Dec 2015 01:23:30 GMT - Antoine Martin:

@afarr: you're missing the "-v" verbose flag, see comment:1.


Wed, 16 Dec 2015 18:06:27 GMT - alas:

... So close.

Let's try again.

[jimador@Fedora21-Server-288 sound]$ python gstreamer_util.py -v
GStreamer 1.0 environment: {'PATH': '/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/jimador/.local/bin:/home/jimador/bin'}
GStreamer 1.0 sys.path=/usr/lib64/python2.7/site-packages/xpra/sound, /usr/lib64/python27.zip, /usr/lib64/python2.7, /usr/lib64/python2.7/plat-linux2, /usr/lib64/python2.7/lib-tk, /usr/lib64/python2.7/lib-old, /usr/lib64/python2.7/lib-dynload, /usr/lib64/python2.7/site-packages, /usr/lib64/python2.7/site-packages/Numeric, /usr/lib64/python2.7/site-packages/gst-0.10, /usr/lib64/python2.7/site-packages/gtk-2.0, /usr/lib/python2.7/site-packages
trying to import GStreamer 1.0 using <function import_gst1 at 0x7f3ff015ced8>
import_gst1()
import_gst1() gi=<module 'gi' from '/usr/lib64/python2.7/site-packages/gi/__init__.pyc'>
import_gst1() Gst=<gi.module.DynamicModule 'Gst' from '/usr/lib64/girepository-1.0/Gst-1.0.typelib'>
Python GStreamer version 1.4.5 for Python 2.7
Loaded Python GStreamer version 1.4.5 for Python 2.7
found the following plugins: ['3gppmux', 'a52dec', ...
GStreamer plugins found: 3gppmux, a52dec, ...
GStreamer version: 1.4.5.0
PyGStreamer version: 3.14.0
missing ['gdppay', 'gdpdepay'] from ('vorbisenc', 'gdppay', 'vorbisdec', 'gdpdepay')
skipping flac with GStreamer 1.x to avoid obscure 'not-neogtiated' errors I do not have time for
missing ['mp3parse'] from ('lamemp3enc', None, 'mad', 'mp3parse')
missing ['opusenc', 'opusdec'] from ('opusenc', 'oggmux', 'opusdec', 'oggdemux')
initialized sound codecs:
* mp3        : lamemp3enc  , None        , mad         , mpegaudioparse
* wav        : wavenc      , None        , None        , wavparse
* wavpack    : wavpackenc  , None        , wavpackdec  , wavpackparse
* speex      : speexenc    , oggmux      , speexdec    , oggdemux
encoders supported: mp3, wav, wavpack, speex
decoders supported: mp3, wav, wavpack, speex

Thu, 17 Dec 2015 02:06:03 GMT - Antoine Martin:

The output shows:

missing ['gdppay', 'gdpdepay'] from ('vorbisenc', 'gdppay', 'vorbisdec', 'gdpdepay')

And then I find that:

$ rpm -qf  /usr/lib64/gstreamer-1.0/libgstgdp.so
gstreamer1-plugins-bad-free-1.6.1-2.fc23.x86_64

So r11411 adds gstreamer1-plugins-bad-free to the dependency list for Fedora, try a newer build or just yum install gstreamer1-plugins-bad-free.


Tue, 05 Jan 2016 00:05:39 GMT - alas: status changed; resolution set

Sure enough, after a yum install gstreamer1-plugins-bad-free vorbis is working as hoped on a fedora 21 server, even r11366.

I've moved over to fedora 23 at this point anyway, but there may be other stubborn users that this will help. In any case, closing.


Sat, 23 Jan 2021 05:13:35 GMT - migration script:

this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/1052