From: Arkadiusz Miśkiewicz Date: Sun, 11 Sep 2011 18:23:52 +0000 (+0000) Subject: - rel 7; builds with latest ffmpeg X-Git-Tag: auto/th/FusionSound-1_1_1-7 X-Git-Url: http://git.pld-linux.org/cgi-bin/gitweb.cgi?p=packages%2FFusionSound.git;a=commitdiff_plain;h=7f78b8b00a8c09edac21d9f565435098cfeca35f - rel 7; builds with latest ffmpeg Changed files: FusionSound-ffmpeg.patch -> 1.1 FusionSound.spec -> 1.22 --- diff --git a/FusionSound-ffmpeg.patch b/FusionSound-ffmpeg.patch new file mode 100644 index 0000000..bd6ee27 --- /dev/null +++ b/FusionSound-ffmpeg.patch @@ -0,0 +1,130 @@ +--- fs/interfaces/IFusionSoundMusicProvider/ifusionsoundmusicprovider_ffmpeg.c.orig 2011-06-15 20:01:31.000000000 +0200 ++++ fs/interfaces/IFusionSoundMusicProvider/ifusionsoundmusicprovider_ffmpeg.c 2011-06-15 20:01:45.000000000 +0200 +@@ -64,7 +64,7 @@ + + DirectStream *stream; + +- ByteIOContext pb; ++ AVIOContext pb; + AVFormatContext *ctx; + AVStream *st; + void *iobuf; +diff -Naurp FusionSound-1.1.1-original/configure.in FusionSound-1.1.1/configure.in +--- FusionSound-1.1.1-original/configure.in 2008-02-11 05:31:45.000000000 -0600 ++++ FusionSound-1.1.1/configure.in 2009-04-10 15:18:02.000000000 -0600 +@@ -513,11 +513,11 @@ AC_ARG_WITH(ffmpeg, + + if test "x$with_ffmpeg" = "xyes"; then + AC_MSG_CHECKING([for libavcodec/libavformat]) +- if $PKG_CONFIG libavcodec libavformat; then ++ if $PKG_CONFIG libavcodec libavformat libavutil; then + AC_MSG_RESULT(yes) + ffmpeg="yes" +- FFMPEG_CFLAGS=`$PKG_CONFIG --cflags libavcodec libavformat` +- FFMPEG_LIBS=`$PKG_CONFIG --libs libavcodec libavformat` ++ FFMPEG_CFLAGS=`$PKG_CONFIG --cflags libavcodec libavformat libavutil` ++ FFMPEG_LIBS=`$PKG_CONFIG --libs libavcodec libavformat libavutil` + else + AC_MSG_RESULT(no) + AC_MSG_WARN([ +diff -Naurp FusionSound-1.1.1-original/interfaces/IFusionSoundMusicProvider/ifusionsoundmusicprovider_ffmpeg.c FusionSound-1.1.1/interfaces/IFusionSoundMusicProvider/ifusionsoundmusicprovider_ffmpeg.c +--- FusionSound-1.1.1-original/interfaces/IFusionSoundMusicProvider/ifusionsoundmusicprovider_ffmpeg.c 2008-02-11 05:31:45.000000000 -0600 ++++ FusionSound-1.1.1/interfaces/IFusionSoundMusicProvider/ifusionsoundmusicprovider_ffmpeg.c 2009-04-10 15:18:21.000000000 -0600 +@@ -41,8 +41,8 @@ + + #include + +-#include +-#include ++#include ++#include + + static DFBResult + Probe( IFusionSoundMusicProvider_ProbeContext *ctx ); + +--- FusionSound-1.1.1.org/interfaces/IFusionSoundMusicProvider/ifusionsoundmusicprovider_ffmpeg.c 2011-09-11 20:21:02.521648411 +0200 ++++ FusionSound-1.1.1/interfaces/IFusionSoundMusicProvider/ifusionsoundmusicprovider_ffmpeg.c 2011-09-11 20:20:22.216456936 +0200 +@@ -41,6 +41,7 @@ + + #include + ++#define FF_API_OLD_METADATA2 0 + #include + #include + +@@ -476,17 +477,37 @@ + IFusionSoundMusicProvider_FFmpeg_GetTrackDescription( IFusionSoundMusicProvider *thiz, + FSTrackDescription *desc ) + { ++ AVDictionaryEntry *tag = NULL; ++ + DIRECT_INTERFACE_GET_DATA( IFusionSoundMusicProvider_FFmpeg ) +- ++ + if (!desc) + return DR_INVARG; + +- direct_snputs( desc->artist, data->ctx->author, FS_TRACK_DESC_ARTIST_LENGTH ); +- direct_snputs( desc->title, data->ctx->title, FS_TRACK_DESC_TITLE_LENGTH ); +- direct_snputs( desc->album, data->ctx->album, FS_TRACK_DESC_ALBUM_LENGTH ); +- direct_snputs( desc->genre, data->ctx->genre, FS_TRACK_DESC_GENRE_LENGTH ); +- direct_snputs( desc->encoding, data->codec->codec->name, FS_TRACK_DESC_ENCODING_LENGTH ); +- desc->year = data->ctx->year; ++ tag = av_dict_get(data->ctx->metadata, "artist", NULL, 0); ++ if (tag) ++ direct_snputs( desc->artist, tag->value, FS_TRACK_DESC_ARTIST_LENGTH ); ++ ++ tag = av_dict_get(data->ctx->metadata, "title", NULL, 0); ++ if (tag) ++ direct_snputs( desc->title, tag->value, FS_TRACK_DESC_TITLE_LENGTH ); ++ ++ tag = av_dict_get(data->ctx->metadata, "album", NULL, 0); ++ if (tag) ++ direct_snputs( desc->album, tag->value, FS_TRACK_DESC_ALBUM_LENGTH ); ++ ++ tag = av_dict_get(data->ctx->metadata, "genre", NULL, 0); ++ if (tag) ++ direct_snputs( desc->genre, tag->value, FS_TRACK_DESC_GENRE_LENGTH ); ++ ++ tag = av_dict_get(data->ctx->metadata, "encoding", NULL, 0); ++ if (tag) ++ direct_snputs( desc->encoding, tag->value, FS_TRACK_DESC_ENCODING_LENGTH ); ++ ++ tag = av_dict_get(data->ctx->metadata, "year", NULL, 0); ++ if (tag) ++ desc->year = atoi(tag->value); ++ + desc->bitrate = data->codec->bit_rate; + desc->replaygain = desc->replaygain_album = 0; + +@@ -595,8 +616,8 @@ + } + + len = AVCODEC_MAX_AUDIO_FRAME_SIZE; +- decoded = avcodec_decode_audio2( data->codec, +- (s16*)data->buf, &len, pkt_data, pkt_size ); ++ decoded = avcodec_decode_audio3( data->codec, ++ (s16*)data->buf, &len, &pkt ); + if (decoded < 0) { + av_free_packet( &pkt ); + pkt_size = 0; +@@ -800,8 +821,8 @@ + } + + len = AVCODEC_MAX_AUDIO_FRAME_SIZE; +- decoded = avcodec_decode_audio2( data->codec, +- (s16*)data->buf, &len, pkt_data, pkt_size ); ++ decoded = avcodec_decode_audio3( data->codec, ++ (s16*)data->buf, &len, &pkt ); + if (decoded < 0) { + av_free_packet( &pkt ); + pkt_size = 0; +@@ -1208,7 +1229,7 @@ + } + + for (i = 0; i < data->ctx->nb_streams; i++) { +- if (data->ctx->streams[i]->codec->codec_type == CODEC_TYPE_AUDIO) { ++ if (data->ctx->streams[i]->codec->codec_type == AVMEDIA_TYPE_AUDIO) { + if (!data->st || data->st->codec->bit_rate < data->ctx->streams[i]->codec->bit_rate) + data->st = data->ctx->streams[i]; + } diff --git a/FusionSound.spec b/FusionSound.spec index f7a98c0..6f8fdf6 100644 --- a/FusionSound.spec +++ b/FusionSound.spec @@ -2,7 +2,7 @@ Summary: Audio sub system for multiple applications Summary(pl.UTF-8): Dźwiękowy podsystem dla złożonych aplikacji Name: FusionSound Version: 1.1.1 -Release: 6 +Release: 7 License: LGPL v2+ Group: Libraries Source0: http://www.directfb.org/downloads/Core/%{name}-%{version}.tar.gz @@ -12,6 +12,7 @@ Patch1: %{name}-git.patch Patch2: %{name}-leck.patch Patch3: compile.patch Patch4: %{name}-update.patch +Patch5: %{name}-ffmpeg.patch URL: http://www.directfb.org/index.php?path=Platform/FusionSound BuildRequires: DirectFB-devel >= 1:1.4.0 # for examples @@ -138,6 +139,7 @@ Moduł FusionSound dostarczający muzykę Ogg Vorbis. %patch2 -p1 %patch3 -p1 %patch4 -p1 +%patch5 -p1 %build %{__libtoolize}