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 717671 - use GStreamer for video thumbnailing once again
use GStreamer for video thumbnailing once again
Status: RESOLVED FIXED
Product: shotwell
Classification: Other
Component: general
0.10
Other All
: High normal
: ---
Assigned To: Eric Gregory
Shotwell Maintainers
Depends on:
Blocks:
 
 
Reported: 2011-03-29 04:54 UTC by Adam Dingle
Modified: 2013-05-01 06:39 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Charles Lindsay 2013-11-25 21:52:35 UTC


---- Reported by adam@yorba.org 2011-03-29 09:54:00 -0700 ----

Original Redmine bug id: 3439
Original URL: http://redmine.yorba.org/issues/3439
Searchable id: yorba-bug-3439
Original author: Adam Dingle
Original description:

In 0.8, we used GStreamer to generate video thumbnails. Unfortunately we found
that for a small set of obscure videos it would hang, which is untenable.

In 0.9 we switched to using totem-video-thumbnailer. This works reliably, but
some of our users understandable don't like Shotwell's dependency on Totem and
all the packages that Totem in turn depends on.

I now think we should switch back to using GStreamer, but implement a
safeguard against GStreamer bugs that hang. There are two ways we could do
that:

1. Implement a shotwell-video-thumbnailer program which runs as a separate
process. This could be a simple program which uses GStreamer to generate a
thumbnail without using any special tricks. If Shotwell ever notices that
shotwell-video-thumbnailer has taken more than a few seconds to run, it can
kill the process and, furthermore, not attempt to thumbnail any more videos of
the same type.

2. Thumbnail videos using GStreamer in the main Shotwell process. We could use
one GStreamer thread per video type. If any GStreamer thread hangs, no videos
of that type will get thumbnails, but all the other threads will continue and
generate thumbnails for all other videos. We'd to make sure that even if a
thread hangs, the main import process appears to complete normally. I think we
can't kill threads explicitly since that's relatively dangerous, so a hung
thumbnailing thread would just remain hung for the lifetime of the Shotwell
process.

Related issues:
related to shotwell - Feature #3411: Investigate ffmpegthumbnailer as an
alternative to Totem (Invalid)



---- Additional Comments From shotwell-maint@gnome.bugs 2013-05-01 11:39:00 -0700 ----

### History

####

#1

Updated by Bruno Girin over 2 years ago

For option 2, I would add that Shotwell should then blacklist the type of
video that caused the thread to hang, at least for the duration of the
Shotwell process so that I doesn't start that thread again when the user
imports for a second time.

One feature that would also be very useful is if the thumbnail generation was
able to capture details of videos that cause problems so that the details can
be logged and potentially reported upstream.

####

#2

Updated by Eric Gregory over 2 years ago

  * **Status** changed from _Open_ to _Review_
  * **Assignee** changed from _Anonymous_ to _Eric Gregory_

####

#3

Updated by Eric Gregory over 2 years ago

  * **Status** changed from _Review_ to _5_
  * **Resolution** set to _fixed_
  * **% Done** changed from _0_ to _100_

Fixed in 96fe5e59724bd3592add9ebcf073f6c464d77ff0

We now use a new process, shotwell-video-thumbnailer, for creating video
thumbnails. It's less likely to hang than our previous implementation in my
testing, but just in case there's a kill timeout and error reporting in the
event of a hang.

####

#4

Updated by Eric Gregory over 2 years ago

Also see f1847bcb16c1b804dce5254507353fc6bd185ad1

####

#5

Updated by Charles Lindsay 7 months ago

  * **Status** changed from _5_ to _Fixed_



--- Bug imported by chaz@yorba.org 2013-11-25 21:53 UTC  ---

This bug was previously known as _bug_ 3439 at http://redmine.yorba.org/show_bug.cgi?id=3439

Unknown Component 
   Using default product and component set in Parameters 
Unknown milestone "unknown in product shotwell. 
   Setting to default milestone for this product, "---".
Setting qa contact to the default for this product.
   This bug either had no qa contact or an invalid one.