]> git.sesse.net Git - casparcg/blobdiff - modules/ffmpeg/producer/util/util.cpp
git-svn-id: https://casparcg.svn.sourceforge.net/svnroot/casparcg/server/branches...
[casparcg] / modules / ffmpeg / producer / util / util.cpp
index 5b9cd16b432f81fba0b6dae16033e1ccc3f19944..0171d0432b03f8fb607f8b7255c8ae4dcc82a286 100644 (file)
@@ -4,6 +4,7 @@
 \r
 #include "flv.h"\r
 \r
+#include "../tbb_avcodec.h"\r
 #include "../../ffmpeg_error.h"\r
 \r
 #include <tbb/concurrent_unordered_map.h>\r
@@ -361,8 +362,11 @@ safe_ptr<AVCodecContext> open_codec(AVFormatContext& context, enum AVMediaType t
 {      \r
        AVCodec* decoder;\r
        index = THROW_ON_ERROR2(av_find_best_stream(&context, type, -1, -1, &decoder, 0), "");\r
-       THROW_ON_ERROR2(avcodec_open(context.streams[index]->codec, decoder), "");\r
-       return safe_ptr<AVCodecContext>(context.streams[index]->codec, avcodec_close);\r
+       if(strcmp(decoder->name, "prores") == 0 && strcmp(decoder->next->name,"prores_lgpl") == 0)\r
+               decoder = decoder->next;\r
+\r
+       THROW_ON_ERROR2(tbb_avcodec_open(context.streams[index]->codec, decoder), "");\r
+       return safe_ptr<AVCodecContext>(context.streams[index]->codec, tbb_avcodec_close);\r
 }\r
 \r
 safe_ptr<AVFormatContext> open_input(const std::wstring& filename)\r