#include "content_video.h"
#include "player_video_frame.h"
+#define LOG_GENERAL(...) _film->log()->log (String::compose (__VA_ARGS__), Log::TYPE_GENERAL);
+
using std::list;
using std::cout;
using std::min;
}
}
+/** @param already_resampled true if this data has already been through the chain up to the resampler */
void
Player::playlist_changed ()
{
{
return shared_ptr<PlayerVideoFrame> (
new PlayerVideoFrame (
- shared_ptr<const ImageProxy> (new RawImageProxy (_black_image)),
+ shared_ptr<const ImageProxy> (new RawImageProxy (_black_image, _film->log ())),
Crop (),
_video_container_size,
_video_container_size,
ContentTime const from = dcp_to_content_subtitle (*i, time);
ContentTime const to = from + ContentTime::from_frames (1, content->video_frame_rate ());
- list<shared_ptr<ContentImageSubtitle> > image_subtitles = subtitle_decoder->get_image_subtitles (from, to);
+ list<shared_ptr<ContentImageSubtitle> > image_subtitles = subtitle_decoder->get_image_subtitles (ContentTimePeriod (from, to));
if (!image_subtitles.empty ()) {
list<PositionImage> im = process_content_image_subtitles (
subtitle_content,
}
if (_burn_subtitles) {
- list<shared_ptr<ContentTextSubtitle> > text_subtitles = subtitle_decoder->get_text_subtitles (from, to);
+ list<shared_ptr<ContentTextSubtitle> > text_subtitles = subtitle_decoder->get_text_subtitles (ContentTimePeriod (from, to));
if (!text_subtitles.empty ()) {
list<PositionImage> im = process_content_text_subtitles (text_subtitles);
copy (im.begin(), im.end(), back_inserter (sub_images));
min (AudioFrame (all->audio->frames()), length_frames) - offset.frames (_film->audio_frame_rate ())
);
}
-
- return audio;
}
VideoFrame
s = DCPTime (max (int64_t (0), s.get ()));
s = DCPTime (min (piece->content->length_after_trim().get(), s.get()));
- return ContentTime (s, piece->frc);
+ return ContentTime (s + piece->content->trim_start(), piece->frc);
}
void
PlayerStatistics::dump (shared_ptr<Log> log) const
{
- log->log (String::compose ("Video: %1 good %2 skipped %3 black %4 repeat", video.good, video.skip, video.black, video.repeat));
- log->log (String::compose ("Audio: %1 good %2 skipped %3 silence", audio.good, audio.skip, audio.silence.seconds()));
+ log->log (String::compose ("Video: %1 good %2 skipped %3 black %4 repeat", video.good, video.skip, video.black, video.repeat), Log::TYPE_GENERAL);
+ log->log (String::compose ("Audio: %1 good %2 skipped %3 silence", audio.good, audio.skip, audio.silence.seconds()), Log::TYPE_GENERAL);
}
PlayerStatistics const &