projects
/
dcpomatic.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch '2.0' of git.carlh.net:git/dcpomatic into 2.0
[dcpomatic.git]
/
test
/
play_test.cc
diff --git
a/test/play_test.cc
b/test/play_test.cc
index 12f80a282c0e29c0a7254e5f1e2f39ddaf5bf85d..bbf70781a87d4600526428055228fc54809c1c62 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
@@
-17,12
+17,19
@@
*/
*/
-#include "player.h"
+#include <boost/test/unit_test.hpp>
+#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 */
#ifdef DCPOMATIC_DEBUG
/* This test needs stuff in Player that is only included in debug mode */
#ifdef DCPOMATIC_DEBUG
+using std::cout;
using boost::optional;
using boost::optional;
+using boost::shared_ptr;
struct Video
{
struct Video
{
@@
-37,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, _
3));
+ _player->Video.connect (bind (&PlayerWrapper::process_video, this, _1, _3));
}
}
- void process_video (shared_ptr<
const Image> i, bool
, Time t)
+ void process_video (shared_ptr<
PlayerVideoFrame> i
, Time t)
{
Video v;
v.content = _player->_last_video;
{
Video v;
v.content = _player->_last_video;
- v.image = i;
+ v.image = i
->image (PIX_FMT_RGB24)
;
v.time = t;
_queue.push_front (v);
}
v.time = t;
_queue.push_front (v);
}
@@
-75,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");
@@
-83,22
+90,22
@@
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 */
/* Film should have been set to 25fps */
- BOOST_CHECK_EQUAL (film->
dcp_
video_frame_rate(), 25);
+ BOOST_CHECK_EQUAL (film->video_frame_rate(), 25);
- BOOST_CHECK_EQUAL (A->
start
(), 0);
+ BOOST_CHECK_EQUAL (A->
position
(), 0);
/* A is 16 frames long at 25 fps */
/* A is 16 frames long at 25 fps */
- BOOST_CHECK_EQUAL (B->
start
(), 16 * TIME_HZ / 25);
+ BOOST_CHECK_EQUAL (B->
position
(), 16 * TIME_HZ / 25);
- shared_ptr<Player> player = film->player ();
+ shared_ptr<Player> player = film->
make_
player ();
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 ();
@@
-113,10
+120,9
@@
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);
optional<Video> v = wrap.get_video ();
BOOST_CHECK (v);
- cout << (v.get().time * 25 / TIME_HZ) << "\n";
BOOST_CHECK_EQUAL (v.get().time, 10 * TIME_HZ / 25);
}
BOOST_CHECK_EQUAL (v.get().time, 10 * TIME_HZ / 25);
}