Fix confusion about subtitle codec pointers.
[dcpomatic.git] / src / lib / ffmpeg_decoder.cc
index 2041a4d17aa6433d10548473898b8a813a75bdb8..42be8227e95e57ebd0481e5b500566b1fd6cafb4 100644 (file)
@@ -70,8 +70,6 @@ FFmpegDecoder::FFmpegDecoder (shared_ptr<const FFmpegContent> c, shared_ptr<Log>
        , SubtitleDecoder (c)
        , FFmpeg (c)
        , _log (log)
-       , _subtitle_codec_context (0)
-       , _subtitle_codec (0)
 {
        /* Audio and video frame PTS values may not start with 0.  We want
           to fiddle them so that:
@@ -106,15 +104,6 @@ FFmpegDecoder::FFmpegDecoder (shared_ptr<const FFmpegContent> c, shared_ptr<Log>
        }
 }
 
-FFmpegDecoder::~FFmpegDecoder ()
-{
-       boost::mutex::scoped_lock lm (_mutex);
-
-       if (_subtitle_codec_context) {
-               avcodec_close (_subtitle_codec_context);
-       }
-}
-
 void
 FFmpegDecoder::flush ()
 {
@@ -382,8 +371,8 @@ FFmpegDecoder::seek_and_flush (ContentTime t)
        if (audio_codec_context ()) {
                avcodec_flush_buffers (audio_codec_context ());
        }
-       if (_subtitle_codec_context) {
-               avcodec_flush_buffers (_subtitle_codec_context);
+       if (subtitle_codec_context ()) {
+               avcodec_flush_buffers (subtitle_codec_context ());
        }
 }
 
@@ -508,7 +497,7 @@ FFmpegDecoder::decode_subtitle_packet ()
 {
        int got_subtitle;
        AVSubtitle sub;
-       if (avcodec_decode_subtitle2 (_subtitle_codec_context, &sub, &got_subtitle, &_packet) < 0 || !got_subtitle) {
+       if (avcodec_decode_subtitle2 (subtitle_codec_context(), &sub, &got_subtitle, &_packet) < 0 || !got_subtitle) {
                return;
        }