Bug#421167: quodlibet: fails to start, claiming 'filesrc' cannot be found

2007-04-27 Thread Joe Wreschnig
On Fri, 2007-04-27 at 09:15 +0200, Sebastian Dröge wrote:
> Am Donnerstag, den 26.04.2007, 20:09 -0700 schrieb Joe Wreschnig:
> I agree that the fix for this bug was not at all complete and this special
> case should be handled too. Is "file://" the only URL that causes a problem 
> for
> you or is quodlibet using "file://blabla/bla" in general? (note that there 
> are only
> two slashes after the colon)

> "file://" is not a valid URI, it's only the protocol part of some URI. Then 
> according
> to rfc1738 "file://blabla/bla" corresponds to the location "/bla" on the host 
> "blabla".

Yes, I know; "http://"; is also not a valid URL, but it's what I was told
in #gstreamer to use to check for generic HTTP support (whether via
gnomevfs or neon), so I assumed that "file://" was similar. Quod Libet
hands correctly formed URIs to the playbin to play actual files.

> Then, if quodlibet wants to check for the element "filesrc" it should just 
> check if it
> can create a "filesrc" element and not check if there is some random element 
> that might
> support the "file://" protocol.

Actually I don't care if there's a filesrc element, I just care if
something supports file://. But the error message mentions filesrc
because users have no idea what "Get an element that supports file://"
means; they have a better idea what "Install filesrc" means, and this
has helped people diagnose a lot of broken GStreamer installations in
the past.

> Apart from that, would you be fine if I just special case "file://" and allow 
> that as
> a valid URI for filesrc as a workaround for this?

Yes.
-- 
Joe Wreschnig <[EMAIL PROTECTED]>


signature.asc
Description: This is a digitally signed message part


Bug#421167: quodlibet: fails to start, claiming 'filesrc' cannot be found

2007-04-27 Thread Sebastian Dröge
reassign 421167 gstreamer0.10
thanks

Am Donnerstag, den 26.04.2007, 20:09 -0700 schrieb Joe Wreschnig:
> On Thu, 2007-04-26 at 23:21 +0200, Martin wrote:
> > Package: quodlibet
> > Version: 0.23.1-1
> > Severity: grave
> > Justification: renders package unusable
> > 
> > -BEGIN PGP SIGNED MESSAGE-
> > Hash: SHA1
> > 
> > Quod Libet fails to start, pops up a message saying "Quod Libet could
> > not find the 'filesrc' GStreamer element. Check your GStreamer
> > installation." It used to work fine before/during the freeze.
> > ...
> > Versions of packages quodlibet recommends:
> > ii  gstreamer0.10-alsa0.10.12-2  GStreamer plugin for ALSA
> > pn  gstreamer0.10-gnomevfs (no description available)
> 
> ^-- This would be why. In 0.10.10 and all previous versions, a filesrc
> object would be returned:
> 
> >>> gst.element_make_from_uri(gst.URI_SRC, "file://", "")
> <__main__.GstFileSrc object () at 0x402076bc>
> 
> Now, in unstable:
> >>> gst.element_make_from_uri(gst.URI_SRC, "file://", "")
> <__main__.GstGnomeVFSSrc object () at 0xb7d6393c>
> 
> And if I remove gstreamer0.10-gnomevfs:
> >>> gst.element_make_from_uri(gst.URI_SRC, "file://", "")
> >>>
> 
> So, filesrc is in fact broken.
> 
> Blah blah API compatibility, blah blah you need unit tests, blah blah,
> no one listens to me, blah STOP BREAKING MY SOFTWARE DAMNIT.
> 
> The GStreamer changelog says:
> 
> 2007-02-13  Sebastian Dröge  <[EMAIL PROTECTED]>
> 
> * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
> * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
> Also check for an absolute path following file:// in the filesrc
> element. Remove redundant check and call g_path_is_absolute() on the
> unescaped location.
> 
> Sebastian, do you understand what an API is, and why changes like that
> ARE NOT ALLOWED, especially in point releases?

Sure, this was just to break the software of Joe Wreschnig. Could you
please calm down so we can talk about how to get this fixed properly?
Thanks

First lets get this change in the correct context, this is only a
continuation of another change by Sébastien Moutte:

> 2007-02-10  Sébastien Moutte  <[EMAIL PROTECTED]>

> * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
> Fix a bug on Windows in uri format check. Now the prefix checked
> is file:// and next we check if the path after file:// is absolute.

which OTOH is a fix needed for my first change in that direction:

> 2007-02-02  Sebastian Dröge  <[EMAIL PROTECTED]>
> 
> reviewed by: Wim Taymans <[EMAIL PROTECTED]>
> 
> * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
> * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
> Allow file://localhost/foo/bar URLs and correctly fail for every other
> hostname that one sets. This was gnomevfssrc is linked for those if
> installed as it can handle it (#403172)

As you can see this change wasn't only decided by me and it also wasn't 
intentional
that it breaks things in that way. Also please read the corresponding upstream
bugreport.

I agree that the fix for this bug was not at all complete and this special
case should be handled too. Is "file://" the only URL that causes a problem for
you or is quodlibet using "file://blabla/bla" in general? (note that there are 
only
two slashes after the colon)

"file://" is not a valid URI, it's only the protocol part of some URI. Then 
according
to rfc1738 "file://blabla/bla" corresponds to the location "/bla" on the host 
"blabla".

Then, if quodlibet wants to check for the element "filesrc" it should just 
check if it
can create a "filesrc" element and not check if there is some random element 
that might
support the "file://" protocol.

Apart from that, would you be fine if I just special case "file://" and allow 
that as
a valid URI for filesrc as a workaround for this? "file://blabla/bla" would 
still not
be handled and this could be argued as an API change too. Not that using an
"file://blabla/bla" URI worked before but you could at least set it on the 
element and
the same applies for "file://" too btw

I talked with Wim about this on IRC now and he also has the opinion that a) 
file:// is
simply not a valid URI but b) that this needs to be fixed by special casing the
file:// URI for API stability reasons only. I'll change that in CVS for now and 
also
upload a new gstreamer0.10 package with that change.

If there's still an issue then please first calm down and then file a bug 
against
the relevant package.

Bye

PS: For better checking if an URI protocol is support by any element I'll also 
add
a gst_uri_protocol_is_supported() function later btw...


signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil


Processed: Re: Bug#421167: quodlibet: fails to start, claiming 'filesrc' cannot be found

2007-04-27 Thread Debian Bug Tracking System
Processing commands for [EMAIL PROTECTED]:

> reassign 421167 gstreamer0.10
Bug#421167: quodlibet: fails to start, claiming 'filesrc' cannot be found
Bug reassigned from package `quodlibet' to `gstreamer0.10'.

> thanks
Stopping processing here.

Please contact me if you need assistance.

Debian bug tracking system administrator
(administrator, Debian Bugs database)


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#421167: quodlibet: fails to start, claiming 'filesrc' cannot be found

2007-04-26 Thread Joe Wreschnig
On Thu, 2007-04-26 at 23:21 +0200, Martin wrote:
> Package: quodlibet
> Version: 0.23.1-1
> Severity: grave
> Justification: renders package unusable
> 
> -BEGIN PGP SIGNED MESSAGE-
> Hash: SHA1
> 
> Quod Libet fails to start, pops up a message saying "Quod Libet could
> not find the 'filesrc' GStreamer element. Check your GStreamer
> installation." It used to work fine before/during the freeze.
> ...
> Versions of packages quodlibet recommends:
> ii  gstreamer0.10-alsa0.10.12-2  GStreamer plugin for ALSA
> pn  gstreamer0.10-gnomevfs (no description available)

^-- This would be why. In 0.10.10 and all previous versions, a filesrc
object would be returned:

>>> gst.element_make_from_uri(gst.URI_SRC, "file://", "")
<__main__.GstFileSrc object () at 0x402076bc>

Now, in unstable:
>>> gst.element_make_from_uri(gst.URI_SRC, "file://", "")
<__main__.GstGnomeVFSSrc object () at 0xb7d6393c>

And if I remove gstreamer0.10-gnomevfs:
>>> gst.element_make_from_uri(gst.URI_SRC, "file://", "")
>>>

So, filesrc is in fact broken.

Blah blah API compatibility, blah blah you need unit tests, blah blah,
no one listens to me, blah STOP BREAKING MY SOFTWARE DAMNIT.

The GStreamer changelog says:

2007-02-13  Sebastian Dröge  <[EMAIL PROTECTED]>

* plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
* plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
Also check for an absolute path following file:// in the filesrc
element. Remove redundant check and call g_path_is_absolute() on the
unescaped location.

Sebastian, do you understand what an API is, and why changes like that
ARE NOT ALLOWED, especially in point releases?
-- 
Joe Wreschnig <[EMAIL PROTECTED]>


signature.asc
Description: This is a digitally signed message part


Bug#421167: quodlibet: fails to start, claiming 'filesrc' cannot be found

2007-04-26 Thread Joe Wreschnig
On Thu, 2007-04-26 at 23:21 +0200, Martin wrote:
> Package: quodlibet
> Version: 0.23.1-1
> Severity: grave
> Justification: renders package unusable
> 
> -BEGIN PGP SIGNED MESSAGE-
> Hash: SHA1
> 
> Quod Libet fails to start, pops up a message saying "Quod Libet could
> not find the 'filesrc' GStreamer element. Check your GStreamer
> installation." It used to work fine before/during the freeze.

Sounds like something in GStreamer changed. QL actually tries to create
that element by checking the result of
gst.element_make_from_uri(gst.URI_SRC, "file://", ""), which previously
returned whatever element would handle a file URL. We didn't actually
care what it was, as long as it existed (filesrc is just the most
common / only? one).

I can't reproduce this, but you're the third person I've heard it from
and across three distros.

This is a grave GStreamer bug.
-- 
Joe Wreschnig <[EMAIL PROTECTED]>


signature.asc
Description: This is a digitally signed message part


Bug#421167: quodlibet: fails to start, claiming 'filesrc' cannot be found

2007-04-26 Thread Martin
Package: quodlibet
Version: 0.23.1-1
Severity: grave
Justification: renders package unusable

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Quod Libet fails to start, pops up a message saying "Quod Libet could
not find the 'filesrc' GStreamer element. Check your GStreamer
installation." It used to work fine before/during the freeze.

~$ gst-launch filesrc location="$SOME_MUSIC_FILE" \! decodebin \! audioconvert 
\! audioresample \! alsasink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstAudioSinkClock

 [ music plays ]

gst-launch-0.10 produces an identical result.

- -- System Information:
Debian Release: lenny/sid
  APT prefers testing
  APT policy: (990, 'testing')
Architecture: i386 (i686)

Kernel: Linux 2.6.20.4
Locale: LANG=C, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages quodlibet depends on:
ii  exfalso   0.23.1-1   audio tag editor for GTK+
ii  gstreamer0.10-plugins-base0.10.12-2  GStreamer plugins from the "base" 
ii  gstreamer0.10-plugins-good0.10.4-4   GStreamer plugins from the "good" 
ii  gstreamer0.10-plugins-ugly0.10.4-5   GStreamer plugins from the "ugly" 
ii  python2.4.4-2An interactive high-level object-o
ii  python-central0.5.13-0.1 register and build utility for Pyt
ii  python-gst0.100.10.5-5   generic media-playing framework (P

Versions of packages quodlibet recommends:
ii  gstreamer0.10-alsa0.10.12-2  GStreamer plugin for ALSA
pn  gstreamer0.10-gnomevfs (no description available)
pn  python-feedparser  (no description available)
pn  quodlibet-ext  (no description available)

- -- no debconf information

 * Please note: the above e-mail address is temporary, and will be
   retired when it starts to attract too much spam. Use gpg to find me.

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.6 (GNU/Linux)

iQEVAwUBRjEXZs7AYWSCevCcAQJGSwf/UKepxa6K+/kyX+vrdrr+bkuSZ0nmnbQ9
1fBVyEke6QrUfpRmr1pJGT+bYkzvkv+dSo8uhuV1j+tlziIHMHuiJ8nZmjIkWOr5
6uSSDgzkSxVXKpZvtY9rXCUSx63VtgQTssaipqUt57Dne17CZeyryLMOEiSV/33H
c1oH2zvLUNy3K2vKaOrd2XIBGIAS0HlqYwIn0XMNuLwLVZB57y0g+ksN3pq8DWba
w8yyvKcPHqOUHscJFeHzBswLigdievQAZ5huwgFsHsv4V3fi5Y+MYE9P3d79A8Rt
0lOtlkwwSH5N7Gr9DgIEi9wx4GI6wDY3rht5OxqKbut4auIlnyTkkA==
=jWaB
-END PGP SIGNATURE-


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]