Skip to content

Commit 4e7a950

Browse files
committed
minor change
1 parent 26fe559 commit 4e7a950

File tree

2 files changed

+44
-16
lines changed

2 files changed

+44
-16
lines changed

code/player/QgsFmvPlayer.py

+34-13
Original file line numberDiff line numberDiff line change
@@ -480,69 +480,90 @@ def contextMenuRequested(self, point):
480480
def grayFilter(self, value):
481481
''' Gray Video Filter '''
482482
self.UncheckFilters(self.sender(), value)
483+
self.videoWidget.SetGray(value)
484+
483485
if value and self.player.playbackRate() == self.playbackRateSlow:
484486
self.player.setPlaybackRate(1.0)
485-
self.videoWidget.SetGray(value)
487+
return
488+
486489
self.videoWidget.UpdateSurface()
487490
return
488491

489492
def MirrorHorizontalFilter(self, value):
490493
''' Mirror Horizontal Video Filter '''
491494
self.UncheckFilters(self.sender(), value)
495+
self.videoWidget.SetMirrorH(value)
496+
492497
if value and self.player.playbackRate() == self.playbackRateSlow:
493498
self.player.setPlaybackRate(1.0)
494-
self.videoWidget.SetMirrorH(value)
499+
return
500+
495501
self.videoWidget.UpdateSurface()
496502
return
497503

498504
def NDVIFilter(self, value):
499505
''' NDVI Video Filter '''
500506
self.UncheckFilters(self.sender(), value)
507+
self.videoWidget.SetNDVI(value)
508+
501509
# TODO : Temporarily we lower in rate. Player in other thread?
502510
if value and self.player.playbackRate()!= self.playbackRateSlow:
503-
self.player.setPlaybackRate(self.playbackRateSlow)
504-
QApplication.processEvents()
505-
self.videoWidget.SetNDVI(value)
511+
self.player.setPlaybackRate(self.playbackRateSlow)
512+
return
513+
514+
#QApplication.processEvents()
506515
self.videoWidget.UpdateSurface()
507516
return
508517

509518
def edgeFilter(self, value):
510519
''' Edge Detection Video Filter '''
511520
self.UncheckFilters(self.sender(), value)
521+
self.videoWidget.SetEdgeDetection(value)
522+
512523
# TODO : Temporarily we lower in rate. Player in other thread?
513524
if value and self.player.playbackRate()!= self.playbackRateSlow:
514-
self.player.setPlaybackRate(self.playbackRateSlow)
515-
QApplication.processEvents()
516-
self.videoWidget.SetEdgeDetection(value)
525+
self.player.setPlaybackRate(self.playbackRateSlow)
526+
return
527+
#QApplication.processEvents()
517528
self.videoWidget.UpdateSurface()
518529
return
519530

520531
def invertColorFilter(self, value):
521532
''' Invert Color Video Filter '''
522533
self.UncheckFilters(self.sender(), value)
534+
self.videoWidget.SetInvertColor(value)
535+
523536
if value and self.player.playbackRate() == self.playbackRateSlow:
524537
self.player.setPlaybackRate(1.0)
525-
self.videoWidget.SetInvertColor(value)
538+
return
539+
540+
#QApplication.processEvents()
526541
self.videoWidget.UpdateSurface()
527542
return
528543

529544
def autoContrastFilter(self, value):
530545
''' Auto Contrast Video Filter '''
531546
self.UncheckFilters(self.sender(), value)
547+
self.videoWidget.SetAutoContrastFilter(value)
532548
# TODO : Temporarily we lower in rate. Player in other thread?
533549
if value and self.player.playbackRate()!= self.playbackRateSlow:
534-
self.player.setPlaybackRate(self.playbackRateSlow)
535-
QApplication.processEvents()
536-
self.videoWidget.SetAutoContrastFilter(value)
550+
self.player.setPlaybackRate(self.playbackRateSlow)
551+
return
552+
553+
#QApplication.processEvents()
537554
self.videoWidget.UpdateSurface()
538555
return
539556

540557
def monoFilter(self, value):
541558
''' Filter Mono Video '''
542559
self.UncheckFilters(self.sender(), value)
560+
self.videoWidget.SetMonoFilter(value)
561+
543562
if value and self.player.playbackRate() == self.playbackRateSlow:
544563
self.player.setPlaybackRate(1.0)
545-
self.videoWidget.SetMonoFilter(value)
564+
return
565+
566+
#QApplication.processEvents()
546567
self.videoWidget.UpdateSurface()
547568
return
548569

code/video/QgsVideo.py

+10-3
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,8 @@ def present(self, frame):
156156
if (self.surfaceFormat().pixelFormat() != frame.pixelFormat() or
157157
self.surfaceFormat().frameSize() != frame.size()):
158158
self.setError(QAbstractVideoSurface.IncorrectFormatError)
159-
self.stop()
159+
# if is a hight quality frame is stopped and not call start function
160+
#self.stop()
160161
return False
161162
else:
162163
self._currentFrame = frame
@@ -207,7 +208,7 @@ def paint(self, painter):
207208
if self.widget._filterSatate.edgeDetectionFilter:
208209
try:
209210
self.image = filter.EdgeFilter(self.image)
210-
except Exception:
211+
except Exception as e:
211212
None
212213
# TODO : Test in other thread
213214
if self.widget._filterSatate.contrastFilter:
@@ -453,7 +454,7 @@ def videoSurface(self):
453454
return self.surface
454455

455456
def UpdateSurface(self):
456-
''' Update Video Surface '''
457+
''' Update Video Surface only is is stopped or paused '''
457458
if self.parent.playerState in (QMediaPlayer.StoppedState,
458459
QMediaPlayer.PausedState):
459460
self.update()
@@ -537,6 +538,12 @@ def RemoveCanvasRubberbands(self):
537538

538539
def paintEvent(self, event):
539540
''' Paint Event '''
541+
if not self.surface.isActive():
542+
return
543+
544+
#print("paintEvent : " + str(event.region().boundingRect()))
545+
#print("Active : " + str(self.surface.isActive()))
546+
540547
self.painter = QPainter(self)
541548
self.painter.setRenderHint(QPainter.HighQualityAntialiasing)
542549

0 commit comments

Comments
 (0)