shuaiwangheight / mp4v2

Automatically exported from code.google.com/p/mp4v2
Other
0 stars 0 forks source link

MP4CopyTrack/MP4CloneTrack drops mp4a.pinf tree and changes language #67

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1. fh=MP4Modify(fn); //fn is unencrypted music file downloaded from iTunes 
Music Store
2. MP4CopyTrack(fh, 1);
3. MP4Close(fh);
4. mp4file --dump fn
5. Compare the dump output for TrackID 1 (original) and TrackID 2 (copy).

What is the expected output? What do you see instead?
Expected output:
Most of the data should be identical except for properties like 
modificationTime.
Observed output:
The original track contains a subtree of atoms under
moov.trak.mdia.minf.stbl.stsd.mp4a.pinf
that are missing from the copy.

The original track has property moov.trak.mdia.mdhd:
language = UNDEFINED(0) (0x0000)

In the copied track, the property is:
language = Undetermined (0x55c4)

What version of the product are you using? On what operating system?
r355 on Windows.

Please provide any additional information below.

Original issue reported on code.google.com by davelas...@gmail.com on 3 Aug 2010 at 10:48

GoogleCodeExporter commented 8 years ago
Is this issue actually causing you some problems, or are these just 
discrepancies you'd like to see addressed?

Seems like pinf is some custom atom used by the iTunes store to denote a track 
that was purchased there, and it contains a bunch of user data (not cool IMO, 
but I guess that's life).  I'll investigate why this is (I have a few AAC files 
I bought from iTunes, so presumably they'll be present).

As for UNDEFINED verses Undetermined, I think Undetermined is actually the 
"more correct" value since it defines an ISO 639-2/T value ("und").

Original comment by kid...@gmail.com on 8 Oct 2010 at 7:24

GoogleCodeExporter commented 8 years ago
These are discrepancies I'd like to see addressed. I believe that MP4CopyTrack 
should make a complete copy of a track, including atoms that it doesn't 
explicitly know about, and not change the values of any atoms that it does know 
about, except where such changes would make sense.

Original comment by davelas...@gmail.com on 9 Oct 2010 at 12:19