* [meta-baryon][PATCH 2/4] mediatomb: add support for building against libav
2013-09-23 13:06 [meta-baryon][PATCH 0/4] Build fixes for master Paul Eggleton
2013-09-23 13:07 ` [meta-baryon][PATCH 1/4] linux-yocto: remove version 3.2 bbappend Paul Eggleton
@ 2013-09-23 13:07 ` Paul Eggleton
2013-09-23 13:07 ` [meta-baryon][PATCH 3/4] ffmpeg: remove Paul Eggleton
2013-09-23 13:07 ` [meta-baryon][PATCH 4/4] samba: fix QA error due to volatiles presence Paul Eggleton
3 siblings, 0 replies; 5+ messages in thread
From: Paul Eggleton @ 2013-09-23 13:07 UTC (permalink / raw)
To: yocto
Add a Debian patch to support building mediatomb against libav.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
.../mediatomb/files/libav_0.7_support.patch | 70 ++++++++++++++++++++++
recipes-multimedia/mediatomb/mediatomb_0.12.1.bb | 3 +-
2 files changed, 72 insertions(+), 1 deletion(-)
create mode 100644 recipes-multimedia/mediatomb/files/libav_0.7_support.patch
diff --git a/recipes-multimedia/mediatomb/files/libav_0.7_support.patch b/recipes-multimedia/mediatomb/files/libav_0.7_support.patch
new file mode 100644
index 0000000..59c0935
--- /dev/null
+++ b/recipes-multimedia/mediatomb/files/libav_0.7_support.patch
@@ -0,0 +1,70 @@
+Fix mediatomb to build against libav 0.7+
+
+Patch originally from Debian.
+
+Upstream-Status: Pending
+
+=== modified file 'src/metadata/ffmpeg_handler.cc'
+--- old/src/metadata/ffmpeg_handler.cc 2010-08-25 17:07:03 +0000
++++ new/src/metadata/ffmpeg_handler.cc 2011-05-19 04:33:32 +0000
+@@ -89,6 +89,33 @@
+
+ Ref<StringConverter> sc = StringConverter::m2i();
+
++ /* Tabs are 4 characters here */
++ typedef struct {const char *avname; metadata_fields_t field;} mapping_t;
++ static const mapping_t mapping[] =
++ {
++ {"title", M_TITLE},
++ {"artist", M_ARTIST},
++ {"album", M_ALBUM},
++ {"date", M_DATE},
++ {"genre", M_GENRE},
++ {"comment", M_DESCRIPTION},
++ {"track", M_TRACKNUMBER},
++ {NULL, M_MAX},
++ };
++
++ if (!pFormatCtx->metadata)
++ return;
++ for (const mapping_t *m = mapping; m->avname != NULL; m++)
++ {
++ AVMetadataTag *tag = NULL;
++ tag = av_metadata_get(pFormatCtx->metadata, m->avname, NULL, 0);
++ if (tag && tag->value && tag->value[0])
++ {
++ log_debug("Added metadata %s: %s\n", m->avname, tag->value);
++ item->setMetadata(MT_KEYS[m->field].upnp, sc->convert(tag->value));
++ }
++ }
++ /* Old algorithm (doesn't work with libav >= 0.7)
+ if (strlen(pFormatCtx->title) > 0)
+ {
+ log_debug("Added metadata title: %s\n", pFormatCtx->title);
+@@ -131,6 +158,7 @@
+ item->setMetadata(MT_KEYS[M_TRACKNUMBER].upnp,
+ sc->convert(String::from(pFormatCtx->track)));
+ }
++ */
+ }
+
+ // ffmpeg library calls
+@@ -178,7 +206,7 @@
+ for(i=0; i<pFormatCtx->nb_streams; i++)
+ {
+ AVStream *st = pFormatCtx->streams[i];
+- if((st != NULL) && (videoset == false) && (st->codec->codec_type == CODEC_TYPE_VIDEO))
++ if((st != NULL) && (videoset == false) && (st->codec->codec_type == AVMEDIA_TYPE_VIDEO))
+ {
+ if (st->codec->codec_tag > 0)
+ {
+@@ -209,7 +237,7 @@
+ *y = st->codec->height;
+ }
+ }
+- if(st->codec->codec_type == CODEC_TYPE_AUDIO)
++ if(st->codec->codec_type == AVMEDIA_TYPE_AUDIO)
+ {
+ // Increase number of audiochannels
+ audioch++;
+
diff --git a/recipes-multimedia/mediatomb/mediatomb_0.12.1.bb b/recipes-multimedia/mediatomb/mediatomb_0.12.1.bb
index 04191e2..4bd9917 100644
--- a/recipes-multimedia/mediatomb/mediatomb_0.12.1.bb
+++ b/recipes-multimedia/mediatomb/mediatomb_0.12.1.bb
@@ -3,12 +3,13 @@ HOMEPAGE = "http://mediatomb.cc/"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=0b609ee7722218aa600220f779cb5035 \
file://src/main.cc;beginline=14;endline=25;md5=ba9c4cf20a63e18b1626c4c9d794635a"
-DEPENDS = "expat ffmpeg sqlite3 libexif js zlib file taglib ffmpegthumbnailer curl"
+DEPENDS = "expat libav sqlite3 libexif js zlib file taglib ffmpegthumbnailer curl"
PR = "r4"
SRC_URI = "${SOURCEFORGE_MIRROR}/mediatomb/mediatomb-${PV}.tar.gz \
file://youtube_warning.patch \
file://size_t_header.patch \
+ file://libav_0.7_support.patch \
file://init \
file://default \
file://config.xml \
--
1.8.1.2
^ permalink raw reply related [flat|nested] 5+ messages in thread* [meta-baryon][PATCH 3/4] ffmpeg: remove
2013-09-23 13:06 [meta-baryon][PATCH 0/4] Build fixes for master Paul Eggleton
2013-09-23 13:07 ` [meta-baryon][PATCH 1/4] linux-yocto: remove version 3.2 bbappend Paul Eggleton
2013-09-23 13:07 ` [meta-baryon][PATCH 2/4] mediatomb: add support for building against libav Paul Eggleton
@ 2013-09-23 13:07 ` Paul Eggleton
2013-09-23 13:07 ` [meta-baryon][PATCH 4/4] samba: fix QA error due to volatiles presence Paul Eggleton
3 siblings, 0 replies; 5+ messages in thread
From: Paul Eggleton @ 2013-09-23 13:07 UTC (permalink / raw)
To: yocto
We now use libav provided as part of OE-Core instead.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
recipes-multimedia/ffmpeg/ffmpeg.inc | 114 ------------------------------
recipes-multimedia/ffmpeg/ffmpeg_0.6.1.bb | 44 ------------
2 files changed, 158 deletions(-)
delete mode 100644 recipes-multimedia/ffmpeg/ffmpeg.inc
delete mode 100644 recipes-multimedia/ffmpeg/ffmpeg_0.6.1.bb
diff --git a/recipes-multimedia/ffmpeg/ffmpeg.inc b/recipes-multimedia/ffmpeg/ffmpeg.inc
deleted file mode 100644
index 578963c..0000000
--- a/recipes-multimedia/ffmpeg/ffmpeg.inc
+++ /dev/null
@@ -1,114 +0,0 @@
-DESCRIPTION = "FFmpeg is a complete solution to record, convert and stream audio and video"
-HOMEPAGE = "http://ffmpeg.mplayerhq.hu/"
-AUTHOR = "Fabrice Bellard ffmpeg-devel@mplayerhq.hu"
-SECTION = "libs"
-LICENSE = "GPLv2+ & LGPLv2.1+"
-
-LICENSE_FLAGS = "commercial"
-
-ARM_INSTRUCTION_SET = "arm"
-
-PE = "2"
-
-DEPENDS = "zlib libogg libvorbis libtheora faac faad2 ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'lame liba52', d)}"
-RSUGGESTS_${PN} = "mplayer"
-
-INC_PR = "r17"
-
-inherit autotools pkgconfig
-
-LEAD_SONAME = "libavcodec.so"
-
-EXTRA_OECONF = "\
- \
- --enable-pp \
- --enable-shared \
- --enable-pthreads \
- --enable-gpl \
- \
- --cross-prefix=${TARGET_PREFIX} \
- --disable-debug \
- --disable-ffserver \
- --disable-ffplay \
- \
-"
-
-EXTRA_OECONF_append_powerpc += "--${@['disable-altivec','enable-altivec'][bb.data.getVar('BASE_PACKAGE_ARCH',d,1) in ['ppce600']]}"
-
-FFMPEG_LIBS = "libavcodec libavdevice libavformat \
- libavutil libpostproc libswscale libavfilter"
-
-SYSROOT_PREPROCESS_FUNCS = " \
- ffmpeg_stage_cleanup \
- ffmpeg_create_compat_links"
-
-ffmpeg_create_compat_links() {
- rm -rf ${SYSROOT_DESTDIR}${includedir}/ffmpeg
- mkdir -m 0755 ${SYSROOT_DESTDIR}${includedir}/ffmpeg
- cd ${SYSROOT_DESTDIR}${includedir}/ffmpeg
-
- for lib in ${FFMPEG_LIBS}; do
- ln -s ../$lib/*.h '.' || true
- done
-}
-
-ffmpeg_stage_cleanup() {
- rm -rf ${SYSROOT_DESTDIR}${libdir}/vhook \
- ${SYSROOT_DESTDIR}${datadir}
-}
-
-
-PACKAGES += "${PN}-vhook-dbg ${PN}-vhook"
-
-FILES_${PN} = "${bindir}"
-FILES_${PN}-dev = "${includedir}/${PN}"
-
-FILES_${PN}-vhook = "${libdir}/vhook"
-FILES_${PN}-vhook-dbg += "${libdir}/vhook/.debug"
-
-
-PACKAGES += "ffmpeg-x264-presets \
- libavcodec libavcodec-dev libavcodec-dbg \
- libavdevice libavdevice-dev libavdevice-dbg \
- libavformat libavformat-dev libavformat-dbg \
- libavutil libavutil-dev libavutil-dbg \
- libpostproc libpostproc-dev libpostproc-dbg \
- libswscale libswscale-dev libswscale-dbg \
- libavfilter libavfilter-dev libavfilter-dbg \
- libavcore libavcore-dev libavcore-dbg \
- "
-
-FILES_ffmpeg-x264-presets = "${datadir}/*.ffpreset"
-
-FILES_${PN}-dev = "${includedir}"
-FILES_libavcodec = "${libdir}/libavcodec*.so.*"
-FILES_libavcodec-dev = "${libdir}/libavcodec*.so ${libdir}/pkgconfig/libavcodec.pc ${libdir}/libavcodec*.a"
-FILES_libavcodec-dbg += "${libdir}/.debug/libavcodec*"
-
-FILES_libavdevice = "${libdir}/libavdevice*.so.*"
-FILES_libavdevice-dev = "${libdir}/libavdevice*.so ${libdir}/pkgconfig/libavdevice.pc ${libdir}/libavdevice*.a"
-FILES_libavdevice-dbg += "${libdir}/.debug/libavdevice*"
-
-FILES_libavformat = "${libdir}/libavformat*.so.*"
-FILES_libavformat-dev = "${libdir}/libavformat*.so ${libdir}/pkgconfig/libavformat.pc ${libdir}/libavformat*.a"
-FILES_libavformat-dbg += "${libdir}/.debug/libavformat*"
-
-FILES_libavutil = "${libdir}/libavutil*.so.*"
-FILES_libavutil-dev = "${libdir}/libavutil*.so ${libdir}/pkgconfig/libavutil.pc ${libdir}/libavutil*.a"
-FILES_libavutil-dbg += "${libdir}/.debug/libavutil*"
-
-FILES_libpostproc = "${libdir}/libpostproc*.so.*"
-FILES_libpostproc-dev = "${libdir}/libpostproc*.so ${libdir}/pkgconfig/libpostproc.pc ${libdir}/libpostproc*.a ${includedir}/postproc"
-FILES_libpostproc-dbg += "${libdir}/.debug/libpostproc*"
-
-FILES_libswscale = "${libdir}/libswscale*.so.*"
-FILES_libswscale-dev = "${libdir}/libswscale*.so ${libdir}/pkgconfig/libswscale.pc ${libdir}/libswscale*.a"
-FILES_libswscale-dbg += "${libdir}/.debug/libswscale*"
-
-FILES_libavfilter = "${libdir}/libavfilter*.so.*"
-FILES_libavfilter-dev = "${libdir}/libavfilter*.so ${libdir}/pkgconfig/libavfilter.pc ${libdir}/libavfilter*.a"
-FILES_libavfilter-dbg += "${libdir}/.debug/libavfilter*"
-
-FILES_libavcore = "${libdir}/libavcore*.so.*"
-FILES_libavcore-dev = "${libdir}/libavcore*.so ${libdir}/pkgconfig/libavcore.pc ${libdir}/libavcore*.a"
-FILES_libavcore-dbg += "${libdir}/.debug/libavcore*"
diff --git a/recipes-multimedia/ffmpeg/ffmpeg_0.6.1.bb b/recipes-multimedia/ffmpeg/ffmpeg_0.6.1.bb
deleted file mode 100644
index a715ad7..0000000
--- a/recipes-multimedia/ffmpeg/ffmpeg_0.6.1.bb
+++ /dev/null
@@ -1,44 +0,0 @@
-require ffmpeg.inc
-
-LICENSE = "LGPLv2.1+ & GPLv2+"
-DEPENDS += "schroedinger libgsm"
-PR = "${INC_PR}.2"
-
-SRC_URI = "http://ffmpeg.org/releases/ffmpeg-${PV}.tar.bz2"
-SRC_URI[md5sum] = "4f5d732d25eedfb072251b5314ba2093"
-SRC_URI[sha256sum] = "e348aa6d0bb199f231aa3a48e8f457f037c763219bccc8b395e007ccd87ebd5f"
-LIC_FILES_CHKSUM = "file://COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://libpostproc/postprocess.c;beginline=8;endline=21;md5=3163771dd725805aeda961a4e05173b5 \
- file://COPYING.LGPLv2.1;md5=e344c8fa836c3a41c4cbd79d7bd3a379 \
- file://ffmpeg.c;beginline=7;endline=20;md5=9dee9cc51a9da6c3254d39ebf4d5aa03"
-
-EXTRA_FFCONF_armv7a = "--cpu=cortex-a8"
-EXTRA_FFCONF_mipsel = "--arch=mips"
-
-EXTRA_OECONF = " \
- --arch=${TARGET_ARCH} \
- --cross-prefix=${TARGET_PREFIX} \
- --disable-stripping \
- --enable-cross-compile \
- --enable-libgsm \
- --enable-libmp3lame \
- --enable-libschroedinger \
- --enable-libtheora \
- --enable-libvorbis \
- --enable-pthreads \
- --enable-shared \
- --enable-swscale \
- --enable-pic \
- --extra-cflags="${TARGET_CFLAGS} ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" \
- --extra-ldflags="${TARGET_LDFLAGS} ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" \
- --prefix=${prefix}/ \
- --target-os=linux \
- ${EXTRA_FFCONF} \
-"
-
-do_configure() {
- ./configure ${EXTRA_OECONF}
-}
-
-FULL_OPTIMIZATION_armv7a = "-fexpensive-optimizations -ftree-vectorize -fomit-frame-pointer -O4 -ffast-math"
-BUILD_OPTIMIZATION = "${FULL_OPTIMIZATION}"
--
1.8.1.2
^ permalink raw reply related [flat|nested] 5+ messages in thread