projects
/
dcpomatic.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
More enum class additions.
[dcpomatic.git]
/
src
/
wx
/
video_view.cc
diff --git
a/src/wx/video_view.cc
b/src/wx/video_view.cc
index 7eea4b786fba72917e3f9285997767545e88ea74..3e21e709dd2b5fc1749540ed9c4087d5aeddb20c 100644
(file)
--- a/
src/wx/video_view.cc
+++ b/
src/wx/video_view.cc
@@
-26,17
+26,14
@@
#include <boost/optional.hpp>
using std::pair;
#include <boost/optional.hpp>
using std::pair;
-using
boost
::shared_ptr;
+using
std
::shared_ptr;
using boost::optional;
VideoView::VideoView (FilmViewer* viewer)
: _viewer (viewer)
using boost::optional;
VideoView::VideoView (FilmViewer* viewer)
: _viewer (viewer)
-#ifdef DCPOMATIC_VARIANT_SWAROOP
- , _in_watermark (false)
-#endif
, _state_timer ("viewer")
, _video_frame_rate (0)
, _state_timer ("viewer")
, _video_frame_rate (0)
- , _eyes (E
YES_
LEFT)
+ , _eyes (E
yes::
LEFT)
, _three_d (false)
, _dropped (0)
, _errored (0)
, _three_d (false)
, _dropped (0)
, _errored (0)
@@
-55,18
+52,19
@@
VideoView::clear ()
/** Could be called from any thread.
* @param non_blocking true to return false quickly if no video is available quickly.
/** Could be called from any thread.
* @param non_blocking true to return false quickly if no video is available quickly.
- * @return false if we gave up because it would take too long, otherwise true.
+ * @return FAIL if there's no frame, AGAIN if the method should be called again, or SUCCESS
+ * if there is a frame.
*/
*/
-bool
+VideoView::NextFrameResult
VideoView::get_next_frame (bool non_blocking)
{
if (length() == dcpomatic::DCPTime()) {
VideoView::get_next_frame (bool non_blocking)
{
if (length() == dcpomatic::DCPTime()) {
- return
true
;
+ return
FAIL
;
}
shared_ptr<Butler> butler = _viewer->butler ();
if (!butler) {
}
shared_ptr<Butler> butler = _viewer->butler ();
if (!butler) {
- return
false
;
+ return
FAIL
;
}
add_get ();
}
add_get ();
@@
-78,22
+76,22
@@
VideoView::get_next_frame (bool non_blocking)
if (e.code == Butler::Error::DIED) {
LOG_ERROR ("Butler died with %1", e.summary());
}
if (e.code == Butler::Error::DIED) {
LOG_ERROR ("Butler died with %1", e.summary());
}
- if (!pv.first
&& e.code == Butler::Error::AGAIN
) {
- return
false
;
+ if (!pv.first) {
+ return
e.code == Butler::Error::AGAIN ? AGAIN : FAIL
;
}
_player_video = pv;
} while (
_player_video.first &&
_three_d &&
_eyes != _player_video.first->eyes() &&
}
_player_video = pv;
} while (
_player_video.first &&
_three_d &&
_eyes != _player_video.first->eyes() &&
- _player_video.first->eyes() != E
YES_
BOTH
+ _player_video.first->eyes() != E
yes::
BOTH
);
if (_player_video.first && _player_video.first->error()) {
++_errored;
}
);
if (_player_video.first && _player_video.first->error()) {
++_errored;
}
- return
true
;
+ return
SUCCESS
;
}
dcpomatic::DCPTime
}
dcpomatic::DCPTime
@@
-111,8
+109,8
@@
VideoView::time_until_next_frame () const
return optional<int>();
}
return optional<int>();
}
-
dcpomatic::DCPTime
const next = position() + one_video_frame();
-
dcpomatic::DCPTime
const time = _viewer->audio_time().get_value_or(position());
+
auto
const next = position() + one_video_frame();
+
auto
const time = _viewer->audio_time().get_value_or(position());
if (next < time) {
return 0;
}
if (next < time) {
return 0;
}
@@
-128,14
+126,14
@@
VideoView::start ()
}
bool
}
bool
-VideoView::re
fresh_metadata (shared_ptr<const Film> film, dcp::Size video_container_size, dcp::Size film_frame
_size)
+VideoView::re
set_metadata (shared_ptr<const Film> film, dcp::Size player_video_container
_size)
{
{
-
pair<shared_ptr<PlayerVideo>, dcpomatic::DCPTime>
pv = player_video ();
+
auto
pv = player_video ();
if (!pv.first) {
return false;
}
if (!pv.first) {
return false;
}
- if (!pv.first->reset_metadata
(film, video_container_size, film_frame
_size)) {
+ if (!pv.first->reset_metadata
(film, player_video_container
_size)) {
return false;
}
return false;
}