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 606636 - [mmssrc] no error message when connect to server fails
[mmssrc] no error message when connect to server fails
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
0.10.17
Other Linux
: Normal normal
: 0.10.18
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2010-01-11 16:04 UTC by Nicolas hennion
Modified: 2010-01-12 23:57 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Nicolas hennion 2010-01-11 16:04:14 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
Comment 1 Tim-Philipp Müller 2010-01-12 10:15:09 UTC
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.
Comment 2 Nicolas hennion 2010-01-12 14:14:29 UTC
> 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
Comment 3 Tim-Philipp Müller 2010-01-12 23:57:06 UTC
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.