[Bug 669724] New: gstreamer playbin doesn't support ipv6 link-local addresses

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Wed Feb 8 17:57:56 PST 2012


https://bugzilla.gnome.org/show_bug.cgi?id=669724
  GStreamer | gstreamer (core) | 0.10.35

           Summary: gstreamer playbin doesn't support ipv6 link-local
                    addresses
    Classification: Platform
           Product: GStreamer
           Version: 0.10.35
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gstreamer (core)
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: execrable at gmail.com
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


If I setup a simple ipv6 http server (python code below) in a directory
containing an mp3 file, I can play the file using:

>gst-launch-0.10 playbin uri="http://[::1]:8080/file.mp3"

But this only works on the host; to access it from another machine on the LAN,
I would need to use the link-local address.  I tried (from the same host) using
the link-local address with and without the scopeID, but neither of them work.

without the scopeid, i get:

>playbin uri="http://[fe80::52e5:49ff:fe5c:22a]:8080/file.mp3"

ERROR: from element /GstPlayBin:playbin0/GstSoupHTTPSrc:source: Cannot connect
to destination

with the scopeid, i get:

>playbin uri="http://[fe80::52e5:49ff:fe5c:22a%2]:8080/file.mp3"

ERROR: from element /GstPlayBin:playbin0/GstSoupHTTPSrc:source: Cannot resolve
hostname


The error for the link-local address without the scopeid makes sence, as I
guess it's required for the link-local address to have meaning.  Adding the
scope-id, or even the iface name should resolve successfully though (it works
with getaddrinfo() and utilities like ping6).


the following is the python server:
--------------------------------------------------------
import socket
from BaseHTTPServer import HTTPServer
from SimpleHTTPServer import SimpleHTTPRequestHandler

class HTTPServerV6(HTTPServer):
  address_family = socket.AF_INET6

def main():
  server = HTTPServerV6(('', 8080),SimpleHTTPRequestHandler)
  server.serve_forever()

if __name__ == '__main__':
  main()

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list