Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Got missing-plugin message: description:audio/x-unknown decoder on Debian Wheezy #43

Closed
jghibiki opened this issue Aug 19, 2015 · 4 comments
Labels

Comments

@jghibiki
Copy link

I am getting Got missing-plugin message: description:audio/x-unknown decoder when I attempt to play this video. Half of my problem with this bug is that it will not play the stream, the other half is that mopidy gets stuck on this track and will not advance to the next one without calling PlaybackController.next(). Also note that this problem happens with other videos as well.

I have isolated my system configuration to the following Dockerfile to reproduce the environment:

FROM python:2.7
MAINTAINER jghibiki <jghibiki.games@gmail.com>

RUN wget -q -O - https://apt.mopidy.com/mopidy.gpg | apt-key add -
RUN wget -q -O /etc/apt/sources.list.d/mopidy.list https://apt.mopidy.com/mopidy.list
RUN apt-get update && apt-get install gstreamer0.10 gstreamer0.10-plugins-bad gstreamer0.10-plugins-base gstreamer0.10-plugins-good gstreamer0.10-plugins-ugly gstreamer1.0 gstreamer0.10-plugins-bad python-requests python-setuptools python-pafy mopidy mopidy-youtube --assume-yes

ADD ./mopidy.conf /root/.config/mopidy/mopidy.conf

RUN /usr/bin/mopidy deps

CMD /usr/bin/mopidy -v

The result of the mopidy deps call made while building the docker image:

Executable: /usr/bin/mopidy
Platform: Linux-4.1.3-1-ARCH-x86_64-with-debian-8.0
Python: CPython 2.7.9 from /usr/lib/python2.7
Mopidy: 1.1.0 from /usr/lib/python2.7/dist-packages
  Pykka>=1.1: 1.2.1 from /usr/lib/python2.7/dist-packages
  requests: 2.4.3 from /usr/lib/python2.7/dist-packages
  tornado>=2.3: 3.2.2 from /usr/lib/python2.7/dist-packages
Mopidy-Youtube: 2.0.0 from /usr/lib/python2.7/dist-packages
  requests>=2.2.1: 2.4.3 from /usr/lib/python2.7/dist-packages
  pafy>=0.3.35: 0.3.62 from /usr/lib/python2.7/dist-packages
  Mopidy>=1.0: 1.1.0 from /usr/lib/python2.7/dist-packages
    Pykka>=1.1: 1.2.1 from /usr/lib/python2.7/dist-packages
    requests: 2.4.3 from /usr/lib/python2.7/dist-packages
    tornado>=2.3: 3.2.2 from /usr/lib/python2.7/dist-packages
  Pykka>=1.1: 1.2.1 from /usr/lib/python2.7/dist-packages
GStreamer: 0.10.36.0 from /usr/lib/python2.7/dist-packages/gst-0.10/gst
  Detailed information:
    Python wrapper: gst-python 0.10.22.0
    Relevant elements:
      Found:
        uridecodebin
        souphttpsrc
        appsrc
        alsasink
        osssink
        oss4sink
        pulsesink
        flump3dec
        id3demux
        id3v2mux
        lame
        mad
        mp3parse
        vorbisdec
        vorbisenc
        vorbisparse
        oggdemux
        oggmux
        oggparse
        flacdec
        flacparse
        shout2send
      Not found:
        none

Log of request and play events when requesting the track in question:

mopidy_1 | DEBUG    2015-08-19 15:03:42,693 [6:HttpServer] mopidy.http.handlers
mopidy_1 |   Received RPC message from 172.17.0.162: ' {"jsonrpc": "2.0", "id": 1, "method": "core.tracklist.add", "params": {"uri":"yt:https://youtube.com/watch?v=8xXOYmGzKCo"}}'
mopidy_1 | WARNING  2015-08-19 15:03:42,942 [6:YoutubeBackend-6] root
mopidy_1 |   Unknown itag: 278
mopidy_1 | DEBUG    2015-08-19 15:03:42,945 [6:Core-7] mopidy.core.tracklist
mopidy_1 |   Triggering event: tracklist_changed()
mopidy_1 | DEBUG    2015-08-19 15:03:42,946 [6:MainThread] mopidy.listener
mopidy_1 |   Sending tracklist_changed to CoreListener: {}
mopidy_1 | DEBUG    2015-08-19 15:03:43,373 [6:HttpServer] mopidy.http.handlers
mopidy_1 |   Received RPC message from 172.17.0.162: ' {"jsonrpc": "2.0", "id": 1, "method": "core.playback.get_state"}'
mopidy_1 | DEBUG    2015-08-19 15:03:43,815 [6:HttpServer] mopidy.http.handlers
mopidy_1 |   Received RPC message from 172.17.0.162: ' {"jsonrpc": "2.0", "id": 1, "method": "core.playback.play"}'
mopidy_1 | DEBUG    2015-08-19 15:03:43,817 [6:Core-7] mopidy.core.playback
mopidy_1 |   Changing state: stopped -> playing
mopidy_1 | DEBUG    2015-08-19 15:03:43,817 [6:Core-7] mopidy.core.playback
mopidy_1 |   Triggering playback state change event
mopidy_1 | DEBUG    2015-08-19 15:03:43,818 [6:MainThread] mopidy.listener
mopidy_1 |   Sending playback_state_changed to CoreListener: {'old_state': u'stopped', 'new_state': u'playing'}
mopidy_1 | DEBUG    2015-08-19 15:03:43,820 [6:Audio-2] mopidy.audio.gst
mopidy_1 |   State change to GST_STATE_READY: result=GST_STATE_CHANGE_SUCCESS
mopidy_1 | DEBUG    2015-08-19 15:03:43,821 [6:MainThread] mopidy.audio.gst
mopidy_1 |   Got state-changed message: old=GST_STATE_NULL new=GST_STATE_READY pending=GST_STATE_VOID_PENDING
mopidy_1 | DEBUG    2015-08-19 15:03:43,821 [6:YoutubeBackend-6] mopidy_youtube
mopidy_1 |   Resolving Youtube for track 'youtube:video/Memphis May Fire - My Generation (Official Lyric Video).8xXOYmGzKCo'
mopidy_1 | WARNING  2015-08-19 15:03:44,089 [6:YoutubeBackend-6] root
mopidy_1 |   Unknown itag: 278
mopidy_1 | DEBUG    2015-08-19 15:03:44,091 [6:YoutubeBackend-6] mopidy_youtube
mopidy_1 |   Memphis May Fire - My Generation (Official Lyric Video) - 128k audio ogg
mopidy_1 | DEBUG    2015-08-19 15:03:44,587 [6:YoutubeBackend-6] mopidy.backend
mopidy_1 |   Backend translated URI from youtube:video/Memphis May Fire - My Generation (Official Lyric Video).8xXOYmGzKCo to https://r19---sn-25ge7n7e.googlevideo.com/videoplayback?lmt=1432620093786318&requiressl=yes&gir=yes&gcr=us&dur=241.861&pl=18&itag=251&keepalive=yes&source=youtube&expire=1440018224&mime=audio%2Fwebm&sparams=clen%2Cdur%2Cgcr%2Cgir%2Cid%2Cip%2Cipbits%2Citag%2Ckeepalive%2Clmt%2Cmime%2Cmm%2Cmn%2Cms%2Cmv%2Cpl%2Crequiressl%2Csource%2Cupn%2Cexpire&sver=3&ipbits=0&fexp=9407478%2C9408710%2C9409069%2C9415365%2C9415485%2C9416023%2C9416126%2C9417707%2C9418153&clen=3800997&key=yt5&ip=134.129.90.208&ms=pm&mt=1439988847&mv=s&id=o-AIDQSFtOfZoQhfO03SiV5FgSs3P2g2ZI7mas023If9co&mm=35&mn=sn-25ge7n7e&upn=Z9hNj0dt97g&ratebypass=yes&signature=30D40E2603502B746B08D41F3AA3B8C2BA18B30D.30FB57E899323BE778E1683570902D576719C8BB
mopidy_1 | DEBUG    2015-08-19 15:03:44,588 [6:SoftwareMixer-1] mopidy.mixer
mopidy_1 |   Mixer event: volume_changed(volume=100)
mopidy_1 | DEBUG    2015-08-19 15:03:44,591 [6:MainThread] mopidy.listener
mopidy_1 |   Sending volume_changed to MixerListener: {'volume': 100}
mopidy_1 | DEBUG    2015-08-19 15:03:44,592 [6:Audio-2] mopidy.audio.gst
mopidy_1 |   Got source-setup: element=/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin3/GstSoupHTTPSrc:source (__main__.GstSoupHTTPSrc)
mopidy_1 | DEBUG    2015-08-19 15:03:44,594 [6:Audio-2] mopidy.audio.gst
mopidy_1 |   State change to GST_STATE_PLAYING: result=GST_STATE_CHANGE_ASYNC
mopidy_1 | DEBUG    2015-08-19 15:03:44,596 [6:Core-7] mopidy.core.playback
mopidy_1 |   Triggering track playback started event
mopidy_1 | DEBUG    2015-08-19 15:03:44,598 [6:MainThread] mopidy.listener
mopidy_1 |   Sending track_playback_started to CoreListener: {'tl_track': TlTrack(tlid=0, track=Track(album=Album(images=[u'', u'http://i.ytimg.com/vi/8xXOYmGzKCo/sddefault.jpg'], name=u'Youtube'), comment='8xXOYmGzKCo', length=242000, name=u'Memphis May Fire - My Generation (Official Lyric Video)', uri='youtube:video/Memphis May Fire - My Generation (Official Lyric Video).8xXOYmGzKCo'))}
mopidy_1 | DEBUG    2015-08-19 15:03:44,601 [6:MainThread] mopidy.listener
mopidy_1 |   Sending volume_changed to CoreListener: {'volume': 100}
mopidy_1 | DEBUG    2015-08-19 15:03:46,132 [6:MainThread] mopidy.audio.gst
mopidy_1 |   Got buffering message: percent=0%
mopidy_1 | DEBUG    2015-08-19 15:03:46,136 [6:MainThread] mopidy.audio.gst
mopidy_1 |   Got missing-plugin message: description:audio/x-unknown decoder
mopidy_1 | WARNING  2015-08-19 15:03:46,136 [6:MainThread] mopidy.audio.actor
mopidy_1 |   Could not find a audio/x-unknown decoder to handle media.
mopidy_1 | INFO     2015-08-19 15:03:46,136 [6:MainThread] mopidy.audio.actor
mopidy_1 |   You might be able to fix this by running: gst-installer "gstreamer|0.10|mopidy|audio/x-unknown decoder|decoder-audio/x-unknown, codec-id=(string)A_OPUS"
mopidy_1 | WARNING  2015-08-19 15:03:46,137 [6:MainThread] mopidy.audio.gst
mopidy_1 |   There is no codec present that can handle the stream's type.
mopidy_1 | DEBUG    2015-08-19 15:03:46,137 [6:MainThread] mopidy.audio.gst
mopidy_1 |   gsturidecodebin.c(874): unknown_type_cb (): /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin3
mopidy_1 | ERROR    2015-08-19 15:03:46,138 [6:MainThread] mopidy.audio.gst
mopidy_1 |   Your GStreamer installation is missing a plug-in.
mopidy_1 | DEBUG    2015-08-19 15:03:46,138 [6:MainThread] mopidy.audio.gst
mopidy_1 |   gstdecodebin2.c(3576): gst_decode_bin_expose (): /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin3/GstDecodeBin2:decodebin23:
mopidy_1 | no suitable plugins found
mopidy_1 | DEBUG    2015-08-19 15:03:46,142 [6:MainThread] mopidy.audio.gst
mopidy_1 |   State change to GST_STATE_NULL: result=GST_STATE_CHANGE_SUCCESS

EDIT:

It maybe helpful to note that:

You might be able to fix this by running: gst-installer "gstreamer|0.10|mopidy|audio/x-unknown decoder|decoder-audio/x-unknown, codec-id=(string)A_OPUS"

does not work on this system as gst-installer does not exist (there is a gstreamer-codec-installer) however it requires an X org display to attach to making it in-ideal for headless environments.

@dz0ny
Copy link
Contributor

dz0ny commented Aug 19, 2015

You are missing opus decoder you can either install that or try this branch https://github.com/mopidy/mopidy-youtube/archive/force-ogg (pip {unistall,install} https://github.com/mopidy/mopidy-youtube/archive/force-ogg.zip)

@jghibiki
Copy link
Author

I tried both alternatives with no results (as well as both together). Installing the opus decoder made absolutely no change to the log output. Installing the force-ogg branch made it so that nothing would happen when Playback.play was called.

@jodal
Copy link
Collaborator

jodal commented Aug 19, 2015

Have you tried upgrading pafy to 0.3.74?

On Wed, Aug 19, 2015, 19:22 Jordan Goetze notifications@github.com wrote:

I tried both alternatives with no results (as well as both together).
Installing the opus decoder made absolutely no change to the log output.
Installing the force-ogg branch made it so that nothing would happen when
Playback.play was called.


Reply to this email directly or view it on GitHub
#43 (comment)
.

@jghibiki
Copy link
Author

@jodal That seems to have done the trick. Debian ships papfy 0.3.6X so forcing 0.3.74 into dist-packages solved the issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants