GNOME Bugzilla – Bug 606636
[mmssrc] no error message when connect to server fails
Last modified: 2010-01-12 23:57:53 UTC
I try to access to an MMS server on the Web. The following command works fine (the video is displayed): # mplayer mms://vipmms9.yacast.net/bfm_bfmtv But not with GStreamer: # gst-launch mmssrc location=mms://vipmms9.yacast.net/bfm_bfmtv ! decodebin ! autovideosink (gst-launch-0.10:23106): GLib-WARNING **: g_set_prgname() called multiple times Définition du pipeline à PAUSED... ERREUR : le pipeline refuse de se mettre en pause. Définition du pipeline à NULL... Libération du pipeline... Any idea ? GStreamer core: 0.10.26 Plugin bad: 0.10.17
What distro / distro version are you using? > GStreamer core: 0.10.26 This comes as a bit of a surprise, since 0.10.26 has not been released yet. (Not that it should matter much to the bug) > # mplayer mms://vipmms9.yacast.net/bfm_bfmtv > > But not with GStreamer: Have you tried totem-gstreamer? It works fine for me with totem. > # gst-launch mmssrc location=mms://vipmms9.yacast.net/bfm_bfmtv ! decodebin ! > autovideosink > > Définition du pipeline à PAUSED... > ERREUR : le pipeline refuse de se mettre en pause. > Définition du pipeline à NULL... > Libération du pipeline... > > Any idea ? 1. you might also need a ffmpegcolorspace ! videoscale before autovideosink 2. this posts a redirect message on the bus, which real applications would/should handle, but gst-launch doesn't handle. Pass the -m option to gst-launch to see the messages. 3. mmssrc should still post a proper error mesage on the bus and not just fail without details. Will fix that in a bit.
> What distro / distro version are you using? GNU/Linux Ubuntu 9.10 With Gstreamer PPA: http://ppa.launchpad.net/gstreamer-developers/ppa/ubuntu > Have you tried totem-gstreamer? It works fine for me with totem. It also works fine for me with totem. But i want to save the video on my computer so i need to build a pipeline... > Pass the -m option to gst-launch to see the messages. # gst-launch -m mmssrc location=mms://vipmms9.yacast.net/bfm_bfmtv ! decodebin ffmpegcolorspace ! videoscale ! autovideosink Définition du pipeline à PAUSED... ERREUR : le pipeline refuse de se mettre en pause. Message n°9 reçu de l'élément « autovideosink0 » (state-changed) : GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING; Message n°10 reçu de l'élément « videoscale0 » (state-changed) : GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING; Message n°11 reçu de l'élément « ffmpegcsp0 » (state-changed) : GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING; Message n°12 reçu de l'élément « fakesink » (state-changed) : GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING; Message n°13 reçu de l'élément « typefind » (state-changed) : GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING; Message n°14 reçu de l'élément « decodebin0 » (state-changed) : GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING; Message n°15 reçu de l'élément « mms0 » (state-changed) : GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING; Message n°16 reçu de l'élément « pipeline0 » (state-changed) : GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_PAUSED; Message n°19 reçu de l'élément « videoscale0 » (state-changed) : GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING; Message n°20 reçu de l'élément « ffmpegcsp0 » (state-changed) : GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING; Message n°23 reçu de l'élément « typefind » (state-changed) : GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING; Message n°24 reçu de l'élément « mms0 » (element) : redirect, new-location=(string)rtsp://vipmms9.yacast.net/bfm_bfmtv; Définition du pipeline à NULL... Libération du pipeline... Thx
commit 4be0225870ffcf290cf5109f96a01977dba2c6e6 Author: Tim-Philipp Müller <tim.muller@collabora.co.uk> Date: Tue Jan 12 23:53:18 2010 +0000 mmssrc: post error message in addition to redirect when connect fails When we can't connect to the server, we should still post a proper error message on the bus, so that applications that don't handle the redirect messsage get a proper error message (and a hint to look for the redirect). Fixes #606636.