projects
/
dcpomatic.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
-ffast-math seems to cause various bizarre problems on Windows XP 32-bit, so remove it.
[dcpomatic.git]
/
test
/
play_test.cc
diff --git
a/test/play_test.cc
b/test/play_test.cc
index c9486d161dd3cb686d318e0e2f5fe932a6cd2ed7..8ad2180b8adb341ee8c97536e5705c6a825f7a03 100644
(file)
--- a/
test/play_test.cc
+++ b/
test/play_test.cc
@@
-1,5
+1,5
@@
/*
/*
- Copyright (C) 2013 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2013
-2014
Carl Hetherington <cth@carlh.net>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@
-21,6
+21,7
@@
#include "lib/player.h"
#include "lib/ratio.h"
#include "lib/dcp_content_type.h"
#include "lib/player.h"
#include "lib/ratio.h"
#include "lib/dcp_content_type.h"
+#include "lib/player_video_frame.h"
#include "test.h"
/* This test needs stuff in Player that is only included in debug mode */
#include "test.h"
/* This test needs stuff in Player that is only included in debug mode */
@@
-34,7
+35,7
@@
struct Video
{
boost::shared_ptr<Content> content;
boost::shared_ptr<const Image> image;
{
boost::shared_ptr<Content> content;
boost::shared_ptr<const Image> image;
-
DCP
Time time;
+ Time time;
};
class PlayerWrapper
};
class PlayerWrapper
@@
-43,14
+44,14
@@
public:
PlayerWrapper (shared_ptr<Player> p)
: _player (p)
{
PlayerWrapper (shared_ptr<Player> p)
: _player (p)
{
- _player->Video.connect (bind (&PlayerWrapper::process_video, this, _1, _
2, _5
));
+ _player->Video.connect (bind (&PlayerWrapper::process_video, this, _1, _
3
));
}
}
- void process_video (shared_ptr<Player
Image> i, bool, DCP
Time t)
+ void process_video (shared_ptr<Player
VideoFrame> i,
Time t)
{
Video v;
v.content = _player->_last_video;
{
Video v;
v.content = _player->_last_video;
- v.image = i->image ();
+ v.image = i->image (
PIX_FMT_RGB24
);
v.time = t;
_queue.push_front (v);
}
v.time = t;
_queue.push_front (v);
}
@@
-61,13
+62,13
@@
public:
if (_queue.empty ()) {
return optional<Video> ();
}
if (_queue.empty ()) {
return optional<Video> ();
}
-
+
Video v = _queue.back ();
_queue.pop_back ();
return v;
}
Video v = _queue.back ();
_queue.pop_back ();
return v;
}
- void seek (
DCP
Time t, bool ac)
+ void seek (Time t, bool ac)
{
_player->seek (t, ac);
_queue.clear ();
{
_player->seek (t, ac);
_queue.clear ();
@@
-81,7
+82,7
@@
private:
BOOST_AUTO_TEST_CASE (play_test)
{
shared_ptr<Film> film = new_test_film ("play_test");
BOOST_AUTO_TEST_CASE (play_test)
{
shared_ptr<Film> film = new_test_film ("play_test");
- film->set_dcp_content_type (DCPContentType::from_
dci
_name ("FTR"));
+ film->set_dcp_content_type (DCPContentType::from_
isdcf
_name ("FTR"));
film->set_container (Ratio::from_id ("185"));
film->set_name ("play_test");
film->set_container (Ratio::from_id ("185"));
film->set_name ("play_test");
@@
-89,14
+90,14
@@
BOOST_AUTO_TEST_CASE (play_test)
film->examine_and_add_content (A);
wait_for_jobs ();
film->examine_and_add_content (A);
wait_for_jobs ();
- BOOST_CHECK_EQUAL (A->video_length(), 16);
+ BOOST_CHECK_EQUAL (A->video_length
_after_3d_combine
(), 16);
shared_ptr<FFmpegContent> B (new FFmpegContent (film, "test/data/red_30.mp4"));
film->examine_and_add_content (B);
wait_for_jobs ();
shared_ptr<FFmpegContent> B (new FFmpegContent (film, "test/data/red_30.mp4"));
film->examine_and_add_content (B);
wait_for_jobs ();
- BOOST_CHECK_EQUAL (B->video_length(), 16);
-
+ BOOST_CHECK_EQUAL (B->video_length
_after_3d_combine
(), 16);
+
/* Film should have been set to 25fps */
BOOST_CHECK_EQUAL (film->video_frame_rate(), 25);
/* Film should have been set to 25fps */
BOOST_CHECK_EQUAL (film->video_frame_rate(), 25);
@@
-104,7
+105,7
@@
BOOST_AUTO_TEST_CASE (play_test)
/* A is 16 frames long at 25 fps */
BOOST_CHECK_EQUAL (B->position(), 16 * TIME_HZ / 25);
/* A is 16 frames long at 25 fps */
BOOST_CHECK_EQUAL (B->position(), 16 * TIME_HZ / 25);
- shared_ptr<Player> player
= film->make_player (
);
+ shared_ptr<Player> player
(new Player (film)
);
PlayerWrapper wrap (player);
/* Seek and audio don't get on at the moment */
player->disable_audio ();
PlayerWrapper wrap (player);
/* Seek and audio don't get on at the moment */
player->disable_audio ();
@@
-119,7
+120,7
@@
BOOST_AUTO_TEST_CASE (play_test)
}
}
}
}
-
player->
seek (10 * TIME_HZ / 25, true);
+
wrap.
seek (10 * TIME_HZ / 25, true);
optional<Video> v = wrap.get_video ();
BOOST_CHECK (v);
BOOST_CHECK_EQUAL (v.get().time, 10 * TIME_HZ / 25);
optional<Video> v = wrap.get_video ();
BOOST_CHECK (v);
BOOST_CHECK_EQUAL (v.get().time, 10 * TIME_HZ / 25);