Rename some classes.
Make Transcoder a virtual base.
Various Doxygen fixes.
More fixes to when to pull from the audio merger.
Fix pull timing; fix units of ReelWriter::total_written_audio_frames.
Attempt to tidy up internal APIs slightly.
Basic grunt-work, untested and unfinished, but it compiles.
Add approximate finish time to progress on jobs (#927).
Clean up of 3D->2D conversion. 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).
Replace a shared_ptr with a weak_ptr.
Move transcode progress updating. Do this in the transcoder rather than the writer so that it updates even if video is being referenced.
No-op; fix GPL address and use the explicit-program-name version.
Rename video/audio/subtitle part methods.
Split audio; builds.
Remove unused variable.
Reinstate subtitle speed-up patch 526fd6de4c80a7ac9614a1cb0209efff7b171cd5 but only for preview.
Various multi-reel fixes. * _video_frames_enqueued -> _position * some int -> Frame replacements * Call Writer::ref_write when there is nothing to encode / write for one frame. * Assume Encoder::encode is called once per output video frame. * Possibly correct some off-by-1 overlap bugs. * Don't reset _last_written on FAKE write as I believe there is no need.
Rename split-by-video content slightly; fix referencing to multi-reel DCPs.
Back-end for very basic and hacky VF support for a DCP imported as content.
Don't start thread in constructor. (Writer)