Bug 359116 - Video preview not scaling and slider not working
Summary: Video preview not scaling and slider not working
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Preview-Video (show other bugs)
Version: 5.0.0
Platform: Arch Linux Other
: NOR normal
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-02-07 21:27 UTC by Evert Vorster
Modified: 2017-07-27 10:27 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 5.0.0


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Evert Vorster 2016-02-07 21:27:38 UTC
When playing back video, it plays at 1:1 size, unlike the "fit to window" that was the default before. 
Clicking on the various zoom buttons has no effect, there seems to be no scaling applied whatsoever. 
Also, the position slider does not work, as reported before. ;)

Reproducible: Always

Steps to Reproduce:
1. Click on video thumbnail to start video preview
2. Click on the various zoom options

Actual Results:  
Video scaling is not applied

Expected Results:  
Video should scale according to the various zoom sliders and presets assigned to the buttons.

This is on a virtual machine with a very small screen, but this should not matter.
Comment 1 caulier.gilles 2016-02-07 22:11:36 UTC
Questions :

- Which Qt5 version did you use ? (look on Help/Components info dialog)
- Which GStreamer version did you use ?
- What do you seen on the console when you try to preview a video ?
- Which kind of video file do you try to preview ?
- Can you share a video file to try to reproduce the problem ?

Gilles Caulier
Comment 2 Evert Vorster 2016-02-08 10:52:42 UTC
All Good Questions...
Output from Components information:
---------------------------------------------------------------
digikam version 5.0.0-beta4
CPU cores: 2
Eigen: 3.2.7
Exiv2: 0.25
Exiv2 can write to Jp2: Yes
Exiv2 can write to Jpeg: Yes
Exiv2 can write to Pgf: Yes
Exiv2 can write to Png: Yes
Exiv2 can write to Tiff: Yes
Exiv2 supports XMP metadata: Yes
KDE: 5.18.0
LensFun: 0.3.1-0
LibCImg: 130
LibJPEG: 80
LibJasper: 1.900.1
LibLCMS: 2070
LibLqr support: Yes
LibPGF: 6.14.12
LibPNG: 1.6.21
LibRaw: 0.17.0
LibTIFF: LIBTIFF, Version 4.0.6 Copyright (c) 1988-1996 Sam Leffler Copyright (c) 1991-1996 Silicon Graphics, Inc.
Marble: 0.22.20 (0.23 development version)
Parallelized demosaicing: Yes
Qt: 5.5.1
RawSpeed codec support: Yes
AkonadiContact support: Yes
Baloo support: Yes
Database backend: QSQLITE
Kipi-Plugins: 
LibGphoto2: 2.5.9
LibKipi: 5.0.0
LibOpenCV: 2.4.12.2
QtMultimedia support: Yes
---------------------------------------------------------------------
Everything gstreamer installed on my system:

---------------------------------------------------------------------
[evert@ArchiveMobile ~]$ pacman -Qs gstreamer
local/gst-libav 1.6.3-1
    Gstreamer libav Plugin
local/gst-plugins-bad 1.6.3-3
    GStreamer Multimedia Framework Bad Plugins
local/gst-plugins-base 1.6.3-1
    GStreamer Multimedia Framework Base Plugins
local/gst-plugins-base-libs 1.6.3-1
    GStreamer Multimedia Framework Base Plugin libraries
local/gst-plugins-good 1.6.3-1
    GStreamer Multimedia Framework Good Plugins
local/gst-plugins-ugly 1.6.3-1
    GStreamer Multimedia Framework Ugly Plugins
local/gstreamer 1.6.3-1
    GStreamer Multimedia Framework
local/gstreamer0.10 0.10.36-4
    GStreamer Multimedia Framework
local/gstreamer0.10-bad 0.10.23-12
    GStreamer Multimedia Framework Bad Plugin libraries (gst-plugins-bad)
local/gstreamer0.10-bad-plugins 0.10.23-12 (gstreamer0.10-plugins)
    GStreamer Multimedia Framework Bad Plugins (gst-plugins-bad)
local/gstreamer0.10-base 0.10.36-3
    GStreamer Multimedia Framework Base plugin libraries
local/gstreamer0.10-base-plugins 0.10.36-3 (gstreamer0.10-plugins)
    GStreamer Multimedia Framework Base Plugins (gst-plugins-base)
local/gstreamer0.10-ffmpeg 0.10.13-2 (gstreamer0.10-plugins)
    Gstreamer FFMpeg Plugin
local/gstreamer0.10-good 0.10.31-10
    GStreamer Multimedia Framework Good plugin libraries
local/gstreamer0.10-good-plugins 0.10.31-10 (gstreamer0.10-plugins)
    GStreamer Multimedia Framework Good Plugins (gst-plugins-good)
local/gstreamer0.10-ugly 0.10.19-16
    GStreamer Multimedia Framework Ugly plugin libraries
local/gstreamer0.10-ugly-plugins 0.10.19-16 (gstreamer0.10-plugins)
    GStreamer Multimedia Framework Ugly Plugins (gst-plugins-ugly)
local/phonon-qt4-gstreamer 4.8.2-4
    Phonon GStreamer backend for Qt4
local/phonon-qt5-gstreamer 4.8.2-4
    Phonon GStreamer backend for Qt5
local/qt4-gstreamer 1.2.0-2
    Qt4 bindings for GStreamer                                                                             
local/qt5-gstreamer 1.2.0-2                                                                                
    Qt5 bindings for GStreamer   
-------------------------------------------------------------------------------------------------
Console Output from DigiKam start:

-------------------------------------------------------------------------------------------------
[evert@ArchiveMobile ~]$ digikam
digikam.general: AlbumWatch use QFileSystemWatcher
digikam.general: Database Parameters:
   Type:                 "QSQLITE"
   DB Core Name:         "/data/DigiKam/digikam4.db"
   DB Thumbs Name:       "/data/DigiKam/thumbnails-digikam.db"
   DB Face Name:         "/data/DigiKam/recognition.db"
   Connect Options:      ""
   Host Name:            ""
   Host port:            -1
   Internal Server:      false
   Internal Server Path: ""
   Username:             ""
   Password:             ""

digikam.dbengine: Loading SQL code from config file "/usr/share/digikam/database/dbconfig.xml"
digikam.dbengine: Checking XML version ID => expected:  3  found:  3
digikam.coredb: Core database: running schema update
digikam.coredb: Core database: have a structure version  7
digikam.coredb: Core database: makeUpdates  7  to  7
digikam.database: Creating new Location  "/DigiKam"  uuid  "volumeid:?uuid=72e99096-2455-4d31-b771-cc3c63c2b69b"
digikam.database: location for  "/data/DigiKam"  is available  true
KMemoryInfo: Platform identified :  "LINUX"
KMemoryInfo: TotalRam:  5302620160
digikam.general: Allowing a cache size of 200 MB
digikam.thumbsdb: Thumbs database: have a structure version  "3"
digikam.general: Thumbnails database ready for use
pci id for fd 25: 80ee:beef, driver (null)
libGL error: core dri or dri2 extension not found
libGL error: failed to load driver: vboxvideo
digikam.database: Complete scan (file scanning deferred) took: 13320 msecs.
digikam.dimg: ("/usr/share/color/icc")
digikam.dimg: No X.org XICC profile installed for screen  0
digikam.general: Camera XML data:  "/home/evert/.local/share/digikam/cameras.xml"
digikam.facedb: Face database: have a structure version  "2"
digikam.facesengine: Face database ready for use
digikam.facesengine: Face database ready for use
digikam.geoiface: "setting backend marble"
digikam.general: Stacked View Mode :  0
digikam.geoiface: "setting backend marble"
digikam.general: "browse_album"
digikam.general: "browse_tag"
digikam.general: "browse_labels"
digikam.general: "browse_date"
digikam.general: "browse_timeline"
digikam.general: "browse_search"
digikam.general: "browse_fuzzysearch"
digikam.general: "browse_gpssearch"
digikam.general: "browse_people"
QFSFileEngine::open: No file name specified
digikam.dimg: variant:  QVariant(Digikam::LensFunIface::DevicePtr, )
digikam.dimg: dev:  Asahi Optical Co.,Ltd  ::  Pentax Optio 430  ::  4.85
digikam.dimg: Search for camera  "" - ""  ==> false
digikam.dimg: Search for lens  ""  ==> false
digikam.dimg: updating data
digikam.dimg: updating data
digikam.general: Using  2  CPU core to run threads
digikam.general: new search text settings:  "" : hasResult =  false , validRows =  0
Could not resolve property : linearGradient4538
Could not resolve property : linearGradient4588
Could not resolve property : linearGradient4554
Could not resolve property : linearGradient4572
Could not resolve property : linearGradient4532
Could not resolve property : linearGradient4582
Could not resolve property : linearGradient4566
Could not resolve property : linearGradient4548
Could not resolve property : linearGradient4532
Could not resolve property : linearGradient4582
Could not resolve property : linearGradient4566
Could not resolve property : linearGradient4548
Could not resolve property : linearGradient4532
Could not resolve property : linearGradient4582
Could not resolve property : linearGradient4566
Could not resolve property : linearGradient4548
Could not resolve property : linearGradient4538
Could not resolve property : linearGradient4588
Could not resolve property : linearGradient4554
Could not resolve property : linearGradient4572
Could not resolve property : linearGradient4532
Could not resolve property : linearGradient4582
Could not resolve property : linearGradient4566
Could not resolve property : linearGradient4548
Could not resolve property : linearGradient4532
Could not resolve property : linearGradient4582
Could not resolve property : linearGradient4566
Could not resolve property : linearGradient4548
Could not resolve property : linearGradient4532
Could not resolve property : linearGradient4582
Could not resolve property : linearGradient4566
Could not resolve property : linearGradient4548
QFSFileEngine::open: No file name specified
digikam.widgets: "Breeze"  ::  "/usr/share/color-schemes/Breeze.colors"
digikam.widgets: "Breeze"  ::  "/usr/share/color-schemes/Breeze.colors"
QFSFileEngine::open: No file name specified
digikam.geoiface: ----
digikam.geoiface: ----
digikam.geoiface: ----
digikam.general: Added root album called:  "DigiKam"
QInotifyFileSystemWatcherEngine::addPaths: inotify_add_watch failed: No such file or directory
digikam.general: Using  2  CPU core to run threads
digikam.general: Action Thread run  1  new jobs
digikam.geoiface: ----
digikam.geoiface: ----
digikam.general: Using  2  CPU core to run threads
digikam.general: Action Thread run  1  new jobs
digikam.geoiface: "ROADMAP"
digikam.geoiface: "ROADMAP"
digikam.geoiface: "setting backend marble"
digikam.geoiface: "ROADMAP"
digikam.geoiface: ----
digikam.geoiface: "ROADMAP"
digikam.geoiface: ----
digikam.general: One job is done
digikam.general: Cancel Main Thread
digikam.general: One job is done
digikam.geoiface: ----
digikam.imageplugins: ImagePlugin_Color plugin loaded
digikam.general: ImagePluginLoader: Loaded plugin  "ImagePlugin_Color"
digikam.imageplugins: ImagePlugin_Decorate plugin loaded
digikam.general: ImagePluginLoader: Loaded plugin  "ImagePlugin_Decorate"
digikam.imageplugins: ImagePlugin_Enhance plugin loaded
digikam.general: ImagePluginLoader: Loaded plugin  "ImagePlugin_Enhance"
digikam.imageplugins: ImagePlugin_FxFilters plugin loaded
digikam.general: ImagePluginLoader: Loaded plugin  "ImagePlugin_FxFilters"
digikam.imageplugins: ImagePlugin_Transform plugin loaded
digikam.general: ImagePluginLoader: Loaded plugin  "ImagePlugin_Transform"
Shortcut for action  "editorwindow_showthumbs" "Show Thumbbar" set with QAction::setShortcut()! Use KActionCollection::setDefaultShortcut(s) instead.
QFSFileEngine::open: No file name specified
digikam.general: Got total of  5  image plugins
digikam.general: loading plugin:  "digikam"
digikam.general: Adding to category  "Colors"
digikam.general:   Action:  "imageplugin_bcg"
digikam.general:   Action:  "imageplugin_hsl"
digikam.general:   Action:  "imageplugin_rgb"
digikam.general:   Action:  "imageplugin_autocorrection"
digikam.general:   Action:  "imageplugin_invert"
digikam.general:   Action:  "imageplugin_convertto8bits"
digikam.general:   Action:  "imageplugin_convertto16bits"
digikam.general:   Action:  "imageplugin_colormanagement"
digikam.general:   Action:  "imageplugin_blackwhite"
digikam.general:   Action:  "imageplugin_whitebalance"
digikam.general:   Action:  "imageplugin_channelmixer"
digikam.general:   Action:  "imageplugin_adjustcurves"
digikam.general:   Action:  "imageplugin_adjustlevels"
digikam.general:   Action:  "imageplugin_film"
digikam.general: loading plugin:  "digikam"
digikam.general: Adding to category  "Decorate"
digikam.general:   Action:  "imageplugin_inserttext"
digikam.general:   Action:  "imageplugin_border"
digikam.general:   Action:  "imageplugin_texture"
digikam.general: loading plugin:  "digikam"
digikam.general: Adding to category  "Enhance"
digikam.general:   Action:  "imageplugin_restoration"
digikam.general:   Action:  "imageplugin_sharpen"
digikam.general:   Action:  "imageplugin_blur"
digikam.general:   Action:  "imageplugin_noisereduction"
digikam.general:   Action:  "imageplugin_localcontrast"
digikam.general:   Action:  "imageplugin_redeye"
digikam.general:   Action:  "imageplugin_inpainting"
digikam.general:   Action:  "imageplugin_antivignetting"
digikam.general:   Action:  "imageplugin_lensdistortion"
digikam.general:   Action:  "imageplugin_hotpixels"
digikam.general:   Action:  "imageplugin_lensautofix"
digikam.general: loading plugin:  "digikam"
digikam.general: Adding to category  "Effects"
digikam.general:   Action:  "imageplugin_colorfx"
digikam.general:   Action:  "imageplugin_charcoal"
digikam.general:   Action:  "imageplugin_emboss"
digikam.general:   Action:  "imageplugin_oilpaint"
digikam.general:   Action:  "imageplugin_blurfx"
digikam.general:   Action:  "imageplugin_distortionfx"
digikam.general:   Action:  "imageplugin_raindrop"
digikam.general:   Action:  "imageplugin_filmgrain"
digikam.general: loading plugin:  "digikam"
digikam.general: Adding to category  "Transform"
digikam.general:   Action:  "imageplugin_perspective"
digikam.general:   Action:  "imageplugin_sheartool"
digikam.general:   Action:  "imageplugin_resize"
digikam.general:   Action:  "imageplugin_ratiocrop"
digikam.general:   Action:  "imageplugin_contentawareresizing"
digikam.general:   Action:  "imageplugin_freerotation"
digikam.general:   Action:  "imageplugin_freerotation_point1"
digikam.general:   Action:  "imageplugin_freerotation_point2"
digikam.general:   Action:  "imageplugin_freerotation_autoadjust"
digikam.geoiface: "setting backend marble"
digikam.geoiface: "ROADMAP"
digikam.facesengine: Face database ready for use
digikam.facesengine: Face database ready for use
Shortcut for action  "lighttable_showthumbbar" "Show Thumbbar" set with QAction::setShortcut()! Use KActionCollection::setDefaultShortcut(s) instead.
QFSFileEngine::open: No file name specified
digikam.geoiface: "setting backend marble"
digikam.geoiface: "ROADMAP"
digikam.geoiface: "setting backend marble"
digikam.geoiface: "ROADMAP"
digikam.general: scan mode: ScanDeferredFiles
digikam.general: total scan value :  54244
digikam.dbengine: Database is locked. Waited 0
digikam.dbengine: Database is locked. Waited 250
digikam.dbengine: Database is locked. Waited 500
digikam.dbengine: Database is locked. Waited 750
digikam.database: items to tag ()
digikam.database: Complete scan took: 1085 msecs.
digikam.general: QFileSystemWatcher detected change at "/data/DigiKam/"
digikam.general: Detected change, triggering rescan of directory "/data/DigiKam/"
digikam.general: Event is dispatched to desktop notifier through DBUS
digikam.database: Starting scan!
-----------------------------------------------------------------------------------------------------------

When previewing the video, I get this on the console:

digikam.general: Stacked View Mode :  6
digikam.general: Stacked View Mode :  6
digikam.general: Stacked View Mode :  0

-------------------------------------------------------------------------------------------------------------

Video types:

1080p 25fps from Canon Rebel Xti
1080p 25fps All I Frame from Canon 70D
4K 25fps from GoPro Hero 4 Black

All have the same issues, but it is more noticeable on the 4K footage. 
The video files are massive, and I am stuck on a ship behind a very restrictive and slow satellite connection, so not so much chance of uploading a raw clip. 

Like I said, it's running on virtual hardware....

The head from my glxinfo:
[evert@ArchiveMobile ~]$ glxinfo 
name of display: :0
pci id for fd 4: 80ee:beef, driver (null)
libGL error: core dri or dri2 extension not found
libGL error: failed to load driver: vboxvideo
display: :0  screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.4
------------------------------------------------------------------------------------------

Sorry for the long post, I was trying to be thorough. 
-Evert-
Comment 3 Evert Vorster 2016-02-19 12:59:48 UTC
I have a bit of new information for you, but it will need a little background information. 

I run Arch, which is a decent Linux. I also work for a company that supplies me with a Windows laptop that I HAVE to carry around. Since cabin luggage is severely limited on airplanes, and all my work is of an international nature, I have to leave behind my Arch laptop. 

I now carry around a USB drive with a duplicate of my home installation of Arch. 

Depending on whether I need the speed of native close to the metal, I'll either boot from the disk directly, or boot into Windows, and then use Virtual Box to boot from the USB drive, allowing me to work and have access to my home data and programs simultaneously. 

When I am running in VirtualBox, the scaling does not happen, as described above. When I boot from the USB drive directly, the scaling is proper, like it should be.

So, it would appear that DigiKam does not read my screen size correctly, or maybe tries a hardware rescale that is not supported in VirtualBox. Specifically, 2D and 3D acceleration has been turned off as they are not compatible with each other and KF5. 

Hope this helps in tracking down the issue?
Comment 4 Maik Qualmann 2016-02-25 18:58:42 UTC
Git commit 68bce1d8669c468a251592a1e7d63ef88f4b170f by Maik Qualmann.
Committed on 25/02/2016 at 18:57.
Pushed by mqualmann into branch 'master'.

make video slider from video player seekable

M  +38   -7    app/views/mediaplayerview.cpp
M  +2    -0    app/views/mediaplayerview.h

http://commits.kde.org/digikam/68bce1d8669c468a251592a1e7d63ef88f4b170f
Comment 5 Evert Vorster 2016-02-29 08:47:15 UTC
Maik, the slider works now, thanks for that. 

I realize that running high definition video on a virtual machine might be a bit of a corner case, and may be down to the drivers lying to the program about the resolution that is available. 

So, I'll go ahead and close this one. 

Thanks!