Missing stop emission for fully-timed FFmpeg subtitles; should fix #1101.
[dcpomatic.git] / src / lib / reel_writer.cc
index 10d405961ad4af041128e72a9a3e39a6ee57fa0c..4aa5ff3a7260fd4498ff5304c3ed0dd4a6f6c056 100644 (file)
@@ -69,7 +69,6 @@ ReelWriter::ReelWriter (
        , _period (period)
        , _last_written_video_frame (-1)
        , _last_written_eyes (EYES_RIGHT)
-       , _total_written_audio_frames (0)
        , _reel_index (reel_index)
        , _reel_count (reel_count)
        , _content_summary (content_summary)
@@ -493,7 +492,12 @@ ReelWriter::create_reel (list<ReferencedReelAsset> const & refs, list<shared_ptr
        }
 
        if (reel_subtitle_asset) {
-               DCPOMATIC_ASSERT (reel_subtitle_asset->duration() == period_duration);
+               if (reel_subtitle_asset->duration() != period_duration) {
+                       throw ProgrammingError (
+                               __FILE__, __LINE__,
+                               String::compose ("%1 vs %2", reel_subtitle_asset->duration(), period_duration)
+                               );
+               }
                reel->add (reel_subtitle_asset);
        }
 
@@ -526,11 +530,8 @@ ReelWriter::write (shared_ptr<const AudioBuffers> audio)
                return;
        }
 
-       if (audio) {
-               _sound_asset_writer->write (audio->data(), audio->frames());
-       }
-
-       _total_written_audio_frames += audio->frames ();
+       DCPOMATIC_ASSERT (audio);
+       _sound_asset_writer->write (audio->data(), audio->frames());
 }
 
 void