X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Ftools%2Fdcpomatic_player.cc;h=db9463fe23b97b360a2fcebaa8a0b25579900ad7;hb=f1f1a0dab1329e75a9718a417d640966763b9e7d;hp=8096e1bb474c6ff819a259844e809e8f5b421b89;hpb=70a87e2b99184230c2329582dc70d2fa93ebe4f5;p=dcpomatic.git diff --git a/src/tools/dcpomatic_player.cc b/src/tools/dcpomatic_player.cc index 8096e1bb4..db9463fe2 100644 --- a/src/tools/dcpomatic_player.cc +++ b/src/tools/dcpomatic_player.cc @@ -48,6 +48,7 @@ #include "lib/dcpomatic_socket.h" #include "lib/scoped_temporary.h" #include "lib/monitor_checker.h" +#include "lib/ffmpeg_content.h" #include #include #include @@ -299,26 +300,42 @@ public: return; } - shared_ptr dcp = boost::dynamic_pointer_cast(_film->content().front()); - DCPOMATIC_ASSERT (dcp); - DCPExaminer ex (dcp); - shared_ptr playing_cpl; - BOOST_FOREACH (shared_ptr i, ex.cpls()) { - if (!dcp->cpl() || i->id() == *dcp->cpl()) { - playing_cpl = i; + FILE* f = fopen_boost(*log, "a"); + + /* XXX: this only logs the first piece of content; probably should be each piece? */ + + shared_ptr dcp = dynamic_pointer_cast(_film->content().front()); + if (dcp) { + DCPExaminer ex (dcp); + shared_ptr playing_cpl; + BOOST_FOREACH (shared_ptr i, ex.cpls()) { + if (!dcp->cpl() || i->id() == *dcp->cpl()) { + playing_cpl = i; + } } + DCPOMATIC_ASSERT (playing_cpl); + + fprintf ( + f, + "%s playback-started %s %s %s\n", + dcp::LocalTime().as_string().c_str(), + time.timecode(_film->video_frame_rate()).c_str(), + dcp->directories().front().string().c_str(), + playing_cpl->annotation_text().c_str() + ); + } + + shared_ptr ffmpeg = dynamic_pointer_cast(_film->content().front()); + if (ffmpeg) { + fprintf ( + f, + "%s playback-started %s %s\n", + dcp::LocalTime().as_string().c_str(), + time.timecode(_film->video_frame_rate()).c_str(), + ffmpeg->path(0).string().c_str() + ); } - DCPOMATIC_ASSERT (playing_cpl) - FILE* f = fopen_boost(*log, "a"); - fprintf ( - f, - "%s playback-started %s %s %s\n", - dcp::LocalTime().as_string().c_str(), - time.timecode(_film->video_frame_rate()).c_str(), - dcp->directories().front().string().c_str(), - playing_cpl->annotation_text().c_str() - ); fclose (f); }