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 318748 - Display attached cover instead of thumbnail (when possible)
Display attached cover instead of thumbnail (when possible)
Status: RESOLVED FIXED
Product: totem
Classification: Core
Component: Thumbnailer
unspecified
Other Linux
: Normal enhancement
: ---
Assigned To: General Totem maintainer(s)
General Totem maintainer(s)
: 339703 (view as bug list)
Depends on: 339703 537622
Blocks: 426083
 
 
Reported: 2005-10-13 09:31 UTC by Reviczky Ádám János
Modified: 2008-06-10 21:19 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Support thumbnailing audio files (8.24 KB, patch)
2008-06-10 19:21 UTC, Bastien Nocera
none Details | Review

Description Reviczky Ádám János 2005-10-13 09:31:10 UTC
Some (newer) container formats allows to ad attachements or still images into
the file, like: matroska, mpeg4, ratdvd (and maybe others too).
In the most of such files there are (can be) covers from the movie or music
attached.

Totem-thumbnailer should be display the attached cover (mostly: cover.jpg)
instead of a thumbnail, when an attached cover is avaible.

For matroska files, there is a Shell Extension for Windows avaible, that did the
same (display cover instead of thumbnail if avaible). Here is explained, how it
works: http://www.matroska.org/downloads/shellextension/
Comment 1 Ronald Bultje 2006-01-25 06:07:31 UTC
I've implemented this for quicktime elsewhere, although the thumbnailer needs some minor work to use this. Adding it to matroska is a matter of doing it. Same is true for id3.
Comment 2 Bastien Nocera 2006-01-29 14:39:29 UTC
xine-lib doesn't support that yet, but I'd be happy to support it for some specific file types.
Do you have any MPEG4 videos with such thumbnails?
Comment 3 André Klapper 2006-10-01 04:08:34 UTC
reviczky: can you please attach a testcase as requested by bastien?
Comment 4 Reviczky Ádám János 2006-10-01 12:48:20 UTC
(In reply to comment #3)
> reviczky: can you please attach a testcase as requested by bastien?
> 

Here is a sample Matroska file wich an attached cover inside:
http://rapidshare.de/files/35094692/howlsmovingcastle_preview.mkv.html

(If there is a place, where i can upload test files, than let me know.)
Comment 5 Bastien Nocera 2006-10-02 10:06:37 UTC
*** Bug 339703 has been marked as a duplicate of this bug. ***
Comment 6 Luigi Maselli 2007-03-25 20:21:39 UTC
Probably it's a relelated bug, but matroska(and mp4) embedded chapters aren't recornized.

Here is the specification http://www.matroska.org/technical/specs/chapters/index.html
Comment 7 Reviczky Ádám János 2007-03-26 09:40:01 UTC
For chapter support see bug #163546: http://bugzilla.gnome.org/show_bug.cgi?id=163546
Comment 8 Bastien Nocera 2008-06-10 19:21:26 UTC
Created attachment 112498 [details] [review]
Support thumbnailing audio files

Quick one. We also need to exit earlier when there's no cover, and the file is audio only.
Comment 9 Tim-Philipp Müller 2008-06-10 19:45:35 UTC
Quick comment as requested: GStreamer bits look ok, but not perfect:

 - there's both GST_TAG_PREVIEW_IMAGE (which is supposed to be icon sized)
   and GST_TAG_IMAGE

 - there may be only one GST_TAG_PREVIEW_IMAGE per taglist, but there
   can be multiple GST_TAG_IMAGEs

 - GST_TAG_IMAGEs may/should have an "image-type" field in the buffer caps,
   which is an enum:
   http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gsttag.html#GstTagImageType

There's probably a utility function for libgsttag in there somewhere ...  :)
Comment 10 Bastien Nocera 2008-06-10 21:19:08 UTC
Doesn't work with Matroska files (see bug 537622), and doesn't work with the xine-lib backend (because it doesn't support exporting that data).

Thanks Tim for the help.

2008-06-10  Bastien Nocera  <hadess@hadess.net>

	* configure.in: Require gstreamer-tag as well
	* src/backend/bacon-video-widget.h:
	* src/backend/bacon-video-widget-gst-0.10.c
	(bacon_video_widget_get_metadata_pixbuf),
	(bacon_video_widget_get_best_image),
	(bacon_video_widget_get_metadata): Add code to read covers from
	video and audio files, through the tags
	* src/backend/bacon-video-widget-xine.c
	(bacon_video_widget_get_metadata): Implement stubs of the above
	* src/totem-video-thumbnailer.c (capture_interesting_frame),
	(capture_frame_at_time), (has_audio), (on_got_metadata_event),
	(main): Implement saving the cover of a video/audio file
	(Closes: #318748)