From 562f84668f54edfe7ddec39ea9bcce6c159516fc Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Sat, 11 Apr 2009 06:16:37 +0000 Subject: [PATCH] From Jean Sebastien Guay, added error reporting handling of wider range of video formats. --- src/osgPlugins/ffmpeg/FFmpegDecoder.cpp | 32 ++++++++++++++++---- src/osgPlugins/ffmpeg/FFmpegHeaders.hpp | 3 ++ src/osgPlugins/ffmpeg/ReaderWriterFFmpeg.cpp | 22 +++++++++----- 3 files changed, 43 insertions(+), 14 deletions(-) diff --git a/src/osgPlugins/ffmpeg/FFmpegDecoder.cpp b/src/osgPlugins/ffmpeg/FFmpegDecoder.cpp index c9174b767..0fd32b73e 100644 --- a/src/osgPlugins/ffmpeg/FFmpegDecoder.cpp +++ b/src/osgPlugins/ffmpeg/FFmpegDecoder.cpp @@ -2,12 +2,13 @@ #include "FFmpegDecoder.hpp" #include +#include #include #include #include #include - +#include namespace osgFFmpeg { @@ -64,19 +65,38 @@ bool FFmpegDecoder::open(const std::string & filename) formatParams.time_base.num = 1; formatParams.time_base.den = 30; - iformat = av_find_input_format("video4linux2"); + std::string format = "video4linux2"; + iformat = av_find_input_format(format.c_str()); if (iformat) { - osg::notify(osg::NOTICE)<<"Found input format"< // for error codes defined in avformat.h +#endif #include #include #include diff --git a/src/osgPlugins/ffmpeg/ReaderWriterFFmpeg.cpp b/src/osgPlugins/ffmpeg/ReaderWriterFFmpeg.cpp index 36f0e1381..c507fe10f 100644 --- a/src/osgPlugins/ffmpeg/ReaderWriterFFmpeg.cpp +++ b/src/osgPlugins/ffmpeg/ReaderWriterFFmpeg.cpp @@ -29,16 +29,22 @@ public: ReaderWriterFFmpeg() { supportsProtocol("http","Read video/audio from http using ffmpeg."); + supportsProtocol("rtsp","Read video/audio from rtsp using ffmpeg."); supportsExtension("ffmpeg", ""); - supportsExtension("avi", ""); - supportsExtension("flv", ""); - supportsExtension("mov", ""); - supportsExtension("ogg", "Theora movie format"); - supportsExtension("mpg", "Mpeg movie format"); - supportsExtension("mpv", "Mpeg movie format"); - supportsExtension("wmv", "Windows Media Video format"); - supportsExtension("mkv", "Matroska"); + supportsExtension("avi", ""); + supportsExtension("flv", "Flash video"); + supportsExtension("mov", "Quicktime"); + supportsExtension("ogg", "Theora movie format"); + supportsExtension("mpg", "Mpeg movie format"); + supportsExtension("mpv", "Mpeg movie format"); + supportsExtension("wmv", "Windows Media Video format"); + supportsExtension("mkv", "Matroska"); + supportsExtension("mjpeg", "Motion JPEG"); + supportsExtension("mp4", "MPEG-4"); + supportsExtension("sav", "MPEG-4"); + supportsExtension("3gp", "MPEG-4"); + supportsExtension("sdp", "MPEG-4"); // Register all FFmpeg formats/codecs av_register_all();