summaryrefslogtreecommitdiffstats
path: root/smdirwatcher.cpp
diff options
context:
space:
mode:
authorArno <am@disconnect.de>2013-07-27 03:59:47 +0200
committerArno <am@disconnect.de>2013-07-27 04:02:21 +0200
commit0afebd0e3cb3da831cd5ffba1eefbe9e61e408a1 (patch)
treee92bd13b2ddda3af1af51d25c22d5042fb635139 /smdirwatcher.cpp
parent46a552d89c70895abc75d94f3c647be29873afd9 (diff)
downloadSheMov-0afebd0e3cb3da831cd5ffba1eefbe9e61e408a1.tar.gz
SheMov-0afebd0e3cb3da831cd5ffba1eefbe9e61e408a1.tar.bz2
SheMov-0afebd0e3cb3da831cd5ffba1eefbe9e61e408a1.zip
Read JSON from ffprobe
Use JSON output from ffprobe instead of string parsing to get some kind of type safety. For doing that, some changes were needed in FileView: Use delegates for displaying Duration and Bitrate instead of mangling output in Qt::Displayrole. To reuse code, move all delegates from the new Archive to a separate file. And, of course, the initial objective: Show the accumulated size and duration of selected files in the status bar from the experimental archive.
Diffstat (limited to 'smdirwatcher.cpp')
-rw-r--r--smdirwatcher.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/smdirwatcher.cpp b/smdirwatcher.cpp
index 2421b1e..a6163c2 100644
--- a/smdirwatcher.cpp
+++ b/smdirwatcher.cpp
@@ -147,7 +147,9 @@ const QList<QVariant> SmDataColletor::fileData(const QFileInfo &fi){
data << fi.lastModified();
QList<QVariant> si = QList<QVariant>() << QVariant() << QVariant();
if(mime.startsWith("video")){
- si = Helper::duration(fi.absoluteFilePath());
+ QVariantMap ffData = Helper::ffmpegData(fi.absoluteFilePath());
+ si[0] = ffData.value("duration").toDouble();
+ si[1] = ffData.value("bit_rate").toInt();
}else if(mime.startsWith("image")){
QImage img(fi.absoluteFilePath());
si[0] = img.size();