Fix crash.
authorCarl Hetherington <cth@carlh.net>
Tue, 10 May 2016 13:42:49 +0000 (14:42 +0100)
committerCarl Hetherington <cth@carlh.net>
Wed, 18 May 2016 10:50:29 +0000 (11:50 +0100)
src/lib/audio_decoder.cc
src/lib/audio_decoder_stream.cc
src/lib/audio_decoder_stream.h

index 404c85466bd036dbf0224f01fcdbf96fafedcddb..6e0d3a25f21491247350da8135ca9090e5c56ec3 100644 (file)
@@ -35,7 +35,7 @@ AudioDecoder::AudioDecoder (Decoder* parent, shared_ptr<const AudioContent> cont
        , _fast (fast)
 {
        BOOST_FOREACH (AudioStreamPtr i, content->streams ()) {
-               _streams[i] = shared_ptr<AudioDecoderStream> (new AudioDecoderStream (content, i, parent, log));
+               _streams[i] = shared_ptr<AudioDecoderStream> (new AudioDecoderStream (content, i, parent, fast, log));
        }
 }
 
index bbe26b6eff86cc75057f7e5595eb775e495d61bc..121e233afe8d50e16133ade8337da407fb28ba66 100644 (file)
@@ -39,14 +39,14 @@ using std::max;
 using boost::optional;
 using boost::shared_ptr;
 
-AudioDecoderStream::AudioDecoderStream (shared_ptr<const AudioContent> content, AudioStreamPtr stream, Decoder* decoder, shared_ptr<Log> log)
+AudioDecoderStream::AudioDecoderStream (shared_ptr<const AudioContent> content, AudioStreamPtr stream, Decoder* decoder, bool fast, shared_ptr<Log> log)
        : _content (content)
        , _stream (stream)
        , _decoder (decoder)
        , _log (log)
 {
        if (content->resampled_frame_rate() != _stream->frame_rate() && _stream->channels() > 0) {
-               _resampler.reset (new Resampler (_stream->frame_rate(), content->resampled_frame_rate(), _stream->channels (), decoder->audio->fast ()));
+               _resampler.reset (new Resampler (_stream->frame_rate(), content->resampled_frame_rate(), _stream->channels (), fast));
        }
 
        reset_decoded ();
index 265bbe0044f36479569e59e626b547206acd91e8..f7ff5fc9652bf75495381c065e02e90d9606d0e8 100644 (file)
@@ -34,7 +34,7 @@ class Decoder;
 class AudioDecoderStream
 {
 public:
-       AudioDecoderStream (boost::shared_ptr<const AudioContent>, AudioStreamPtr, Decoder* decoder, boost::shared_ptr<Log> log);
+       AudioDecoderStream (boost::shared_ptr<const AudioContent>, AudioStreamPtr, Decoder* decoder, bool fast, boost::shared_ptr<Log> log);
 
        ContentAudio get (Frame time, Frame length, bool accurate);
        void audio (boost::shared_ptr<const AudioBuffers>, ContentTime);