Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:rikj
libmediascan
_service:download_src_package:libmediascan-0.1-...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:download_src_package:libmediascan-0.1-new-ffmpeg.patch of Package libmediascan
Fix building with new ffmpeg versions New ffmpeg versions no longer allow registering some url handlers, instead av_register_all() must be used. diff -up libmediascan-0.1/src/mediascan.c~ libmediascan-0.1/src/mediascan.c --- libmediascan-0.1/src/mediascan.c~ 2011-11-21 14:45:04.000000000 +0100 +++ libmediascan-0.1/src/mediascan.c 2014-08-08 16:30:00.851518447 +0200 @@ -92,116 +92,6 @@ static const char *VideoExts = static const char *ImageExts = ",jpg,png,gif,bmp,jpeg,jpe,"; static const char *LnkExts = ",lnk,"; -#define REGISTER_DECODER(X,x) { \ - extern AVCodec ff_##x##_decoder; \ - avcodec_register(&ff_##x##_decoder); } - -#define REGISTER_PARSER(X,x) { \ - extern AVCodecParser ff_##x##_parser; \ - av_register_codec_parser(&ff_##x##_parser); } - -///------------------------------------------------------------------------------------------------- -/// Register codecs to be used with ffmpeg. -/// -/// @author Andy Grundman -/// @date 03/15/2011 -/// -/// ### remarks . -///------------------------------------------------------------------------------------------------- - -static void register_codecs(void) { - // Video codecs - REGISTER_DECODER(H263, h263); - REGISTER_DECODER(H264, h264); - REGISTER_DECODER(MPEG1VIDEO, mpeg1video); - REGISTER_DECODER(MPEG2VIDEO, mpeg2video); - REGISTER_DECODER(MPEG4, mpeg4); - REGISTER_DECODER(MSMPEG4V1, msmpeg4v1); - REGISTER_DECODER(MSMPEG4V2, msmpeg4v2); - REGISTER_DECODER(MSMPEG4V3, msmpeg4v3); - REGISTER_DECODER(VP6, vp6); - REGISTER_DECODER(VP6F, vp6f); - REGISTER_DECODER(VP8, vp8); - REGISTER_DECODER(WMV1, wmv1); - REGISTER_DECODER(WMV2, wmv2); - REGISTER_DECODER(WMV3, wmv3); - REGISTER_DECODER(MJPEG, mjpeg); - REGISTER_DECODER(MJPEGB, mjpegb); - REGISTER_DECODER(VC1, vc1); - REGISTER_DECODER(FLV, flv); - - - // Audio codecs, needed to get details of audio tracks in videos - REGISTER_DECODER(AAC, aac); - REGISTER_DECODER(AC3, ac3); - REGISTER_DECODER(DCA, dca); // DTS - REGISTER_DECODER(MP2, mp2); - REGISTER_DECODER(MP3, mp3); - REGISTER_DECODER(VORBIS, vorbis); - REGISTER_DECODER(WMAPRO, wmapro); - REGISTER_DECODER(WMAV1, wmav1); - REGISTER_DECODER(WMAV2, wmav2); - REGISTER_DECODER(WMAVOICE, wmavoice); - - // Not sure which PCM codecs we need - REGISTER_DECODER(PCM_DVD, pcm_dvd); - REGISTER_DECODER(PCM_S16BE, pcm_s16be); - REGISTER_DECODER(PCM_S16LE, pcm_s16le); - REGISTER_DECODER(PCM_S24BE, pcm_s24be); - REGISTER_DECODER(PCM_S24LE, pcm_s24le); - - // Subtitles - REGISTER_DECODER(ASS, ass); - REGISTER_DECODER(DVBSUB, dvbsub); - REGISTER_DECODER(DVDSUB, dvdsub); - REGISTER_DECODER(PGSSUB, pgssub); - REGISTER_DECODER(XSUB, xsub); - - // Parsers - REGISTER_PARSER(AAC, aac); - REGISTER_PARSER(AC3, ac3); - REGISTER_PARSER(DCA, dca); // DTS - REGISTER_PARSER(H263, h263); - REGISTER_PARSER(H264, h264); - REGISTER_PARSER(MPEG4VIDEO, mpeg4video); - REGISTER_PARSER(MPEGAUDIO, mpegaudio); - REGISTER_PARSER(MPEGVIDEO, mpegvideo); - REGISTER_PARSER(MJPEG, mjpeg); - REGISTER_PARSER(VC1, vc1); -} /* register_codecs() */ - -#define REGISTER_DEMUXER(X,x) { \ - extern AVInputFormat ff_##x##_demuxer; \ - av_register_input_format(&ff_##x##_demuxer); } -#define REGISTER_PROTOCOL(X,x) { \ - extern URLProtocol ff_##x##_protocol; \ - av_register_protocol2(&ff_##x##_protocol, sizeof(ff_##x##_protocol)); } - -///------------------------------------------------------------------------------------------------- -/// Registers the formats for FFmpeg. -/// -/// @author Andy Grundman -/// @date 03/15/2011 -/// -/// ### remarks . -///------------------------------------------------------------------------------------------------- - -static void register_formats(void) { - // demuxers - REGISTER_DEMUXER(ASF, asf); - REGISTER_DEMUXER(AVI, avi); - REGISTER_DEMUXER(FLV, flv); - REGISTER_DEMUXER(H264, h264); - REGISTER_DEMUXER(MATROSKA, matroska); - REGISTER_DEMUXER(MOV, mov); - REGISTER_DEMUXER(MPEGPS, mpegps); // VOB files - REGISTER_DEMUXER(MPEGTS, mpegts); - REGISTER_DEMUXER(MPEGVIDEO, mpegvideo); - - // protocols - REGISTER_PROTOCOL(FILE, file); -} /* register_formats() */ - ///------------------------------------------------------------------------------------------------- /// Initialises ffmpeg. /// @@ -219,8 +109,7 @@ static void _init(void) { if (Initialized) return; - register_codecs(); - register_formats(); + av_register_all(); #ifdef WIN32 pthread_win32_process_attach_np(); pthread_win32_thread_attach_np(); diff -up libmediascan-0.1/src/video.c~ libmediascan-0.1/src/video.c --- libmediascan-0.1/src/video.c~ 2011-11-21 00:37:19.000000000 +0100 +++ libmediascan-0.1/src/video.c 2014-08-08 17:55:54.770691566 +0200 @@ -64,7 +64,7 @@ MediaScanImage *video_create_image_from_ int no_keyframe_found = 0; int skipped_frames = 0; - if ((avcodec_open(codecs->vc, codec)) < 0) { + if ((avcodec_open2(codecs->vc, codec, NULL)) < 0) { LOG_ERROR("Couldn't open video codec %s for thumbnail creation\n", codec->name); goto err; }
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor