Bug 212785 - Update multimedia/mp4v2 to upstream version 2.0.0
Summary: Update multimedia/mp4v2 to upstream version 2.0.0
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: Thomas Zander
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-09-18 06:16 UTC by rkoberman
Modified: 2019-08-27 12:16 UTC (History)
4 users (show)

See Also:
riggs: maintainer-feedback+


Attachments
Update multimedia/mp4v2 to 3.0.1.1 from github (8.99 KB, patch)
2016-09-21 04:56 UTC, rkoberman
rkoberman: maintainer-approval? (multimedia)
Details | Diff
mp4v2.patch (78.40 KB, patch)
2016-09-21 21:27 UTC, Vladimir Kondratyev
no flags Details | Diff
mp4v2.patch update to 2.0.0 (65.98 KB, patch)
2017-10-08 20:13 UTC, Vladimir Kondratyev
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description rkoberman 2016-09-18 06:16:40 UTC
The distribution for multimedia/mp4v2 has moved from Google Code to GitHub. Also, the current version is 3.0.1.1.

I am working on a patch to the port to use GitHub. If nobody beats me to it, I will try to post the patch soon. I am having trouble with USE_GITHUB using GH_TAGNAME. The fetch is inserting a "_GH0" into the URL to fetch the file and I am still trying to figure out why.
Comment 1 rkoberman 2016-09-21 04:56:41 UTC
Created attachment 175027 [details]
Update multimedia/mp4v2 to 3.0.1.1 from github

Tested on 11-STABLE r306007 amc64
Passed all recommended tests including portlint. I don't have poudriere nor resources to install it.
The shareable library version bump will require a PORT_REVISION bump for: 
audio/cmus/Makefile
audio/decibel-audio-player/Makefile
audio/faac/Makefile
audio/kid3-kde4/Makefile
audio/mixxx/Makefile
multimedia/quodlibet/Makefile
net/freeswitch/Makefile
textproc/libextractor/Makefile
www/mod_musicindex/Makefile
Comment 2 Vladimir Kondratyev freebsd_committer 2016-09-21 15:12:53 UTC
(In reply to rkoberman from comment #1)
This patch is wrong:

1. AFAIR, updating mp4v2 to 2.0.0 breaks several ports, most notably audio/faac and dependencies due to API changes.
2. From first glance v.3.0.1.1 is not official version, moreover I think updating of Makefiles for newer versions of VisualStudio and adaptation to NuGet has little in common with real development.
3. I have collected bunch of patches from different Linuxes to fix breakages so if you are willing to push update to a port tree I can post them here.
Comment 3 rkoberman 2016-09-21 17:58:03 UTC
Having just checked Ubuntu and Debian (yeah, kinda the same thing), both use 2.1.0 which is the last update marked as a release. This was after the move to GitHub. I can confirm that 3.0.1 does break the version of audio/faac in ports. I'll look at what version of faac Deb is using.

Yes, 3.0 and beyond are just tags and I am not sure why since the distribution files are labeled as "Release". I assumed it was just lack of familiarity with GitHub after prior development on Google Code. The only marked "Release" is 2.1.0.

I'll hold off on attaching a correct patch file until I am sure that 2.0 or 3.0 will work correctly or update if I can't.
Comment 4 Vladimir Kondratyev freebsd_committer 2016-09-21 21:27:30 UTC
Created attachment 175042 [details]
mp4v2.patch

Patch updates multimedia/mp4v2 to v2.0.0 (with latest fixes from upstream SVN repo) and fixes breakage of dependent ports.
Comment 5 Ivan 2016-09-27 20:41:51 UTC
I'm interested in this port update, however I think we should go 2.0.0 which is official version. Origins of 3.x is uncertain.

I have issues with current version of mp4v2 with development version of multimedia/zoneminder so probably I will try this patch anyway just to see if situation improves.

BTW, do you have knowledge of practical usage of mp4v2 library? Issue I have is very strange and I'm unsure that version upgrade will help, so maybe you can give me some advices. =)
Comment 6 rkoberman 2016-09-28 03:03:35 UTC
If you see comment 4, it is going to 2.0.0. I really wonder if 2.0.1 might be a better choice as the distro is still available on github. It's 2.0.0 with a couple of fixes and is the version used in deb, mint, and ubuntu (which are really about the same). There is another fork on githiub, but it seems pretty much static. Don't know if any is from the original team from Google Code distro.

You might want to give Vladimir's patch a try.
Comment 7 rkoberman 2016-09-28 03:38:26 UTC
Second half of the question in comment 5. mp4v2 is written to support the second version of the MP4 specification. It is supposed to be upward compatible with V1, but extends and clarifies some things in V1. Things written for v2 SHOULD be playable by V1 players.

In my experience, it does work more reliably than other MP4 multiplexers.

FAAC is the main consumer of the library, but several other ports so use it. I use it pretty consistently with the poorly named avidemux2 to transcode and mutiplex videos as well as do simple edits. (Poorly named because it really processes all popular codecs, but started with AVIs.)
Comment 8 Ivan 2016-09-28 06:25:41 UTC
Yeah, I will try the patch and will provide feedback.

To my issue: multimedia/zoneminder compresses jpegs with libx264 and writes with mp4v2. However, containers are empty (they have normal header and empty track inside). libx264 output looks OK and mp4v2 actually looks OK as well (container created, track added, container closed). That's why this is very strange issue and I hope version bump will improve situation.
Here is the code https://github.com/ZoneMinder/ZoneMinder/blob/storageareas/src/zm_video.cpp#L136 and as always, on Linux everything is fine.
Comment 9 Thomas Zander freebsd_committer 2017-10-08 10:58:05 UTC
Can we start over with this PR?

One single patch versus an up-to-date ports tree would be helpful. Thanks in advance.
Comment 10 Vladimir Kondratyev freebsd_committer 2017-10-08 20:13:49 UTC
Created attachment 187012 [details]
mp4v2.patch update to 2.0.0

Patch updates multimedia/mp4v2 to v2.0.0 (with latest fixes from upstream SVN repo) and fixes breakage of dependent ports caused by API changes.
Comment 11 commit-hook freebsd_committer 2019-08-27 12:08:03 UTC
A commit references this bug:

Author: riggs
Date: Tue Aug 27 12:07:46 UTC 2019
New revision: 510005
URL: https://svnweb.freebsd.org/changeset/ports/510005

Log:
  Update to upstream release 2.0.0

  Details:
  Update to what seems to be the latest generally accepted upstream
  release (judging by what major Linux distributions have been including
  in the recent past and what consumers of the lib are using.)

  PR:		212785
  Submitted by:	wulf (patch set for the port)
  Reported by:	rkoberman@gmail.com

Changes:
  head/multimedia/mp4v2/Makefile
  head/multimedia/mp4v2/distinfo
  head/multimedia/mp4v2/files/patch-GNUmakefile.in
  head/multimedia/mp4v2/files/patch-include__mp4v2__itmf_tags.h
  head/multimedia/mp4v2/files/patch-src-itmf-type.cpp
  head/multimedia/mp4v2/files/patch-src-mp4.cpp
  head/multimedia/mp4v2/files/patch-src-mp4file_io.cpp
  head/multimedia/mp4v2/files/patch-src-mp4info.cpp
  head/multimedia/mp4v2/files/patch-src-mp4util.cpp
  head/multimedia/mp4v2/files/patch-src__bmff__typebmff.cpp
  head/multimedia/mp4v2/files/patch-src__itmf__type.cpp
  head/multimedia/mp4v2/files/patch-src_mp4util.h
  head/multimedia/mp4v2/files/patch-src_rtphint.cpp
  head/multimedia/mp4v2/files/patch-util-mp4chaps.cpp
  head/multimedia/mp4v2/files/patch-util-mp4tags.cpp
  head/multimedia/mp4v2/pkg-plist
Comment 12 commit-hook freebsd_committer 2019-08-27 12:13:05 UTC
A commit references this bug:

Author: riggs
Date: Tue Aug 27 12:12:04 UTC 2019
New revision: 510006
URL: https://svnweb.freebsd.org/changeset/ports/510006

Log:
  Chase multimedia/mp4v2 update; bump PORTREVISIONS of dependent ports

  PR:		212785

Changes:
  head/audio/cmus/Makefile
  head/audio/decibel-audio-player/Makefile
  head/audio/kid3-qt5/Makefile
  head/audio/mixxx/Makefile
  head/audio/mixxx21/Makefile
  head/audio/mous/Makefile
  head/multimedia/quodlibet/Makefile
  head/multimedia/zoneminder/Makefile
  head/net/freeswitch/Makefile
  head/textproc/libextractor/Makefile