Giter VIP home page Giter VIP logo

mp4v2's Introduction

Hi there 👋

Make world a better place

mp4v2's People

Contributors

egroenen avatar nsalerno avatar

Watchers

 avatar

mp4v2's Issues

Test suite fails due to faulty variable

The test suite (i.e. make test, not that it does anything usefull, but
abyway) currently fails because of a faulty variable assignment in line 231
in GNUmakefile.am: 
"TESTLOGDIR = $(builddir)/testlog", where $(builddir) is an empty string
leading to "mkdir -p /testlog" in line 309 which of course fails. The
correct variable is called "$(top_builddir)", so please run "sed
'/TESTLOGDIR/s/builddir/top_builddir/'" on GNUmakefile.am.

Original issue reported on code.google.com by [email protected] on 30 Oct 2009 at 12:37

Fix compiler warnings under gcc

We use gcc in "strict" mode per our coding standards.  In this mode, one
minor issue in mp4v2 gets flagged:

/** Enumeration of file modes for custom file provider. */
typedef enum MP4FileMode_e
{
    FILEMODE_UNDEFINED, /**< undefined */
    FILEMODE_READ,      /**< file may be read */
    FILEMODE_MODIFY,    /**< file may be read/written */
    FILEMODE_CREATE,    /**< file will be created/truncated for read/write */
} MP4FileMode;

The issue is the trailing common after FILEMODE_CREATE.  It needs to be:

/** Enumeration of file modes for custom file provider. */
typedef enum MP4FileMode_e
{
    FILEMODE_UNDEFINED, /**< undefined */
    FILEMODE_READ,      /**< file may be read */
    FILEMODE_MODIFY,    /**< file may be read/written */
    FILEMODE_CREATE    /**< file will be created/truncated for read/write */
} MP4FileMode;

Here are the guys with trailing commas:

/** Enumeration of file modes for custom file provider. */
typedef enum MP4FileMode_e
{
    FILEMODE_UNDEFINED, /**< undefined */
    FILEMODE_READ,      /**< file may be read */
    FILEMODE_MODIFY,    /**< file may be read/written */
    FILEMODE_CREATE,    /**< file will be created/truncated for read/write */
} MP4FileMode;

/** Enumeration of possible MP4TagArtwork::type values. */
typedef enum MP4TagArtworkType_e
{
    MP4_ART_UNDEFINED = 0,
    MP4_ART_BMP       = 1,
    MP4_ART_GIF       = 2,
    MP4_ART_JPEG      = 3,
    MP4_ART_PNG       = 4,
} MP4TagArtworkType;

/** Sample dependency types.
 *
 *  Bit combinations 0x03, 0x30, 0xc0 are reserved.
 */
typedef enum MP4SampleDependencyType_e {
    MP4_SDT_UNKNOWN                       = 0x00, /**< unknown */
    MP4_SDT_HAS_REDUNDANT_CODING          = 0x01, /**< contains redundant
coding */
    MP4_SDT_HAS_NO_REDUNDANT_CODING       = 0x02, /**< does not contain
redundant coding */
    MP4_SDT_HAS_DEPENDENTS                = 0x04, /**< referenced by other
samples */
    MP4_SDT_HAS_NO_DEPENDENTS             = 0x08, /**< not referenced by
other samples */
    MP4_SDT_IS_DEPENDENT                  = 0x10, /**< references other
samples */
    MP4_SDT_IS_INDEPENDENT                = 0x20, /**< does not reference
other samples */
    MP4_SDT_EARLIER_DISPLAY_TIMES_ALLOWED = 0x40, /**< subequent samples in
GOP may display earlier */
    _MP4_SDT_RESERVED                     = 0x80, /**< reserved */
} MP4SampleDependencyType;

/** Enumeration of file modes for custom file provider. */
typedef enum MP4FileMode_e
{
    FILEMODE_UNDEFINED, /**< undefined */
    FILEMODE_READ,      /**< file may be read */
    FILEMODE_MODIFY,    /**< file may be read/written */
    FILEMODE_CREATE,    /**< file will be created/truncated for read/write */
} MP4FileMode;

/** Enumeration of possible MP4TagArtwork::type values. */
typedef enum MP4TagArtworkType_e
{
    MP4_ART_UNDEFINED = 0,
    MP4_ART_BMP       = 1,
    MP4_ART_GIF       = 2,
    MP4_ART_JPEG      = 3,
    MP4_ART_PNG       = 4,
} MP4TagArtworkType;

/** Sample dependency types.
 *
 *  Bit combinations 0x03, 0x30, 0xc0 are reserved.
 */
typedef enum MP4SampleDependencyType_e {
    MP4_SDT_UNKNOWN                       = 0x00, /**< unknown */
    MP4_SDT_HAS_REDUNDANT_CODING          = 0x01, /**< contains redundant
coding */
    MP4_SDT_HAS_NO_REDUNDANT_CODING       = 0x02, /**< does not contain
redundant coding */
    MP4_SDT_HAS_DEPENDENTS                = 0x04, /**< referenced by other
samples */
    MP4_SDT_HAS_NO_DEPENDENTS             = 0x08, /**< not referenced by
other samples */
    MP4_SDT_IS_DEPENDENT                  = 0x10, /**< references other
samples */
    MP4_SDT_IS_INDEPENDENT                = 0x20, /**< does not reference
other samples */
    MP4_SDT_EARLIER_DISPLAY_TIMES_ALLOWED = 0x40, /**< subequent samples in
GOP may display earlier */
    _MP4_SDT_RESERVED                     = 0x80, /**< reserved */
} MP4SampleDependencyType;


It's a very minor issue, but it would be a big help to fix it.  ;)  Thanks!

Original issue reported on code.google.com by [email protected] on 8 Dec 2009 at 5:35

Enhancement: Python API for mp4v2

I've written a Python API using cython for the mp4v2 public API.

It's a first draft, but pretty much done. Need to finish up the unittests to 
tease out any remaining 
bugs and probably add some more detailed comments.

Would this be something the project would be interested in adding to their 
library?

-james

Original issue reported on code.google.com by [email protected] on 24 Nov 2009 at 2:31

mp4track & trak.mdia.hdlr.subtype

hi,


mp4track can only modify trak.mdia.hdlr.name atom (--hdlrname STR)

it would be very useful to modify trak.mdia.hdlr.subtype especially for
QTime, iTunes, iPhone, iTouch, iPod subtitles (it needs "sbtl" insted of
"text")

i am using mp4v2 tools trunk-r355 for windows xp.


best regards from romania (eu)

Original issue reported on code.google.com by [email protected] on 29 Jul 2009 at 7:28

Genre not found

Hello,
mp4v2 cant find Genre tag in an mp4 file. I used mp4info compiled with
VS2005 C++

output:
c:\mp4v2-1.9.1\mp4v2-1.9.1\vstudio9.0\mp4info\Release>mp4info.exe "AAC_Ma
préfér
ence.m4a"
mp4info.exe version 1.9.1
AAC_Ma prΘfΘrence.m4a:
Track   Type    Info
1       audio   MPEG-4 AAC LC, 204.474 secs, 128 kbps, 44100 Hz
 Name: Ma préférenceAAC
 Artist: Julien Clerc
 Composer: Composer_JClerc
 Encoded with: iTunes 8.0.0.35, QuickTime 7.5.5
 Release Date: 1988
 Album: Preferences
 Track: 5 of 0
 BPM: 0
 Part of Compilation: no
 Part of Gapless Album: no

iTunes seems to find the genre tag "Vocal"


I am using mp4v2 1.9.1 in a project with the same result. operating system
windows xp, mp4v2 info and library was compiled with VS2005 c++ release profile

File is attached

Original issue reported on code.google.com by razone on 3 Dec 2009 at 2:50

Attachments:

Compatible brands setting error in ftyp atom

Enviroment: MSVC 2005, svn trunk version.
Steps to reproduce: try do MP4CreateEx with for example 4 compatible
brands. After dumping we see only two of them.

Suggested fix:
mp4file.cpp:2955 ftyp->compatibleBrands.SetValue( compatibleBrands[i] );
Change SetValue to AddValue or explicitly set second argument of SetValue to i.

Original issue reported on code.google.com by [email protected] on 28 Sep 2009 at 4:56

mp4v2 changes iTunes's reading of bit rate

What steps will reproduce the problem?
1. Note bit rate of purchased iTunes song. In this case, 256 kbps.
2. Change or add release date to song.  (…or title, or possibly any other 
tag, as well, but I have not tested that.)
3. iTunes now reads the bit rate differently.  Sometimes it's as little as a 
change from 256 kbps to 258, sometimes it's from 256 to 189.

What is the expected output? What do you see instead?
I would expect the bit rate to stay the same.  Instead, it changes.

What version of the product are you using? On what operating system?
mp4v2-trunk-r369 on OSX 10.6.

Please provide any additional information below.
Call me picky, but this drives me cuh-ray-zee.

Original issue reported on code.google.com by [email protected] on 10 Sep 2009 at 6:56

optimize and trak.udta.name

What steps will reproduce the problem?
1. have an MP4 with trak.udta.name (i.e. any Handbrake encode will does this, 
as it sets the 
Quicktime "name' of an audio track to Stereo or Surround)
2. run mp4file --optimize on said MP4
3. open up the MP4 in Quicktime, and the track name will no longer be present 
(replaced by 
Sound Track 1), and opening it up in a hex editor, you'll see that track name 
is gone as 
compared to the original MP4

a few ancillary notes
*) mp4creator --optimize (1.5.0.1, available as a source tarball at 
http://downloads.sourceforge.net/mpeg4ip/mpeg4ip-1.5.0.1.tar.gz?
modtime=1149927918&big_mirror=0 or on  macports) does not have this issue
*) if I add a fairly "complex" set of metadata (basic set of information for a 
TV show) and 
optimize, it will crash atomic parsley/metax/mp4creator/muxo with various 
errors (memory 
overflow for atomic parsley/metax, MP4ERROR: Atom ReadProperties: atom is too 
small for 
mp4creator/muxo). Running mp4creator verbosely reveals its traversing the atom 
tree and trying 
to read the udta.name atom and finding it has "insufficient data" (1). I'm not 
sure why this only 
happens with a complex set of metadata, I might do some tests later to see if 
there's a field 
causing this, but I doubt it and it would be very time consuming to find out.
*) some notes from konab1end 
KonaB1end: libmp4v2 *thinks* a name atom is .. shall we say a Atom -- ie: just 
other ITMF ilst 
stuff. this is *not* a "FullAtom" which has more fields.
KonaB1end: so since name directly beneath udta (not in ilst), is really a 
FullAtom, mp4optimize 
unfortunately nukes it down to Atom,
KonaB1end: which is a lean-and-mean style.
KonaB1end: hence the error 'too small'

(1)
ReadAtom: type = "name" data-size = 0 (0x0) hdr 8
ReadProperties: insufficient data for property: version pos 0x646a atom end 
0x6469
MP4ERROR: Atom ReadProperties: atom is too small

Original issue reported on code.google.com by [email protected] on 23 Dec 2008 at 8:12

MP4ConvertTime problems with not integer divisible timescale.

MP4ConvertTime() does not correctly handle the case when two timescale are not 
divisible in 
integer, and returns wrong duration. This causes QuickTime to read the track 
with a shorter length.

Original issue reported on code.google.com by damiog on 5 Dec 2008 at 3:43

Extremely Poor Performace with Native Win32 - Std Fileprovider

What steps will reproduce the problem?
1. Open file for modification
2. copy samples to single file and close
3. Repeat this 20 to 50 times (or more)

I upgraded my libmp4v2 library from a trunk version dated 2008-12-18.

The modifications for cross-platform abstraction for file I/O and the
switch to Native windows function (CreateFileA ) creates serious file read
write performance degradation.  

Reading about 40 audio files (MP4Modify, Read/write samples, MP4Close ...
do again for next file and so on) and combining them in a single m4a file
takes 50 secs using the old file routines.  The new routines take over 5
minutes and nearly max out /hang the cpu.

I reverted all the file routines back to before the R296 change.
Performance was restored.


What is the expected output? What do you see instead?
reasonable read/write performance for multiple open/close of files.

What version of the product are you using? On what operating system?
Version 1.9, 1.9.1 and trunk R355 all exhibit the problem.
Tried on WinXP SP3 and Win7

Please provide any additional information below.

Original issue reported on code.google.com by [email protected] on 11 Jan 2010 at 10:01

1.9.0 api not compatible

I was trying to build gtkpod with mp4v2 1.9.0. It fails, as the
MP4SetMetaData functions were removed. The release notes said it would be
API compatible.

Original issue reported on code.google.com by [email protected] on 28 May 2009 at 10:01

Tack number Not Show in iTunes

What steps will reproduce the problem?
1. tag a file with track number
2. add the file to iTunes 

What is the expected output? What do you see instead?
To show the file track number in itunes.

What version of the product are you using? On what operating system?
1.9.0, Windows Vista Home Premium

Please provide any additional information below.
if I get information about it show the track number, but in iTunes not show. 

Original issue reported on code.google.com by [email protected] on 13 Jun 2009 at 4:02

mp4tags --track dosn't work in iTunes

mp4tags --track creates a tag that does not work in iTunes. 

1. I created an m4a using ffmpeg
2. I tagged it using mp4tags
3. I check the tags using mp4info (they were all correct)
4. I opened the m4a file in iTunes. The track number field appears blank.
It had shown up in mp4info. All other tags and the cover art were OK.

As a side note if I add the track number using iTunes it still shows up the
same in mp4info.

I attached a file tagged with mp4tags and a fixed one retagged with itunes.

Original issue reported on code.google.com by [email protected] on 12 Nov 2009 at 8:19

Attachments:

tags->artworkcount incorrect

If there is more than one piece of artwork in a file, tags->artworkcount
still returns one, and if you open a file for modify, get and then store
the tags, it gets set to 1 in the file.  If you have a file with two pieces
of art, then run the code below, it will report 1 piece and after the
modify there will be only one.  (I check the number with atomicParsley).

#include <mp4v2/mp4v2.h>
#include <windows.h>

int main(int argc, char** argv)
{

    MP4FileHandle file = MP4Modify( argv[1], 0, 0);
    if( file == MP4_INVALID_FILE_HANDLE ) {
        printf( "MP4Modify failed\n" );
        return 1;
    }

    /* allocate structure */
    const MP4Tags* tags = MP4TagsAlloc();

    /* fetch data from MP4 file and populate structure */
    MP4TagsFetch( tags, file );
    printf("Cover art count %d\n", tags->artworkCount);
    MP4TagsSetName(tags, "This is the final test.");
    MP4TagsStore(tags, file);

    /* free memory associated with structure and close */
    MP4TagsFree( tags );
    MP4Close( file );

    return 0;

}


Original issue reported on code.google.com by [email protected] on 20 Nov 2009 at 2:18

mp4chaps & multiple chapters support

hi,

as you know with Qtime you can add chapters (apple) for every sream in a
.mp4 file.

this is very nice if you have a video with multiple audio tracks!

for example:

video + audio in english + audio in spanish + directors comments

you can add chapters in english to the audio english track, in spanish to
the spanish audio track and bookmarks to directors comments.

this way when you change the audio track the apropriate chapters are selected!

i dont know if this feature is posible for nero chapters.

also it will be nice to be able to add chapters to what trackID do you
want! (mp4chaps -i --track-id ID mymp4.mp4)

for the example below:

mp4chaps -i -N --track-id 1 mymp4.mp4

mp4chaps -i -Q --track-id 2 mymp4.mp4

mp4chaps -i -Q --track-id 3 mymp4.mp4

mp4chaps -i -Q --track-id 4 mymp4.mp4

this way you will have nero chapters for the video and apple chapters for
audio tracks!

i am using mp4v2 tools trunk-r355 for windows xp.


best regards from romania (eu)

Original issue reported on code.google.com by [email protected] on 29 Jul 2009 at 7:49

updated stik value for movie in mp4tags

In iTunes, in order to combine two items under one listing in the library, both 
items must have 
the same cnID and one must be marked as HD. Until recently, the items also had 
to be marked as 
music videos or TV shows, with the corresponding stik value. This created an 
issue as then 
movies could not be combined without a workaround involving crappy iTunes 
tagging, which 
wasn't really a solution because the tags on the actual files did not change.

With the release of HD movies on iTunes today, I took the opportunity to use an 
old iTunes gift 
card to buy an HD movie and see how they combined movies. It turns out that 
iTunes uses stik 9  
for the new HD/SD movies instead of 0. I'm not sure when this change was made, 
or if it is 
across all movies, but it definitely seems to be store policy with HD movies at 
least. NightStorm 
noted on IRC that the option for 'Short Film' in the iTunes 'tagging' interface 
disappeared in 8.0, 
so the switchover probably happened then.

To the point, mp4tags should be changed to use 9 instead of 0 for the stik 
value for movies.

Attached are two mp4file --dumps (one for the SD version of W. from the iTunes 
store, one for 
the HD version of W. from the iTunes store) in a ZIP file.

Original issue reported on code.google.com by [email protected] on 20 Mar 2009 at 4:05

Attachments:

Allow mp4chaps to read eac3to chapter file output

When converting Bluray and HDDVD sources with eac3to, the program outputs 
chapters in the 
format shown below. It would be great if mp4chaps could use this file directly 
to import chapters 
into a mp4 instead of having to manually edit the file to match the syntax 
mp4chaps expects.

Example output of chapters.txt file generated by eac3to:

CHAPTER01=00:00:00.000
CHAPTER01NAME=Living Weapon
CHAPTER02=00:05:00.750
CHAPTER02NAME=A Better World
CHAPTER03=00:09:31.937
CHAPTER03NAME=Aboard Serenity (Main Titles)
CHAPTER04=00:14:49.088
CHAPTER04NAME=Going for a Ride

Original issue reported on code.google.com by [email protected] on 7 Feb 2009 at 8:38

Package is incomplete

Hi
Downloaded your latest package but it is missing 2 directories (libutil and
mp4optomise) under the vstudio build directory - found them on the site but
you might want to put them in the build

rgds
Stephen

Original issue reported on code.google.com by [email protected] on 29 Nov 2008 at 4:49

Size of sound atom should be 36 bytes instead of 34

What steps will reproduce the problem?
1. Create a alaw atom by calling InsertChildAtom(parent, "alaw", 0)
2. Play with VLC and see in the debug messages that the alaw atom is
skipped because it has a size of 34 bytes
3.

What is the expected output? What do you see instead?
I expected to hear audio, but VLC doesn't parse the alaw atom because the
size is too short. Windows Media Player even crashes when playing the file.

What version of the product are you using? On what operating system?
Version 1.9.0

Please provide any additional information below.
I created a .mp4 file with MPEG-4 video and ALAW audio, but VLC was not
able to play the audio. WMP even crashes when I wanted to play the file
with it. After debugging with the source code of VLC, I saw it was not
parsing the alaw atom, because its size was too short (34 bytes). I
transcoded another movie with FFMPEG to .mp4 with MPEG-4 video and ALAW
audio. The alaw atom in this file was 36 bytes, and I was able to play this
file with VLC and WMP. 

For now, I add a 2-byte long reserved field in each created sound atom.
This works for me...

Original issue reported on code.google.com by [email protected] on 13 Jul 2009 at 11:29

Bug fixes for mpeg4ip-1.6.1 which might still apply to mp4v2

As egroenen requested in 
https://sourceforge.net/projects/mpeg4ip/forums/forum/59136/topic/2427643 
here are some patches for bugs in mpeg4ip-1.6.1

--- C:/Users/dev/AppData/Local/Temp/mp4util.cpp Wed Dec  9 16:17:56 2009
+++ C:/Builds/Work/project/trunk/External/mpeg4ip-
1.6.1/lib/mp4v2/mp4util.cpp Tue Dec  8 17:52:18 2009
@@ -89,7 +89,7 @@
        if (*s2 == '\0' || strchr("[.", *s2)) {
            break;
        }
-       if (tolower(*s1) != tolower(*s2)) {
+       if (tolower((unsigned char)*s1) != tolower((unsigned char)
*s2)) {
            return false;
        }
        s1++;


--- C:/Users/dev/AppData/Local/Temp/atom_hdlr.cpp   Wed Dec  9 16:18:31 2009
+++ C:/Builds/Work/project/trunk/External/mpeg4ip-
1.6.1/lib/mp4v2/atom_hdlr.cpp   Tue Dec  8 17:52:18 2009
@@ -46,6 +46,12 @@
    uint64_t end = GetEnd();
    if (pos == end) return;

+    // A hdlr atom with missing "name". 
+    // Apparently that's what some of the iTunes m4p files have.
+    if (m_pFile->GetPosition() == GetEnd()) {
+        return;
+    }
+
    // take a peek at the next byte
    u_int8_t strLength;
    m_pFile->PeekBytes(&strLength, 1);


--- C:/Users/dev/AppData/Local/Temp/mp4atom.cpp Wed Dec  9 16:19:02 2009
+++ C:/Builds/Work/project/trunk/External/mpeg4ip-
1.6.1/lib/mp4v2/mp4atom.cpp Tue Dec  8 17:52:18 2009
@@ -406,7 +406,13 @@

    pAtom->SetParentAtom(pParentAtom);

-   pAtom->Read();
+    try {
+       pAtom->Read();
+    }
+    catch (MP4Error* e) {
+        delete pAtom;
+        throw e;
+    }

    return pAtom;
 }
@@ -414,7 +420,7 @@
 bool MP4Atom::IsReasonableType(const char* type)
 {
    for (u_int8_t i = 0; i < 4; i++) {
-       if (isalnum(type[i])) {
+       if (isalnum((unsigned char)type[i])) {
            continue;
        }
        if (i == 3 && type[i] == ' ') {

Original issue reported on code.google.com by [email protected] on 10 Dec 2009 at 12:36

Clarification for License of mp4v2

The homepage for mp4v2 and all the source files state the mp4v2 is licensed
under the MPL-1.1 yet the COPYING file has the text to the LGPL-2.0.

From what I understand, mp4v2 originally comes from mpeg4ip, which was
licensed under MPL-1.1 only. Also, I noticed the COPYING file changed from
having the GPL-2.0 text to now having the LGPL-2.0 text. Is there
provisions now indicating that mp4v2 is licensed under other licenses
besides the MPL?

Original issue reported on code.google.com by [email protected] on 29 Jul 2009 at 3:19

Access Lyrics set by iTunes

Either I just can't figure out the MP4GetMetadataFreeForm function, or the
lyrics atom (moov.udta.meta.ilst.\251lyr) just isn't accessible.

The attached patch creates MP4(Set/Get/Delete)MetadataLyrics functions
(literally an adjusted copy of the Artist functions) that works with
lyrics. I have only tested the get function, but the others should work
just as well as Artist.

Original issue reported on code.google.com by james.zapico on 8 Dec 2008 at 6:36

Attachments:

MP4File::GetMetadataGenre()

function has destructive tendencies.
the naming implies read-only operation but it destroys a gnre atom if it exists.
possible course of action is to remove it, or at least have itmf::Tags 
implemention avoid use.

Original issue reported on code.google.com by [email protected] on 19 May 2009 at 1:32

Not calling MP4Close after MP4Modify corrupts an m4a file

What steps will reproduce the problem?

1. Download a sample m4a file such as
http://www.online.uillinois.edu/oakley/mp3/SteveJobs.m4a
2. Create a simple program that only calls MP4Modify on the file, without
calling MP4Close, and run it.

What is the expected output? What do you see instead?

After running the test program, the file should still be intact and
playable. However, the file will have become corrupted and can't even be
played anymore. Subsequent calls to MP4Modify on the file will fail too.

It doesn't make sense that calling a close function is required to keep the
file intact. A common close function should just do some cleanup, such as
closing the opened file and freeing up resources. If, for example, an
exception or crash would occur before the call to MP4Close, then this would
have the undesirable side effect that the opened file has become corrupted.

What version of the product are you using? On what operating system?

Revision 369 on Windows XP SP3.

Please provide any additional information below.

Using Visual Studio 2008 Professional to compile, in the 'Release Static'
configuration.

Original issue reported on code.google.com by tdebaets on 20 Aug 2009 at 6:55

MP4V2 1.9.0 fails with GNU assembler 2.19.1 when -ggdb3 is in CFLAGS and/or CXXFLAGS

What steps will reproduce the problem?
1. Use GNU as 2.19.1 from binutils
2. Put -ggdb3 into CFLAGS and CXXFLAGS in your environment
3. Try to build MP4V2 1.9.0

What version of the product are you using? On what operating system?

MP4V2 1.9.0 release on Linux with GLIBC 2.10+, GCC 4.4+, BINUTILS 2.19+

libtool: compile:  i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I./include
-I./include -I. -I. -Wall -Wformat -march=native -O2 -pipe -ggdb3
-fvisibility=hidden -c src/bmff/typebmff.cpp  -fPIC -DPIC -o
src/bmff/.libs/typebmff.o
{standard input}: Assembler messages:
{standard input}:444: Error: file number 2 already allocated
libtool: compile:  i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I./include
-I./include -I. -I. -Wall -Wformat -march=native -O2 -pipe -ggdb3
-fvisibility=hidden -c src/itmf/CoverArtBox.cpp  -fPIC -DPIC -o
src/itmf/.libs/CoverArtBox.o
{standard input}: Assembler messages:
{standard input}:444: Error: file number 2 already allocated
make: *** [src/itmf/CoverArtBox.lo] Error 1
make: *** Waiting for unfinished jobs....
libtool: compile:  i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I./include
-I./include -I. -I. -Wall -Wformat -march=native -O2 -pipe -ggdb3
-fvisibility=hidden -c src/rtphint.cpp -o src/rtphint.o >/dev/null 2>&1
make: *** [src/bmff/typebmff.lo] Error 1

Please provide any additional information below.

See (downstream bug), http://bugs.gentoo.org/show_bug.cgi?id=277682

I'm the maintainer of this package for Gentoo, we are working around this
issue by replacing -ggdb3 with -ggdb2 to work around this "problem" inside
our build script -- It's not a problem in that sense anymore for us, but
just in case you want to really fix it.

Original issue reported on code.google.com by [email protected] on 13 Jul 2009 at 6:21

mp4tags tv tagging support

the following tags should be added to mp4tags for full TV show support:
tvsh - TV show name
tven - TV episode ID (sort of internal code that studios use, usually just ###) 
tvsn - TV season
tves - TV episode number (i.e. episode 2 = 2)
tvnn - TV network name (ABC, NBC, etc.)

all are already present in the wiki

Original issue reported on code.google.com by [email protected] on 10 Feb 2009 at 5:32

Invalid track id - no matter what - while creating a clip

What steps will reproduce the problem?
1. MP4TrackId trackId = MP4FindTrackId(readfh1, 0, MP4_AUDIO_TRACK_TYPE, 0);
    (where readfh1 is valid  )

MP4ERROR: FindTrackId: Track index doesn't exist - track 1 type soun
MP4ERROR: FindTrackIndex: Track id 0 doesn't exist
Invalid hintId 

What is the expected output? What do you see instead?
expected - valid trackID 
runtime error - 

What version of the product are you using? On what operating system?


Please provide any additional information below.
I am trying to find a clip (from starting say 3 seconds from mp4 file for a 
duration of 100 s (say)). 
I have done proper typecasting, but am unable to resolve these runtime errors.

Pls suggest.

I am using library mp4v2 for making the clip.

--------errors -----------
Deleting already existing file - newClip 
MP4ERROR: FindTrackId: Track index doesn't exist - track 1 type soun
MP4ERROR: FindTrackIndex: Track id 0 doesn't exist
Invalid hintId converted to mp4timestamp = 4410000 
MP4ERROR: MP4File::FindIntegerProperty: no such property - 
moov.iods.audioProfileLevelId

Original issue reported on code.google.com by [email protected] on 19 Jun 2009 at 3:41

"make check" tries to create /testlog directory at root of filesystem (permission denied)

What steps will reproduce the problem?
1. Install dejagnu application
2. ./configure
3. make
4. make check

What is the expected output? What do you see instead?

make -j5 -j1 check 
make  
make[1]: Entering directory
`/var/tmp/portage/media-libs/libmp4v2-1.9.1/work/mp4v2-1.9.1'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory
`/var/tmp/portage/media-libs/libmp4v2-1.9.1/work/mp4v2-1.9.1'
make  check-DEJAGNU
make[1]: Entering directory
`/var/tmp/portage/media-libs/libmp4v2-1.9.1/work/mp4v2-1.9.1'
touch Makefile
mkdir -p -- /testlog
mkdir: cannot create directory `/testlog': Permission denied
make[1]: *** [Makefile] Error 1
make[1]: Leaving directory
`/var/tmp/portage/media-libs/libmp4v2-1.9.1/work/mp4v2-1.9.1'
make: *** [check-am] Error 2

What version of the product are you using? On what operating system?

1.9.1, Linux

Downstream bug, http://bugs.gentoo.org/278097

Original issue reported on code.google.com by [email protected] on 16 Jul 2009 at 7:54

new Log class / callback

To provide apps a way to get log information instead of sending it to
stdout via the VERBOSE_* macros, create a Log class that supports the
following levels:

enum MP4LogLevel {
    MP4LogError = 1,
    MP4LogWarning = 2,
    MP4LogInfo = 3,
    MP4LogVerbose1 = 4,
    MP4LogVerbose2 = 5,
    MP4LogVerbose3 = 6,
    MP4LogVerbose4 = 7
}

A new API function MP4SetLogCallback allows users to set the callback
function, which has signature something like

typedef void (*log_message_cb_func_t)(
    MP4LogLevel loglevel,
    const char* fmt,
    ... );


-DB

Original issue reported on code.google.com by [email protected] on 2 Feb 2009 at 9:56

--dump fails on debug build

First let me say thanks for doing this.  I use the mp4lib library in my
tagging program, MetaX for Windows, and it is severely limited, so I also
use AtomicParsley.  I hope to standardize on this new mp4v2 dll.  Also
thanks for building it for Visual Studio, as the old library had lots of
warnings and dependencies that made it hard to build.

One quick question.  I had a heck of a time debugging this, because when I
put a breakpoint on the first line in main in mp4file.cpp (   
mp4v2::util::FileUtility util( argc, argv );
) it never gets there.  I finally got to debug it by just running it,
letting it fail and then bringing up the debugger.  But I'm curious as to
how I can step through this from the beginning.

Again, thanks for the hard work.

Dan
What steps will reproduce the problem?
1. mp4file --dump <any m4v file>
2.
3.

What is the expected output? What do you see instead?
It faults (only in the debug version)

What version of the product are you using? On what operating system?
mp4v2-2.0-20090110

Please provide any additional information below.
In MP4BytesProperty::Dump, the call
text << (isprint( static_cast<char>(value[i]) ) ?
static_cast<char>(value[i]) : '.');
asserts because isprint, calls __fast_ch_check which calls _chvalidator
which then asserts if the char > 256.

Original issue reported on code.google.com by [email protected] on 11 Feb 2009 at 8:47

mp4chaps/iTunes having problems with b-frame movie duration

What steps will reproduce the problem?
have an MP4 containing H.264 with bframes, and add chapters to it using mp4chaps

What is the expected output? What do you see instead?
the duration should be equal to the duration prior to using mp4chaps. It is in 
Quicktime/VLC, 
but in iTunes the duration becomes much longer than the original duration.

Please provide any additional information below.
this will only happen with movies containing bframes
"clean" versions of the sample files are available at http://public.me.com/jpo, 
and also "chapped" 
versions of the files that exhibit the problem



Original issue reported on code.google.com by [email protected] on 15 Dec 2008 at 4:05

add colr atom to existing mp4

http://developer.apple.com/quicktime/icefloe/dispatch019.html#colr has details 
on the colr 
specification. it would be helpful to have be able to write this atom to an 
existing MP4 file.


Original issue reported on code.google.com by [email protected] on 2 Dec 2008 at 4:33

Mp4tags doesn't correctly add the iTunes short description when used on an untagged m4v file

What steps will reproduce the problem?
1. Encode movie using Handbrake 0.9.3 as M4V - AppleTV profile
2. Added short description tag using mp4tags (-m option)
# ./mp4tags -m "My short description..." /mnt/hgfs/Vserv/LayerCake-2.m4v 
./mp4info /mnt/hgfs/Vserv/LayerCake-2.m4v 
/home/rsandru/mp4v2/build/.libs/lt-mp4info version 2.0-r248
/mnt/hgfs/Vserv/LayerCake-2.m4v:
Track   Type    Info
1   video   H264 Main@3, 381.760 secs, 935 kbps, 720x432 @ 25.000000 fps
2   audio   MPEG-4 AAC LC, 381.653 secs, 160 kbps, 48000 Hz
3   audio   ac-3, 381.632 secs, 448 kbps, 48000 Hz
4   text
 Encoded with: HandBrake 0.9.3 2008112300
 Short Description: My short description...

3. Added file to iTunes, description field is empty. When played in QuickTime, 
the description 
shows a weird string. (See attachments)

4. Edited the field in iTunes and saved it, mp4info shows it correctly:
./mp4info /mnt/hgfs/Vserv/LayerCake-2.m4v 
/home/rsandru/mp4v2/build/.libs/lt-mp4info version 2.0-r248
/mnt/hgfs/Vserv/LayerCake-2.m4v:
Track   Type    Info
1   video   H264 Main@3, 381.760 secs, 935 kbps, 720x432 @ 25.000000 fps
2   audio   MPEG-4 AAC LC, 381.653 secs, 160 kbps, 48000 Hz
3   audio   ac-3, 381.632 secs, 448 kbps, 48000 Hz
4   text
 Encoded with: HandBrake 0.9.3 2008112300
 Short Description: Short desc added in iTunes....
5) Edited again using mp4tags and the changes are now reflected in iTunes...

What is the expected output? What do you see instead?
iTunes doesn't show the short description field when the file is tagged using 
mp4tags. If the field 
is edited first in iTunes, subsequent updates with mp4tags work just fine.

What version of the product are you using? On what operating system?
Checked out latest version from SVN.
configure:
  -->
  --> Configuring MP4v2 2.0-r248
  -->

Running on Ubuntu 8.04.1
Linux vserv 2.6.24-19-server #1 SMP Wed Aug 20 23:54:28 UTC 2008 i686 GNU/Linux


Original issue reported on code.google.com by [email protected] on 21 Jan 2009 at 11:06

Attachments:

MP4Close does not null out ptr argument

What steps will reproduce the problem?
1. Call MP4Open.  Get a valid mp4 file handle.
2. Call MP4Close with a given mp4 file handle.
3. File handle is not null, but the underlying ptr has been deleted by 
MP4Close.

What is the expected output? What do you see instead?

I think the file handle should be set to null after being deleted; this 
way callers can easily determine if a given handle is valid.

What version of the product are you using? On what operating system?

1.9.1, although the current issue exists in the trunk as well (seem 
MP4Close()

Please provide any additional information below.

Should be a one-line fix:

void MP4Close(MP4FileHandle hFile)     
{
...
delete &f;     
&f = NULL;    // <--NEW LINE OF CODE
} 

Original issue reported on code.google.com by [email protected] on 20 Aug 2009 at 7:20

mp4track - enheincement

hi,


first of all thanks a lot for developing mp4track (i am using it as atom
editor for +2gb .mp4 files after i add subtitles).

the problem is that i need to modify  width, height AND the translation (x,y)!

for example:

Track # 4 Info - TrackID 4 - TimeScale 1000 - Duration 00:02:00.727
Media Info: Language "English" - Type "sbtl:tx3g" - 32 samples
3GPP/MPEG-4 Timed Text - Size 480 x 72 - Translation X=0 Y=296 - Layer 0
Alternate Group ID 2

this is from a .mp4  movie (480x368) with subtitle displayed at the bottom
of the video

with mp4track i only acces the with and height of the video!


example:

track[3] id=4
  type           = (sbtl)
  enabled        = true
  inMovie        = false
  inPreview      = false
  layer          = 0
  alternateGroup = 2
  volume         = 0.0000
  width          = 480.00000000
  height         = 72.00000000
  language       = English
  handlerName    = Sub_English
  userDataName   = <absent>


i am using mp4v2 tools trunk-r355 for windows xp.


best regards from romania (eu)

Original issue reported on code.google.com by [email protected] on 29 Jul 2009 at 7:26

convert API man-pages header-embedded documentation

Looks like the man pages have not been actively updated for a long time.
We should consider that man-pages are falling out of favor for API 
documentation and look 
towards something like headerdoc or doxygen to markup header files. This in 
turn will help keep 
the API docs in sync and present API docs in a more platform-agnostic fashion; 
eg: html/pdf.

Original issue reported on code.google.com by [email protected] on 29 Oct 2008 at 8:17

unable to parse mp4 if it contains mp3 audio

What steps will reproduce the problem?
1. extract a mp3 audio track from a mp4 file
2.
3.

What is the expected output? What do you see instead?


What version of the product are you using? On what operating system?


Please provide any additional information below.


MP4ERROR: GetSampleFile: invalid stsd entry


thats because the library looks for "*.dataReferenceIndex" in
trak.mdia.minf.stbl.stsd which is not present at all.

Original issue reported on code.google.com by [email protected] on 21 Feb 2009 at 8:30

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.