Index: audio/mixxx/files/patch-plugins-soundsourcem4a-m4a-mp4.c =================================================================== --- audio/mixxx/files/patch-plugins-soundsourcem4a-m4a-mp4.c (nonexistent) +++ audio/mixxx/files/patch-plugins-soundsourcem4a-m4a-mp4.c (working copy) @@ -0,0 +1,14 @@ +--- plugins/soundsourcem4a/m4a/mp4.c.orig 2013-12-03 00:46:38.232657584 +0400 ++++ plugins/soundsourcem4a/m4a/mp4.c 2013-12-03 00:48:00.918703017 +0400 +@@ -114,7 +114,11 @@ + faacDecSetConfiguration(priv->decoder, neaac_cfg); + + /* open mpeg-4 file */ ++#if MP4V2_PROJECT_version_hex <= 0x00010901 + priv->mp4.handle = MP4Read(ip_data->filename, 0); ++#else ++ priv->mp4.handle = MP4Read(ip_data->filename); ++#endif + if (!priv->mp4.handle) { + d_print("MP4Read failed\n"); + goto out; Property changes on: audio/mixxx/files/patch-plugins-soundsourcem4a-m4a-mp4.c ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: audio/mixxx/files/patch-vamp-plugins__dsp__DownBeat.h =================================================================== --- audio/mixxx/files/patch-vamp-plugins__dsp__DownBeat.h (nonexistent) +++ audio/mixxx/files/patch-vamp-plugins__dsp__DownBeat.h (working copy) @@ -0,0 +1,11 @@ +--- vamp-plugins/dsp/DownBeat.h.orig 2014-07-26 16:42:05.701371878 +0400 ++++ vamp-plugins/dsp/DownBeat.h 2014-07-26 16:42:44.701723319 +0400 +@@ -18,7 +18,7 @@ + + #include + +-#ifdef __LINUX__ ++#if (defined __LINUX__) || (defined __FreeBSD__) + #include //resolves size_t compile error on Ubuntu 11.10 + #endif + Property changes on: audio/mixxx/files/patch-vamp-plugins__dsp__DownBeat.h ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: audio/mixxx/files/patch-vamp-plugins__dsp__TempoTrackV2.h =================================================================== --- audio/mixxx/files/patch-vamp-plugins__dsp__TempoTrackV2.h (nonexistent) +++ audio/mixxx/files/patch-vamp-plugins__dsp__TempoTrackV2.h (working copy) @@ -0,0 +1,11 @@ +--- vamp-plugins/dsp/TempoTrackV2.h.orig 2014-07-26 17:10:27.407249790 +0400 ++++ vamp-plugins/dsp/TempoTrackV2.h 2014-07-26 17:10:54.944766709 +0400 +@@ -18,7 +18,7 @@ + #define TEMPOTRACKV2_H + + #include +-#ifdef __LINUX__ ++#if (defined __LINUX__) || (defined __FreeBSD__) + #include //resolves size_t compile error on Ubuntu 11.10 + #endif + Property changes on: audio/mixxx/files/patch-vamp-plugins__dsp__TempoTrackV2.h ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: audio/mous/Makefile =================================================================== --- audio/mous/Makefile (revision 450871) +++ audio/mous/Makefile (working copy) @@ -76,7 +76,7 @@ MACDECODER_CMAKE_OFF= -DWithPluginMacDecoder=0 NCURSES_DESC= Ncurses frontend -NCURSES_USES= ncurses +NCURSES_USES= ncurses iconv NCURSES_CMAKE_ON= -DWithFrontendNcurses=1 NCURSES_CMAKE_OFF= -DWithFrontendNcurses=0 @@ -86,6 +86,7 @@ QT4_DESC= QT4 frontend QT4_USE= QT4=corelib,gui,linguisttools_build QT4_USE+= QT4=qmake_build,moc_build,rcc_build,uic_build +QT4_USES= iconv QT4_CMAKE_ON= -DWithFrontendQt=1 QT4_CMAKE_OFF= -DWithFrontendQt=0 @@ -94,6 +95,7 @@ SDK_CMAKE_OFF= -DWithHeadFiles=0 TAGLIB_DESC= TagLib plugin (recommended) +TAGLIB_USES= iconv TAGLIB_LIB_DEPENDS= libtag.so:audio/taglib TAGLIB_CMAKE_ON= -DWithPluginTagLibParser=1 TAGLIB_CMAKE_OFF= -DWithPluginTagLibParser=0 @@ -116,6 +118,8 @@ post-patch: @${REINPLACE_CMD} -e 's|%%DATADIR%%|${DATADIR}|g' \ + -e '/target_link_libraries/s/-liconv/${ICONV_LIB}/' \ + -e '/EXE_MOUS_NCURSES_LIBS/s/-lncursesw/& -ltinfow/' \ -e 's|/usr/local|${LOCALBASE}|g' \ ${WRKSRC}/CMakeLists.txt Index: audio/mous/files/patch-plugins-FaacEncoder-FaacEncoder.cpp =================================================================== --- audio/mous/files/patch-plugins-FaacEncoder-FaacEncoder.cpp (nonexistent) +++ audio/mous/files/patch-plugins-FaacEncoder-FaacEncoder.cpp (working copy) @@ -0,0 +1,19 @@ +--- plugins/FaacEncoder/FaacEncoder.cpp.orig 2012-06-28 18:58:11.000000000 +0400 ++++ plugins/FaacEncoder/FaacEncoder.cpp 2014-07-26 11:48:16.708663099 +0400 +@@ -326,16 +326,11 @@ + strcpy(version_string + 5, faac_id_string); + version_string[version_len-1] = '\0'; + +- MP4SetMetadataTool(m_Mp4File, version_string); +- +- /* + const MP4Tags* tag = MP4TagsAlloc(); + MP4TagsFetch(tag, m_Mp4File); + MP4TagsSetEncodingTool(tag, version_string); +- MP4TagsSetArtist(tag, "hello"); + MP4TagsStore(tag, m_Mp4File); + MP4TagsFree(tag); +- */ + + delete[] version_string; + } Property changes on: audio/mous/files/patch-plugins-FaacEncoder-FaacEncoder.cpp ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: audio/mous/pkg-plist =================================================================== --- audio/mous/pkg-plist (revision 450871) +++ audio/mous/pkg-plist (working copy) @@ -67,4 +67,4 @@ %%WAVENCODER%%lib/mous/libWavEncoder.so %%WMA%%lib/mous/libWmaDecoder.so %%DATADIR%%/pinyin/unipy.map -%%QT4%%share/mous/qt/mous-qt_zh_CN.qm +%%QT4%%%%DATADIR%%/qt/mous-qt_zh_CN.qm Index: audio/faac/Makefile =================================================================== --- audio/faac/Makefile (revision 450871) +++ audio/faac/Makefile (working copy) @@ -29,7 +29,5 @@ post-patch: @${ECHO_CMD} "" >> ${WRKSRC}/libfaac/psych.h - @${REINPLACE_CMD} -e 's|||g' \ - ${WRKSRC}/frontend/main.c .include Index: audio/faac/files/patch-configure.in =================================================================== --- audio/faac/files/patch-configure.in (revision 450871) +++ audio/faac/files/patch-configure.in (working copy) @@ -9,14 +9,16 @@ AM_CONFIG_HEADER(config.h) -@@ -28,14 +28,17 @@ AC_CHECK_DECL(strcasecmp, MY_DEFINE(HAVE +@@ -28,14 +28,18 @@ AC_CHECK_LIB(gnugetopt, getopt_long) AM_CONDITIONAL(WITH_MP4V2, false) +AM_CONDITIONAL(WITH_EXT_MP4V2, false) - AC_CHECK_DECLS([MP4Create, MP4MetadataDelete], - AC_CHECK_LIB(mp4v2, MP4MetadataDelete, external_mp4v2=yes, +-AC_CHECK_DECLS([MP4Create, MP4MetadataDelete], +- AC_CHECK_LIB(mp4v2, MP4MetadataDelete, external_mp4v2=yes, ++AC_CHECK_DECLS([MP4Create], ++ AC_CHECK_LIB(mp4v2, MP4Create, external_mp4v2=yes, external_mp4v2=no, -lstdc++), - external_mp4v2=no, [#include ]) + external_mp4v2=no, [#include ]) @@ -25,6 +27,7 @@ AC_MSG_NOTICE([*** Building with external mp4v2 ***]) + AM_CONDITIONAL(WITH_EXT_MP4V2, true) + MY_DEFINE(HAVE_LIBMP4V2) ++ AC_CHECK_DECLS([MP4TagsAlloc], [], [], [#include ]) else if test x$WITHMP4V2 = xyes; then AC_MSG_NOTICE([*** Building with internal mp4v2 ***]) Index: audio/faac/files/patch-frontend-main.c =================================================================== --- audio/faac/files/patch-frontend-main.c (nonexistent) +++ audio/faac/files/patch-frontend-main.c (working copy) @@ -0,0 +1,126 @@ +http://bugs.gentoo.org/397575 +http://sourceforge.net/tracker/?func=detail&aid=3476707&group_id=704&atid=100704 + +--- frontend/main.c ++++ frontend/main.c +@@ -30,7 +30,7 @@ + #endif + + #ifdef HAVE_LIBMP4V2 +-# include ++# include + #endif + + #define DEFAULT_TNS 0 +@@ -870,8 +870,12 @@ + if (!faacEncSetConfiguration(hEncoder, myFormat)) { + fprintf(stderr, "Unsupported output format!\n"); + #ifdef HAVE_LIBMP4V2 ++#ifdef MP4_CLOSE_DO_NOT_COMPUTE_BITRATE /* r479 fix */ ++ if (container == MP4_CONTAINER) MP4Close(MP4hFile, 0); ++#else + if (container == MP4_CONTAINER) MP4Close(MP4hFile); + #endif ++#endif + return 1; + } + +@@ -882,12 +886,10 @@ + unsigned long ASCLength = 0; + char *version_string; + +-#ifdef MP4_CREATE_EXTENSIBLE_FORMAT +- /* hack to compile against libmp4v2 >= 1.0RC3 +- * why is there no version identifier in mp4.h? */ ++#ifdef MP4_DETAILS_ERROR /* r453 fix */ + MP4hFile = MP4Create(aacFileName, MP4_DETAILS_ERROR, 0); + #else +- MP4hFile = MP4Create(aacFileName, MP4_DETAILS_ERROR, 0, 0); ++ MP4hFile = MP4Create(aacFileName, 0); + #endif + if (!MP4_IS_VALID_FILE_HANDLE(MP4hFile)) { + fprintf(stderr, "Couldn't create output file %s\n", aacFileName); +@@ -902,12 +904,22 @@ + free(ASC); + + /* set metadata */ ++#if HAVE_DECL_MP4TAGSALLOC ++ const MP4Tags* tags; ++ tags = MP4TagsAlloc(); ++ MP4TagsFetch( tags, MP4hFile ); ++#endif + version_string = malloc(strlen(faac_id_string) + 6); + strcpy(version_string, "FAAC "); + strcpy(version_string + 5, faac_id_string); ++#if !HAVE_DECL_MP4TAGSALLOC + MP4SetMetadataTool(MP4hFile, version_string); ++#else ++ MP4TagsSetEncodingTool(tags, version_string); ++#endif + free(version_string); + ++#if !HAVE_DECL_MP4TAGSALLOC + if (artist) MP4SetMetadataArtist(MP4hFile, artist); + if (writer) MP4SetMetadataWriter(MP4hFile, writer); + if (title) MP4SetMetadataName(MP4hFile, title); +@@ -920,8 +932,40 @@ + if (comment) MP4SetMetadataComment(MP4hFile, comment); + if (artSize) { + MP4SetMetadataCoverArt(MP4hFile, art, artSize); ++#else ++ if (artist) MP4TagsSetArtist(tags, artist); ++ if (writer) MP4TagsSetComposer(tags, writer); ++ if (title) MP4TagsSetName(tags, title); ++ if (album) MP4TagsSetAlbum(tags, album); ++ if (trackno > 0) { ++ MP4TagTrack tt; ++ tt.index = trackno; ++ tt.total = ntracks; ++ MP4TagsSetTrack(tags, &tt); ++ } ++ if (discno > 0) { ++ MP4TagDisk td; ++ td.index = discno; ++ td.total = ndiscs; ++ MP4TagsSetDisk(tags, &td); ++ } ++ if (compilation) MP4TagsSetCompilation(tags, compilation); ++ if (year) MP4TagsSetReleaseDate(tags, year); ++ if (genre) MP4TagsSetGenre(tags, genre); ++ if (comment) MP4TagsSetComments(tags, comment); ++ if (artSize) { ++ MP4TagArtwork mp4art; ++ mp4art.data = art; ++ mp4art.size = artSize; ++ mp4art.type = MP4_ART_UNDEFINED; // delegate typing to libmp4v2 ++ MP4TagsAddArtwork( tags, &mp4art ); ++#endif + free(art); + } ++#if HAVE_DECL_MP4TAGSALLOC ++ MP4TagsStore( tags, MP4hFile ); ++ MP4TagsFree( tags ); ++#endif + } + else + { +@@ -1138,11 +1182,19 @@ + /* clean up */ + if (container == MP4_CONTAINER) + { ++#ifdef MP4_CLOSE_DO_NOT_COMPUTE_BITRATE /* r479 fix */ ++ MP4Close(MP4hFile, 0); ++#else + MP4Close(MP4hFile); ++#endif + if (optimizeFlag == 1) + { + fprintf(stderr, "\n\nMP4 format optimization... "); ++#ifdef MP4_DETAILS_ERROR /* r453 fix */ + MP4Optimize(aacFileName, NULL, 0); ++#else ++ MP4Optimize(aacFileName, NULL); ++#endif + fprintf(stderr, "Done!"); + } + } else Property changes on: audio/faac/files/patch-frontend-main.c ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: multimedia/mp4v2/Makefile =================================================================== --- multimedia/mp4v2/Makefile (revision 450871) +++ multimedia/mp4v2/Makefile (working copy) @@ -2,10 +2,9 @@ # $FreeBSD$ PORTNAME= mp4v2 -PORTVERSION= 1.9.1 -PORTREVISION= 2 +PORTVERSION= 2.0.0 CATEGORIES= multimedia -MASTER_SITES= LOCAL/riggs/mp4v2 +MASTER_SITES= GENTOO MAINTAINER= multimedia@FreeBSD.org COMMENT= Library and tools to read, create, and modify mp4 files Index: multimedia/mp4v2/distinfo =================================================================== --- multimedia/mp4v2/distinfo (revision 450871) +++ multimedia/mp4v2/distinfo (working copy) @@ -1,2 +1,2 @@ -SHA256 (mp4v2-1.9.1.tar.bz2) = 5c381caeab2326fc48cfda0fe202bdb8ba0ae624d9c97ad7680a2b07e2c2e3b4 -SIZE (mp4v2-1.9.1.tar.bz2) = 432943 +SHA256 (mp4v2-2.0.0.tar.bz2) = 0319b9a60b667cf10ee0ec7505eb7bdc0a2e21ca7a93db96ec5bd758e3428338 +SIZE (mp4v2-2.0.0.tar.bz2) = 495672 Index: multimedia/mp4v2/files/patch-GNUmakefile.in =================================================================== --- multimedia/mp4v2/files/patch-GNUmakefile.in (revision 450871) +++ multimedia/mp4v2/files/patch-GNUmakefile.in (nonexistent) @@ -1,11 +0,0 @@ ---- ./GNUmakefile.in.orig 2010-07-12 21:25:25.000000000 +0100 -+++ ./GNUmakefile.in 2010-07-12 21:26:04.000000000 +0100 -@@ -443,7 +443,7 @@ - lib_LTLIBRARIES = libmp4v2.la - - ############################################################################### --libmp4v2_la_LDFLAGS = -version-number $(PROJECT_version_major):$(PROJECT_version_minor):$(PROJECT_version_point) $(X_libmp4v2_la_LDFLAGS) -+libmp4v2_la_LDFLAGS = -version-info 10:1:9 - libmp4v2_la_SOURCES = src/3gp.cpp src/atom_ac3.cpp src/atom_amr.cpp \ - src/atom_avc1.cpp src/atom_avcC.cpp src/atom_chpl.cpp \ - src/atom_colr.cpp src/atom_d263.cpp src/atom_dac3.cpp \ Property changes on: multimedia/mp4v2/files/patch-GNUmakefile.in ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: multimedia/mp4v2/files/patch-include__mp4v2__itmf_tags.h =================================================================== --- multimedia/mp4v2/files/patch-include__mp4v2__itmf_tags.h (revision 450871) +++ multimedia/mp4v2/files/patch-include__mp4v2__itmf_tags.h (nonexistent) @@ -1,11 +0,0 @@ ---- ./include/mp4v2/itmf_tags.h.orig 2010-07-14 16:35:27.000000000 +0100 -+++ ./include/mp4v2/itmf_tags.h 2010-07-14 16:35:35.000000000 +0100 -@@ -122,7 +122,7 @@ - * @return structure with all tags missing. - */ - MP4V2_EXPORT --const MP4Tags* MP4TagsAlloc(); -+const MP4Tags* MP4TagsAlloc(void); - - /** Fetch data from mp4 file and populate structure. - * Property changes on: multimedia/mp4v2/files/patch-include__mp4v2__itmf_tags.h ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: multimedia/mp4v2/files/patch-src-itmf-type.cpp =================================================================== --- multimedia/mp4v2/files/patch-src-itmf-type.cpp (nonexistent) +++ multimedia/mp4v2/files/patch-src-itmf-type.cpp (working copy) @@ -0,0 +1,11 @@ +--- src/itmf/type.cpp.orig 2012-05-20 22:11:53 UTC ++++ src/itmf/type.cpp +@@ -284,7 +284,7 @@ namespace { + { BT_BMP, "\x42\x4d" }, + { BT_GIF, "GIF87a" }, + { BT_GIF, "GIF89a" }, +- { BT_JPEG, "\xff\xd8\xff\xe0" }, ++ { BT_JPEG, "\xff\xd8\xff" }, + { BT_PNG, "\x89\x50\x4e\x47\x0d\x0a\x1a\x0a" }, + { BT_UNDEFINED } // must be last + }; Property changes on: multimedia/mp4v2/files/patch-src-itmf-type.cpp ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: multimedia/mp4v2/files/patch-src-mp4.cpp =================================================================== --- multimedia/mp4v2/files/patch-src-mp4.cpp (nonexistent) +++ multimedia/mp4v2/files/patch-src-mp4.cpp (working copy) @@ -0,0 +1,15 @@ +--- src/mp4.cpp.orig 2012-05-20 22:11:53 UTC ++++ src/mp4.cpp +@@ -2402,8 +2402,11 @@ MP4FileHandle MP4ReadProvider( const cha + if (MP4_IS_VALID_FILE_HANDLE(hFile)) { + MP4File *pFile = (MP4File *)hFile; + try { +- return pFile->GetTrackIntegerProperty(trackId, ++ uint32_t bitrate = pFile->GetTrackIntegerProperty(trackId, + "mdia.minf.stbl.stsd.*.esds.decConfigDescr.avgBitrate"); ++ if( bitrate != 0 ) { ++ return bitrate; ++ } + } + catch( Exception* x ) { + //mp4v2::impl::log.errorf(*x); we don't really need to print this. Property changes on: multimedia/mp4v2/files/patch-src-mp4.cpp ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: multimedia/mp4v2/files/patch-src-mp4file_io.cpp =================================================================== --- multimedia/mp4v2/files/patch-src-mp4file_io.cpp (nonexistent) +++ multimedia/mp4v2/files/patch-src-mp4file_io.cpp (working copy) @@ -0,0 +1,20 @@ +--- src/mp4file_io.cpp.orig 2012-05-20 22:11:53 UTC ++++ src/mp4file_io.cpp +@@ -387,7 +387,7 @@ char* MP4File::ReadCountedString(uint8_t + charLength = ReadUInt8(); + } + +- if (fixedLength && (charLength > fixedLength)) { ++ if (fixedLength && (charLength > fixedLength - 1)) { + /* + * The counted length of this string is greater than the + * maxiumum fixed length, so truncate the string to the +@@ -397,7 +397,7 @@ char* MP4File::ReadCountedString(uint8_t + * a non counted string has been used in the place of a + * counted string). + */ +- WARNING(charLength > fixedLength); ++ WARNING(charLength > fixedLength - 1); + charLength = fixedLength - 1U; + } + Property changes on: multimedia/mp4v2/files/patch-src-mp4file_io.cpp ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: multimedia/mp4v2/files/patch-src-mp4info.cpp =================================================================== --- multimedia/mp4v2/files/patch-src-mp4info.cpp (nonexistent) +++ multimedia/mp4v2/files/patch-src-mp4info.cpp (working copy) @@ -0,0 +1,29 @@ +--- src/mp4info.cpp.orig 2012-05-20 22:11:53 UTC ++++ src/mp4info.cpp +@@ -109,7 +109,7 @@ static char* PrintAudioInfo( + const char* typeName = "Unknown"; + bool foundType = false; + uint8_t type = 0; +- const char *media_data_name; ++ const char *media_data_name = NULL; + + media_data_name = MP4GetTrackMediaDataName(mp4File, trackId); + +@@ -306,7 +306,7 @@ static char* PrintVideoInfo( + bool foundTypeName = false; + const char* typeName = "Unknown"; + +- const char *media_data_name; ++ const char *media_data_name = NULL; + char originalFormat[8]; + char oformatbuffer[32]; + originalFormat[0] = 0; +@@ -315,7 +315,7 @@ static char* PrintVideoInfo( + + media_data_name = MP4GetTrackMediaDataName(mp4File, trackId); + // encv 264b +- if (strcasecmp(media_data_name, "encv") == 0) { ++ if (media_data_name != NULL && strcasecmp(media_data_name, "encv") == 0) { + if (MP4GetTrackMediaDataOriginalFormat(mp4File, + trackId, + originalFormat, Property changes on: multimedia/mp4v2/files/patch-src-mp4info.cpp ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: multimedia/mp4v2/files/patch-src-mp4util.cpp =================================================================== --- multimedia/mp4v2/files/patch-src-mp4util.cpp (nonexistent) +++ multimedia/mp4v2/files/patch-src-mp4util.cpp (working copy) @@ -0,0 +1,39 @@ +--- src/mp4util.cpp.orig 2012-05-20 22:11:53 UTC ++++ src/mp4util.cpp +@@ -195,6 +195,9 @@ static bool convertBase64 (const char da + return true; + } + ++}} // namespace mp4v2::impl ++ ++extern "C" + uint8_t *Base64ToBinary (const char *pData, uint32_t decodeSize, uint32_t *pDataSize) + { + uint8_t *ret; +@@ -208,7 +211,7 @@ uint8_t *Base64ToBinary (const char *pDa + } + size = (decodeSize * 3) / 4; + groups = decodeSize / 4; +- ret = (uint8_t *)MP4Calloc(size); ++ ret = (uint8_t *)mp4v2::impl::MP4Calloc(size); + if (ret == NULL) return NULL; + for (ix = 0; ix < groups; ix++) { + uint8_t value[4]; +@@ -220,7 +223,7 @@ uint8_t *Base64ToBinary (const char *pDa + } + size--; + value[jx] = 0; +- } else if (convertBase64(pData[jx], &value[jx]) == false) { ++ } else if (mp4v2::impl::convertBase64(pData[jx], &value[jx]) == false) { + free(ret); + return NULL; + } +@@ -234,6 +237,8 @@ uint8_t *Base64ToBinary (const char *pDa + return ret; + } + ++namespace mp4v2 { namespace impl { ++ + // log2 of value, rounded up + static uint8_t ilog2(uint64_t value) + { Property changes on: multimedia/mp4v2/files/patch-src-mp4util.cpp ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: multimedia/mp4v2/files/patch-src__bmff__typebmff.cpp =================================================================== --- multimedia/mp4v2/files/patch-src__bmff__typebmff.cpp (revision 450871) +++ multimedia/mp4v2/files/patch-src__bmff__typebmff.cpp (nonexistent) @@ -1,35 +0,0 @@ ---- ./src/bmff/typebmff.cpp.orig 2009-07-14 03:07:10.000000000 +0400 -+++ ./src/bmff/typebmff.cpp 2012-01-15 22:14:12.057757646 +0400 -@@ -23,19 +23,12 @@ - - #include "impl.h" - --// VStudio idiocy prevents defining template instanced static data --// in a namespace. Workaround it by defining in global scope. --// Other platforms will continue to put things in the proper namespace. --#if defined( _MSC_VER ) --using namespace mp4v2::impl::bmff; --#else --namespace mp4v2 { namespace impl { namespace bmff { --#endif -+namespace mp4v2 { namespace impl { - - /////////////////////////////////////////////////////////////////////////////// - - template <> --const EnumLanguageCode::Entry EnumLanguageCode::data[] = { -+const bmff::EnumLanguageCode::Entry bmff::EnumLanguageCode::data[] = { - { mp4v2::impl::bmff::ILC_AAR, "aar", "Afar" }, - { mp4v2::impl::bmff::ILC_ABK, "abk", "Abkhazian" }, - { mp4v2::impl::bmff::ILC_ACE, "ace", "Achinese" }, -@@ -526,9 +519,7 @@ - - /////////////////////////////////////////////////////////////////////////////// - --#if defined( _MSC_VER ) --namespace mp4v2 { namespace impl { namespace bmff { --#endif -+namespace bmff { - - /////////////////////////////////////////////////////////////////////////////// - Property changes on: multimedia/mp4v2/files/patch-src__bmff__typebmff.cpp ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: multimedia/mp4v2/files/patch-src__itmf__type.cpp =================================================================== --- multimedia/mp4v2/files/patch-src__itmf__type.cpp (revision 450871) +++ multimedia/mp4v2/files/patch-src__itmf__type.cpp (nonexistent) @@ -1,80 +0,0 @@ ---- ./src/itmf/type.cpp.orig 2009-07-14 03:07:08.000000000 +0400 -+++ ./src/itmf/type.cpp 2012-01-15 22:14:12.054748862 +0400 -@@ -24,19 +24,12 @@ - - #include "impl.h" - --// VStudio idiocy prevents defining template instanced static data --// in a namespace. Workaround it by defining in global scope. --// Other platforms will continue to put things in the proper namespace. --#if defined( _MSC_VER ) --using namespace mp4v2::impl::itmf; --#else --namespace mp4v2 { namespace impl { namespace itmf { --#endif -+namespace mp4v2 { namespace impl { - - /////////////////////////////////////////////////////////////////////////////// - - template <> --const EnumBasicType::Entry EnumBasicType::data[] = { -+const itmf::EnumBasicType::Entry itmf::EnumBasicType::data[] = { - { mp4v2::impl::itmf::BT_IMPLICIT, "implicit", "implicit" }, - { mp4v2::impl::itmf::BT_UTF8, "utf8", "UTF-8" }, - { mp4v2::impl::itmf::BT_UTF16, "utf16", "UTF-16" }, -@@ -64,7 +57,7 @@ - /////////////////////////////////////////////////////////////////////////////// - - template <> --const EnumGenreType::Entry EnumGenreType::data[] = { -+const itmf::EnumGenreType::Entry itmf::EnumGenreType::data[] = { - { mp4v2::impl::itmf::GENRE_BLUES, "blues", "Blues" }, - { mp4v2::impl::itmf::GENRE_CLASSIC_ROCK, "classicrock", "Classic Rock" }, - { mp4v2::impl::itmf::GENRE_COUNTRY, "country", "Country" }, -@@ -200,7 +193,7 @@ - /////////////////////////////////////////////////////////////////////////////// - - template <> --const EnumStikType::Entry EnumStikType::data[] = { -+const itmf::EnumStikType::Entry itmf::EnumStikType::data[] = { - { mp4v2::impl::itmf::STIK_OLD_MOVIE, "oldmovie", "Movie" }, - { mp4v2::impl::itmf::STIK_NORMAL, "normal", "Normal" }, - { mp4v2::impl::itmf::STIK_AUDIOBOOK, "audiobook", "Audio Book" }, -@@ -216,7 +209,7 @@ - /////////////////////////////////////////////////////////////////////////////// - - template <> --const EnumAccountType::Entry EnumAccountType::data[] = { -+const itmf::EnumAccountType::Entry itmf::EnumAccountType::data[] = { - { mp4v2::impl::itmf::AT_ITUNES, "itunes", "iTunes" }, - { mp4v2::impl::itmf::AT_AOL, "aol", "AOL" }, - -@@ -226,7 +219,7 @@ - /////////////////////////////////////////////////////////////////////////////// - - template <> --const EnumCountryCode::Entry EnumCountryCode::data[] = { -+const itmf::EnumCountryCode::Entry itmf::EnumCountryCode::data[] = { - { mp4v2::impl::itmf::CC_USA, "usa", "United States" }, - { mp4v2::impl::itmf::CC_USA, "fra", "France" }, - { mp4v2::impl::itmf::CC_DEU, "ger", "Germany" }, -@@ -256,7 +249,7 @@ - /////////////////////////////////////////////////////////////////////////////// - - template <> --const EnumContentRating::Entry EnumContentRating::data[] = { -+const itmf::EnumContentRating::Entry itmf::EnumContentRating::data[] = { - { mp4v2::impl::itmf::CR_NONE, "none", "None" }, - { mp4v2::impl::itmf::CR_CLEAN, "clean", "Clean" }, - { mp4v2::impl::itmf::CR_EXPLICIT, "explicit", "Explicit" }, -@@ -266,9 +259,7 @@ - - /////////////////////////////////////////////////////////////////////////////// - --#if defined( _MSC_VER ) --namespace mp4v2 { namespace impl { namespace itmf { --#endif -+namespace itmf { - - /////////////////////////////////////////////////////////////////////////////// - Property changes on: multimedia/mp4v2/files/patch-src__itmf__type.cpp ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: multimedia/mp4v2/files/patch-util-mp4chaps.cpp =================================================================== --- multimedia/mp4v2/files/patch-util-mp4chaps.cpp (nonexistent) +++ multimedia/mp4v2/files/patch-util-mp4chaps.cpp (working copy) @@ -0,0 +1,10 @@ +--- util/mp4chaps.cpp.orig 2012-05-20 22:11:55 UTC ++++ util/mp4chaps.cpp +@@ -856,6 +856,7 @@ ChapterUtility::readChapterFile( const s + if( in.read( inBuf, fileSize, nin ) ) + { + in.close(); ++ free(inBuf); + return herrf( "reading chapter file '%s' failed: %s\n", filename.c_str(), sys::getLastErrorStr() ); + } + in.close(); Property changes on: multimedia/mp4v2/files/patch-util-mp4chaps.cpp ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: multimedia/mp4v2/files/patch-util-mp4tags.cpp =================================================================== --- multimedia/mp4v2/files/patch-util-mp4tags.cpp (nonexistent) +++ multimedia/mp4v2/files/patch-util-mp4tags.cpp (working copy) @@ -0,0 +1,10 @@ +--- util/mp4tags.cpp.orig 2012-05-20 22:11:55 UTC ++++ util/mp4tags.cpp +@@ -539,6 +539,7 @@ extern "C" int + else { + fprintf( stderr, "Art file %s not found\n", tags[i] ); + } ++ break; + } + case OPT_ALBUM_ARTIST: + MP4TagsSetAlbumArtist( mdata, tags[i] ); Property changes on: multimedia/mp4v2/files/patch-util-mp4tags.cpp ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: multimedia/mp4v2/pkg-plist =================================================================== --- multimedia/mp4v2/pkg-plist (revision 450871) +++ multimedia/mp4v2/pkg-plist (working copy) @@ -7,7 +7,6 @@ bin/mp4tags bin/mp4track bin/mp4trackdump -include/mp4v2/project.h include/mp4v2/chapter.h include/mp4v2/file.h include/mp4v2/file_prop.h @@ -15,9 +14,9 @@ include/mp4v2/isma.h include/mp4v2/itmf_generic.h include/mp4v2/itmf_tags.h -include/mp4v2/meta.h include/mp4v2/mp4v2.h include/mp4v2/platform.h +include/mp4v2/project.h include/mp4v2/sample.h include/mp4v2/streaming.h include/mp4v2/track.h @@ -24,8 +23,8 @@ include/mp4v2/track_prop.h lib/libmp4v2.a lib/libmp4v2.so -lib/libmp4v2.so.1 -lib/libmp4v2.so.1.9.1 +lib/libmp4v2.so.2 +lib/libmp4v2.so.2.0.0 man/man1/mp4art.1.gz man/man1/mp4file.1.gz man/man1/mp4subtitle.1.gz Index: multimedia/mpeg4ip/Makefile =================================================================== --- multimedia/mpeg4ip/Makefile (revision 450871) +++ multimedia/mpeg4ip/Makefile (working copy) @@ -12,7 +12,7 @@ MAINTAINER= multimedia@FreeBSD.org COMMENT= Standards-based system to encode, stream, and play MPEG-4 audio/video -BUILD_DEPENDS= mp4v2>=1.9.1:multimedia/mp4v2 \ +BUILD_DEPENDS= mp4v2>=2.0.0:multimedia/mp4v2 \ ${LOCALBASE}/include/linux/videodev.h:multimedia/v4l_compat LIB_DEPENDS= libfaac.so:audio/faac \ libfaad.so:audio/faad \ @@ -22,7 +22,7 @@ libmpeg2.so:multimedia/libmpeg2 \ libavcodec0.so:multimedia/ffmpeg0 \ libx264.so:multimedia/libx264 -RUN_DEPENDS= mp4v2>=1.9.1:multimedia/mp4v2 +RUN_DEPENDS= mp4v2>=2.0.0:multimedia/mp4v2 USE_GNOME= gtk20 USE_SDL= sdl @@ -36,9 +36,12 @@ --enable-mp4live \ --disable-static -OPTIONS_DEFINE= ESOUND IPV6 NAS OPTIMIZED_CFLAGS XVID DOCS +OPTIONS_DEFINE= ESOUND IPV6 NAS OPTIMIZED_CFLAGS XVID DOCS SRTP OPTIONS_DEFAULT= XVID +SRTP_DESC= Secure RTP support +OPTIONS_SUB= yes + DOC_FILES= ${PORTDOCS} PORTDOCS= MAINREADME.html MP4LIVE_INTERNALS.html MPEG4IP_Guide.pdf \ MP4LIVE_README.html PLAYER_INTERNALS.html PLAYER_README.html \ @@ -45,6 +48,10 @@ ReadingList.txt encoding.htm m4rm.html \ mp4player.jpg mrm.html pi.html prm.html +SRTP_BUILD_DEPENDS= ${LOCALBASE}/include/srtp/srtp.h:net/libsrtp +SRTP_CONFIGURE_ENABLE= srtp +SRTP_CFLAGS= -DHAVE_UINT64_T + .include ### @@ -83,10 +90,6 @@ # xvid .if ${PORT_OPTIONS:MXVID} LIB_DEPENDS+= libxvidcore.so:multimedia/xvid - -PLIST_SUB+= XVID="" -.else -PLIST_SUB+= XVID="@comment " .endif #post-patch: @@ -100,11 +103,11 @@ 's|$$(top_builddir)/lib/mp4v2/libmp4v2.la||; \ s|$$(top_srcdir)/lib/mp4v2/libmp4v2.la||; \ s|@LIBS@|@LIBS@ -lmp4v2|; \ - s|nasm|yasm|' - @${REINPLACE_CMD} -e 's|-Werror||' \ - ${WRKSRC}/common/video/iso-mpeg4/src/Makefile.in + s|nasm|yasm|; s|-Werror||'; @${REINPLACE_CMD} -e 's|mp4venc_template.par||' \ ${WRKSRC}/server/util/mp4encode/Makefile.in + @${REINPLACE_CMD} -e 's||"mpeg4ip.h"|' \ + ${WRKSRC}/lib/mp4av/mp4av.h @${FIND} ${WRKSRC} -type f -name "*.[ch]" -or -name "*.cpp" | ${XARGS} -n 10 \ ${REINPLACE_CMD} -e \ 's|||; \ @@ -111,6 +114,7 @@ s|||; \ s|||; \ s|||; \ + s|["<]\(mp4v2/\)*mp4.h[">]||; \ s|||' # replacing distfile's libs with ports' versions # SDL related fixes @@ -131,11 +135,9 @@ @${REINPLACE_CMD} -e 's|pSameples|pSamples|' \ ${WRKSRC}/server/mp4live/audio_l16.cpp -# replace bundled mp4v2 with placeholder +# remove bundled mp4v2 post-configure: @${RM} -r ${WRKSRC}/lib/mp4v2 - @${MKDIR} ${WRKSRC}/lib/mp4v2 - @echo '#include "mpeg4ip.h"' > ${WRKSRC}/lib/mp4v2/mp4.h post-install: @${MKDIR} ${STAGEDIR}${DATADIR} Index: multimedia/mpeg4ip/files/patch-common_video_iso-mpeg4_src_type_basic.cpp =================================================================== --- multimedia/mpeg4ip/files/patch-common_video_iso-mpeg4_src_type_basic.cpp (revision 450871) +++ multimedia/mpeg4ip/files/patch-common_video_iso-mpeg4_src_type_basic.cpp (working copy) @@ -1,15 +1,11 @@ --- common/video/iso-mpeg4/src/type_basic.cpp.orig 2007-09-23 17:04:08.000000000 -0400 +++ common/video/iso-mpeg4/src/type_basic.cpp 2007-09-23 17:04:39.000000000 -0400 -@@ -317,10 +317,12 @@ +@@ -317,7 +317,7 @@ iHalfY = m_vctTrueHalfPel.y - iMVY * 2; } -+/* - Void CMotionVector::setToZero (Void) +-Void CMotionVector::setToZero (Void) ++Void CMotionVector::setToZero () { memset (this, 0, sizeof (*this)); } -+*/ - - // RRV insertion - Void CMotionVector::scaleup () Index: multimedia/mpeg4ip/files/patch-include__mpeg4ip.h =================================================================== --- multimedia/mpeg4ip/files/patch-include__mpeg4ip.h (revision 450871) +++ multimedia/mpeg4ip/files/patch-include__mpeg4ip.h (working copy) @@ -9,22 +9,6 @@ #ifdef _WIN32 #include "mpeg4ip_win32.h" #include "mpeg4ip_version.h" -@@ -178,6 +180,7 @@ - #define LLU U64 - - #include -+/* from mp4v2/mp4v2.h - typedef void (*error_msg_func_t)(int loglevel, - const char *lib, - const char *fmt, -@@ -186,6 +189,7 @@ - const char *lib, - const char *fmt, - ...); -+*/ - #ifndef HAVE_IN_PORT_T - typedef uint16_t in_port_t; - #endif @@ -271,6 +275,7 @@ #ifndef __cplusplus Index: multimedia/mpeg4ip/files/patch-lib-ismacryp-ismacryplib.c =================================================================== --- multimedia/mpeg4ip/files/patch-lib-ismacryp-ismacryplib.c (nonexistent) +++ multimedia/mpeg4ip/files/patch-lib-ismacryp-ismacryplib.c (working copy) @@ -0,0 +1,56 @@ +--- lib/ismacryp/ismacryplib.c~ 2007-02-07 18:34:15.000000000 +0100 ++++ lib/ismacryp/ismacryplib.c 2011-07-26 12:22:12.428126498 +0200 +@@ -345,7 +345,7 @@ + } + + // Init cipher. +- rc=aes_icm_context_init(sp->cp->state, sp->kk.aes_overlay); ++ rc=aes_icm_context_init(sp->cp->state, sp->kk.aes_overlay, AES_TOT_LEN); + if ( rc != err_status_ok ) { + fprintf(stdout," - init cipher for session %d FAILED rc = %d\n", session, + rc ); +@@ -888,7 +888,7 @@ + if ( sp->sample_count == 1 ) { + memset(nonce,0,AES_KEY_LEN); + //rc=aes_icm_set_segment(sp->cp->state, 0); // defunct function. +- rc=aes_icm_set_iv(sp->cp->state, nonce); ++ rc=aes_icm_set_iv(sp->cp->state, nonce, direction_encrypt); + } + + // length will not be updated in calling function (obviously) awv. +@@ -939,7 +939,7 @@ + if ( sp->sample_count == 1 ) { + memset(nonce,0,AES_KEY_LEN); + //rc=aes_icm_set_segment(sp->cp->state, 0); // defunct function. +- rc=aes_icm_set_iv(sp->cp->state, nonce); ++ rc=aes_icm_set_iv(sp->cp->state, nonce, direction_encrypt); + } + + // length will not be updated in calling function (obviously) awv. +@@ -1015,7 +1015,7 @@ + if ( sp->sample_count == 1 ) { + memset(nonce,0,AES_KEY_LEN); + //rc=aes_icm_set_segment(sp->cp->state, 0); // defunct function. +- rc=aes_icm_set_iv(sp->cp->state, nonce); ++ rc=aes_icm_set_iv(sp->cp->state, nonce, direction_encrypt); + } + #endif + +@@ -1076,7 +1076,7 @@ + memset(nonce,0,AES_KEY_LEN); + *((uint32_t *)(&nonce[12])) = htonl(counter); + #ifdef HAVE_SRTP +- rc=aes_icm_set_iv(sp->cp->state, nonce); ++ rc=aes_icm_set_iv(sp->cp->state, nonce, direction_encrypt); + rc=aes_icm_encrypt_ismacryp(sp->cp->state, fakedata, &remainder, 1); + #endif + +@@ -1088,7 +1088,7 @@ + memset(nonce,0,AES_KEY_LEN); + *((uint32_t *)(&nonce[12])) = htonl(counter); + #ifdef HAVE_SRTP +- rc=aes_icm_set_iv(sp->cp->state, nonce); ++ rc=aes_icm_set_iv(sp->cp->state, nonce, direction_encrypt); + // set the number of bytes the previous key should decrypt + ((aes_icm_ctx_t *)(sp->cp->state))->bytes_in_buffer = remainder; + #endif Property changes on: multimedia/mpeg4ip/files/patch-lib-ismacryp-ismacryplib.c ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: multimedia/mpeg4ip/files/patch-mp4v2 =================================================================== --- multimedia/mpeg4ip/files/patch-mp4v2 (nonexistent) +++ multimedia/mpeg4ip/files/patch-mp4v2 (working copy) @@ -0,0 +1,543 @@ +--- player/src/mp4_file.cpp.orig 2006-12-01 00:19:30.000000000 +0100 ++++ player/src/mp4_file.cpp 2012-12-06 18:08:29.688685040 +0100 +@@ -55,7 +55,7 @@ + MP4FileHandle fh; + CMp4File *Mp4File1; + +- fh = MP4Read(name, MP4_DETAILS_ERROR); // | MP4_DETAILS_READ | MP4_DETAILS_SAMPLE); ++ fh = MP4Read(name); + if (!MP4_IS_VALID_FILE_HANDLE(fh)) { + psptr->set_message("`%s\' is not an mp4 file", name); + return -1; +@@ -170,8 +170,8 @@ + * in this context original format is encv + * and compressor specifies which codec + */ +- uint32_t verb = MP4GetVerbosity(m_mp4file); +- MP4SetVerbosity(m_mp4file, verb & ~(MP4_DETAILS_ERROR)); ++ MP4LogLevel verb = MP4LogGetLevel(); ++ MP4LogSetLevel(MP4_LOG_NONE); + if (strcasecmp(vq[ix].original_fmt, "avc1") == 0) { + vbyte = new CMp4H264VideoByteStream(this, vq[ix].track_id); + } else if (strcasecmp(vq[ix].original_fmt, "encv") == 0) { +@@ -205,7 +205,7 @@ + } else { + vbyte = new CMp4VideoByteStream(this, vq[ix].track_id); + } +- MP4SetVerbosity(m_mp4file, verb); ++ MP4LogSetLevel(verb); + + if (vbyte == NULL) { + delete mptr; +@@ -216,9 +216,9 @@ + if (ret != 0) { + return (-1); + } +- MP4SetVerbosity(m_mp4file, verb & ~(MP4_DETAILS_ERROR)); ++ MP4LogSetLevel(MP4_LOG_NONE); + char *mp4info = MP4Info(m_mp4file, vq[ix].track_id); +- MP4SetVerbosity(m_mp4file, verb); ++ MP4LogSetLevel(verb); + char *temp = mp4info; + while (*temp != '\0') { + if (isspace(*temp)) *temp = ' '; +@@ -253,8 +253,8 @@ + } + + /* check if ismacryp */ +- uint32_t verb = MP4GetVerbosity(m_mp4file); +- MP4SetVerbosity(m_mp4file, verb & ~(MP4_DETAILS_ERROR)); ++ MP4LogLevel verb = MP4LogGetLevel(); ++ MP4LogSetLevel(MP4_LOG_NONE); + if (MP4IsIsmaCrypMediaTrack(m_mp4file, aq[ix].track_id)) { + MP4GetTrackIntegerProperty(m_mp4file, + aq[ix].track_id, "mdia.minf.stbl.stsd.enca.sinf.schi.iSFM.IV-length", &IVLength); +@@ -262,7 +262,7 @@ + } else { + abyte = new CMp4AudioByteStream(this, aq[ix].track_id); + } +- MP4SetVerbosity(m_mp4file, verb); ++ MP4LogSetLevel(verb); + + audio_info_t *ainfo; + ainfo = (audio_info_t *)malloc(sizeof(audio_info_t)); +@@ -310,9 +310,9 @@ + if (ret != 0) { + return (-1); + } +- MP4SetVerbosity(m_mp4file, verb & ~(MP4_DETAILS_ERROR)); ++ MP4LogSetLevel(MP4_LOG_NONE); + char *mp4info = MP4Info(m_mp4file, aq[ix].track_id); +- MP4SetVerbosity(m_mp4file, verb); ++ MP4LogSetLevel(verb); + char *temp = mp4info; + while (*temp != '\0') { + if (isspace(*temp)) *temp = ' '; +@@ -339,7 +339,7 @@ + //uint64_t IVLength; + CPlayerMedia *mptr; + codec_plugin_t *plugin; +- uint32_t verb = MP4GetVerbosity(m_mp4file); ++ MP4LogLevel verb = MP4LogGetLevel(); + for (ix = 0; ix < text_offset; ix++) { + if (tq[ix].enabled != 0) { + CMp4TextByteStream *tbyte; +@@ -350,8 +350,8 @@ + + /* check if ismacryp */ + #if 0 +- uint32_t verb = MP4GetVerbosity(m_mp4file); +- MP4SetVerbosity(m_mp4file, verb & ~(MP4_DETAILS_ERROR)); ++ MP4LogLevel verb = MP4LogGetLevel(); ++ MP4LogSetLevel(MP4_LOGL_NONE); + if (MP4IsIsmaCrypMediaTrack(m_mp4file, aq[ix].track_id)) { + IVLength = MP4GetTrackIntegerProperty(m_mp4file, + aq[ix].track_id, "mdia.minf.stbl.stsd.enca.sinf.schi.iSFM.IV-length"); +@@ -359,7 +359,7 @@ + } else { + abyte = new CMp4AudioByteStream(this, aq[ix].track_id); + } +- MP4SetVerbosity(m_mp4file, verb); ++ MP4LogSetLevel(verb); + #else + tbyte = new CMp4TextByteStream(this, tq[ix].track_id, + MP4GetHrefTrackBaseUrl(m_mp4file, +@@ -394,9 +394,9 @@ + if (ret != 0) { + return (-1); + } +- MP4SetVerbosity(m_mp4file, verb & ~(MP4_DETAILS_ERROR)); ++ MP4LogSetLevel(MP4_LOG_NONE); + char *mp4info = MP4Info(m_mp4file, tq[ix].track_id); +- MP4SetVerbosity(m_mp4file, verb); ++ MP4LogSetLevel(verb); + char *temp = mp4info; + while (*temp != '\0') { + if (isspace(*temp)) *temp = ' '; +@@ -433,13 +433,13 @@ + u_int32_t bufsize; + char original_fmt[8]; + +- uint32_t verb = MP4GetVerbosity(m_mp4file); +- MP4SetVerbosity(m_mp4file, verb & ~(MP4_DETAILS_ERROR)); ++ MP4LogLevel verb = MP4LogGetLevel(); ++ MP4LogSetLevel(MP4_LOG_NONE); + video_count = MP4GetNumberOfTracks(m_mp4file, MP4_VIDEO_TRACK_TYPE); + audio_count = MP4GetNumberOfTracks(m_mp4file, MP4_AUDIO_TRACK_TYPE); + text_count = MP4GetNumberOfTracks(m_mp4file, MP4_CNTL_TRACK_TYPE); + mp4f_message(LOG_DEBUG, "cntl tracks %u", text_count); +- MP4SetVerbosity(m_mp4file, verb); ++ MP4LogSetLevel(verb); + + if (video_count == 0 && audio_count == 0 && text_count == 0) { + psptr->set_message("No audio, video or control tracks in file"); +@@ -492,9 +492,9 @@ + uint8_t profileID = MP4GetVideoProfileLevel(m_mp4file, trackId); + mp4f_message(LOG_DEBUG, "MP4 - got track %x profile ID %d", + trackId, profileID); +- MP4SetVerbosity(m_mp4file, verb & ~(MP4_DETAILS_ERROR)); ++ MP4LogSetLevel(MP4_LOG_NONE); + MP4GetTrackESConfiguration(m_mp4file, trackId, &foo, &bufsize); +- MP4SetVerbosity(m_mp4file, verb); ++ MP4LogSetLevel(verb); + vq[video_offset].type = video_type; + vq[video_offset].profile = profileID; + vq[video_offset].fptr = NULL; +@@ -609,13 +609,13 @@ + uint8_t *userdata = NULL; + u_int32_t userdata_size; + aq[audio_offset].type = MP4GetTrackEsdsObjectTypeId(m_mp4file, trackId); +- MP4SetVerbosity(m_mp4file, verb & ~(MP4_DETAILS_ERROR)); ++ MP4LogSetLevel(MP4_LOG_NONE); + aq[audio_offset].profile = MP4GetAudioProfileLevel(m_mp4file); + MP4GetTrackESConfiguration(m_mp4file, + trackId, + &userdata, + &userdata_size); +- MP4SetVerbosity(m_mp4file, verb); ++ MP4LogSetLevel(verb); + aq[audio_offset].config = userdata; + aq[audio_offset].config_len = userdata_size; + } +@@ -631,9 +631,9 @@ + aq[audio_offset].fptr = NULL; + aq[audio_offset].sampling_freq = + MP4GetTrackTimeScale(m_mp4file, trackId); +- MP4SetVerbosity(m_mp4file, verb & ~(MP4_DETAILS_ERROR)); ++ MP4LogSetLevel(MP4_LOG_NONE); + aq[audio_offset].chans = MP4GetTrackAudioChannels(m_mp4file, trackId); +- MP4SetVerbosity(m_mp4file, verb); ++ MP4LogSetLevel(verb); + aq[audio_offset].enabled = 0; + aq[audio_offset].reference = NULL; + audio_offset++; +@@ -711,14 +711,13 @@ + if (audret < 0 || textret < 0) ret_value = -1; + +- char *name; +- verb = MP4GetVerbosity(m_mp4file); +- MP4SetVerbosity(m_mp4file, verb & ~(MP4_DETAILS_ERROR)); +- if (MP4GetMetadataName(m_mp4file, &name) && +- name != NULL) { +- psptr->set_session_desc(0, name); +- free(name); ++ const MP4Tags *tags = MP4TagsAlloc(); ++ verb = MP4LogGetLevel(); ++ MP4LogSetLevel(MP4_LOG_NONE); ++ if (MP4TagsFetch(tags, m_mp4file) && tags->name != NULL) { ++ psptr->set_session_desc(0, tags->name); + } +- MP4SetVerbosity(m_mp4file, verb); ++ MP4TagsFree(tags); ++ MP4LogSetLevel(verb); + + return (ret_value); + } +--- server/mp4creator/h264.cpp.orig 2006-10-24 00:26:43.000000000 +0200 ++++ server/mp4creator/h264.cpp 2012-12-07 21:59:30.479928624 +0100 +@@ -359,10 +359,9 @@ MP4TrackId H264Creator (MP4FileHandle mp + } + + if (MP4GetNumberOfTracks(mp4File, MP4_VIDEO_TRACK_TYPE) == 1) { +- uint32_t new_verb = Verbosity & ~(MP4_DETAILS_ERROR); +- MP4SetVerbosity(mp4File, new_verb); ++ MP4LogSetLevel(MP4_LOG_NONE); + MP4SetVideoProfileLevel(mp4File, 0x7f); +- MP4SetVerbosity(mp4File, Verbosity); ++ MP4LogSetLevel(Verbosity); + } + + uint8_t *nal_buffer; +@@ -431,7 +430,7 @@ MP4TrackId H264Creator (MP4FileHandle mp + } + } + bool copy_nal_to_buffer = false; +- if (Verbosity & MP4_DETAILS_SAMPLE) { ++ if (Verbosity >= MP4_LOG_VERBOSE2) { + printf("H264 type %x size %u\n", + h264_dec.nal_unit_type, nal.buffer_on); + } +--- server/mp4creator/mp4creator.cpp.orig 2007-01-30 22:53:44.000000000 +0100 ++++ server/mp4creator/mp4creator.cpp 2012-12-07 22:10:24.436581663 +0100 +@@ -148,7 +148,7 @@ int main(int argc, char** argv) + char* p3gppSupportedBrands[2] = {"3gp5", "3gp4"}; + uint32_t newverbosity; + +- Verbosity = MP4_DETAILS_ERROR; ++ Verbosity = MP4_LOG_ERROR; + VideoFrameRate = 0; // determine from input file + TimeScaleSpecified = false; + Mp4TimeScale = 90000; +@@ -385,21 +385,21 @@ int main(int argc, char** argv) + createFlags |= MP4_CREATE_64BIT_TIME; + break; + case 'v': +- Verbosity |= (MP4_DETAILS_READ | MP4_DETAILS_WRITE); ++ Verbosity = MP4_LOG_INFO; + if (optarg) { + u_int32_t level; + if (sscanf(optarg, "%u", &level) == 1) { + if (level >= 2) { +- Verbosity |= MP4_DETAILS_TABLE; ++ Verbosity = MP4_LOG_VERBOSE1; + } + if (level >= 3) { +- Verbosity |= MP4_DETAILS_SAMPLE; ++ Verbosity = MP4_LOG_VERBOSE2; + } + if (level >= 4) { +- Verbosity |= MP4_DETAILS_HINT; ++ Verbosity = MP4_LOG_VERBOSE3; + } + if (level >= 5) { +- Verbosity = MP4_DETAILS_ALL; ++ Verbosity = MP4_LOG_VERBOSE4; + } + } + } +@@ -426,6 +426,7 @@ int main(int argc, char** argv) + exit(EXIT_COMMAND_LINE); + } + ++ MP4LogSetLevel(Verbosity); + if ((argc - optind) == 1) { + mp4FileName = argv[optind++]; + } else { +@@ -515,7 +516,6 @@ int main(int argc, char** argv) + + if ((!strcmp(extension, ".amr")) || (!strcmp(extension, ".263"))) { + mp4File = MP4CreateEx(mp4FileName, +- Verbosity, + createFlags, + 1, // add ftyp atom + 0, // don't add iods +@@ -524,7 +524,7 @@ int main(int argc, char** argv) + p3gppSupportedBrands, + sizeof(p3gppSupportedBrands) / sizeof(p3gppSupportedBrands[0])); + } else { +- mp4File = MP4Create(mp4FileName, Verbosity, ++ mp4File = MP4Create(mp4FileName, + createFlags); + } + if (mp4File) { +@@ -546,7 +546,7 @@ int main(int argc, char** argv) + fprintf(stderr, "Must specify 64 bits on new file only"); + exit(EXIT_CREATE_FILE); + } +- mp4File = MP4Modify(mp4FileName, Verbosity); ++ mp4File = MP4Modify(mp4FileName, 0); + } + + if (!mp4File) { +@@ -574,13 +574,12 @@ int main(int argc, char** argv) + MP4GetTrackType(mp4File, *pTrackId); + // look for objectTypeId (GetTrackEsdsObjectTypeId) + uint64_t temp; +- newverbosity = Verbosity & ~(MP4_DETAILS_ERROR); +- MP4SetVerbosity(mp4File, newverbosity); ++ MP4LogSetLevel(MP4_LOG_NONE); + bool ret = + MP4GetTrackIntegerProperty(mp4File, *pTrackId, + "mdia.minf.stbl.stsd.*.esds.decConfigDescr.objectTypeId", + &temp); +- MP4SetVerbosity(mp4File, Verbosity); ++ MP4LogSetLevel(Verbosity); + if (ret) { + if (!strcmp(type, MP4_AUDIO_TRACK_TYPE)) { + allMpeg4Streams &= +@@ -624,20 +623,18 @@ int main(int argc, char** argv) + "mdia.minf.stbl.stsd.*.esds.decConfigDescr.objectTypeId", + &temp)) { + if (!strcmp(type, MP4_AUDIO_TRACK_TYPE)) { +- newverbosity = Verbosity & ~(MP4_DETAILS_ERROR); +- MP4SetVerbosity(mp4File, newverbosity); ++ MP4LogSetLevel(MP4_LOG_NONE); + allMpeg4Streams &= + (MP4GetTrackEsdsObjectTypeId(mp4File, trackId) + == MP4_MPEG4_AUDIO_TYPE); +- MP4SetVerbosity(mp4File, Verbosity); ++ MP4LogSetLevel(Verbosity); + + } else if (!strcmp(type, MP4_VIDEO_TRACK_TYPE)) { +- newverbosity = Verbosity & ~(MP4_DETAILS_ERROR); +- MP4SetVerbosity(mp4File, newverbosity); ++ MP4LogSetLevel(MP4_LOG_NONE); + allMpeg4Streams &= + (MP4GetTrackEsdsObjectTypeId(mp4File, trackId) + == MP4_MPEG4_VIDEO_TYPE); +- MP4SetVerbosity(mp4File, Verbosity); ++ MP4LogSetLevel(Verbosity); + } + } + } +@@ -645,29 +642,30 @@ int main(int argc, char** argv) + + char *buffer; + char *value; +- newverbosity = Verbosity & ~(MP4_DETAILS_ERROR); +- MP4SetVerbosity(mp4File, newverbosity); +- bool retval = MP4GetMetadataTool(mp4File, &value); +- MP4SetVerbosity(mp4File, Verbosity); +- if (retval && value != NULL) { +- if (strncasecmp("mp4creator", value, strlen("mp4creator")) != 0) { +- buffer = (char *)malloc(strlen(value) + 80); +- sprintf(buffer, "%s mp4creator %s", value, MPEG4IP_VERSION); +- MP4SetMetadataTool(mp4File, buffer); ++ const MP4Tags *tags = MP4TagsAlloc(); ++ MP4LogSetLevel(MP4_LOG_NONE); ++ bool retval = MP4TagsFetch(tags, mp4File); ++ MP4LogSetLevel(Verbosity); ++ if (retval && tags->encodingTool != NULL) { ++ if (strncasecmp("mp4creator", tags->encodingTool, strlen("mp4creator")) != 0) { ++ buffer = (char *)malloc(strlen(tags->encodingTool) + 80); ++ sprintf(buffer, "%s mp4creator %s", tags->encodingTool, MPEG4IP_VERSION); ++ MP4TagsSetEncodingTool(tags, buffer); + free(buffer); + } + } else { + buffer = (char *)malloc(80); + sprintf(buffer, "mp4creator %s", MPEG4IP_VERSION); +- MP4SetMetadataTool(mp4File, buffer); ++ MP4TagsSetEncodingTool(tags, buffer); + } ++ MP4TagsStore(tags, mp4File); ++ MP4TagsFree(tags); + bool is3GPP = Is3GPP(mp4File); + + MP4Close(mp4File); + if (is3GPP || (force3GPCompliance)) { + // If we created the file, CreateEX already takes care of this... + MP4Make3GPCompliant(mp4FileName, +- Verbosity, + p3gppSupportedBrands[0], + 0x0001, + p3gppSupportedBrands, +@@ -682,7 +680,7 @@ int main(int argc, char** argv) + exit(EXIT_CREATE_FILE); + } + +- mp4File = MP4Read(mp4FileName, Verbosity); ++ mp4File = MP4Read(mp4FileName); + if (!mp4File) { + // mp4 library should have printed a message + exit(EXIT_CREATE_FILE); +@@ -695,7 +693,7 @@ int main(int argc, char** argv) + outputFileName = tempName; + } + +- MP4FileHandle outputFile = MP4CreateEx(outputFileName, Verbosity, ++ MP4FileHandle outputFile = MP4CreateEx(outputFileName, + createFlags, true, true); + MP4SetTimeScale(outputFile, Mp4TimeScale); + u_int32_t numTracks = MP4GetNumberOfTracks(mp4File); +@@ -799,7 +797,7 @@ int main(int argc, char** argv) + exit(EXIT_CREATE_FILE); + } + +- mp4File = MP4Read(mp4FileName, Verbosity); ++ mp4File = MP4Read(mp4FileName); + if (!mp4File) { + // mp4 library should have printed a message + exit(EXIT_CREATE_FILE); +@@ -824,7 +822,7 @@ int main(int argc, char** argv) + exit(EXIT_CREATE_FILE); + } + +- mp4File = MP4Modify(mp4FileName, Verbosity); ++ mp4File = MP4Modify(mp4FileName, 0); + if (!mp4File) { + // mp4 library should have printed a message + exit(EXIT_CREATE_FILE); +@@ -838,11 +836,11 @@ int main(int argc, char** argv) + } + + if (doIsma) { +- MP4MakeIsmaCompliant(mp4FileName, Verbosity); ++ MP4MakeIsmaCompliant(mp4FileName, true); + } + + if (doOptimize) { +- if (!MP4Optimize(mp4FileName, NULL, Verbosity)) { ++ if (!MP4Optimize(mp4FileName, NULL)) { + // mp4 library should have printed a message + exit(EXIT_OPTIMIZE_FILE); + } +--- server/mp4creator/mp4creator.h.orig 2014-07-27 15:16:12.338144192 +0400 ++++ server/mp4creator/mp4creator.h 2014-07-27 15:39:16.134078312 +0400 +@@ -55,7 +55,7 @@ + #endif + + MP4CREATOR_GLOBAL char* ProgName; +-MP4CREATOR_GLOBAL u_int32_t Verbosity; ++MP4CREATOR_GLOBAL MP4LogLevel Verbosity; + MP4CREATOR_GLOBAL double VideoFrameRate; + MP4CREATOR_GLOBAL u_int32_t Mp4TimeScale; + MP4CREATOR_GLOBAL bool TimeScaleSpecified; +--- server/mp4live/file_mp4_recorder.cpp.orig 2007-01-30 22:53:45.000000000 +0100 ++++ server/mp4live/file_mp4_recorder.cpp 2012-12-08 19:34:35.861642335 +0100 +@@ -149,14 +149,11 @@ + createFlags |= MP4_CREATE_64BIT_DATA; + } + debug_message("Creating huge file - %s", hugeFile ? "yes" : "no"); +- u_int32_t verbosity = +- MP4_DETAILS_ERROR /*DEBUG | MP4_DETAILS_WRITE_ALL */; + + bool create = false; + switch (m_pConfig->GetIntegerValue(CONFIG_RECORD_MP4_FILE_STATUS)) { + case FILE_MP4_APPEND: +- m_mp4File = MP4Modify(filename, +- verbosity); ++ m_mp4File = MP4Modify(filename, 0); + break; + case FILE_MP4_CREATE_NEW: { + struct stat stats; +@@ -206,7 +203,6 @@ + static char* p3gppSupportedBrands[2] = {"3gp5", "3gp4"}; + + m_mp4File = MP4CreateEx(m_mp4FileName, +- verbosity, + createFlags, + 1, + 0, +@@ -216,7 +212,7 @@ + NUM_ELEMENTS_IN_ARRAY(p3gppSupportedBrands)); + } else { + m_mp4File = MP4Create(m_mp4FileName, +- verbosity, createFlags); ++ createFlags); + } + } + +@@ -225,10 +221,16 @@ + } + MP4SetTimeScale(m_mp4File, m_movieTimeScale); + ++ { ++ const MP4Tags *tags = MP4TagsAlloc(); ++ MP4TagsFetch(tags, m_mp4File); + char buffer[80]; + sprintf(buffer, "mp4live version %s %s", MPEG4IP_VERSION, + get_linux_video_type()); +- MP4SetMetadataTool(m_mp4File, buffer); ++ MP4TagsSetEncodingTool(tags, buffer); ++ MP4TagsStore(tags, m_mp4File); ++ MP4TagsFree(tags); ++ } + + if (m_recordVideo) { + m_videoFrameNumber = 1; +@@ -1228,7 +1230,7 @@ + // create hint tracks + if (m_pConfig->GetBoolValue(CONFIG_RECORD_MP4_HINT_TRACKS)) { + +- m_mp4File = MP4Modify(m_mp4FileName, MP4_DETAILS_ERROR); ++ m_mp4File = MP4Modify(m_mp4FileName, 0); + + if (m_pConfig->GetBoolValue(CONFIG_RECORD_MP4_OPTIMIZE)) { + optimize = true; +@@ -1276,7 +1278,6 @@ + if (m_makeIod) { + MP4MakeIsmaCompliant( + m_mp4FileName, +- 0, + useIsmaTag); + } + } +--- server/mp4live/sdp_file.cpp.orig 2006-06-08 21:01:58.000000000 +0200 ++++ server/mp4live/sdp_file.cpp 2012-12-08 20:02:46.621607096 +0100 +@@ -400,12 +400,7 @@ + pStream->GetAudioProfile() == NULL ? 0 : + pStream->GetAudioProfile()->GetIntegerValue(CFG_AUDIO_BIT_RATE), + pAudioConfig, +- audioConfigLength, +-#ifdef DEBUG_IOD +- pGlobal->GetBoolValue(CONFIG_APP_DEBUG) ? +- MP4_DETAILS_ISMA : +-#endif +- 0 ++ audioConfigLength + ); + + if (iod) { +--- util/mpeg4vol/main.cpp.orig 2005-11-28 23:07:02.000000000 +0100 ++++ util/mpeg4vol/main.cpp 2012-12-08 20:44:48.468221194 +0100 +@@ -480,15 +480,15 @@ + fprintf(stderr, "No decode of audio from mpeg4 files\n"); + return -1; + } +- mp4File = MP4Read(*argv, MP4_DETAILS_ERROR); ++ mp4File = MP4Read(*argv); + if (MP4_IS_VALID_FILE_HANDLE(mp4File)) { + MP4TrackId tid; + uint32_t ix = 0; + do { +- uint32_t verb = MP4GetVerbosity(mp4File); +- MP4SetVerbosity(mp4File, verb & ~(MP4_DETAILS_ERROR)); ++ MP4LogLevel verb = MP4LogGetLevel(); ++ MP4LogSetLevel(MP4_LOG_NONE); + tid = MP4FindTrackId(mp4File, ix, MP4_VIDEO_TRACK_TYPE); +- MP4SetVerbosity(mp4File, verb); ++ MP4LogSetLevel(verb); + if (MP4_IS_VALID_TRACK_ID(tid)) { + uint8_t type = MP4GetTrackEsdsObjectTypeId(mp4File, tid); + if (type == MP4_MPEG4_VIDEO_TYPE) { Property changes on: multimedia/mpeg4ip/files/patch-mp4v2 ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: multimedia/mpeg4ip/files/patch-player-lib-rtsp-rtsp_thread.c =================================================================== --- multimedia/mpeg4ip/files/patch-player-lib-rtsp-rtsp_thread.c (nonexistent) +++ multimedia/mpeg4ip/files/patch-player-lib-rtsp-rtsp_thread.c (working copy) @@ -0,0 +1,11 @@ +--- player/lib/rtsp/rtsp_thread.c.orig 2006-10-24 00:26:40.000000000 +0200 ++++ player/lib/rtsp/rtsp_thread.c 2012-12-07 17:51:18.793572347 +0100 +@@ -378,7 +378,7 @@ + + + continue_thread = 0; +- memset(&state, sizeof(state), 0); ++ memset(&state, 0, sizeof(state)); + state.rtp_ptr = NULL; + state.state = RTP_DATA_UNKNOWN; + rtsp_thread_init_thread_info(info); Property changes on: multimedia/mpeg4ip/files/patch-player-lib-rtsp-rtsp_thread.c ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: multimedia/mpeg4ip/files/patch-server_mp4live_video_ffmpeg.cpp =================================================================== --- multimedia/mpeg4ip/files/patch-server_mp4live_video_ffmpeg.cpp (revision 450871) +++ multimedia/mpeg4ip/files/patch-server_mp4live_video_ffmpeg.cpp (working copy) @@ -23,10 +23,12 @@ #else AVRational asp = {Profile()->GetIntegerValue(CFG_VIDEO_MPEG4_PAR_WIDTH), -@@ -224,8 +221,8 @@ +@@ -223,9 +220,9 @@ + m_count = 0; } } - if (wantKeyFrame) m_picture->pict_type = FF_I_TYPE; //m_picture->key_frame = 1; +- if (wantKeyFrame) m_picture->pict_type = FF_I_TYPE; //m_picture->key_frame = 1; ++ if (wantKeyFrame) m_picture->pict_type = AV_PICTURE_TYPE_I; //m_picture->key_frame = 1; else //m_picture->key_frame = 0; - m_picture->pict_type = 0; + m_picture->pict_type = AV_PICTURE_TYPE_NONE; Index: net/libsrtp/files/patch-configure =================================================================== --- net/libsrtp/files/patch-configure (nonexistent) +++ net/libsrtp/files/patch-configure (working copy) @@ -0,0 +1,14 @@ +include ISMAcryp functions even when using openssl for AES; needed by mpeg4ip +https://github.com/pld-linux/srtp/blob/master/srtp-ismacryp.patch + +--- configure.orig 2015-08-09 15:11:03.730635000 +0300 ++++ configure 2015-08-09 15:12:33.559396000 +0300 +@@ -5085,7 +5085,7 @@ fi + + $as_echo "#define OPENSSL 1" >>confdefs.h + +- AES_ICM_OBJS="crypto/cipher/aes_icm_ossl.o crypto/cipher/aes_gcm_ossl.o" ++ AES_ICM_OBJS="crypto/cipher/aes_icm_ossl.o crypto/cipher/aes_gcm_ossl.o crypto/cipher/aes_icm.o crypto/cipher/aes.o" + RNG_OBJS=rand_source_ossl.o + HMAC_OBJS=crypto/hash/hmac_ossl.o + USE_OPENSSL=1 Property changes on: net/libsrtp/files/patch-configure ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: net/libsrtp/files/patch-crypto_cipher_aes_icm.c =================================================================== --- net/libsrtp/files/patch-crypto_cipher_aes_icm.c (nonexistent) +++ net/libsrtp/files/patch-crypto_cipher_aes_icm.c (working copy) @@ -0,0 +1,44 @@ +include ISMAcryp functions even when using openssl for AES; needed by mpeg4ip +https://github.com/pld-linux/srtp/blob/master/srtp-ismacryp.patch + +--- crypto/cipher/aes_icm.c.orig 2015-03-11 15:02:12.000000000 +0100 ++++ crypto/cipher/aes_icm.c 2015-08-06 21:28:11.477858986 +0200 +@@ -53,10 +53,14 @@ + #include "alloc.h" + + ++#ifdef OPENSSL ++extern debug_module_t mod_aes_icm; ++#else + debug_module_t mod_aes_icm = { + 0, /* debugging is off by default */ + "aes icm" /* printable module name */ + }; ++#endif + + /* + * integer counter mode works as follows: +@@ -482,14 +482,17 @@ + return aes_icm_encrypt(c, buffer, &len); + } + ++#ifndef OPENSSL + uint16_t + aes_icm_bytes_encrypted(aes_icm_ctx_t *c) { + return htons(c->counter.v16[7]); + } ++#endif + + char + aes_icm_description[] = "aes integer counter mode"; + ++#ifndef OPENSSL + uint8_t aes_icm_test_case_0_key[30] = { + 0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, + 0xab, 0xf7, 0x15, 0x88, 0x09, 0xcf, 0x4f, 0x3c, +@@ -589,4 +594,5 @@ + (debug_module_t *) &mod_aes_icm, + (cipher_type_id_t) AES_ICM + }; ++#endif + Property changes on: net/libsrtp/files/patch-crypto_cipher_aes_icm.c ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: textproc/libextractor/Makefile =================================================================== --- textproc/libextractor/Makefile (revision 450871) +++ textproc/libextractor/Makefile (working copy) @@ -14,7 +14,7 @@ LIB_DEPENDS= libltdl.so:devel/libltdl -USES= iconv gettext libtool makeinfo pathfix pkgconfig python +USES= iconv libtool makeinfo pathfix pkgconfig python USE_GNOME= gtk20 GNU_CONFIGURE= yes CONFIGURE_ARGS= --with-gtk-version=2 \ @@ -30,9 +30,9 @@ INFO= libextractor OPTIONS_DEFINE= EXIV2 FFMPEG FLAC GIF GSF GSTREAMER MPEG2 MP4 \ - RPM SMF TIDY VORBIS + RPM SMF TIDY VORBIS NLS OPTIONS_DEFAULT= EXIV2 FFMPEG FLAC GIF GSF GSTREAMER MPEG2 MP4 \ - RPM SMF TIDY VORBIS + RPM SMF TIDY VORBIS NLS OPTIONS_SUB= yes EXIV2_LIB_DEPENDS= libexiv2.so:graphics/exiv2 @@ -52,6 +52,7 @@ MPEG2_LIB_DEPENDS= libmpeg2.so:multimedia/libmpeg2 MPEG2_CONFIGURE_ENV_OFF= ac_cv_lib_mpeg2_mpeg2_init=no MP4_LIB_DEPENDS= libmp4v2.so:multimedia/mp4v2 +MP4_CONFIGURE_ON= --enable-experimental MP4_CONFIGURE_ENV_OFF= ac_cv_lib_mp4v2_MP4ReadProvider=no RPM_DESC= RPM support RPM_LIB_DEPENDS= librpm.so:archivers/rpm4 @@ -65,6 +66,8 @@ TIDY_CONFIGURE_ENV_OFF= TIDY_H="" VORBIS_LIB_DEPENDS= libvorbisfile.so:audio/libvorbis VORBIS_CONFIGURE_ENV_OFF= ac_cv_lib_vorbisfile_ov_open_callbacks=no +NLS_CONFIGURE_ENABLE= nls +NLS_USES= gettext post-patch: @${REINPLACE_CMD} -e \ Index: textproc/libextractor/pkg-plist =================================================================== --- textproc/libextractor/pkg-plist (revision 450871) +++ textproc/libextractor/pkg-plist (working copy) @@ -34,6 +34,8 @@ %%SMF%%lib/libextractor/libextractor_midi.so lib/libextractor/libextractor_mime.a lib/libextractor/libextractor_mime.so +%%MP4%%lib/libextractor/libextractor_mp4.a +%%MP4%%lib/libextractor/libextractor_mp4.so %%MPEG2%%lib/libextractor/libextractor_mpeg.a %%MPEG2%%lib/libextractor/libextractor_mpeg.so lib/libextractor/libextractor_nsf.a @@ -75,14 +77,14 @@ libdata/pkgconfig/libextractor.pc man/man1/extract.1.gz man/man3/libextractor.3.gz -share/locale/de/LC_MESSAGES/libextractor.mo -share/locale/fr/LC_MESSAGES/libextractor.mo -share/locale/ga/LC_MESSAGES/libextractor.mo -share/locale/it/LC_MESSAGES/libextractor.mo -share/locale/nl/LC_MESSAGES/libextractor.mo -share/locale/pl/LC_MESSAGES/libextractor.mo -share/locale/ro/LC_MESSAGES/libextractor.mo -share/locale/rw/LC_MESSAGES/libextractor.mo -share/locale/sv/LC_MESSAGES/libextractor.mo -share/locale/uk/LC_MESSAGES/libextractor.mo -share/locale/vi/LC_MESSAGES/libextractor.mo +%%NLS%%share/locale/de/LC_MESSAGES/libextractor.mo +%%NLS%%share/locale/fr/LC_MESSAGES/libextractor.mo +%%NLS%%share/locale/ga/LC_MESSAGES/libextractor.mo +%%NLS%%share/locale/it/LC_MESSAGES/libextractor.mo +%%NLS%%share/locale/nl/LC_MESSAGES/libextractor.mo +%%NLS%%share/locale/pl/LC_MESSAGES/libextractor.mo +%%NLS%%share/locale/ro/LC_MESSAGES/libextractor.mo +%%NLS%%share/locale/rw/LC_MESSAGES/libextractor.mo +%%NLS%%share/locale/sv/LC_MESSAGES/libextractor.mo +%%NLS%%share/locale/uk/LC_MESSAGES/libextractor.mo +%%NLS%%share/locale/vi/LC_MESSAGES/libextractor.mo