issue with spaces in filesink location

Pablo Rodríguez oinos at web.de
Thu Dec 9 17:56:50 UTC 2021


Dear list,

I have the following sample:

#!/usr/bin/env python3
# coding: utf-8

import os, sys, gi
gi.require_version("Gtk", "3.0")
gi.require_version("Gst", "1.0")
from gi.repository import Gtk, Gdk, GObject, Gst

Gst.init(sys.argv)

class wreck:
    def __init__(self):

        # ~ self.audiofilename = sys.argv[1]
        self.audiofilename = sys.argv[1].replace(" ", "%20")

        self.win = Gtk.Window(Gtk.WindowType.TOPLEVEL)

        self.vbox = Gtk.VBox()

        self.win.add(self.vbox)
        self.win.connect("destroy", Gtk.main_quit)
        self.win.show_all()

        self.win.connect('key-press-event', self.key_press_event)

        self.player = Gst.parse_launch("autoaudiosrc ! audio/x-raw !
wavenc ! filesink location=" + self.audiofilename)

        bus = self.player.get_bus()

        bus.add_signal_watch()
        bus.connect('message', self.on_message)

    def on_message(self, bus, message):
        t = message.type
        if t == Gst.MessageType.EOS:
            self.player.set_state(Gst.State.NULL)
            Gtk.main_quit()
            os.rename(self.audiofilename,
self.audiofilename.replace("%20", " "))
        elif t == Gst.MessageType.ERROR:
            err, debug = message.parse_error()
            print ("Error: %s" % err, debug)
            self.player.set_state(Gst.State.NULL)

    def key_press_event(self, widget, event):
        if event.keyval == Gdk.keyval_from_name("space"):
            if self.player.get_state(0)[1] == Gst.State.NULL:
                self.player.set_state(Gst.State.PLAYING)
            elif self.player.get_state(0)[1] == Gst.State.PLAYING:
                self.player.send_event(Gst.Event.new_eos())

    def gtk_main_quit(self, widget, event):
        Gtk.main_quit()

    def main(self):
        Gtk.main()

wk = wreck()
wk.main()

My error should have a simple fix, but how can I get that filesink
accepts URI to set the output file?

Otherwise, GStreamer seems to have problems with spaces in filenames.

Sorry for the very basic question,  but I don’t have any idea on what I
am missing.

Many thanks for your help,

Pablo


More information about the gstreamer-devel mailing list