Hi,
there are known bugs in Qt4 port, which make it unusable, and for
which I submitted patches to the upstream about a year ago. They were
never applied to SVN, but hopefully they can be included in the Debian
package.
Regards,
--
Jindrich Makovicka
Fixes broken Qt4 UI (no response to mouse after loading a video)
diff -xMakefile -ur orig/dvbcut/src/dvbcut.cpp dvbcut/src/dvbcut.cpp
--- orig/dvbcut/src/dvbcut.cpp 2010-08-18 10:16:32.560600431 +0200
+++ dvbcut/src/dvbcut.cpp 2010-08-18 10:15:59.320813795 +0200
@@ -2192,7 +2192,7 @@
}
// propagate to base class
- //return ui->eventFilter(watched, e);
+ return Q3MainWindow::eventFilter(watched, e);
}
int
Fixes various type warnings on 64bit arch
diff -xMakefile -ur orig/dvbcut/src/buffer.cpp dvbcut/src/buffer.cpp
--- orig/dvbcut/src/buffer.cpp 2009-07-05 09:52:37.000000000 +0200
+++ dvbcut/src/buffer.cpp 2010-08-18 10:11:36.639543041 +0200
@@ -385,7 +385,7 @@
posix_fadvise(i->fd, 0, relpos, POSIX_FADV_DONTNEED);
}
#endif
- size_t len = mmapsize;
+ ssize_t len = mmapsize;
if (newpos + len > i->end)
len = i->end - newpos;
void *ptr = ::mmap(0, len, PROT_READ, MAP_SHARED, i->fd, relpos);
@@ -451,7 +451,7 @@
return -1;
needseek = false;
}
- size_t len = size - writepos;
+ ssize_t len = size - writepos;
if (len > i->end - seekpos)
len = i->end - seekpos;
assert(len > 0);
diff -xMakefile -ur orig/dvbcut/src/index.cpp dvbcut/src/index.cpp
--- orig/dvbcut/src/index.cpp 2008-12-02 16:46:34.000000000 +0100
+++ dvbcut/src/index.cpp 2010-08-18 10:09:40.380128597 +0200
@@ -309,7 +309,7 @@
int pdelta = pictures - lastiframe + seqnr - p[lastiframe].getsequencenumber();
if (pdelta * framepts < ptsdelta)
fprintf(stderr, "missing frames in GOP (%d, %d): %lld\n",
- lastiframe, pictures, ptsdelta / framepts - pdelta);
+ lastiframe, pictures, (long long)ptsdelta / framepts - pdelta);
}
lastiframe = pictures;
}
diff -xMakefile -ur orig/dvbcut/src/mpegmuxer.cpp dvbcut/src/mpegmuxer.cpp
--- orig/dvbcut/src/mpegmuxer.cpp 2009-07-05 09:52:37.000000000 +0200
+++ dvbcut/src/mpegmuxer.cpp 2010-08-18 10:06:44.383989266 +0200
@@ -640,7 +640,7 @@
}
if (len) {
- fprintf(stderr,"str=%d len=%d aulist.size=%d packlist.size=%d\n",
+ fprintf(stderr,"str=%d len=%d aulist.size=%zd packlist.size=%zd\n",
str,len,s->aulist.size(),s->packlist.size());
assert(len==0);
}
diff -xMakefile -ur orig/dvbcut/src/mpgfile.cpp dvbcut/src/mpgfile.cpp
--- orig/dvbcut/src/mpgfile.cpp 2008-06-09 08:23:18.000000000 +0200
+++ dvbcut/src/mpgfile.cpp 2010-08-18 10:08:48.369298263 +0200
@@ -618,7 +618,7 @@
for(it=sd->itemlist().begin();it!=sd->itemlist().end();++it)
fprintf(stderr," fileposition:%lld/%d bufferposition:%d flags:%x pts:%s\n",
- it->fileposition.packetposition(),it->fileposition.packetoffset(),
+ (long long)it->fileposition.packetposition(),it->fileposition.packetoffset(),
it->bufferposition,it->flags,ptsstring(it->pts).c_str());
fprintf(stderr,"nx->bufferposition:%d it->bufferposition:%d\n",
@@ -626,7 +626,7 @@
for(int i=0;i<MAXAVSTREAMS;++i)
if (sh.stream[i])
- fprintf(stderr,"stream %d%s, itemlist.size():%d\n",
+ fprintf(stderr,"stream %d%s, itemlist.size():%zd\n",
i,(sh.stream[i]==sd)?"*":"",sh.stream[i]->itemlist().size());
abort();
diff -xMakefile -ur orig/dvbcut/src/tsfile.cpp dvbcut/src/tsfile.cpp
--- orig/dvbcut/src/tsfile.cpp 2008-06-09 08:23:18.000000000 +0200
+++ dvbcut/src/tsfile.cpp 2010-08-18 10:05:39.856698826 +0200
@@ -337,7 +337,7 @@
&& bnum<TF5XXXPVR_MAX) {
// bookmark is stored in 128 resp. 94kbyte units
bookmark*=unit;
- if(verbose) fprintf(stderr,"BOOKMARK[%d] = %lld\n",bnum,bookmark);
+ if(verbose) fprintf(stderr,"BOOKMARK[%d] = %lld\n",bnum,(long long)bookmark);
// fill bookmark vector with byte positions
byte_bookmarks.push_back(bookmark);
bnum++;
@@ -391,7 +391,7 @@
// changed byte order compared to old receivers!?!
while ((bookmark=(buffer[boff+3]<<24)|(buffer[boff+2]<<16)|(buffer[boff+1]<<8)|buffer[boff])
&& bnum<TF7700HDPVR_MAX) {
- if(verbose) fprintf(stderr,"BOOKMARK[%d] = %lld\n",bnum,bookmark);
+ if(verbose) fprintf(stderr,"BOOKMARK[%d] = %lld\n",bnum,(long long)bookmark);
// bookmark is stored in seconds now, but we'll use full pts!
bookmark*=unit;
// fill bookmark vector with times
@@ -400,7 +400,7 @@
boff+=4;
}
} else // receiver model identified but file to short!
- fprintf(stderr,"ADD-File probabely corrupted (%dbytes to short), discarding bookmarks!\n",TF7700HDPVR_LEN-len);
+ fprintf(stderr,"ADD-File probabely corrupted (%zdbytes to short), discarding bookmarks!\n",TF7700HDPVR_LEN-len);
// terminate
free(buffer);
Remove bogus file: prefix when saving the index file,
remove useless overwrite confirmation.
--- a/src/dvbcut.cpp~ 2010-08-18 12:10:59.531214776 +0200
+++ b/src/dvbcut.cpp 2010-08-18 12:20:31.222922627 +0200
@@ -1869,13 +1869,14 @@
u.setProtocol(QString("file"));
u.setPath(QString::fromStdString(idxfilename));
if (chdir((const char*)u.dirPath()) == -1) chdir("/");
- QString relname = QString("file:") + u.fileName();
+ QString relname = u.fileName();
QString s=QFileDialog::getSaveFileName(
- relname,
- settings().idxfilter,
this,
- "Choose index file...",
- "Choose the name of the index file" );
+ "Choose the name of the index file",
+ relname,
+ settings().idxfilter,
+ 0,
+ QFileDialog::DontConfirmOverwrite);
if (s.isEmpty()) {
delete mpg;
mpg=0;