Here's a log:
ERROR:root:Gstreamer error: Could not open resource for reading., gstsouphttpsrc.c(1115): gst_soup_http_src_parse_status (): /GstPlayBin2:player/GstURIDecodeBin:uridecodebin182/GstSoupHTTPSrc:source: Forbidden (403), URL: http://audio-ash-t2-1.pandora.com/access/?version=4&lid=78225981&token=kdRv8UrQRq64stKTKJ7cYeF%2BJ8gi3TVALy32nX3IBuTUFks5tpeq%2Ben22C1wdKuO4HhiKsdVX5BiQIJcXzyL%2BXA2sP4PADbX7U6TOGFk%2B7uMpQ4r02fKhHtbLNOG46BYq%2BJSNNpqdAqTeFEmwl8av1oKXNXxA3av%2Bxyga1DCnP%2Br96ZolIIcOnTMD6DLymdpqxgafbmylkcFgPAyoztkjrhN3bEFZdT21LIW1WHRl5wWonh9L5v54717irHTaZmvLvf6FKz%2FE8k9ZfHGj5vtbwmVjLyWV9am46KA571AfQXsuM9wRBlbwAJ4Yi1nUUHG3zuMvOgBkGMCsqpuiVx4%2Bw%3D%3D ERROR:root:Gstreamer error: Your GStreamer installation is missing a plug-in., gstdecodebin2.c(3135): gst_decode_bin_expose (): /GstPlayBin2:player/GstURIDecodeBin:uridecodebin182/GstDecodeBin2:decodebin2182: no suitable plugins found ERROR:root:Gstreamer error: There is no codec present that can handle the stream's type., gstdecodebin2.c(1548): analyze_new_pad (): /GstPlayBin2:player/GstURIDecodeBin:uridecodebin182/GstDecodeBin2:decodebin2182: No decoder to handle media type 'text/html' ERROR:root:Gstreamer error: GStreamer encountered a general stream error., gstqueue2.c(2348): gst_queue2_loop (): /GstPlayBin2:player/GstURIDecodeBin:uridecodebin182/GstQueue2:queue2182: streaming task paused, reason not-linked (-1)
I think all that's needed is to handle the 403 error by reauthorizing as if Pithos was just launched, rather than passing whatever comes back to GStreamer, even if it's a 403 with HTML.
Here's a log:
ERROR:root: Gstreamer error: Could not open resource for reading., gstsouphttpsrc. c(1115) : gst_soup_ http_src_ parse_status (): /GstPlayBin2: player/ GstURIDecodeBin :uridecodebin18 2/GstSoupHTTPSr c:source: audio-ash- t2-1.pandora. com/access/ ?version= 4&lid=78225981& token=kdRv8UrQR q64stKTKJ7cYeF% 2BJ8gi3TVALy32n X3IBuTUFks5tpeq %2Ben22C1wdKuO4 HhiKsdVX5BiQIJc XzyL%2BXA2sP4PA DbX7U6TOGFk% 2B7uMpQ4r02fKhH tbLNOG46BYq% 2BJSNNpqdAqTeFE mwl8av1oKXNXxA3 av%2Bxyga1DCnP% 2Br96ZolIIcOnTM D6DLymdpqxgafbm ylkcFgPAyoztkjr hN3bEFZdT21LIW1 WHRl5wWonh9L5v5 4717irHTaZmvLvf 6FKz%2FE8k9ZfHG j5vtbwmVjLyWV9a m46KA571AfQXsuM 9wRBlbwAJ4Yi1nU UHG3zuMvOgBkGMC sqpuiVx4% 2Bw%3D% 3D Gstreamer error: Your GStreamer installation is missing a plug-in., gstdecodebin2. c(3135) : gst_decode_ bin_expose (): /GstPlayBin2: player/ GstURIDecodeBin :uridecodebin18 2/GstDecodeBin2 :decodebin2182: Gstreamer error: There is no codec present that can handle the stream's type., gstdecodebin2. c(1548) : analyze_new_pad (): /GstPlayBin2: player/ GstURIDecodeBin :uridecodebin18 2/GstDecodeBin2 :decodebin2182: Gstreamer error: GStreamer encountered a general stream error., gstqueue2.c(2348): gst_queue2_loop (): /GstPlayBin2: player/ GstURIDecodeBin :uridecodebin18 2/GstQueue2: queue2182:
Forbidden (403), URL: http://
ERROR:root:
no suitable plugins found
ERROR:root:
No decoder to handle media type 'text/html'
ERROR:root:
streaming task paused, reason not-linked (-1)
I think all that's needed is to handle the 403 error by reauthorizing as if Pithos was just launched, rather than passing whatever comes back to GStreamer, even if it's a 403 with HTML.