]> git.sesse.net Git - pkanalytics/blobdiff - video_widget.cpp
playing is used from multiple threads, so it must be atomic.
[pkanalytics] / video_widget.cpp
index f8db9002b7ba91d2d32cf3ecdd0fcdeaea09e702..a5b45136537552282d1ec8c118f5cd998de51adb 100644 (file)
@@ -139,7 +139,7 @@ bool VideoWidget::process_queued_commands(AVFormatContext *format_ctx, AVCodecCo
                        relative_seek_ms += cmd.relative_seek_ms;
                        relative_seek_frames += cmd.relative_seek_frames;
                } else if (cmd.command == QueuedCommand::SEEK_ABSOLUTE) {
-                       base_pts = cmd.seek_ms;
+                       base_pts = av_rescale_q(cmd.seek_ms, AVRational{ 1, 1000 }, video_timebase);
                        relative_seek_ms = 0;
                        relative_seek_frames = 0;
                }
@@ -497,7 +497,11 @@ void VideoWidget::wheelEvent(QWheelEvent *event)
 
 void VideoWidget::mousePressEvent(QMouseEvent *e)
 {
-       if (e->button() == Qt::LeftButton) {
+       if (e->button() == Qt::BackButton) {
+               emit mouse_back_clicked();
+       } else if (e->button() == Qt::ForwardButton) {
+               emit mouse_forward_clicked();
+       } else if (e->button() == Qt::LeftButton) {
                dragging = true;
                last_drag_x = e->position().x();
                last_drag_y = e->position().y();