X-Git-Url: https://git.carlh.net/gitweb/?p=dcpomatic.git;a=blobdiff_plain;f=src%2Fwx%2Fvideo_view.cc;h=5f44c37d61779db3cced384221af5fdba9289506;hp=68a15e2e0dfc2663d4a6f14d624278a05315378e;hb=bb949ec65adf95f4a2c7dd5ee7e97b9daaaf3d3f;hpb=39d51cddeeea82e602ab1925430b0dfb5752ac79 diff --git a/src/wx/video_view.cc b/src/wx/video_view.cc index 68a15e2e0..5f44c37d6 100644 --- a/src/wx/video_view.cc +++ b/src/wx/video_view.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2019 Carl Hetherington + Copyright (C) 2019-2021 Carl Hetherington This file is part of DCP-o-matic. @@ -18,6 +18,7 @@ */ + #include "video_view.h" #include "wx_util.h" #include "film_viewer.h" @@ -29,19 +30,15 @@ using std::pair; using std::shared_ptr; using boost::optional; + VideoView::VideoView (FilmViewer* viewer) : _viewer (viewer) , _state_timer ("viewer") - , _video_frame_rate (0) - , _eyes (Eyes::LEFT) - , _three_d (false) - , _dropped (0) - , _errored (0) - , _gets (0) { } + void VideoView::clear () { @@ -50,6 +47,7 @@ VideoView::clear () _player_video.second = dcpomatic::DCPTime (); } + /** Could be called from any thread. * @param non_blocking true to return false quickly if no video is available quickly. * @return FAIL if there's no frame, AGAIN if the method should be called again, or SUCCESS @@ -94,12 +92,14 @@ VideoView::get_next_frame (bool non_blocking) return SUCCESS; } + dcpomatic::DCPTime VideoView::one_video_frame () const { return dcpomatic::DCPTime::from_frames (1, video_frame_rate()); } + /** @return Time in ms until the next frame is due, or empty if nothing is due */ optional VideoView::time_until_next_frame () const @@ -117,6 +117,7 @@ VideoView::time_until_next_frame () const return (next.seconds() - time.seconds()) * 1000; } + void VideoView::start () { @@ -125,6 +126,7 @@ VideoView::start () _errored = 0; } + bool VideoView::reset_metadata (shared_ptr film, dcp::Size player_video_container_size) {