#include "FFmpegParameters.hpp" #include #include #include #if LIBAVCODEC_VERSION_MAJOR >= 53 extern "C" { #include } #define av_parse_video_frame_size av_parse_video_size #define av_parse_video_frame_rate av_parse_video_rate #endif #if LIBAVCODEC_VERSION_MAJOR >= 53 || \ (LIBAVCODEC_VERSION_MAJOR==52 && LIBAVCODEC_VERSION_MINOR>=49) extern "C" { #include } inline PixelFormat osg_av_get_pix_fmt(const char *name) { return av_get_pix_fmt(name); } #else inline PixelFormat osg_av_get_pix_fmt(const char *name) { return avcodec_get_pix_fmt(name); } #endif namespace osgFFmpeg { FFmpegParameters::FFmpegParameters() : m_format(0) { memset(&m_parameters, 0, sizeof(m_parameters)); } FFmpegParameters::~FFmpegParameters() {} void FFmpegParameters::parse(const std::string& name, const std::string& value) { if (value.empty()) { return; } else if (name == "format") { avdevice_register_all(); m_format = av_find_input_format(value.c_str()); if (!m_format) OSG_NOTICE<<"Failed to apply input video format: "<> audio_sample_rate; m_parameters.sample_rate = audio_sample_rate; } } } // namespace osgFFmpeg