PiTiVi 0.13.4 can't import any video. When I drag-n-drop any video onto the program interface, I get "An error occurred while importing" message, and the following error is printed at the terminal: Traceback (most recent call last): File "/usr/lib64/pitivi/python/pitivi/discoverer.py", line 682, in _newDecodedPadCb self._newVideoPadCb(pad) File "/usr/lib64/pitivi/python/pitivi/discoverer.py", line 621, in _newVideoPadCb pngenc = gst.element_factory_make("pngenc") gst.ElementNotFoundError: pngenc I haven't tested other versions of pitivi. Package versions installed on my system: dev-python/gst-python-0.10.17 media-libs/gst-plugins-bad-0.10.18 media-libs/gst-plugins-base-0.10.28 media-libs/gst-plugins-good-0.10.21 media-libs/gst-plugins-ugly-0.10.13 media-libs/gstreamer-0.10.28 media-plugins/gst-plugins-a52dec-0.10.13 media-plugins/gst-plugins-alsa-0.10.28 media-plugins/gst-plugins-dvdread-0.10.13 media-plugins/gst-plugins-ffmpeg-0.10.9 media-plugins/gst-plugins-flac-0.10.21 media-plugins/gst-plugins-gconf-0.10.21 media-plugins/gst-plugins-jpeg-0.10.21 media-plugins/gst-plugins-libpng-0.10.21 media-plugins/gst-plugins-mad-0.10.13 media-plugins/gst-plugins-meta-0.10-r4 media-plugins/gst-plugins-mimic-0.10.18 media-plugins/gst-plugins-mpeg2dec-0.10.13 media-plugins/gst-plugins-ogg-0.10.28 media-plugins/gst-plugins-resindvd-0.10.18 media-plugins/gst-plugins-soup-0.10.21 media-plugins/gst-plugins-speex-0.10.21 media-plugins/gst-plugins-theora-0.10.28 media-plugins/gst-plugins-v4l-0.10.28 media-plugins/gst-plugins-v4l2-0.10.21 media-plugins/gst-plugins-vorbis-0.10.28 media-plugins/gst-plugins-x-0.10.28 media-plugins/gst-plugins-xvideo-0.10.28
Same here, upgrading to media-plugins/gst-plugins-libpng-0.10.22 solves the issue. Maybe a reinstall was enough, I don't remember rebuilding gst-plugins-libpng after the libpng-1.4 upgrade.
(In reply to comment #1) > Maybe a reinstall was enough, I don't remember rebuilding gst-plugins-libpng > after the libpng-1.4 upgrade. Here, it was the first time I emerged gst-plugins-libpng (and was version 0.10.21). Updating to the following versions fixed this bug for me: =media-plugins/gst-plugins-libpng-0.10.22 =media-libs/gst-plugins-base-0.10.29 =media-libs/gstreamer-0.10.29 Please add a dependency on >=media-plugins/gst-plugins-libpng-0.10.22 to the pitivi ebuild.
No, the error suggests pngenc element wasn't found in general. But gst-plugins-libpng has been shipping it since version 0.10.0. And so it should work fine with 0.10.21 as well, unless deeper debugging can explain why exactly gst.element_factory_make didn't find the element.
The plugin could have broken on a libpng 1.2->1.4 upgrade.
Just installed gst-plugins-libpng-0.10.21 for testing this in gst-python. That particular system is still at the previous gstreamer versions, so gstreamer-0.10.28, gst-plugins-good-0.10.21 and so on. $ python >>> import gst >>> pngeng = gst.element_factory_make("pngenc") >>> print pngenc /GstPngEnc:pngenc0 (__main__.GstPngEnc) >>> pngeng.get_factory().get_description() 'Encode a video frame to a .png image' So appears to work fine in principle. Haven't tested inside pitivi though. Really sure it isn't related to libpng-1.4 upgrade issues?
(In reply to comment #5) > So appears to work fine in principle. Haven't tested inside pitivi though. > Really sure it isn't related to libpng-1.4 upgrade issues? I don't know, as I've discovered pitivi well after the libpng upgrade.
So, does rebuilding gst-plugins-libpng fix it? Before that feel free to check what version of libpng gst-plugins-libpng is linking against: readelf -d /usr/lib/gstreamer-0.10/libgstpng.so |grep libpng If this reports 1.2 (e.g libpng12.so.0) instead of 1.4, and you have upgraded to libpng-1.4, then that was your problem.
Created attachment 239427 [details] config.log (In reply to comment #7) > So, does rebuilding gst-plugins-libpng fix it? Only updating to the new version (0.10.22). The old version (0.10.21) doesn't. > readelf -d /usr/lib/gstreamer-0.10/libgstpng.so |grep libpng With media-plugins/gst-plugins-libpng-0.10.21, I get NO results! There is no libpng in this output! When trying to open ipython and running "import gst", I get: (gst-plugin-scanner:19270): GStreamer-WARNING **: Failed to load plugin '/usr/lib64/gstreamer-0.10/libgstpng.so': /usr/lib64/gstreamer-0.10/libgstpng.so: undefined symbol: png_create_read_struct revdep-rebuild shows nothing. Looking at gst-plugins-libpng-0.10.21 build log, and also at the config.log (which I've attached to this bug), I find this: configure:30985: *** checking feature: Portable Network Graphics library *** configure:30989: *** for plug-ins: png *** configure:31031: checking for LIBPNG configure:31039: $PKG_CONFIG --exists --print-errors "$which" Package libpng12 was not found in the pkg-config search path. Perhaps you should add the directory containing `libpng12.pc' to the PKG_CONFIG_PATH environment variable No package 'libpng12' found configure:31042: $? = 1 configure:31057: $PKG_CONFIG --exists --print-errors "$which" Package libpng12 was not found in the pkg-config search path. Perhaps you should add the directory containing `libpng12.pc' to the PKG_CONFIG_PATH environment variable No package 'libpng12' found configure:31060: $? = 1 No package 'libpng12' found configure:31088: result: no configure:31092: result: no configure:31097: No package 'libpng12' found configure:31148: *** These plugins will not be built: png I currently have two versions of libpng: 1.4.3 (slot 0) and 1.2.44 (slot 1.2).
Hmm, ok, I guess gst-plugins-libpng-0.10.21 didn't yet have patches to be happy with libpng-1.4 as well at configure time. 0.10.22 changed the package check from "libpng12" to "libpng >= 1.2". So basically earlier than 0.10.22 does not build against libpng-1.4. And libpng-1.4 was made stable, while gst-plugins-libpng-0.10.22 isn't quite yet ready for that. I think I'll push the whole newer gstreamer core/base/good set (~32 packages) stable sooner than 30 days then. Though primarily because GNOME-2.30 stabling will benefit from that too. Though I'd prefer to wait until GNOME-2.30 is actually on its way to stable, to give newer gstreamer testing time as much as possible (it was added 3rd July)... I'll see what to do about this in relation to this libpng discovery.
gst-plugins-libpng-0.10.22, which is happy with libpng-1.4, is in the process of being stabilized in bug 329703 (already stable for x86/amd64), so we can consider this bug fixed