Ok. I was using my own ffmpeg compilation. I'll test it with the one
included in my distro.

  ffmpeg hell is not only the API, but also the forks because of ego wars
 :DD

  In a recent Debian distro I even found that it was lacking some of the
libraries (due to an error, I think). That's the reason I usually end
compiling it myself. Also to tune it because of GPL/LGPL issues and to
easily switch among different versions.

  I'll take a look at it tomorrow and let you know.


  Regards,

On Tue, Jan 6, 2015 at 7:52 PM, Robert Osfield <[email protected]>
wrote:

> Hi Javier,
>
> I have just had a bash at using avresample headers in place of the
> swresample ones in FFmpegHeaders.hpp :
>
> #if 1
> #include <libavresample/avresample.h>
> #else
> #include <libswresample/swresample.h>
> #endif
>
> But now I get the error:
>
>
> [ 93%] Building CXX object
> src/osgPlugins/ffmpeg/CMakeFiles/osgdb_ffmpeg.dir/FFmpegDecoderAudio.o
> In file included from
> /home/robert/OpenSceneGraph/src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp:1:0:
> /home/robert/OpenSceneGraph/src/osgPlugins/ffmpeg/FFmpegDecoderAudio.hpp:86:5:
> error: ‘SwrContext’ does not name a type
>      SwrContext *                        m_swr_context;  // Sw resampling
> context
>      ^
> /home/robert/OpenSceneGraph/src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp:30:26:
> error: ‘SwrContext’ has not been declared
>                           SwrContext *swr_context,
>                           ^
> /home/robert/OpenSceneGraph/src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp:
> In function ‘int osgFFmpeg::decode_audio(AVCodecContext*, int16_t*, int*,
> const uint8_t*, int, int*, int, int, AVSampleFormat)’:
> /home/robert/OpenSceneGraph/src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp:80:82:
> error: ‘swr_convert’ was not declared in this scope
>                          (const uint8_t **)frame->extended_data,
> frame->nb_samples);
>
> ^
> /home/robert/OpenSceneGraph/src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp:
> In constructor
> ‘osgFFmpeg::FFmpegDecoderAudio::FFmpegDecoderAudio(osgFFmpeg::FFmpegDecoderAudio::PacketQueue&,
> osgFFmpeg::FFmpegClocks&)’:
> /home/robert/OpenSceneGraph/src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp:128:5:
> error: class ‘osgFFmpeg::FFmpegDecoderAudio’ does not have any field named
> ‘m_swr_context’
>      m_swr_context(NULL)
>      ^
> /home/robert/OpenSceneGraph/src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp:
> In member function ‘void osgFFmpeg::FFmpegDecoderAudio::open(AVStream*,
> osgFFmpeg::FFmpegParameters*)’:
> /home/robert/OpenSceneGraph/src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp:188:13:
> error: ‘m_swr_context’ was not declared in this scope
>              m_swr_context = swr_alloc_set_opts(NULL,
>              ^
> /home/robert/OpenSceneGraph/src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp:195:29:
> error: ‘swr_alloc_set_opts’ was not declared in this scope
>                      0, NULL );
>                              ^
> /home/robert/OpenSceneGraph/src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp:197:45:
> error: ‘swr_init’ was not declared in this scope
>              int err = swr_init(m_swr_context);
>                                              ^
> /home/robert/OpenSceneGraph/src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp:203:40:
> error: ‘swr_free’ was not declared in this scope
>                  swr_free(&m_swr_context);
>                                         ^
> /home/robert/OpenSceneGraph/src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp:
> In member function ‘void osgFFmpeg::FFmpegDecoderAudio::close(bool)’:
> /home/robert/OpenSceneGraph/src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp:259:15:
> error: ‘m_swr_context’ was not declared in this scope
>      swr_free(&m_swr_context);
>                ^
> /home/robert/OpenSceneGraph/src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp:259:28:
> error: ‘swr_free’ was not declared in this scope
>      swr_free(&m_swr_context);
>                             ^
> /home/robert/OpenSceneGraph/src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp:
> In member function ‘size_t
> osgFFmpeg::FFmpegDecoderAudio::decodeFrame(void*, size_t)’:
> /home/robert/OpenSceneGraph/src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp:443:145:
> error: ‘m_swr_context’ was not declared in this scope
>              const int bytes_decoded = decode_audio(m_context,
> reinterpret_cast<int16_t*>(buffer), &data_size, m_packet_data,
> m_bytes_remaining, m_swr_context, m_out_sample_rate, m_out_nb_channels,
> m_out_sample_format);
>
> ^
> src/osgPlugins/ffmpeg/CMakeFiles/osgdb_ffmpeg.dir/build.make:80: recipe
> for target
> 'src/osgPlugins/ffmpeg/CMakeFiles/osgdb_ffmpeg.dir/FFmpegDecoderAudio.o'
> failed
> make[2]: ***
> [src/osgPlugins/ffmpeg/CMakeFiles/osgdb_ffmpeg.dir/FFmpegDecoderAudio.o]
> Error 1
> CMakeFiles/Makefile2:7070: recipe for target
> 'src/osgPlugins/ffmpeg/CMakeFiles/osgdb_ffmpeg.dir/all' failed
> make[1]: *** [src/osgPlugins/ffmpeg/CMakeFiles/osgdb_ffmpeg.dir/all] Error
> 2
> Makefile:106: recipe for target 'all' failed
> make: *** [all] Error 2
>
>
> It's end of day here in Scotland so I'm going to revert back to svn/trunk
> without any of your submitted changes and wait for feedback from yourself.
> FYI, I'm using Kubuntu 14.10.
>
> Robert.
>
> _______________________________________________
> osg-submissions mailing list
> [email protected]
>
> http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
>
>


-- 
Javier Taibo
_______________________________________________
osg-submissions mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org

Reply via email to