]> git.sesse.net Git - casparcg/commitdiff
git-svn-id: https://casparcg.svn.sourceforge.net/svnroot/casparcg/server/branches...
authorronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Thu, 1 Dec 2011 16:57:00 +0000 (16:57 +0000)
committerronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Thu, 1 Dec 2011 16:57:00 +0000 (16:57 +0000)
modules/ffmpeg/consumer/ffmpeg_consumer.cpp

index 31cc810a88095b18ac4fea781885ca5f96a81bd9..cee3bb83bcf21e38dbaf14252a8289cfb6fb5f2f 100644 (file)
@@ -78,16 +78,13 @@ struct ffmpeg_consumer : boost::noncopyable
 \r
        // Audio\r
        std::shared_ptr<AVStream>                               audio_st_;\r
-       std::vector<uint8_t>                                    audio_outbuf_;\r
-\r
-       std::vector<int16_t>                                    audio_input_buffer_;\r
-\r
+       \r
        // Video\r
        std::shared_ptr<AVStream>                               video_st_;\r
-       std::vector<uint8_t>                                    video_outbuf_;\r
 \r
+       std::vector<uint8_t>                                    video_outbuf_;\r
        std::vector<uint8_t>                                    picture_buf_;\r
-       std::shared_ptr<SwsContext>                             img_convert_ctx_;\r
+       std::shared_ptr<SwsContext>                             sws_;\r
 \r
        int64_t                                                                 frame_number_;\r
        \r
@@ -95,7 +92,6 @@ public:
        ffmpeg_consumer(const std::string& filename, const core::video_format_desc& format_desc, const std::string& codec, const std::string& options)\r
                : filename_(filename + ".mov")\r
                , video_outbuf_(1920*1080*8)\r
-               , audio_outbuf_(48000)\r
                , oc_(avformat_alloc_context(), av_free)\r
                , format_desc_(format_desc)\r
                , executor_(print())\r
@@ -269,10 +265,10 @@ public:
 \r
        std::shared_ptr<AVFrame> convert_video_frame(const safe_ptr<core::read_frame>& frame, AVCodecContext* c)\r
        {\r
-               if(!img_convert_ctx_) \r
+               if(!sws_) \r
                {\r
-                       img_convert_ctx_.reset(sws_getContext(format_desc_.width, format_desc_.height, PIX_FMT_BGRA, c->width, c->height, c->pix_fmt, SWS_BICUBIC, nullptr, nullptr, nullptr), sws_freeContext);\r
-                       if (img_convert_ctx_ == nullptr) \r
+                       sws_.reset(sws_getContext(format_desc_.width, format_desc_.height, PIX_FMT_BGRA, c->width, c->height, c->pix_fmt, SWS_BICUBIC, nullptr, nullptr, nullptr), sws_freeContext);\r
+                       if (sws_ == nullptr) \r
                                BOOST_THROW_EXCEPTION(caspar_exception() << msg_info("Cannot initialize the conversion context"));\r
                }\r
 \r
@@ -283,7 +279,7 @@ public:
                picture_buf_.resize(avpicture_get_size(c->pix_fmt, format_desc_.width, format_desc_.height));\r
                avpicture_fill(reinterpret_cast<AVPicture*>(local_av_frame.get()), picture_buf_.data(), c->pix_fmt, format_desc_.width, format_desc_.height);\r
 \r
-               sws_scale(img_convert_ctx_.get(), av_frame->data, av_frame->linesize, 0, c->height, local_av_frame->data, local_av_frame->linesize);\r
+               sws_scale(sws_.get(), av_frame->data, av_frame->linesize, 0, c->height, local_av_frame->data, local_av_frame->linesize);\r
 \r
                return local_av_frame;\r
        }\r