Move ffmpeg_log_callback to util.{cc,h}
authorCarl Hetherington <cth@carlh.net>
Tue, 8 Nov 2022 23:38:23 +0000 (00:38 +0100)
committerCarl Hetherington <cth@carlh.net>
Thu, 22 Dec 2022 23:12:00 +0000 (00:12 +0100)
src/lib/ffmpeg.cc
src/lib/ffmpeg.h
src/lib/util.cc
src/lib/util.h

index 39abfe2b84ce71679cd66af9ac20a7d59a34d199..94409f2364dfdf1aecb8f09631443401575fbcba 100644 (file)
@@ -96,29 +96,13 @@ avio_seek_wrapper (void* data, int64_t offset, int whence)
 }
 
 
-void
-FFmpeg::ffmpeg_log_callback (void* ptr, int level, const char* fmt, va_list vl)
-{
-       if (level > AV_LOG_WARNING) {
-               return;
-       }
-
-       char line[1024];
-       static int prefix = 0;
-       av_log_format_line (ptr, level, fmt, vl, line, sizeof (line), &prefix);
-       string str (line);
-       boost::algorithm::trim (str);
-       dcpomatic_log->log (String::compose ("FFmpeg: %1", str), LogEntry::TYPE_GENERAL);
-}
-
-
 void
 FFmpeg::setup_general ()
 {
        /* This might not work too well in some cases of multiple FFmpeg decoders,
           but it's probably good enough.
        */
-       av_log_set_callback (FFmpeg::ffmpeg_log_callback);
+       av_log_set_callback(ffmpeg_log_callback);
 
        _file_group.set_paths (_ffmpeg_content->paths ());
        _avio_buffer = static_cast<uint8_t*> (wrapped_av_malloc(_avio_buffer_size));
index 25d26e8136ad5a5d5b7cb28ee4012e1a87a8e228..3ed2a6f22f3361ad602ad115b95783b75d006009 100644 (file)
@@ -93,7 +93,6 @@ private:
        void setup_general ();
        void setup_decoders ();
 
-       static void ffmpeg_log_callback (void* ptr, int level, const char* fmt, va_list vl);
        static std::weak_ptr<Log> _ffmpeg_log;
 
        /** AVFrames used for decoding audio streams; accessed with audio_frame() */
index 652b5d83f1ca6f676ad366fb8e992a43cd09ec6f..252259caf3a0828208795ec0baf1921ec5327520 100644 (file)
@@ -1055,3 +1055,19 @@ contains_sign_language(ContentList const& content)
                });
 }
 
+
+void
+ffmpeg_log_callback(void* ptr, int level, const char* fmt, va_list vl)
+{
+       if (level > AV_LOG_WARNING) {
+               return;
+       }
+
+       char line[1024];
+       static int prefix = 0;
+       av_log_format_line(ptr, level, fmt, vl, line, sizeof(line), &prefix);
+       string str(line);
+       boost::algorithm::trim(str);
+       dcpomatic_log->log(String::compose("FFmpeg: %1", str), LogEntry::TYPE_GENERAL);
+}
+
index cb643e69fc83315c971950d9b311f3fd8612ec32..54ad52ccb9da0d1f91cd2116e6106beecd9deb46 100644 (file)
@@ -98,6 +98,7 @@ extern void capture_asdcp_logs ();
 extern std::string error_details(boost::system::error_code ec);
 extern bool contains_assetmap(boost::filesystem::path dir);
 extern bool contains_sign_language(ContentList const& content);
+extern void ffmpeg_log_callback(void* ptr, int level, const char* fmt, va_list vl);
 
 
 template <class T>