summaryrefslogtreecommitdiff
path: root/src/lib/player.cc
AgeCommit message (Collapse)Author
2017-04-19Don't emit zero-sample buffers.Carl Hetherington
2017-04-19Fix black fill when first content is not at 0.Carl Hetherington
2017-04-19More fixes to when to pull from the audio merger.Carl Hetherington
2017-04-19Fix pull timing; fix units of ReelWriter::total_written_audio_frames.Carl Hetherington
2017-04-19Fix end-of-DCP padding and some audio bugs.Carl Hetherington
2017-04-19Remove unnecessary VideoFrame class.Carl Hetherington
2017-04-19Add FIXME.Carl Hetherington
2017-04-19Various fixes to push audio vaguely in the right direction.Carl Hetherington
2017-04-19Fix bug in gap-filling; rename _last_video_time -> _last_time.Carl Hetherington
2017-04-19Attempt to tidy up internal APIs slightly.Carl Hetherington
2017-04-19Remove some unused bits.Carl Hetherington
2017-04-19Implement subtitles.Carl Hetherington
2017-04-19Various bits; preview video seems to work.Carl Hetherington
2017-04-19Various work on the audio code.Carl Hetherington
2017-04-19Add a comment.Carl Hetherington
2017-04-19Basic grunt-work, untested and unfinished, but it compiles.Carl Hetherington
2016-12-16Fix referencing of assets with non-zero entry points (#1021).Carl Hetherington
2016-09-21Correctly spot that a DCP with unencrypted picture but encrypted ↵Carl Hetherington
sound/subtitle needs a KDM.
2016-09-21Trim referred-to DCPs correctly using CPL entry point / duration.Carl Hetherington
2016-08-28Update view on changing subtitle fade.Carl Hetherington
2016-08-25Make burnt-in subtitle outline width configurable (#940).Carl Hetherington
2016-08-16Basic support for fading subtitles in and out (#923).Carl Hetherington
2016-08-16Remove unused variable.Carl Hetherington
2016-07-08Support shadow in subtitles (#911).Carl Hetherington
2016-07-02Take y scale into account when deciding subtitle line spacing.Carl Hetherington
2016-07-01Make the preview respond to changes in subtitle line spacing.Carl Hetherington
2016-06-29Fix handling of incorrectly-recognised JPEG2000 files.Carl Hetherington
Previously we asked libdcp whether an imported J2K file was RGB or XYZ. The answer it gives is sometimes wrong, for reasons that are not clear (either the files are not marked correctly, or openjpeg is not parsing whatever metadata correctly). However it seems that, in general, we use the user's specified colour conversion to decide what to do with an image, rather than asking the image what should be done to it. Hence it makes more sense to assume that if a user specifies no colour conversion for a J2K file then the file is XYZ. With preview, the colour conversion from XYZ back to RGB is done by FFmpeg, so we have to set the pixel format correctly on the Image that comes back from J2KImageProxy. Now we get that pixel format from the configured colourspace conversion rather than from openjpeg's guess as to the file's colourspace. It's a bit ugly that the only thing we ask the file about is whether or not it is in YUV (which governs whether or not FFmpeg applies the user's configured YUV-to-RGB conversion). Everything else is decided by the configured conversion. I think there's still some uglyness in here that I can't put my finger on.
2016-06-22Don't bother decoding referenced DCP video if the player will ignore it.Carl Hetherington
2016-06-22Set AudioDecoder::fast a different way.Carl Hetherington
2016-06-21Revert "Use make_shared<>."Carl Hetherington
Support for this seems to vary wildly across DoM's build targets. Stuff that builds on 16.04 won't build on 14.04, for example. Seems to not be worth the hassle now. This reverts commit 5a5324ed3a381a86dfe0a6e3932c1d58fdcd596f.
2016-06-21Use make_shared<>.Carl Hetherington
2016-06-14Clean up of 3D->2D conversion.Carl Hetherington
It makes slightly more sense to discard 2D in the Transcoder rather than the Encoder. Unfortunately this requires quite invasive changes, mainly to remove Encoder::_position and instead derive this information from the PlayerVideo that is being handled. This is also nicer than before, I think. A notable change is that in player.cc; using time rather than content_video_to_dcp(). This means we are assuming that the decoder returns video at the time we ask it to, rather than checking what it has returned. I can't think of a problem with this (yet).
2016-06-14Add VideoFrame class.Carl Hetherington
This puts a frame index with an Eyes, which simplifies code in some areas. I can't think of a better name for it, unfortunately.
2016-06-13Remove caching of old ImageDecoder objects.Carl Hetherington
This breaks things when there is a 3D ImageContent. When you change the video frame type on this content the view does not update because the re-used ImageDecoder recycles the same video without noticing that the frame type has changed. I guess this is sort of `because' the video frame type is used in VideoDecoder::give, which sets up the cache. Unfortunately I can't remember the case which the caching of ImageDecoders was meant to speed up. Maybe this will now become apparent.
2016-05-26Factor out decoder creation to a factory method.Carl Hetherington
2016-05-25No-op; fix GPL address and use the explicit-program-name version.Carl Hetherington
2016-05-25Basics of Atmos content support; can be added to project and appears in ↵Carl Hetherington
timeline.
2016-05-25Add VideoMXFContent (part of #803).Carl Hetherington
2016-05-18Remove Sndfile code and use FFmpeg instead.Carl Hetherington
2016-05-18Fix some incorrect dynamic_pointer_casts.Carl Hetherington
2016-05-18Rename some methods.Carl Hetherington
2016-05-18Basics of splitting up Decoder tree like Content.Carl Hetherington
2016-05-18Move video frame rate ('prepared-for') into Content.Carl Hetherington
2016-05-18Fix Player::overlaps for the new world order.Carl Hetherington
2016-05-18Rename video/audio/subtitle part methods.Carl Hetherington
2016-05-18Split audio; builds.Carl Hetherington
2016-05-18Subtitle rearrangements.Carl Hetherington
2016-05-18Basics of subtitle split.Carl Hetherington
2016-05-18Reasonably straightforward stuff; main things are addingCarl Hetherington
a _parent to VideoContent (mainly, but not only, for signalling) and moving the video shared_ptr into Content, which makes much more sense to replace dynamic_cast tests for whether something has video or whatever. Nearly builds.
2016-05-12Optimise image scaling for the preview.Carl Hetherington