BOOST_FOREACH.
[dcpomatic.git] / src / lib / ffmpeg_decoder.cc
index 41b93dad758b1eb502406bcb1e64dab3aab24401..b050fc594a76f97ab72833c38792f62daf4f100d 100644 (file)
@@ -51,7 +51,6 @@ extern "C" {
 #include <libavcodec/avcodec.h>
 #include <libavformat/avformat.h>
 }
-#include <boost/foreach.hpp>
 #include <boost/algorithm/string.hpp>
 #include <vector>
 #include <iomanip>
@@ -68,11 +67,11 @@ using std::min;
 using std::pair;
 using std::max;
 using std::map;
-using boost::shared_ptr;
+using std::shared_ptr;
 using boost::is_any_of;
 using boost::split;
 using boost::optional;
-using boost::dynamic_pointer_cast;
+using std::dynamic_pointer_cast;
 using dcp::Size;
 using namespace dcpomatic;
 
@@ -134,7 +133,7 @@ FFmpegDecoder::flush ()
                }
        }
 
-       BOOST_FOREACH (shared_ptr<FFmpegAudioStream> i, _ffmpeg_content->ffmpeg_audio_streams ()) {
+       for (auto i: _ffmpeg_content->ffmpeg_audio_streams ()) {
                ContentTime a = audio->stream_position(film(), i);
                /* Unfortunately if a is 0 that really means that we don't know the stream position since
                   there has been no data on it since the last seek.  In this case we'll just do nothing
@@ -145,7 +144,7 @@ FFmpegDecoder::flush ()
                                ContentTime to_do = min (full_length - a, ContentTime::from_seconds (0.1));
                                shared_ptr<AudioBuffers> silence (new AudioBuffers (i->channels(), to_do.frames_ceil (i->frame_rate())));
                                silence->make_silent ();
-                               audio->emit (film(), i, silence, a);
+                               audio->emit (film(), i, silence, a, true);
                                a += to_do;
                        }
                }
@@ -400,7 +399,7 @@ FFmpegDecoder::seek (ContentTime time, bool accurate)
        }
 
 DCPOMATIC_DISABLE_WARNINGS
-       BOOST_FOREACH (shared_ptr<FFmpegAudioStream> i, ffmpeg_content()->ffmpeg_audio_streams()) {
+       for (auto i: ffmpeg_content()->ffmpeg_audio_streams()) {
                avcodec_flush_buffers (i->stream(_format_context)->codec);
        }
 DCPOMATIC_ENABLE_WARNINGS
@@ -411,7 +410,7 @@ DCPOMATIC_ENABLE_WARNINGS
 
        _have_current_subtitle = false;
 
-       BOOST_FOREACH (optional<ContentTime>& i, _next_time) {
+       for (auto& i: _next_time) {
                i = optional<ContentTime>();
        }
 }
@@ -744,7 +743,7 @@ FFmpegDecoder::decode_ass_subtitle (string ass, ContentTime from)
                _ffmpeg_content->video->size().height
                );
 
-       BOOST_FOREACH (sub::Subtitle const & i, sub::collect<list<sub::Subtitle> > (raw)) {
+       for (auto const& i: sub::collect<list<sub::Subtitle> > (raw)) {
                only_text()->emit_plain_start (from, i);
        }
 }