Package: python-gst0.10 Version: 0.10.16-1 Severity: normal Hi,
I am a complete beginner in gst programming, but I believe a python module should not segfault, thus the bugreport. My small Ogg/Theora encoder attempt is attached. And here is the backtrace. Feel free to ask for more info. Cheers, Alex -- Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xb7337b90 (LWP 12844)] 0x08115fdc in PyFrame_New (tstate=0x0, code=0xb7db1608, globals=0xb7e05acc, locals=0x0) at ../Objects/frameobject.c:559 559 ../Objects/frameobject.c: Aucun fichier ou dossier de ce type. in ../Objects/frameobject.c (gdb) bt #0 0x08115fdc in PyFrame_New (tstate=0x0, code=0xb7db1608, globals=0xb7e05acc, locals=0x0) at ../Objects/frameobject.c:559 #1 0x080cfaa9 in PyEval_EvalCodeEx (co=0xb7db1608, globals=0xb7e05acc, locals=0x0, args=0xb7dc45d8, argcount=4, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:2670 #2 0x08116b91 in function_call (func=0xb75d079c, arg=0xb7dc45cc, kw=0x0) at ../Objects/funcobject.c:517 #3 0x0805d4b7 in PyObject_Call (func=0x0, arg=0xb7dc45cc, kw=0x0) at ../Objects/abstract.c:1861 #4 0x0806369f in instancemethod_call (func=0xb75d079c, arg=0xb7dc45cc, kw=0x0) at ../Objects/classobject.c:2519 #5 0x0805d4b7 in PyObject_Call (func=0x0, arg=0xb75dc0f4, kw=0x0) at ../Objects/abstract.c:1861 #6 0x080c88fc in PyEval_CallObjectWithKeywords (func=0xb7dac11c, arg=0xb75dc0f4, kw=0x0) at ../Python/ceval.c:3481 #7 0x0805d640 in PyObject_CallObject (o=0xb7dac11c, a=0xb75dc0f4) at ../Objects/abstract.c:1852 #8 0xb766313e in ?? () from /usr/lib/pymodules/python2.5/gtk-2.0/gobject/_gobject.so #9 0xb77d2b63 in IA__g_closure_invoke (closure=0x83608dc, return_value=0x0, n_param_values=3, param_values=0x83608a0, invocation_hint=0xb733674c) at /build/buildd-glib2.0_2.20.5-1-i386-mDnYKw/glib2.0-2.20.5/gobject/gclosure.c:767 #10 0xb77e6b8f in signal_emit_unlocked_R (node=0x832bfa0, detail=0, instance=0x83271c0, emission_return=0x0, instance_and_params=0x83608a0) at /build/buildd-glib2.0_2.20.5-1-i386-mDnYKw/glib2.0-2.20.5/gobject/gsignal.c:3247 #11 0xb77e7fd9 in IA__g_signal_emit_valist (instance=0x83271c0, signal_id=25, detail=0, var_args=0xb73368f4 "P\223\66\b\4") at /build/buildd-glib2.0_2.20.5-1-i386-mDnYKw/glib2.0-2.20.5/gobject/gsignal.c:2980 #12 0xb77e8436 in IA__g_signal_emit (instance=0x83271c0, signal_id=25, detail=0) at /build/buildd-glib2.0_2.20.5-1-i386-mDnYKw/glib2.0-2.20.5/gobject/gsignal.c:3037 #13 0xb7636779 in close_pad_link (element=0x824b5a0, pad=0x8366010, caps=0x826fa40, decode_bin=0x83271c0, more=1) at gstdecodebin.c:936 #14 0xb7637480 in close_link (element=0x836e060, pad=0x8347cc0, caps=0x827b980, decode_bin=0x83271c0, more=1) at gstdecodebin.c:1774 #15 try_to_link_1 (element=0x836e060, pad=0x8347cc0, caps=0x827b980, decode_bin=0x83271c0, more=1) at gstdecodebin.c:1184 #16 close_pad_link (element=0x836e060, pad=0x8347cc0, caps=0x827b980, decode_bin=0x83271c0, more=1) at gstdecodebin.c:959 #17 0xb763803d in new_pad (element=0x836e060, pad=0x8347cc0, dynamic=0x835e370) at gstdecodebin.c:1505 #18 0xb77df6cc in IA__g_cclosure_marshal_VOID__OBJECT (closure=0x83a97a0, return_value=0x0, n_param_values=2, param_values=0x8245ca0, invocation_hint=0xb7336c4c, marshal_data=0xb7637ec0) at /build/buildd-glib2.0_2.20.5-1-i386-mDnYKw/glib2.0-2.20.5/gobject/gmarshal.c:636 #19 0xb77d2b63 in IA__g_closure_invoke (closure=0x83a97a0, return_value=0x0, n_param_values=2, param_values=0x8245ca0, invocation_hint=0xb7336c4c) at /build/buildd-glib2.0_2.20.5-1-i386-mDnYKw/glib2.0-2.20.5/gobject/gclosure.c:767 #20 0xb77e6b8f in signal_emit_unlocked_R (node=0x82460c8, detail=0, instance=0x836e060, emission_return=0x0, instance_and_params=0x8245ca0) at /build/buildd-glib2.0_2.20.5-1-i386-mDnYKw/glib2.0-2.20.5/gobject/gsignal.c:3247 #21 0xb77e7fd9 in IA__g_signal_emit_valist (instance=0x836e060, signal_id=11, detail=0, var_args=0xb7336df0 "\300|4\b") at /build/buildd-glib2.0_2.20.5-1-i386-mDnYKw/glib2.0-2.20.5/gobject/gsignal.c:2980 #22 0xb77e8436 in IA__g_signal_emit (instance=0x836e060, signal_id=11, detail=0) at /build/buildd-glib2.0_2.20.5-1-i386-mDnYKw/glib2.0-2.20.5/gobject/gsignal.c:3037 #23 0xb784341c in gst_element_add_pad (element=0x836e060, pad=0x8347cc0) at gstelement.c:772 #24 0xb7355216 in gst_qtdemux_add_stream (qtdemux=0x836e060, stream=0x836de00, list=0x8370650) at qtdemux.c:3431 #25 0xb735766d in qtdemux_parse_trak (qtdemux=0x836e060, trak=0x83706c8) at qtdemux.c:4573 #26 0xb735bd82 in qtdemux_parse_tree (qtdemux=0x836e060) at qtdemux.c:5393 #27 0xb7364d53 in gst_qtdemux_loop_state_header (pad=0x83478d8) at qtdemux.c:1514 #28 gst_qtdemux_loop (pad=0x83478d8) at qtdemux.c:2368 #29 0xb78815b3 in gst_task_func (task=0x835f840) at gsttask.c:234 #30 0xb7882f27 in default_func (tdata=0x83a9540, pool=0x8248c10) at gsttaskpool.c:70 #31 0xb7764d06 in g_thread_pool_thread_proxy (data=0x82432a0) at /build/buildd-glib2.0_2.20.5-1-i386-mDnYKw/glib2.0-2.20.5/glib/gthreadpool.c:265 #32 0xb77636bf in g_thread_create_proxy (data=0x8370490) at /build/buildd-glib2.0_2.20.5-1-i386-mDnYKw/glib2.0-2.20.5/glib/gthread.c:635 #33 0xb7fc14b5 in start_thread () from /lib/i686/cmov/libpthread.so.0 #34 0xb7f0ea5e in clone () from /lib/i686/cmov/libc.so.6 -- -- System Information: Debian Release: squeeze/sid APT prefers unstable APT policy: (500, 'unstable') Architecture: i386 (i686) Kernel: Linux 2.6.30.4-vgn-b1vp (PREEMPT) Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages python-gst0.10 depends on: ii libc6 2.9-26 GNU C Library: Shared libraries ii libglib2.0-0 2.20.5-1 The GLib library of C routines ii libgstreamer-plugins-base 0.10.24-1 GStreamer libraries from the "base ii libgstreamer0.10-0 0.10.24-1 Core GStreamer libraries and eleme ii libxml2 2.7.3.dfsg-2.1 GNOME XML library ii python 2.5.4-2 An interactive high-level object-o ii python-central 0.6.11 register and build utility for Pyt ii python-gobject 2.18.0-1 Python bindings for the GObject li ii python-libxml2 2.7.3.dfsg-2.1 Python bindings for the GNOME XML ii python2.5 2.5.4-1 An interactive high-level object-o python-gst0.10 recommends no packages. Versions of packages python-gst0.10 suggests: ii python-gst0.10-dbg 0.10.16-1 generic media-playing framework (P pn python-gst0.10-dev <none> (no description available) -- no debconf information
# Lazygal, a lazy satic web gallery generator. # Copyright (C) 2009 Alexandre Rossi <alexandre.ro...@gmail.com> # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import threading try: import pygst pygst.require('0.10') import gst except ImportError: HAVE_GST = True else: HAVE_GST = False class OggTheoraConverter(object): def __init__(self): self.end_of_stream = threading.Event() def convert(self, input_file, output_file): self.pipeline = gst.Pipeline("Convert Pipeline") self.filesrc = gst.element_factory_make("filesrc", "source") self.filesrc.set_property("location", input_file) self.pipeline.add(self.filesrc) self.decode = gst.element_factory_make("decodebin", "decode") self.decode.connect("new-decoded-pad", self.on_dynamic_pad) self.pipeline.add(self.decode) self.filesrc.link(self.decode) self.convert = gst.element_factory_make("audioconvert", "convert") self.pipeline.add(self.convert) self.vorbisenc = gst.element_factory_make("vorbisenc", "vorbisenc") self.pipeline.add(self.vorbisenc) self.convert.link(self.vorbisenc) self.oggmux = gst.element_factory_make("oggmux", "oggmux") self.pipeline.add(self.oggmux) self.vorbisenc.link(self.oggmux) self.sink = gst.element_factory_make("filesink", "sink") self.sink.set_property("location", output_file) self.pipeline.add(self.sink) self.oggmux.link(self.sink) bus = self.pipeline.get_bus() bus.add_signal_watch() bus.connect("message::eos", self.on_end_of_stream) self.end_of_stream.clear() self.pipeline.set_state(gst.STATE_PLAYING) self.end_of_stream.wait() def on_dynamic_pad(self, dbin, pad, islast): pad.link(self.convert.get_pad("sink")) def on_end_of_stream(self, bus, message): self.end_of_stream.set() if __name__ == '__main__': import sys, os converter = OggTheoraConverter() file_path = sys.argv[1] fn, ext = os.path.splitext(file_path) ogg_path = fn + '.ogg' converter.convert(file_path, ogg_path) # vim: ts=4 sw=4 expandtab
_______________________________________________ Pkg-gstreamer-maintainers mailing list Pkg-gstreamer-maintainers@lists.alioth.debian.org http://lists.alioth.debian.org/mailman/listinfo/pkg-gstreamer-maintainers