After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 708034 - shotwell.video.thumnail fails to create video with version other than 1.0.7
shotwell.video.thumnail fails to create video with version other than 1.0.7
Status: RESOLVED NOTGNOME
Product: GStreamer
Classification: Platform
Component: dont know
1.x
Other Linux
: Normal normal
: NONE
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2013-09-13 15:26 UTC by Jim Sublette
Modified: 2013-09-18 09:23 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
GST_DEBUG=6 log running shotwell (553.13 KB, application/x-compressed-tar)
2013-09-16 23:44 UTC, Jim Sublette
Details

Description Jim Sublette 2013-09-13 15:26:53 UTC
When using shotwell to manage photos/videos with gstreamer version 1.0.5 or 1.0.10 shotwell is not able to produce video thumbnails.  The app functions normally with gstreamer-1.0.7.

the app error is:  L 21237 2013-09-12 10:13:32 [WRN] VideoSupport.vala:254: Error creating pixbuf: Unrecognized image file format
Comment 1 Sebastian Dröge (slomo) 2013-09-16 08:35:12 UTC
Can you provide a debug log with GST_DEBUG=6 with GStreamer 1.0.10 and attach it here? Also this should probably be first assigned to shotwell, I have no idea what they're doing.
Comment 2 Jim Sublette 2013-09-16 23:44:12 UTC
Created attachment 255071 [details]
GST_DEBUG=6 log running shotwell
Comment 4 Tim-Philipp Müller 2013-09-17 21:26:06 UTC
> class ShotwellThumbnailer {
>   const string caps_string = """video/x-raw,format=RGB,bpp=32,depth=32,pixel-aspect-ratio=1/1""";

In 1.0 the bpp/depth is expressed through the format string. If you want bpp=32 and depth=32 you want ARGB or RGBA or somesuch. If you want bpp=32 and depth=24 you want format=RGBx or xRGB or xBGR or somesuch. If you want bpp=24 and depth=24 then format=RGB is ok.

So these caps are broken, because if you specify those bpp/depth fields it means they *must* be present now in 1.x. The patch that enforces this strictly was backported to the 1.0 branch after  much testing because it fixes other important things. Unfortunately it breaks cases like this with broken caps. Sorry.

Please try removing the bpp/depth fields and see if that helps.

Btw, you could simplify your code a lot by using gdkpixbufsink from gst-plugins-good.

Then you just do

 1) seek
 2) wait for ASYNC_DONE on the bus, or do a get_state() with a timeout and wait for it to return SUCCESS
 4) read the "last-pixbuf" property of the gdkpixbufsink
 5) hey presto, a GdkPixbuf :)
Comment 5 David Woodhouse 2013-09-17 21:53:25 UTC
 sed s^video/x-raw,format=RGB,bpp=32,depth=32,pixel-aspect-ratio=1/1^video/x-raw,format=RGB,bpp=24,depth=24,pixel-aspect-ratio=1/1^ -i shotwell-video-thumbnailer 


That didn't work.

Then I stopped being lazy and actually rebuilt it with this patch:
-    const string caps_string = """video/x-raw,format=RGB,bpp=32,depth=32,pixel-aspect-ratio=1/1""";
+    const string caps_string = """video/x-raw,format=RGB,pixel-aspect-ratio=1/1""";

That one appears to work.
Comment 6 Tim-Philipp Müller 2013-09-18 09:23:00 UTC
The second one is correct (no bpp/depth fields at all any more).

Moving this back to shotwell then, since I don't think there's anything left to do in GStreamer in this case. Again sorry for the breakage, but the caps were incorrect from the start, it was basically just a lucky coincidence they had been working until then.